Subject: bug#53256: [bug-diffutils] bug#53256: Compiling 3.8 with nvhpc 22.1 : malloca.c 64 bits operations with signed and unsigned operands are currently unsupported by __builtin_add_overflow

From: Olivier Cessenat <[email-masked]>
Date: Sat, 15 Jan 2022 11:00:25 +0100

Hello again,

Sorry for the noise but I failed to apply the patch to 3.8 both for 
ChangeLog and lib/intprops.h

Could you make sure it works for 3.8 ?

Thanks

Le 15/01/2022 à 09:35, Olivier Cessenat a écrit :
> Thanks so much ! It's great.
>
> I will try to report the bug to NVIDIA, but that will be with my 
> words, I do not have the full understanding of the problem.
>
> Olivier Cessenat
>
> Le 15/01/2022 à 04:53, Paul Eggert a écrit :
>> On 1/14/22 03:33, Olivier Cessenat wrote:
>>> "diffutils-3.8/lib/malloca.c", line 52: error: 64 bits operations 
>>> with signed and unsigned operands are currently unsupported by 
>>> __builtin_add_overflow
>>
>> Thanks for the bug report. Although nvc 22.1 defines __GNUC__ to be 
>> 11 which means it supports GNU C as of GCC 11, that's obviously 
>> untrue for __builtin_add_overflow. That's unfortunate. Perhaps you 
>> could report this as a bug to NVIDIA, as their compiler shouldn't 
>> claim to support GNU C features that it lacks. nvc can set __GNUC__ 
>> to be the version of GNU C that it actually does support.
>>
>> To work around the bug I installed the attached into Gnulib and this 
>> should appear in the next diffutils release. In the meantime you can 
>> compile with gcc.