http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48115
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[4.6/4.7 Regression] |[4.6/4.7 Regression] |[C++0x] internal compiler |internal compiler error: in |error: in |type_has_nontrivial_copy_in |type_has_nontrivial_copy_in |it, at cp/tree.c:2482 |it, at cp/tree.c:2482 | --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-03-14 16:52:30 UTC --- Here's a C++03 version which works with 4.5, clang and EDG, but ICEs with 4.6 template<typename> struct templ { }; template<typename T> T declval(); typedef int (*F2)(...); template<int> struct Int { }; template<typename F, typename T> struct S { template<typename A> Int<sizeof( declval<F>()(T()) )> f(A); }; int main() { S<F2, templ<int> >().f(0); }