summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-22 06:42:26 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-22 06:42:26 +0000
commit860a36d02dcf3f1e8d11978dfb731e68a4f6dd49 (patch)
tree74a52a670deb64eba9b7906231590d60615b6d48
parent6da15bfd59133a533c3599f68d77bcc01b618de2 (diff)
downloadgcc-860a36d02dcf3f1e8d11978dfb731e68a4f6dd49.tar.gz
PR middle-end/41429
* tree-cfg.c (remove_useless_stmts_tc): Call gsi_next (gsi) even for GIMPLE_EH_MUST_NOT_THROW cleanup. (verify_types_in_gimple_stmt): Handle GIMPLE_EH_MUST_NOT_THROW. * g++.dg/gomp/pr41429.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151966 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/gomp/pr41429.C5
-rw-r--r--gcc/tree-cfg.c2
4 files changed, 19 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 59123c6dc03..cc1a8865130 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2009-09-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/41429
+ * tree-cfg.c (remove_useless_stmts_tc): Call gsi_next (gsi) even for
+ GIMPLE_EH_MUST_NOT_THROW cleanup.
+ (verify_types_in_gimple_stmt): Handle GIMPLE_EH_MUST_NOT_THROW.
+
2009-09-22 Jack Howarth <howarth@bromo.med.uc.edu>
PR middle-end/41260
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8bf9349fd73..588c7477dc1 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/41429
+ * g++.dg/gomp/pr41429.C: New test.
+
2009-09-21 Giuseppe Scrivano <gscrivano@gnu.org>
* gcc.dg/tree-ssa/tailrecursion-6.c: New file.
diff --git a/gcc/testsuite/g++.dg/gomp/pr41429.C b/gcc/testsuite/g++.dg/gomp/pr41429.C
new file mode 100644
index 00000000000..7de41b846eb
--- /dev/null
+++ b/gcc/testsuite/g++.dg/gomp/pr41429.C
@@ -0,0 +1,5 @@
+// PR middle-end/41429
+// { dg-do compile { target fpic } }
+// { dg-options "-fopenmp -O2 -fpic" }
+
+#include "pr37189.C"
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index ef5f32284d4..cfde858927f 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -2001,6 +2001,7 @@ remove_useless_stmts_tc (gimple_stmt_iterator *gsi, struct rus_data *data)
case GIMPLE_EH_MUST_NOT_THROW:
this_may_throw = false;
+ gsi_next (gsi);
break;
default:
@@ -4354,6 +4355,7 @@ verify_types_in_gimple_stmt (gimple stmt)
case GIMPLE_PREDICT:
case GIMPLE_RESX:
case GIMPLE_EH_DISPATCH:
+ case GIMPLE_EH_MUST_NOT_THROW:
return false;
CASE_GIMPLE_OMP: