summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorgiovannibajo <giovannibajo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-16 12:33:28 +0000
committergiovannibajo <giovannibajo@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-16 12:33:28 +0000
commitd4036570b241358e53ce984adf69cebf58bdb183 (patch)
treefb17a58ef8d20f47d5cde2d0d880e9a01131a774 /gcc
parent9591b260f09cc6c0cda7525e23b249042a86c25a (diff)
downloadppe42-gcc-d4036570b241358e53ce984adf69cebf58bdb183.tar.gz
ppe42-gcc-d4036570b241358e53ce984adf69cebf58bdb183.zip
PR c++/13407
* g++.dg/parse/typename6.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75970 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/parse/typename6.C17
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 196bce820a0..3136eda9d74 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-15 Giovanni Bajo <giovannibajo@gcc.gnu.org>
+
+ PR c++/13407
+ * g++.dg/parse/typename6.C: New test.
+
2004-01-15 Geoffrey Keating <geoffk@apple.com>
PR pch/13361
diff --git a/gcc/testsuite/g++.dg/parse/typename6.C b/gcc/testsuite/g++.dg/parse/typename6.C
new file mode 100644
index 00000000000..a0f5e39b6e9
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/typename6.C
@@ -0,0 +1,17 @@
+// { dg-do compile }
+// Contributed by Matt Austern <austern at apple dot com>
+// PR c++/13407: Gracefully handle keyword typename in base class specifier.
+
+struct A { };
+struct B { typedef A Type; };
+
+template <typename T>
+struct X :
+ public typename T::Type // { dg-error "not allowed in this context" }
+{ };
+
+X<B> x;
+
+struct C :
+ public typename A // { dg-error "not allowed outside of templates" }
+{ };
OpenPOWER on IntegriCloud