aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2004-01-12 16:15:19 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2004-01-12 16:15:19 +0000
commit59147a629a7a3c98e43be16e325d46ef07e45e93 (patch)
tree68528d6f6b815510ea9b5010834c60fd5a0095a3 /gcc
parent0426c4ca869f62525e807d8fc1bff9a983780308 (diff)
downloadgcc-59147a629a7a3c98e43be16e325d46ef07e45e93.zip
gcc-59147a629a7a3c98e43be16e325d46ef07e45e93.tar.gz
gcc-59147a629a7a3c98e43be16e325d46ef07e45e93.tar.bz2
re PR c++/4100 ([parser] friend qualifier accepted in definition of nested class)
PR c++/4100 * g++.dg/parse/friend4.C: New test. * g++.old-deja/g++.pt/niklas01a.C: Mark an error where a class definition is called a friend. From-SVN: r75727
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog11
-rw-r--r--gcc/testsuite/g++.dg/parse/friend4.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C2
3 files changed, 20 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 92da799..4c1aae0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2004-01-12 Ian Lance Taylor <ian@wasabisystems.com>
+
+ PR c++/4100
+ * g++.dg/parse/friend4.C: New test.
+
+2004-01-12 Scott Brumbaugh <scottb.lists@verizon.net>
+
+ PR c++/4100
+ * g++.old-deja/g++.pt/niklas01a.C: Mark an error where a class
+ definition is called a friend.
+
2004-01-11 Zack Weinberg <zack@codesourcery.com>
* gcc.dg/tls/diag-3.c: Tweak dg-error regexp.
diff --git a/gcc/testsuite/g++.dg/parse/friend4.C b/gcc/testsuite/g++.dg/parse/friend4.C
new file mode 100644
index 0000000..5eca512
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/friend4.C
@@ -0,0 +1,8 @@
+// { dg-do compile }
+
+// PR c++/4100
+// You can't use friend when defining a class.
+
+class A {
+ friend class B { }; // { dg-error "friend" }
+};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C b/gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C
index 58c59d2..42a21fc 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C
@@ -3,6 +3,6 @@
struct A { // { dg-error "" } forward declaration
friend struct B : A { // { dg-error "" }
int x;
- };
+ }; // { dg-error "" } class definition cannot be a friend
int y;
};