The following program fails because when the new-expression is instantiated
with no arguments in "args", k is not value-initialized (although it should
be).

#include <assert.h>
#include <new>

int k = 5;

template< class... Args > void f( Args... args )
{
   new( &k ) int( args... );
}

int main()
{
   f();
   assert( k == 0 );
}


-- 
           Summary: New operation with empty parameter pack does not value-
                    initialize
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: dgregor at gcc dot gnu dot org
        ReportedBy: dgregor at gcc dot gnu dot org


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

Reply via email to