http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55753
--- Comment #4 from David Abdurachmanov <david.abdurachmanov at gmail dot com> 2012-12-24 12:48:01 UTC --- I did some more testing of the trunk. Compiles fine with r173678 [g++ (GCC) 4.7.0 20110511 (experimental)], but starts ICE'ing with r173679. gcc_assert (TREE_CONSTANT (t)); (ICE line) was added in r166592 [1]. I tried passing --enable-checking=none or touching gcc/DEV-PHASE, but bootstrap comparison was always failing. I looked at gcc/configure.ac. trunk has DEV-PHASE set to experimental thus ac_checking_flags=yes, which sets ac_checking=1. If ac_checking_flags=release then ac_checking= is not set. If ac_checking is set, it defines ENABLE_CHECKING macro, I believe. That would probably explain why it works for me with 4.7.2 (final). Probably this is the part [2] causing the ICE. Merry Christmas in advance! david [1] http://gcc.gnu.org/viewcvs/trunk/gcc/cp/pt.c?r1=166592&r2=166591&pathrev=166592 [2] http://gcc.gnu.org/viewcvs/trunk/gcc/cp/pt.c?r1=173679&r2=173678&pathrev=173679