[Bug libfortran/41169] [4.5 regression] libgfortran fails to build on Solaris 10+: '_Imaginary_I' undeclared
--- Comment #10 from ro at gcc dot gnu dot org 2010-06-02 16:50 --- Subject: Bug 41169 Author: ro Date: Wed Jun 2 16:49:39 2010 New Revision: 160166 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160166 Log: Backport from mainline: 2009-09-02 Rainer Orth r...@cebitec.uni-bielefeld.de PR libfortran/41169 * inclhack.def (irix_complex): New fix. (solaris_complex): Likewise. * fixincl.x: Regenerate. * tests/base/complex.h [IRIX_COMPLEX_CHECK, SOLARIS_COMPLEX_CHECK]: New tests. 2009-09-08 Ralf Wildenhues ralf.wildenh...@gmx.de * inclhack.def (solaris_complex): Remove superfluous backslashes from replacement string. Replace \+ operator with \{1,\}. Added: branches/gcc-4_4-branch/fixincludes/tests/base/complex.h Modified: branches/gcc-4_4-branch/fixincludes/ChangeLog branches/gcc-4_4-branch/fixincludes/fixincl.x branches/gcc-4_4-branch/fixincludes/inclhack.def -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41169
[Bug libfortran/41169] [4.5 regression] libgfortran fails to build on Solaris 10+: '_Imaginary_I' undeclared
--- Comment #8 from ro at gcc dot gnu dot org 2009-09-02 14:59 --- Subject: Bug 41169 Author: ro Date: Wed Sep 2 14:58:50 2009 New Revision: 151331 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=151331 Log: PR libfortran/41169 * inclhack.def (irix_complex): New fix. (solaris_complex): Likewise. * fixincl.x: Regenerate. * tests/base/complex.h [IRIX_COMPLEX_CHECK, SOLARIS_COMPLEX_CHECK]: New tests. Modified: trunk/fixincludes/ChangeLog trunk/fixincludes/fixincl.x trunk/fixincludes/inclhack.def trunk/fixincludes/tests/base/complex.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41169
[Bug libfortran/41169] [4.5 regression] libgfortran fails to build on Solaris 10+: '_Imaginary_I' undeclared
--- Comment #9 from ro at gcc dot gnu dot org 2009-09-02 15:01 --- Fixed for 4.5.0. -- ro at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41169
[Bug libfortran/41169] [4.5 regression] libgfortran fails to build on Solaris 10+: '_Imaginary_I' undeclared
--- Comment #6 from ro at techfak dot uni-bielefeld dot de 2009-08-27 16:25 --- Subject: Re: [4.5 regression] libgfortran fails to build on Solaris 10+: '_Imaginary_I' undeclared joseph at codesourcery dot com writes: There is no use in keeping definitions relating to imaginary types when GCC doesn't implement them, and the uses of imaginary types are extremely limited (as far as I can tell, they are only useful for building up complex values with exact control of infinities, NaNs and signed zeros in each component). Ok, thanks. So I'll implement my manual hack in fixincludes and submit that patch once I'm ready. I'll probably try to get a fix into OpenSolaris for CR 6549313 http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6549313 so the fix will become unnecessary in the future. What I don't fully understand yet is whether imaginary support in GCC isn't/won't be there simply because it's been removed from C99 or nobody thinks the work to implement it is worthwile. Rainer -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41169
[Bug libfortran/41169] [4.5 regression] libgfortran fails to build on Solaris 10+: '_Imaginary_I' undeclared
--- Comment #3 from ro at gcc dot gnu dot org 2009-08-26 17:44 --- Josef, there are a couple of issues with complex support on Solaris 2/IRIX 6 where you might be able to help. -- ro at gcc dot gnu dot org changed: What|Removed |Added CC||jsm28 at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41169
[Bug libfortran/41169] [4.5 regression] libgfortran fails to build on Solaris 10+: '_Imaginary_I' undeclared
--- 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
[Bug libfortran/41169] [4.5 regression] libgfortran fails to build on Solaris 10+: '_Imaginary_I' undeclared
--- Comment #1 from burnus at gcc dot gnu dot org 2009-08-25 20:47 --- That problem is very similar to the one on AIX, namely, complex.h is broken. I think the proper fix is to use fixinclude. For AIX the following patch worked http://gcc.gnu.org/ml/gcc-patches/2009-08/msg00844.html I think one needs do do something similar. David, as you seemingly know the syntax of fixinclude: Could you have a look? -- burnus at gcc dot gnu dot org changed: What|Removed |Added CC||dje at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41169
[Bug libfortran/41169] [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. -- dje at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-08-25 21:32:24 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41169