This is the mail archive of the
mailing list for the GCC project.
Re: Problems with PR 21210
Gabriel Dos Reis wrote:
Mark Mitchell <email@example.com> writes:
| (I'm surprised by Gaby's proposal in that I'm very surprised that the
| library people would consider silently changing the behavior of
| constructing a "std::complex<double>" from a "__complex__ double" to
| be anything other than the obvious copy. But, if the library people
| are happy, it's OK with me.)
I think that is unfair characterization :-)
The proposal was that constructuing a "std::complex<double>" from a
"__complex__" should be written make_cxx_complex(z).
| My original suggestion to add constructors to std::complex requires no
| changes to the language and is backwards-compatible with ISO C++, as
| far as I can tell; what's wrong with that?
It shifted the complexity to somewhere else without actually seeming
to solve it. That is why I'm uncomfortable with it -- but it is not a
"no way" answer. And it does not seem to be some unique to libstdc++
(at least in the scope of the proposed increaed compatibility with C99).
I understand the complexity (more constructors => more complexity), but
what do you mean by "not seeming to solve it"? Do you mean that it
doesn't fix the immediate problem at hand, or that it leaves other
problems open in general, with respect to C99 complex vs. C++ complex?