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

ian at airs dot com gcc-bugzilla@gcc.gnu.org
Fri May 18 16:36:00 GMT 2007



------- Comment #88 from ian at airs dot com  2007-05-18 17:35 -------
Regarding comment #85, this again relies on the notion of dynamic type of a
memory location such that the only possible end result is to eliminate TBAA
when compiling C++.  The only thing I can say about this sort of test case is
that I agree that one can make an argument from the standard that this type of
code is valid.  However, as I've said before, e.g., in comment #76, I don't
think that anybody really wants that end result.

Any example that inherently relies on a type cast is going to lead you straight
to eliminating TBAA.  And note that your example is clearly invalid in C. 
Adding the placement new doesn't really have anything to do with whether it is
valid or invalid in C++.

Can you show me a test case which my patch gets wrong which does not involve
type casting outside of placement new itself?


-- 


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



More information about the Gcc-bugs mailing list