------- Comment #9 from fxcoudert at gcc dot gnu dot org 2005-11-10 15:35 ------- On mips-irix6.5, the libgfortran config.h contains: #define HAVE_CABSF 1 and /* #undef HAVE_COMPLEX_H */
and in math.h it does have the following: struct __cabsl_s { long double a,b; }; extern long double cabsl( struct __cabsl_s ); while the correct definition of cabsl is provided in complex.h. I don't know why on earth all this is happening, but I guess the root of the problem is that: $ cat a.c #include <math.h> #include <stdio.h> int main (void) { long double __complex__ z; printf ("%Lg\n", cabsl(z)); return 0; } $ ./bin/gcc -std=c99 a.c a.c: In function 'main': a.c:8: error: incompatible type for argument 1 of 'cabsl' while the cabsl man page clearly states that cabsl is to be found in <math.h>. I'd like to have the opinion of mips-irix experts here: should the above code compile fine? what is the right way of doing things here? -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |r dot emrich at de dot | |tecosim dot com, ro at gcc | |dot gnu dot org Last reconfirmed|2005-10-25 20:09:15 |2005-11-10 15:35:05 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22097