diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-09 08:16:49 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-09 08:16:49 +0000 |
commit | 28bbd27a09dc1c4cc88f24ac1088c9e8472d0f5b (patch) | |
tree | 4053bda91421405c7881ecbb817f38fb71ebe500 /gcc/testsuite | |
parent | 7c9e3513b011c9127ccbea3cd77ac44b3dd8b057 (diff) | |
download | gcc-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/ChangeLog | 16 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/ext/anon-struct4.C | 3 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/init/ctor3.C | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/init/union1.C | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/lookup/koenig1.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/lookup/used-before-declaration.C | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/other/do1.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/overload/koenig1.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/crash13.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/instantiate3.C | 2 |
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" } }; |