[Bug libfortran/41169] [4.5 regression] libgfortran fails to build on Solaris 10+: '_Imaginary_I' undeclared

ro at techfak dot uni-bielefeld dot de gcc-bugzilla@gcc.gnu.org
Wed Aug 26 17:51:00 GMT 2009



------- Comment #4 from ro at techfak dot uni-bielefeld dot de  2009-08-26 17:51 -------
Subject: Re:  [4.5 regression] libgfortran fails to build on Solaris 10+:
'_Imaginary_I' undeclared

> ------- Comment #2 from dje at gcc dot gnu dot org  2009-08-25 21:32 -------
> Just follow the style that Steve Ellcey and I used for HPUX and AIX.  You
> basically should be able to take either of our stanzas in inclhack.def and
> substitute the regex in the "select" line that matches Solaris (and another for
> Irix).  Choose an appropriate "hackname", set "mach" line for Solaris, and use
> the original text from the header file in test_text.

I don't have access to either an HP-UX or AIX system, but there may be an
additional complication on Solaris 2 and IRIX 6: unlike e.g. glibc and
maybe HP-UX and/or AIX, both systems define both _Complex_I and
_Imaginary_I and I in terms of the latter.  I'm not certain if we can just
throw the _Imaginary_I/imaginary definitions away and use

#define _Complex_I      (__extension__ 1.0iF)

instead or we must/should maintain the imaginary related definitions.
There seems to be some discussion around having removed
imaginary/_Imaginary_I in C99 TC2, but I'm not sure what the resolution
was.

I've manually done the former by dropping a hacked complex.h into
gcc/include-fixed and as expected the bootstrap finished.  If this is the
proper way to go, I can implement this via fixincludes.

        Rainer


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41169



More information about the Gcc-bugs mailing list