http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55573
Bug #: 55573 Summary: [4.8 ICE] internal compiler error: in adjust_temp_type, at cp/semantics.c:6454 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 CC: gli...@gcc.gnu.org cat ceVec.cc #include<type_traits> template<typename T, int N> struct ExtVecTraits { typedef T __attribute__( ( vector_size( N*sizeof(T) ) ) ) type; }; template<typename T, int N> using ExtVec = typename ExtVecTraits<T,N>::type; template<typename T> using Vec4 = ExtVec<T,4>; template<typename T> using Vec2 = ExtVec<T,2>; template<typename T> struct Rot3 { typedef Vec4<T> Vec; Vec axis[3]; constexpr Rot3( Vec4<T> ix, Vec4<T> iy, Vec4<T> iz) : axis{ix,iy,iz}{} }; typedef Vec4<float> Vec; Rot3<float> r2( (Vec){0, 1 ,0,0}, (Vec){0, 0, 1,0},(Vec){1, 0, 0,0}); c++ -std=c++11 -Ofast ceVec.cc ceVec.cc:21:68: internal compiler error: in adjust_temp_type, at cp/semantics.c:6454 Rot3<float> r2( (Vec){0, 1 ,0,0}, (Vec){0, 0, 1,0},(Vec){1, 0, 0,0}); ^ ceVec.cc:21:68: internal compiler error: Abort trap: 6 c++: internal compiler error: Abort trap: 6 (program cc1plus) Abort trap: 6 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 : (reconfigured) ./configure --disable-multilib --disable-bootstrap --enable-lto -disable-libitm --enable-languages=c,c++,fortran,lto --no-create --no-recursion : (reconfigured) ./configure --disable-multilib --disable-bootstrap --enable-lto -disable-libitm --enable-languages=c,c++,fortran,lto --no-create --no-recursion Thread model: posix gcc version 4.8.0 20121201 (experimental) [trunk revision 194019] (GCC)