$ cat >ICE.cpp #include <iostream> template <class T> void foo(T t) { std::cerr << typeid(t).name; // This line is broken, of course } $ g++ ICE.cpp -c -o ICE.o ICE.cpp: In function `void foo(T)': ICE.cpp:4: internal compiler error: in resolve_overloaded_unification, at cp/pt.c:9316 Please submit a full bug report, with preprocessed source if appropriate. ... $ g++ -v 2>&1 | tail -1 gcc version 3.4.4 20050526 (ALT Linux, build 3.4.4-alt1) $ rpm -q gcc3.4-c++ gcc3.4-c++-3.4.4-alt1
Исправлено в 4.1.
Как неудобно, что нельзя сразу перевести баг из NEW в CLOSED.