aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2017-05-21 22:20:05 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2017-05-21 22:20:05 +0000
commit4bcbb7b81656dd029be329bd0b6545fe71405269 (patch)
tree9b763b94f70b2f019f64149c7873ad3f205e04ea
parent6fac3d975706376cbf941e589f4d9666b696b7b9 (diff)
downloadgcc-4bcbb7b81656dd029be329bd0b6545fe71405269.zip
gcc-4bcbb7b81656dd029be329bd0b6545fe71405269.tar.gz
gcc-4bcbb7b81656dd029be329bd0b6545fe71405269.tar.bz2
re PR c++/70265 (ICE on code with constexpr on x86_64-linux-gnu in tree check: expected statement_list, have nop_expr in tsi_start, at tree-iterator.h:42)
2017-05-21 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70265 * g++.dg/cpp1y/constexpr-70265-1.C: New. * g++.dg/cpp1y/constexpr-70265-2.C: Likewise. From-SVN: r248313
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-70265-1.C13
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-70265-2.C13
3 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index fb4b1bd..0ae3270 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2017-05-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/70265
+ * g++.dg/cpp1y/constexpr-70265-1.C: New.
+ * g++.dg/cpp1y/constexpr-70265-2.C: Likewise.
+
2017-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/80333
diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-70265-1.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-70265-1.C
new file mode 100644
index 0000000..e0fcdfe
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-70265-1.C
@@ -0,0 +1,13 @@
+// PR c++/70265
+// { dg-do compile { target c++14 } }
+
+constexpr int
+foo (int p)
+{
+ int t = 0;
+ while (1) // { dg-error "count exceeds" }
+ ;
+ return t;
+}
+
+static_assert (foo (1) == 0, ""); // { dg-error "non-constant" }
diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-70265-2.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-70265-2.C
new file mode 100644
index 0000000..fc360f1
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-70265-2.C
@@ -0,0 +1,13 @@
+// PR c++/70265
+// { dg-do compile { target c++14 } }
+
+constexpr int
+foo (int p)
+{
+ int t = 0;
+ while (1)
+ t = 0; // { dg-error "count exceeds" }
+ return t;
+}
+
+static_assert (foo (1) == 0, ""); // { dg-error "non-constant" }