[Bug libstdc++/32618] New: std::vector calls uneccessary constructors instead of inplace construction of first object

2007-07-03 Thread oliver at kfs dot org
d of inplace construction of first object Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: minor Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: oliver at kfs dot org GCC host triplet: i386-redhat-linux GCC target triplet: i386-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32618

[Bug libstdc++/32618] std::vector calls uneccessary constructors instead of inplace construction of first object

2007-07-03 Thread oliver at kfs dot org
--- Comment #3 from oliver at kfs dot org 2007-07-04 04:27 --- Andrew, currently it seems to work like this (pseudo code warning): T* newSpace = alloc(newSize); int i = 0 ; for ( ; i < size ; ++i ) { newSpace[i].constructor(oldSpace[i]) ; } const T defaultInsta

[Bug libstdc++/32618] std::vector calls uneccessary constructors instead of inplace construction of first object

2007-07-03 Thread oliver at kfs dot org
--- Comment #5 from oliver at kfs dot org 2007-07-04 05:45 --- Doh - yes - you're completely right about push_back. push_back itself isn't incurring the temporary variable, Foo() is. Lost track of that investigating the resize thing. -- http://gcc.gnu.org/bugzilla/show_