------- Comment #22 from mark at codesourcery dot com 2008-01-05 07:55 -------
Subject: Re: [4.2/4.3 regression] ICE with incompatible types
for ?: with "complex type" conversion
gdr at cs dot tamu dot edu wrote:
> | > I'd rather distinguish the constructor taking __complex__ by adding
> | > a dummy parameter:
> | >
> | > enum _DummyArg { };
> | > complex(__complex__ double __z, _DummyArg);
> |
> | That will, however, break backwards compatibility for user programs (if
> | any) relying on the constructor.
>
> That isn't a concern because I never published that constructor as a
> contract in the interface of std::complex<double>.
I'm not sure what you mean by that. It's a public constructor; how do
we know that there aren't users out there using it? How would they have
known that they weren't supposed to use it?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31780