PR middle-end/26913
* tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
* g++.dg/gomp/pr26913.C: New test.
From-SVN: r113270
2006-04-26 Jakub Jelinek <jakub@redhat.com>
+ PR middle-end/26913
+ * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
+
PR c/25996
* c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
either decl or init is error_mark_node.
2006-04-26 Jakub Jelinek <jakub@redhat.com>
+ PR middle-end/26913
+ * g++.dg/gomp/pr26913.C: New test.
+
PR c/25996
* gcc.dg/gomp/pr25996.c: New test.
* g++.dg/gomp/pr25996.C: New test.
--- /dev/null
+// PR middle-end/26913
+
+struct A
+{
+ ~A () throw ();
+};
+
+void foo (A);
+
+A bar () throw ();
+
+void baz ()
+{
+#pragma omp parallel
+ {
+ A a;
+ foo (bar ());
+ }
+}
tree stmt = bsi_stmt (si);
int stmt_region;
- stmt_region = lookup_stmt_eh_region_fn (src_cfun, stmt);
+ if (TREE_CODE (stmt) == RESX_EXPR)
+ stmt_region = TREE_INT_CST_LOW (TREE_OPERAND (stmt, 0));
+ else
+ stmt_region = lookup_stmt_eh_region_fn (src_cfun, stmt);
if (stmt_region > 0)
{
if (region < 0)