https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86599

--- Comment #15 from dave.anglin at bell dot net ---
On 2018-08-11 5:51 PM, bugzilla-gcc at thewrittenword dot com wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86599
>
> --- Comment #13 from The Written Word <bugzilla-gcc at thewrittenword dot 
> com> ---
> (In reply to The Written Word from comment #10)
>> (In reply to John David Anglin from comment #9)
>>> It would help to see the uses of long_double in stdlib.h.
>> /usr/include/stdlib.h has:
>>
>> #  ifndef _LONG_DOUBLE
>> #    define _LONG_DOUBLE
>> #  if !defined(__ia64) || !defined(_PROTOTYPES) ||
>> defined(_LONG_DOUBLE_STRUCT)
>> typedef struct {
>>          uint32_t word1, word2, word3, word4;
>>          } long_double;
>> extern long_double strtold __((const char * __restrict, char ** __restrict));
>> #  else /* !__ia64 || !_PROTOTYPES || _LONG_DOUBLE_STRUCT */
>> #    ifdef _INCLUDE_HPUX_SOURCE
>> typedef long double long_double;
>> #    endif /* _INCLUDE_HPUX_SOURCE */
>> extern long double strtold __((const char * __restrict, char ** __restrict));
>> #  endif /* !__ia64 ||!_PROTOTYPES ||_LONG_DOUBLE_STRUCT */
>> #endif /* _LONG_DOUBLE */
> I think the problem on 11.31 is that the strtold() definition is in the above.
> We can't simply remove it all and change long_double->long double in the
> remainder of the file to get the function definition changed.
You could replace the above with prototype for strtold().

Reply via email to