aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2020-04-22 18:05:18 +0200
committerPaolo Carlini <paolo.carlini@oracle.com>2020-04-22 18:05:18 +0200
commit183e9006cc0300257d6f74d573514ef86f78cb4e (patch)
tree950eeaf01a6b746b2dcff3a015fe5013b7bbcf9d
parent203f2b73e256c779a3ab73c5dc5efafd3d46f8e1 (diff)
downloadgcc-183e9006cc0300257d6f74d573514ef86f78cb4e.zip
gcc-183e9006cc0300257d6f74d573514ef86f78cb4e.tar.gz
gcc-183e9006cc0300257d6f74d573514ef86f78cb4e.tar.bz2
Add testcase of PR c++/90448, already fixed in trunk.
PR c++/90448 * g++.dg/cpp1y/lambda-generic-variadic20.C: New.
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic20.C16
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e60da71..f6dd7ac 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2020-04-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/90448
+ * g++.dg/cpp1y/lambda-generic-variadic20.C: New.
+
2020-04-22 Martin Sebor <msebor@redhat.com>
PR middle-end/94647
diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic20.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic20.C
new file mode 100644
index 0000000..3af971b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic20.C
@@ -0,0 +1,16 @@
+// PR c++/90448
+// { dg-do compile { target c++14 } }
+
+template<class ... Ts> int fooV(Ts ... ts) {
+ auto L = [](auto ... a) {
+ auto M = [](decltype(a) ... b) -> void {
+ };
+ return M;
+ };
+
+ decltype(L(L, ts...)) (*fp)(decltype(L), decltype(ts) ...) = L;
+
+ return 0;
+}
+
+int run2 = fooV("BC", 3, 2.77, 'A', float{}, short{}, unsigned{});