summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2020-01-14 13:59:54 -0500
committerJason Merrill <jason@redhat.com>2020-01-14 15:20:12 -0500
commit08c8c973c082457a7d6192673e87475f1fdfdbef (patch)
treeb04556341be3025f2077cdc3fe0e0c9fa9122bcf /gcc/testsuite/g++.old-deja
parenta5a3c2dcf73aa245b0eb6f6cf56c4d03ab6056da (diff)
PR c++/92590 - wrong handling of inherited default ctor.
I thought my earlier fix for 91930 was an obvious bug fix, but apparently an inherited constructor does not count as user-declared. So this patch reverts that change and the other follow-on patches, and fixes 91930 differently, by not letting the inherited default constructor hide the implicitly-declared default constructor. * class.c (add_method): A constrained inherited ctor doesn't hide an implicit derived ctor. Revert: PR c++/91930 - ICE with constrained inherited default ctor. * name-lookup.c (do_class_using_decl): Set TYPE_HAS_USER_CONSTRUCTOR for inherited constructor. PR c++/92552 - ICE with inherited constrained default ctor. * pt.c (instantiate_class_template_1): Copy TYPE_HAS_USER_CONSTRUCTOR. PR c++/92594 - ICE with inherited trivial default ctor. * method.c (trivial_fn_p): Treat an inherited default constructor like a normal default constructor.
Diffstat (limited to 'gcc/testsuite/g++.old-deja')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/error2.C2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/error2.C b/gcc/testsuite/g++.old-deja/g++.pt/error2.C
index 666aea0a1ef..2e65718b679 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/error2.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/error2.C
@@ -9,7 +9,7 @@ public:
void f ()
{
- Test<void> c; // { dg-error "no match" }
+ Test<void> c; // { dg-message "required" }
}