------- Comment #7 from joseph at codesourcery dot com  2009-08-27 16:38 -------
Subject: Re:  [4.5 regression] libgfortran fails to
 build on Solaris 10+: '_Imaginary_I' undeclared

On Thu, 27 Aug 2009, ro at techfak dot uni-bielefeld dot de wrote:

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

It is:

* Only in a non-normative Annex (C99 TC3 makes further changes to make it 
possible for an implementation of this Annex also to conform to base C99).

* Not generally useful.

* Something involving ABI issues for every target (you need to define how 
_Imaginary parameters are handled, in particular, and you can't just say 
"like corresponding real types" since float _Imaginary is not promoted to 
double _Imaginary when passed in variable arguments to a variadic 
function, whereas float is promoted to double).  So you might want to 
disable this by default and only enable it for targets with a target hook 
to say the ABI has been agreed.


-- 


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

Reply via email to