This little program: class C;
template <void (C::*pmf)(int) = (void(C::*)(int))0 > struct S { }; S<> s; yields this little ICE: 440-gcc-crash.cc:6: internal compiler error: in uses_template_parms, at cp/pt.c:5024 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. (I believe the program should be valid, see section 14.3.2p1 in the C++ standard.) -- Summary: ICE: default non-type template argument of pointer-to- member type Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jens dot maurer at gmx dot net GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29704