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: "ian at airs dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 25 May 2007 23:22:14 -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 #159 from ian at airs dot com 2007-05-25 23:21 -------
Created an attachment (id=13613)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13613&action=view)
Patch
This version of the patch is based on some code from Daniel Berlin. Here we
determine which pointers can potentially be associated with a placement new.
We disable TBAA specifically for those pointers.
I'm not 100% confident that this patch always does the right thing. But it
does work for the test cases I tried.
Richi, I'd be interested in results you get from your performance tests.
--
ian at airs dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #13553|0 |1
is obsolete| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29286