diff options
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/ttp7.C | 16 |
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 520966a..a8a7b5d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-01-25 Giovanni Bajo <giovannibajo@gcc.gnu.org> + + PR c++/13810 + * g++.dg/template/ttp7.C: New test. + 2004-01-25 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> PR c++/13797 diff --git a/gcc/testsuite/g++.dg/template/ttp7.C b/gcc/testsuite/g++.dg/template/ttp7.C new file mode 100644 index 0000000..0bcaa8f --- /dev/null +++ b/gcc/testsuite/g++.dg/template/ttp7.C @@ -0,0 +1,16 @@ +// { dg-do compile } +// Contributed by Andrew Pinski <pinskia at gcc dot gnu dot org> +// PR c++/13810: ICE while parsing invalid default argument for a +// template template parameter. + +struct X; +template<int> struct A {}; + +template<template<int> class = X > struct B1 {}; // { dg-error "as a default value" } +template<template<int> class = A<0> > struct B2 {}; // { dg-error "as a default value" } + +template <typename T> +struct S { + template <template <typename> class = S> struct I1 {}; // { dg-error "as a default value" } + template <template <typename> class = ::S> struct I2 {}; +}; |