aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Bajo <giovannibajo@gcc.gnu.org>2004-01-25 22:46:48 +0000
committerGiovanni Bajo <giovannibajo@gcc.gnu.org>2004-01-25 22:46:48 +0000
commitbbcd2439ba230342965bf28f7458673c07d69efe (patch)
treebc36ffbd2c6d49a5adbbc55771d8e9a7a4aec590
parenta3a503a57298d397b65d9e9599e1c0e5db552858 (diff)
downloadgcc-bbcd2439ba230342965bf28f7458673c07d69efe.zip
gcc-bbcd2439ba230342965bf28f7458673c07d69efe.tar.gz
gcc-bbcd2439ba230342965bf28f7458673c07d69efe.tar.bz2
re PR c++/13810 (ICE on invalid default templates)
PR c++/13810 * g++.dg/template/ttp7.C: New test. From-SVN: r76594
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/template/ttp7.C16
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 {};
+};