http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50024
Summary: gcc crashes when using braced initialization in member function of template Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: stif...@gmx.de When compiling the example code below, gcc version 4.7.0 20110725 (experimental) crashes, if the -std=c++0x flag is supplied. Source: template< class T > struct Container { Container(){ int* ptr = new int{}; // crash ahead } }; int main() { Container< int > c; } Call to gcc and error message: g++ -std=c++0x template_error.cpp -o template_error template_error.cpp: In member function `void Container<T>::foo()': template_error.cpp:16:40: internal compiler error: in cxx_eval_bare_aggregate, at cp/semantics.c:6601 gcc Version: % LANG=C g++ -v Using built-in specs. COLLECT_GCC=/home/evnu/bin/g++ COLLECT_LTO_WRAPPER=/home/evnu/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ./configure --enable-plugin --enable-cloog-backend=isl --with-ppl --enable-__cxa_atexit --with-system-zlib --enable-shared --enable-threads=posix --enable-languages=c,c++ --disable-multilib --prefix=/home/evnu Thread model: posix gcc version 4.7.0 20110725 (experimental) (GCC) Note: The example compiles if Container is not a template class.