ToT build problem with nextafterl/nexttowardl (when using ToT GCC)
Szabolcs Nagy
szabolcs.nagy@arm.com
Fri Dec 8 19:51:00 GMT 2017
On 08/12/17 19:22, Steve Ellcey wrote:
> I have tracked the glibc build problem down to this GCC patch:
>
> +2017-12-07 Martin Sebor <msebor@redhat.com>
> +
> + PR c/81544
> + * attribs.c (empty_attribute_table): Initialize new member of
> (many more lines)
>
> But I am not sure if this is a bug with the patch or an issue with the
> glibc sources where there is an inconsistency in how these two
> functions are declared.
>
looks like a gcc bug to me:
an implementation may provide stricter guarantee (const)
than what the compiler assumes for the builtins (pure).
(and i thought functions that may set errno are not pure)
> On Fri, 2017-12-08 at 08:51 -0800, Steve Ellcey wrote:
>> Is anyone else seeing this problem when building glibc. I am using
>> the
>> ToT GCC to build ToT glibc.
>>
>> Steve Ellcey
>> sellcey@cavium.com
>>
>>
>>
>> In file included from ../include/bits/mathcalls.h:1,
>> from ../math/math.h:350,
>> from ../include/math.h:7,
>> from ../sysdeps/aarch64/fpu/s_llround.c:19:
>> ../math/bits/mathcalls.h:259:1: error: ignoring attribute âconstâ in
>> declaration of a built-in function ânextafterlâ because it conflicts
>> with attribute âpureâ [-Werror=attributes]
>> __MATHCALLX (nextafter,, (_Mdouble_ __x, _Mdouble_ __y),
>> (__const__));
>> ^~~~~~~~~~~
>> <built-in>: note: previous declaration here
>> ../math/bits/mathcalls.h:261:1: error: ignoring attribute âconstâ in
>> declaration of a built-in function ânexttowardlâ because it conflicts
>> with attribute âpureâ [-Werror=attributes]
>> __MATHCALLX (nexttoward,, (_Mdouble_ __x, long double __y),
>> (__const__));
>> ^~~~~~~~~~~
>> <built-in>: note: previous declaration here
More information about the Libc-alpha
mailing list