From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24741 invoked by alias); 13 May 2007 10:04:19 -0000 Received: (qmail 24701 invoked by uid 48); 13 May 2007 10:04:07 -0000 Date: Sun, 13 May 2007 10:04:00 -0000 Message-ID: <20070513100407.24700.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug libstdc++/29286] [4.0/4.1/4.2/4.3 Regression] placement new does not change the dynamic type as it should In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-05/txt/msg00940.txt.bz2 ------- Comment #57 from rguenth at gcc dot gnu dot org 2007-05-13 11:04 ------- It's become a libstdc++ test, but anyway: -O -fstrict-aliasing namespace Pooma { typedef int Context_t; namespace Arch { } inline Context_t context() { } inline int contexts() { } } template struct DomainTraitsScalar { }; template struct DomainTraits : public DomainTraitsScalar { }; template class Grid; template class DomainBase { }; template class Domain : public DomainBase
{ }; #include template<> class Grid<1> : public Domain<1, DomainTraits > > { }; namespace Pooma { class PatchSizeSyncer { typedef Grid<1> Grid_t; PatchSizeSyncer(int contextKey, Grid_t &localGrid); int myContext_m; int numContexts_m; int localKey_m; Grid_t localGrid_m; typedef std::pair Elem_t; std::vector gridList_m; }; } namespace Pooma { PatchSizeSyncer::PatchSizeSyncer(int contextKey, Grid_t &localGrid) : myContext_m(Pooma::context()), numContexts_m(Pooma::contexts()), localKey_m(contextKey), localGrid_m(localGrid) { if (myContext_m == 0) gridList_m.reserve(numContexts_m); } } /space/rguenther/tramp3d/install/lib/gcc/x86_64-unknown-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_uninitialized.h: In function '_ForwardIterator std::__uninitialized_copy_aux(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::pair*>*, _ForwardIterator = std::pair*>*]': /space/rguenther/tramp3d/install/lib/gcc/x86_64-unknown-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_uninitialized.h:71: error: SSA name in freelist but still referenced D.8564_13 /space/rguenther/tramp3d/install/lib/gcc/x86_64-unknown-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_uninitialized.h:71: internal compiler error: verify_stmts failed Please submit a full bug report, with preprocessed source if appropriate. See for instructions. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29286