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/

Reply via email to