aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <mpolacek@gcc.gnu.org>2018-01-02 15:05:09 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2018-01-02 15:05:09 +0000
commit6ff9491ae9a51c6adada2a667a869861edefcb2b (patch)
treece88c7a75ea77d9127b1de11861ac84ba50475de /gcc
parent0e03860116aa0c55edc15fa25fdbf52369654d83 (diff)
downloadgcc-6ff9491ae9a51c6adada2a667a869861edefcb2b.zip
gcc-6ff9491ae9a51c6adada2a667a869861edefcb2b.tar.gz
gcc-6ff9491ae9a51c6adada2a667a869861edefcb2b.tar.bz2
re PR c++/81860 (Call to undefined inline function involving inheriting constructors)
PR c++/81860 * g++.dg/cpp0x/inh-ctor30.C: New test. From-SVN: r256076
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/inh-ctor30.C27
3 files changed, 34 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 522573f..6cc4c4d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2018-01-02 Richard Biener <rguenther@suse.de>
+
+ * ipa-inline.c (big_speedup_p): Fix expression.
+
2018-01-02 Jan Hubicka <hubicka@ucw.cz>
PR target/81616
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 223877e..9b88e6c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,6 +1,7 @@
-2018-01-02 Richard Biener <rguenther@suse.de>
+2018-01-02 Marek Polacek <polacek@redhat.com>
- * ipa-inline.c (big_speedup_p): Fix expression.
+ PR c++/81860
+ * g++.dg/cpp0x/inh-ctor30.C: New test.
2018-01-01 Paul Thomas <pault@gcc.gnu.org>
diff --git a/gcc/testsuite/g++.dg/cpp0x/inh-ctor30.C b/gcc/testsuite/g++.dg/cpp0x/inh-ctor30.C
new file mode 100644
index 0000000..f40b052
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/inh-ctor30.C
@@ -0,0 +1,27 @@
+// PR c++/81860
+// { dg-do compile { target c++11 } }
+// { dg-final { scan-assembler "_ZN1AIjEC2Ev" } }
+
+template <typename T>
+struct A
+{
+ A() {}
+};
+
+struct B
+{
+ template <typename D>
+ B(D, const A<unsigned>& a = A<unsigned>()) : a(a) {}
+
+ A<unsigned> a;
+};
+
+struct C : B
+{
+ using B::B;
+};
+
+int main()
+{
+ C c(0);
+}