summaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-09 08:16:49 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-09 08:16:49 +0000
commit28bbd27a09dc1c4cc88f24ac1088c9e8472d0f5b (patch)
tree4053bda91421405c7881ecbb817f38fb71ebe500 /gcc/testsuite
parent7c9e3513b011c9127ccbea3cd77ac44b3dd8b057 (diff)
downloadgcc-28bbd27a09dc1c4cc88f24ac1088c9e8472d0f5b.tar.gz
PR c++/14401
* class.c (check_field_decls): Complain about non-static data members of reference type in unions. Propagate CLASSTYPE_REF_FIELDS_NEED_INIT and CLASSTYPE_READONLY_FIELDS_NEED_INIT from the types of non-static data members. * init.c (perform_member_init): Complain about mbmers with const type that are not explicitly initialized. PR c++/14401 * g++.dg/init/ctor3.C: New test. * g++.dg/init/union1.C: New test. * g++.dg/ext/anon-struct4.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79158 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog16
-rw-r--r--gcc/testsuite/g++.dg/ext/anon-struct4.C3
-rw-r--r--gcc/testsuite/g++.dg/init/ctor3.C6
-rw-r--r--gcc/testsuite/g++.dg/init/union1.C5
-rw-r--r--gcc/testsuite/g++.dg/lookup/koenig1.C2
-rw-r--r--gcc/testsuite/g++.dg/lookup/used-before-declaration.C4
-rw-r--r--gcc/testsuite/g++.dg/other/do1.C2
-rw-r--r--gcc/testsuite/g++.dg/overload/koenig1.C2
-rw-r--r--gcc/testsuite/g++.dg/parse/crash13.C2
-rw-r--r--gcc/testsuite/g++.dg/template/instantiate3.C2
10 files changed, 37 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 77eb45c9d44..6eb9b55d76d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,19 @@
+2004-03-08 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/14401
+ * g++.dg/init/ctor3.C: New test.
+ * g++.dg/init/union1.C: New test.
+ * g++.dg/ext/anon-struct4.C: New test.
+
+2004-03-08 Mark Mitchell <mark@codesourcery.com>
+
+ * g++.dg/lookup/koenig1.C: Tweak error messages.
+ * g++.dg/lookup/used-before-declaration.C: Likewise.
+ * g++.dg/other/do1.C: Likewise.
+ * g++.dg/overload/koenig1.C: Likewise.
+ * g++.dg/parse/crash13.C: Likewise.
+ * g++.dg/template/instantiate3.C: Likewise.
+
2004-03-08 Eric Christopher <echristo@redhat.com>
* * lib/target-supports.exp: Enable libiconv in test
diff --git a/gcc/testsuite/g++.dg/ext/anon-struct4.C b/gcc/testsuite/g++.dg/ext/anon-struct4.C
new file mode 100644
index 00000000000..f0b3b57f70d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/anon-struct4.C
@@ -0,0 +1,3 @@
+// PR c++/14401
+
+struct { struct { int& i ; } bar ; } foo ; // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/init/ctor3.C b/gcc/testsuite/g++.dg/init/ctor3.C
new file mode 100644
index 00000000000..1678aaf2c4d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/ctor3.C
@@ -0,0 +1,6 @@
+// PR c++/14401
+
+struct S {
+ S() {} // { dg-error "" }
+ const int i;
+};
diff --git a/gcc/testsuite/g++.dg/init/union1.C b/gcc/testsuite/g++.dg/init/union1.C
new file mode 100644
index 00000000000..0049f442916
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/union1.C
@@ -0,0 +1,5 @@
+// PR c++/14401
+
+union U {
+ int& i; // { dg-error "" }
+};
diff --git a/gcc/testsuite/g++.dg/lookup/koenig1.C b/gcc/testsuite/g++.dg/lookup/koenig1.C
index 697a322e3fb..7273727194c 100644
--- a/gcc/testsuite/g++.dg/lookup/koenig1.C
+++ b/gcc/testsuite/g++.dg/lookup/koenig1.C
@@ -9,5 +9,5 @@ class X;
void foo() {
X x(1); // { dg-error "incomplete type" "" }
- bar(x); // { dg-error "undeclared" "" }
+ bar(x); // { dg-error "not declared" "" }
}
diff --git a/gcc/testsuite/g++.dg/lookup/used-before-declaration.C b/gcc/testsuite/g++.dg/lookup/used-before-declaration.C
index c1469ead01f..b51d270c74a 100644
--- a/gcc/testsuite/g++.dg/lookup/used-before-declaration.C
+++ b/gcc/testsuite/g++.dg/lookup/used-before-declaration.C
@@ -1,5 +1,5 @@
// Copyroght (C) 2003 Free Software Foundation
// Origin: PR/12832, Jonathan Wakely <redi@gcc.gnu.org>
-void f() { g(); } // { dg-error "undeclared" "" }
-void g() { } // { dg-error "used" "" }
+void f() { g(); } // { dg-error "not declared" "" }
+void g() { }
diff --git a/gcc/testsuite/g++.dg/other/do1.C b/gcc/testsuite/g++.dg/other/do1.C
index 8cbd1a35f1f..720358568f1 100644
--- a/gcc/testsuite/g++.dg/other/do1.C
+++ b/gcc/testsuite/g++.dg/other/do1.C
@@ -8,6 +8,6 @@
void init ()
{
do { } while (0)
- obj = 0; // { dg-error "expected|undeclared" "" }
+ obj = 0; // { dg-error "expected|not declared" "" }
}
diff --git a/gcc/testsuite/g++.dg/overload/koenig1.C b/gcc/testsuite/g++.dg/overload/koenig1.C
index dd38e720acf..1ed7bce0b14 100644
--- a/gcc/testsuite/g++.dg/overload/koenig1.C
+++ b/gcc/testsuite/g++.dg/overload/koenig1.C
@@ -13,6 +13,6 @@ void g ()
{
B *bp;
N::A *ap;
- f (bp); // { dg-error "undeclared" }
+ f (bp); // { dg-error "not declared" }
f (ap);
}
diff --git a/gcc/testsuite/g++.dg/parse/crash13.C b/gcc/testsuite/g++.dg/parse/crash13.C
index d81b6a55e7a..d9e9087fa0d 100644
--- a/gcc/testsuite/g++.dg/parse/crash13.C
+++ b/gcc/testsuite/g++.dg/parse/crash13.C
@@ -18,5 +18,5 @@ void func(A<T>::B* ) // { dg-error "variable|template|expression" }
int main()
{
- func<void>(0); // { dg-error "undeclared|expression|;" }
+ func<void>(0); // { dg-error "not declared|expression|;" }
}
diff --git a/gcc/testsuite/g++.dg/template/instantiate3.C b/gcc/testsuite/g++.dg/template/instantiate3.C
index 14dbcdac079..3ad8b95cbe5 100644
--- a/gcc/testsuite/g++.dg/template/instantiate3.C
+++ b/gcc/testsuite/g++.dg/template/instantiate3.C
@@ -10,7 +10,7 @@ template <class TYPE>
struct ACE_Cleanup_Adapter
{
TYPE &object ()
- { return object_; } // { dg-error "undeclared|reported" }
+ { return object_; } // { dg-error "not declared|reported" }
TYPE object_; // { dg-error "incomplete type" }
};