[Bug c++/14379] ICE in tsubst with declaring then defining a member template
reichelt at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Oct 8 13:05:00 GMT 2004
------- 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
More information about the Gcc-bugs
mailing list