re PR c++/85713 (ICE in dependent_type_p, at cp/pt.c:24582 on valid code)
authorPaolo Carlini <paolo.carlini@oracle.com>
Thu, 17 May 2018 09:17:56 +0000 (09:17 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 17 May 2018 09:17:56 +0000 (09:17 +0000)
2018-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/85713
* g++.dg/cpp1y/lambda-generic-85713-2.C: New.

From-SVN: r260308

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp1y/lambda-generic-85713-2.C [new file with mode: 0644]

index ce6ff7e69c0f1aab780ee85837a141dcbaf41ed5..f36006744f980191aa4598da9f1898f56099dfaf 100644 (file)
@@ -1,5 +1,10 @@
+2018-05-17  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/85713
+       * g++.dg/cpp1y/lambda-generic-85713-2.C: New.
+
 2018-05-17  Olga Makhotina  <olga.makhotina@intel.com>
-       
+
        * gcc.target/i386/builtin_target.c: Test goldmont-plus.
        * gcc.target/i386/funcspec-56.inc: Tests for arch=goldmont-plus.
 
diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-85713-2.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-85713-2.C
new file mode 100644 (file)
index 0000000..8fb8dfd
--- /dev/null
@@ -0,0 +1,7 @@
+// PR c++/85713
+// { dg-do compile { target c++14 } }
+
+auto l4 = [](auto v, auto (&array (int)) [5]) -> int { return v + array[0]; };
+auto l5 = [](auto v, auto (&array (auto)) [5]) -> int { return v + array[0]; };
+auto l6 = [](auto v, auto (&array (int int)) [5]) -> int { return v + array[0]; };  // { dg-error "two or more data types" }
+auto l7 = [](auto v, auto (&array (int auto)) [5]) -> int { return v + array[0]; };  // { dg-error "two or more data types" }