]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/60305 (ICE constexpr array of functions in template)
authorPaolo Carlini <paolo.carlini@oracle.com>
Tue, 18 Mar 2014 17:10:23 +0000 (17:10 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 18 Mar 2014 17:10:23 +0000 (17:10 +0000)
2014-03-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60305
* g++.dg/cpp0x/constexpr-ice14.C: New.

2014-03-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54250
* g++.dg/cpp0x/lambda/lambda-ice12.C: New.

From-SVN: r208658

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/constexpr-ice14.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice12.C [new file with mode: 0644]

index 68b0a93a1f085234aaf8b99994ea9ed709498b07..6eb795bda842c9ace38e4d179e36657b482df205 100644 (file)
@@ -1,3 +1,13 @@
+2014-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/60305
+       * g++.dg/cpp0x/constexpr-ice14.C: New.
+
+2014-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/54250
+       * g++.dg/cpp0x/lambda/lambda-ice12.C: New.
+
 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
 
        PR sanitizer/60535
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ice14.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ice14.C
new file mode 100644 (file)
index 0000000..f936fb9
--- /dev/null
@@ -0,0 +1,11 @@
+// PR c++/60305
+// { dg-do compile { target c++11 } }
+
+template<int I> int foo() { return I; }
+
+template<int... I> void bar()
+{
+  constexpr int (*X[])() = { foo<I>... };
+}
+
+template void bar<1,3,5>();
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice12.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice12.C
new file mode 100644 (file)
index 0000000..d18aadf
--- /dev/null
@@ -0,0 +1,15 @@
+// PR c++/54250
+// { dg-do compile { target c++11 } }
+
+struct T
+{
+    int a;
+    int foo()
+    {
+        return [&]()->int {
+            return [&](decltype(/*this->*/a) _)->int {
+                return 1;
+            }(a);
+        }();
+    }
+};