This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problems with PR 21210


Gabriel Dos Reis wrote:
Mark Mitchell <mark@codesourcery.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).

OK.


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


--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]