http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50054
Bug #: 50054 Summary: Fails to recover from type error in function signature Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: stif...@gmx.de GCC fails to recover from the type error in the function signature of g and crashes: void g( const int& (a)[1] ) {} int main () { g( { 1, 2 } ); } It doesn't crash when g( { 1, 2 } ); is deleted. ================ Using 4.7 Call to GCC with error message: % LANG=C make CXXFLAGS="-std=c++0x" listinit g++ -std=c++0x listinit.cpp -o listinit listinit.cpp:1:25: error: declaration of `a' as array of references listinit.cpp: In function `int main()': listinit.cpp:4:17: internal compiler error: in cxx_incomplete_type_diagnostic, at cp/typeck2.c:453 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. 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 20110808 (experimental) (GCC) =============== Using GCC 4.6 Call to GCC with error message: % LANG=C make CXXFLAGS="-std=c++0x" listinit CXX=/usr/bin/g++ /usr/bin/g++ -std=c++0x listinit.cpp -o listinit listinit.cpp:1:25: error: declaration of 'a' as array of references listinit.cpp:4: confused by earlier errors, bailing out GCC Version: % LANG=C /usr/bin/g++ -v Using built-in specs. COLLECT_GCC=/usr/bin/g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.1/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /build/src/gcc-4.6.1/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --enable-gnu-unique-object --enable-linker-build-id --with-ppl --enable-cloog-backend=isl --enable-lto --enable-gold --enable-ld=default --enable-plugin --with-plugin-ld=ld.gold --enable-multilib --disable-libstdcxx-pch --enable-checking=release Thread model: posix gcc version 4.6.1 (GCC)