Loading...

gcc@gcc.gnu.org

[Prev] Thread [Next]  |  [Prev] Date [Next]

RE: libgfortran generated and long double calls Jack Howarth Mon May 28 06:04:21 2007

   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