[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