diff mbox series

C++ PATCH to add tests for c++/81486

Message ID 20190102224146.GY21364@redhat.com
State New
Headers show
Series C++ PATCH to add tests for c++/81486 | expand

Commit Message

Marek Polacek Jan. 2, 2019, 10:41 p.m. UTC
My recent fix for c++/88612 fixed these two testcases too.  Let's add them.

Tested on x86_64-linux, applying to trunk.

2019-01-02  Marek Polacek  <polacek@redhat.com>

	PR c++/81486 - CTAD failing with ().
	* g++.dg/cpp1z/class-deduction60.C: New test.
	* g++.dg/cpp1z/class-deduction61.C: New test.
diff mbox series

Patch

diff --git gcc/testsuite/g++.dg/cpp1z/class-deduction60.C gcc/testsuite/g++.dg/cpp1z/class-deduction60.C
new file mode 100644
index 00000000000..dbc5732a2a8
--- /dev/null
+++ gcc/testsuite/g++.dg/cpp1z/class-deduction60.C
@@ -0,0 +1,19 @@ 
+// PR c++/81486
+// { dg-do compile { target c++17 } }
+
+template <class T>
+struct C {
+  C(T);
+};
+
+template <>
+struct C<void> { };
+
+C() -> C<void>;
+
+int
+main()
+{
+  auto a = C{};
+  auto b = C();
+}
diff --git gcc/testsuite/g++.dg/cpp1z/class-deduction61.C gcc/testsuite/g++.dg/cpp1z/class-deduction61.C
new file mode 100644
index 00000000000..9ef095e2af0
--- /dev/null
+++ gcc/testsuite/g++.dg/cpp1z/class-deduction61.C
@@ -0,0 +1,15 @@ 
+// PR c++/81486
+// { dg-do compile { target c++17 } }
+
+template <typename... Ts>
+struct foo
+{
+  template <typename... Us>
+  foo(Us...) { }
+};
+
+int
+main ()
+{
+  auto f = foo();
+}