diff options
| -rw-r--r-- | gcc/testsuite/ChangeLog | 2 | ||||
| -rw-r--r-- | gcc/testsuite/g++.dg/template/nested1.C | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index df72009..2c7a06d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,7 @@ 2003-01-03 Nathanael Nerode <neroden@gcc.gnu.org> + * g++.dg/template/nested1.C: New test. + * g++.dg/parse/namespace3.C: New test. 2003-01-02 Nathanael Nerode <neroden@gcc.gnu.org> diff --git a/gcc/testsuite/g++.dg/template/nested1.C b/gcc/testsuite/g++.dg/template/nested1.C new file mode 100644 index 0000000..ed2028b --- /dev/null +++ b/gcc/testsuite/g++.dg/template/nested1.C @@ -0,0 +1,15 @@ +/* PR c++/4633 */ +/* { dg-do compile } */ + +// The 'class X' inside the template used to escape (somehow), +// so that the typedef claimed that it was redefining X. + +template <typename T> struct S ; + +template <> struct S<float> +{ + template <class, class> struct R; + template <class X> struct R<X, X> { }; + + typedef int X; +}; |
