[Bug target/86599] Problems building libgfortran from 7.2.0 on HP-UX 11.31/PA

bugzilla-gcc at thewrittenword dot com gcc-bugzilla@gcc.gnu.org
Sat Aug 11 21:51:00 GMT 2018


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.


More information about the Gcc-bugs mailing list