aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2019-06-08 00:48:54 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2019-06-08 00:48:54 +0000
commita5edb3fa224d547bbc372ba1105aff3b667a0a63 (patch)
tree797865501828b3c1a47abe2ce1785049658c2a7f
parent5521a7185005b92d58ad5eff5a0df754b627c4d2 (diff)
downloadgcc-a5edb3fa224d547bbc372ba1105aff3b667a0a63.zip
gcc-a5edb3fa224d547bbc372ba1105aff3b667a0a63.tar.gz
gcc-a5edb3fa224d547bbc372ba1105aff3b667a0a63.tar.bz2
re PR c++/77747 (GCC allows inheriting constructors from indirect base)
PR c++/77747 * g++.dg/cpp0x/inh-ctor33.C: New test. From-SVN: r272071
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/inh-ctor33.C19
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b7812e9..217c549 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2019-06-07 Marek Polacek <polacek@redhat.com>
+ PR c++/77747
+ * g++.dg/cpp0x/inh-ctor33.C: New test.
+
PR c++/77967
* g++.dg/cpp0x/alias-decl-68.C: New test.
diff --git a/gcc/testsuite/g++.dg/cpp0x/inh-ctor33.C b/gcc/testsuite/g++.dg/cpp0x/inh-ctor33.C
new file mode 100644
index 0000000..95b7812
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/inh-ctor33.C
@@ -0,0 +1,19 @@
+// PR c++/77747
+// { dg-do compile { target c++11 } }
+
+class X {
+public:
+ X() { }
+ X(int a) { }
+};
+
+class Y : public X { };
+
+class Z : public Y {
+ using X::X; // { dg-error "cannot inherit constructors from indirect base .X." }
+};
+
+int main()
+{
+ Z z{3}; // { dg-error "no matching" }
+}