aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-10-10 22:10:25 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2017-10-10 22:10:25 +0200
commit10885d138e6c4c46d64031eb345d73202a535949 (patch)
tree0807778f93d3bbb1b3bd07ad18c8a3892443b27e /gcc
parentda31baba47d88a9c2f78a3dbe5585541b96cf2c3 (diff)
downloadgcc-10885d138e6c4c46d64031eb345d73202a535949.zip
gcc-10885d138e6c4c46d64031eb345d73202a535949.tar.gz
gcc-10885d138e6c4c46d64031eb345d73202a535949.tar.bz2
re PR c++/77786 (ICE in tsubst_copy, at cp/pt.c:13040)
PR c++/77786 * g++.dg/cpp1y/pr77786.C: New test. From-SVN: r253614
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/pr77786.C21
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 307acde..c306573 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2017-10-10 Jakub Jelinek <jakub@redhat.com>
+ PR c++/77786
+ * g++.dg/cpp1y/pr77786.C: New test.
+
PR c++/71875
* g++.dg/cpp1y/pr71875.C: New test.
diff --git a/gcc/testsuite/g++.dg/cpp1y/pr77786.C b/gcc/testsuite/g++.dg/cpp1y/pr77786.C
new file mode 100644
index 0000000..e242228
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/pr77786.C
@@ -0,0 +1,21 @@
+// PR c++/77786
+// { dg-do compile { target c++14 } }
+
+#include <vector>
+
+template<int N>
+void
+foo (std::vector<int> a)
+{
+ auto const a_size = a.size();
+ auto bar = [&](auto y) -> void { int a_size_2 = a_size; };
+ double x = 0.0;
+ bar (x);
+}
+
+int
+main ()
+{
+ std::vector<int> a(1);
+ foo<1>(a);
+}