A quick stab at changing...
specific__exp_r16 = exp (parm)
to
specific__exp_r16 = expl (parm)
...in gcc/libgfortran/generated/_exp_r16.F90
produced the followimg compilation error on
Darwin PPC...
../../../gcc-4.2-20070526/libgfortran/generated/_exp_r16.F90:47.23:
specific__exp_r16 = expl (parm)
1
Error: Function reference to 'expl' at (1) is to a non-PURE procedure within a
PURE procedure
make[3]: *** [_exp_r16.lo] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-target-libgfortran] Error 2
make: *** [all] Error 2
Which led me to take a look at gcc/libgfortran/c99_protos.h. There I noticed we
have no mention of expl() despite it being listed as a valid C99 function...
http://en.wikibooks.org/wiki/C_Programming/Further_math
Again, is it possible that Darwin PPC simply is exposing the fact
that we are missing valid C99 functions that should be used in
the generated *.F90 routines for r10 and r16?
Jack