------- 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

Reply via email to