This is my first gcc bug, so please be kind... I'm in the process of upgrading my company's toolchain from 3.4.4 to 4.1.0 (mostly because we want ARM EABI support...but that's not relevant, it turns out this bug happens on both i686 and ARM targets).
I narrowed down a particular usage of Loki's Type Manipulation templates combined with a common _C_ASSERT trick that was causing an ICE: ice-cp-class_c_474.cpp: In instantiation of 'Loki::Conversion<const volatile Event*, const volatile IBar*>': ice-cp-class_c_474.cpp:62: instantiated from 'Loki::Conversion<const volatile IBar*, const volatile Event*>' ice-cp-class_c_474.cpp:118: instantiated from 'Loki::SuperSubclassStrict<IBar, Event>' ice-cp-class_c_474.cpp:201: instantiated from here ice-cp-class_c_474.cpp:58: internal compiler error: in build_simple_base_path, at cp/class.c:474 Please submit a full bug report, I will attach my one-page self-contained .cpp file. This is known to work on gcc-3.4.4. My compiler is configured thusly: /usr/local/i686/4.1.0-1a/bin/g++ -v ice-cp-class_c_474.cpp Using built-in specs. Target: i686-pc-linux-gnu Configured with: .././gcc-4.1.0-pass2/configure --prefix=/usr/local/i686/4.1.0-1a --libexecdir=/usr/local/i686/4.1.0-1a/lib --with-local-prefix=/usr/local/i686/4.1.0-1a --enable-threads=posix --enable-c99 --enable-clocale=gnu --enable-shared --enable-__cxa_atexit --enable-languages=c,c++ --enable-long-long --disable-libstdcxx-pch Thread model: posix gcc version 4.1.0 -- Summary: ICE in build_simple_base_path, at cp/class.c:474 Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: nashpaulr at gmail dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu, arm-non-linux-gnueabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27177