aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-01-23 15:04:18 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-01-23 15:04:18 +0100
commit55a46cb54a7ebabd298e7f574993bb73f879758c (patch)
tree68fbe4eb807f796f2767227f204162b044c222ca /gcc
parent941ae8b48eba8d5b6ff696f9bdc6c6cfff3247d0 (diff)
downloadgcc-55a46cb54a7ebabd298e7f574993bb73f879758c.zip
gcc-55a46cb54a7ebabd298e7f574993bb73f879758c.tar.gz
gcc-55a46cb54a7ebabd298e7f574993bb73f879758c.tar.bz2
re PR c++/82882 (ICE Segmentation fault)
PR c++/82882 PR c++/83978 * g++.dg/cpp0x/pr82882.C: New test. * g++.dg/cpp0x/pr83978.C: New test. From-SVN: r256985
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr82882.C15
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr83978.C6
3 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8a997aa..5c1d57f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2018-01-23 Jakub Jelinek <jakub@redhat.com>
+ PR c++/82882
+ PR c++/83978
+ * g++.dg/cpp0x/pr82882.C: New test.
+ * g++.dg/cpp0x/pr83978.C: New test.
+
PR c++/83958
* g++.dg/cpp1z/decomp35.C: New test.
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr82882.C b/gcc/testsuite/g++.dg/cpp0x/pr82882.C
new file mode 100644
index 0000000..d4f35d6
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/pr82882.C
@@ -0,0 +1,15 @@
+// PR c++/82882
+// { dg-do compile { target c++11 } }
+
+template <typename>
+void
+foo ()
+{
+ auto v = [] { enum { E, F }; };
+}
+
+void
+bar ()
+{
+ foo<int> ();
+}
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr83978.C b/gcc/testsuite/g++.dg/cpp0x/pr83978.C
new file mode 100644
index 0000000..ce1e51e
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/pr83978.C
@@ -0,0 +1,6 @@
+// PR c++/83978
+// { dg-do compile { target c++11 } }
+
+template <int N>
+struct A { A () { auto a = [] { enum E { F }; }; } };
+A<0> *p = new A<0> ();