------- Additional Comments From reichelt at gcc dot gnu dot org 2004-10-08 13:05 ------- I've got good news and bad news.
The good news is that the original testcase compiles. This is most probably due to Mark's patch http://gcc.gnu.org/ml/gcc-patches/2004-10/msg00645.html http://gcc.gnu.org/ml/gcc-cvs/2004-10/msg00316.html The bad news is that we now accept the following invalid code: ============================================================================ template <int N> struct X { template <typename T> void f(T); }; template <> template <typename T> void X<1>::f (T); template <> template <typename T> void X<1>::f (T) {} template <> template <typename T> void X<1>::f (T) {} // duplicate definition template void X<1>::f(int); ============================================================================ Mark, could you please have a look? -- What |Removed |Added ---------------------------------------------------------------------------- CC| |mark at codesourcery dot com Keywords| |accepts-invalid Known to fail|3.3.4 3.4.0 4.0 |3.3.4 3.4.0 4.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14379