[patch,target] Fix ppc-darwin issue with long double intrinsics (PR25477)
FX Coudert
fxcoudert@gmail.com
Sat Feb 23 18:33:00 GMT 2008
> nanl
> strtold
>
> are missing. In addition, there are some lessor functions like
> err, errc, errx, strtold_l, swprintf, vfwscanf missing. I assume
> this is due to no builtins for them or Fortran not using them. If
> Ada or other non-C languages might, might make sense to add them too.
I've not limited myself to builtins used by Fortran, but tried to
provide a complete list (Fortran only uses math builtins and memory
(de)allocation functions). The missing functions are those for which
there is currently no definition in builtins.def: that also includes
strtold.
The issue with nanl() is more complex. It is in the list of functions
that need to be fixed:
> $ nm -arch ppc /usr/lib/libSystem.dylib | grep _nanl
> U _nanl$LDBL128
> 90178f20 T _nanl$LDBL128
> 901791a0 T _nanl
> 90179190 T _nanl$LDBL64
> taigne ~ $ nm -arch ppc64 /usr/lib/libSystem.dylib | grep _nanl
> 0000000000161290 T _nanl
> 0000000000161090 T _nanl$LDBL128
> 0000000000161280 T _nanl$LDBL64
but in Andrew's and Jack's patch, it is excluded with the following
comment:
> + /*darwin_patch_builtin (BUILT_IN_NANL);*/ /* Broken for now
> since it
> + is defined as DEF_GCC_BUILTIN when it is also a C99
> function. */
>
Because my gfortran time right now is limited, I have decided against
trying to get it into the patch. I'll note that fact into the PR
after committing the patch, and maybe someone (or myself) can try
later on to determine what needs to be done. For now, it's of limited
importance, because it's not among the builtins used in Fortran.
Thanks for the review and comments,
FX
--
François-Xavier Coudert
http://www.homepages.ucl.ac.uk/~uccafco/
More information about the Gcc
mailing list