I stumbled upon this very unusual error. I don't know if it's worth investigating, since I'm note even sure that this is legal code:
Anyway, GCC says: test.cpp:8: internal compiler error: in digest_init, at cp/typeck2.c:709 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/ccxi24ed.out file, please attach this to your bugreport. --------------------------- here is the offending code: --------------------------- #include <iostream> using namespace std; void paperino() { cout << __FUNCTION__ << endl; } void pippo() { cout << __FUNCTION__ << endl; } template<class T> void func(const T& x) { T other(x); other(); } int main() { func(paperino); func(&pippo); } -- Summary: internal compiler error: in digest_init, at cp/typeck2.c:709 Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: cbellettini at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40814