aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>1999-09-28 12:46:10 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>1999-09-28 12:46:10 +0000
commit24d505988681a89a8befc0467ba4fc6d0685d2b7 (patch)
treee38ec9ed2003e2df7044881c150a13d141eed07b
parent34fc957d12b8213cd28d2591abe14f7bbe6cec1c (diff)
downloadgcc-24d505988681a89a8befc0467ba4fc6d0685d2b7.zip
gcc-24d505988681a89a8befc0467ba4fc6d0685d2b7.tar.gz
gcc-24d505988681a89a8befc0467ba4fc6d0685d2b7.tar.bz2
* g++.old-deja/g++.other/decl6.C: New test.
From-SVN: r29693
-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 4e3ec71..d36bb29 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 0000000..2d4bf0b
--- /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
+