http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55323
Bug #: 55323 Summary: [4.8] ICE in expand_aggr_init_1, at cp/init.c:1718 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: vincenzo.innoce...@cern.ch there is a syntax error (correctly reported) the ICE requires the instantiation in a() cat varcrash.cc #include<algorithm> struct foo { foo(int a, float b); }; struct bar : public foo { template<typename... Args> explicit bar(Args&& ... args) : foo(2,std::forward<Args>(args)){} }; void a() { bar b(2,1.); } pb-d-128-141-131-26:bugs48 innocent$ c++ -O2 -std=c++11 -c varcrash.cc varcrash.cc: In constructor ‘bar::bar(Args&& ...)’: varcrash.cc:9:35: error: parameter packs not expanded with ‘...’: foo(2,std::forward<Args>(args)){} ^ varcrash.cc:9:35: note: ‘args’ varcrash.cc:9:35: note: ‘Args’ varcrash.cc: In instantiation of ‘bar::bar(Args&& ...) [with Args = {int, double}]’: varcrash.cc:14:13: required from here varcrash.cc:9:35: internal compiler error: in expand_aggr_init_1, at cp/init.c:1718 varcrash.cc:9:35: internal compiler error: Abort trap: 6 c++: internal compiler error: Abort trap: 6 (program cc1plus) Abort trap: 6 pb-d-128-141-131-26:bugs48 innocent$ c++ -v Using built-in specs. COLLECT_GCC=c++ COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin12.2.0/4.8.0/lto-wrapper Target: x86_64-apple-darwin12.2.0 Configured with: ./configure --enable-languages=c,c++,fortran --disable-multilib --disable-bootstrap --enable-lto -disable-libitm Thread model: posix gcc version 4.8.0 20121109 (experimental) [trunk revision 193360] (GCC)