This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/29286] [4.0/4.1/4.2/4.3 Regression] placement new does not change the dynamic type as it should
- From: "gdr at cs dot tamu dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 May 2007 00:06:52 -0000
- Subject: [Bug libstdc++/29286] [4.0/4.1/4.2/4.3 Regression] placement new does not change the dynamic type as it should
- References: <bug-29286-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #152 from gdr at cs dot tamu dot edu 2007-05-24 01:06 -------
Subject: Re: [4.0/4.1/4.2/4.3 Regression] placement new does not change the
dynamic type as it should
"mark at codesourcery dot com" <gcc-bugzilla@gcc.gnu.org> writes:
[...]
| However, I don't like this approach because I believe it will result in
| inferior code.
I believe (without offering data, sorry) it *may* yield inferior code.
However, my original point was to make sure that we understood your
interpretation was a change to the C++ standard object model.
Given the consequences, I think it was appropriate to raise the issue
to the C++ committee. So far, the only response I got was the
sentiment that it is a change in semantics. Given C99's move, it is
essential for C++ to get to a better state of the object model.
However, C99's notion of "effective type" is not without its own set of
problems (already in C99). The details can be found in Nick
MacLaren's paper.
-- Gaby
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29286