------- Comment #23 from gdr at cs dot tamu dot edu  2008-01-06 15:28 -------
Subject: Re:  [4.2/4.3 regression] ICE with incompatible types for ?: with
"complex type" conversion

"mark at codesourcery dot com" <[EMAIL PROTECTED]> writes:

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

I mean that it is not a standard constructor, and it is not a
constructor I documented as a GNU extension.  The fact that it is a
public constructor is not, by itself, a documentation that it is a
standard constructor or a constructor that users should use.

-- Gaby


-- 


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

Reply via email to