[Bug libstdc++/29286] [4.0/4.1/4.2/4.3 Regression] placement new does not change the dynamic type as it should

gdr at cs dot tamu dot edu gcc-bugzilla@gcc.gnu.org
Tue May 22 17:41:00 GMT 2007



------- Comment #119 from gdr at cs dot tamu dot edu  2007-05-22 18:40 -------
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:

| Subject: Re:  [4.0/4.1/4.2/4.3 Regression] placement
|  new does not change the dynamic type as it should
| 
| gdr at cs dot tamu dot edu wrote:
| 
| > Thanks for reminding all those points.  I'll ensure that I make those
| > points stand in subsequence messages.
| 
| I think it's also worth pointing out to the committee that the more
| aggressive aliasing rules (in which only access directly through a union
| is allowed) have been GNU C/C++ practice for a long time.

Yes, I will.  

My guess of what happened was that C++98, which was based on C90, did
not pick up the new rules for C99; and the 2003 revision focused
mainly on DRs so missed opportunity to incorporate those rules.

The meeting at Toronto is supposedly the last meeting for freasing
features.  I'll make sure this issue gets attention -- I already sent
a message to the reflector; I'll also write a paper along with the
above suggestions and recommendations.

|  I would guess
| that we made this change around the year 2000.  So, there's a large body
| of code that conforms to the requirements of the aggressive
| interpretation.

Yes; those programs will continue to be conformant.

-- Gaby


-- 


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



More information about the Gcc-bugs mailing list