summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-28 12:46:10 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>1999-09-28 12:46:10 +0000
commit966a4df625b48948d7f9906ece6543a84e77125d (patch)
treee38ec9ed2003e2df7044881c150a13d141eed07b
parent2a80b8e146823877d1d6b1c66b0b68fb63496641 (diff)
downloadgcc-966a4df625b48948d7f9906ece6543a84e77125d.tar.gz
* g++.old-deja/g++.other/decl6.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29693 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/decl6.C26
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4e3ec71dcd4..d36bb29a580 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+Tue Sep 28 13:19:15 BST 1999 Nathan Sidwell <nathan@acm.org>
+
+ * g++.old-deja/g++.other/decl6.C: New test.
+
Tue Sep 28 01:19:09 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.c-torture/execute/va-arg-10.c: New test.
diff --git a/gcc/testsuite/g++.old-deja/g++.other/decl6.C b/gcc/testsuite/g++.old-deja/g++.other/decl6.C
new file mode 100644
index 00000000000..2d4bf0b8ed7
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/decl6.C
@@ -0,0 +1,26 @@
+// Build don't link:
+//
+// Copyright (C) 1999 Free Software Foundation, Inc.
+// Contributed by Nathan Sidwell 27 Sep 1999 <nathan@acm.org>
+
+int j();
+struct B {};
+struct A
+{
+ friend explicit int j(); // ERROR - only ctor decls can be explicit
+ friend explicit B::B (); // ERROR - only ctor decls can be explicit
+ int f(const); // ERROR - ansi forbids no type
+ const k; // ERROR - ansi forbids no type
+ mutable friend int j1 (); // ERROR - non-member cannot be mutable
+ mutable typedef int d; // ERROR - non-object cannot be mutable
+ mutable int fn (); // ERROR - non-object cannot be mutable
+ void fn (mutable int); // ERROR - non-member cannot be mutable
+ mutable static int s; // ERROR - static cannot be mutable
+ mutable const int s1; // ERROR - const cannot be mutable
+ mutable const int *s2; // ok
+ mutable int *const s3; // ERROR - const cannot be mutable
+ explicit A (); // ok
+};
+mutable int g; // ERROR - non-member cannot be mutable
+explicit A::A () {} // ERROR - only ctor decls can be explicit
+