[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