summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.bugs
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2005-02-15 19:39:31 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2005-02-15 19:39:31 +0000
commite5e459bf3b9d5ff4a4cb3ae26268090ed180ae4e (patch)
tree4bdc26358fdc926dcccf0781aa23884bfcb38b20 /gcc/testsuite/g++.old-deja/g++.bugs
parent39a87435bc42d0802f82b60bf657b3aa5ecbea86 (diff)
downloadgcc-e5e459bf3b9d5ff4a4cb3ae26268090ed180ae4e.tar.gz
re PR c++/17788 (poor diagnostic for missing reference initializer)
gcc/cp/ChangeLog: PR c++/17788 * class.c (add_implicitly_declared_members, check_field_decl) (check_field_decls, check_bases): Remove arguments, tests and assignments of cant_have_default_ctor-related variables. gcc/testsuite/ChangeLog: PR c++/17788 * g++.dg/init/ctor4.C: New. * g++.old-deja/g++.bugs/900205_04.C: Adjust. From-SVN: r95071
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.bugs')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C12
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
index e5f59ab63bc..a2c84fadb9e 100644
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
+++ b/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
@@ -9,19 +9,23 @@
// keywords: default constructor, inheritance
-struct struct0 {
+// In ISO C++ 1998, such a derived class is not ill-formed, but if the
+// implicitly-declared constructor is used, then it is implicitly
+// defined and found to be ill-formed.
+
+struct struct0 { // { dg-error "note" }
int data_member;
struct0 (int, void *); // suppresses implicit default constructor
};
-struct0::struct0 (int, void *)
+struct0::struct0 (int, void *) // { dg-error "note" }
{
}
-struct struct0_derived_struct_0 : public struct0 { // { dg-error "" }
+struct struct0_derived_struct_0 : public struct0 { // { dg-error "" }
};
-// struct0_derived_struct_0 object; // would give g++ error if compiled
+struct0_derived_struct_0 object;
int main () { return 0; }