aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-09-03 15:03:56 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2008-09-03 15:03:56 +0200
commit05a26161b47e20ef03df11724609d82f372a37f7 (patch)
tree969a011521d5e52852f69db9aefe7bab4454aa42 /gcc/tree-inline.c
parenta6340be14474c7cdd6637413be9e25f9e5e550d1 (diff)
downloadgcc-05a26161b47e20ef03df11724609d82f372a37f7.zip
gcc-05a26161b47e20ef03df11724609d82f372a37f7.tar.gz
gcc-05a26161b47e20ef03df11724609d82f372a37f7.tar.bz2
re PR target/37436 (arm-cross-g++. internal compiler error: in extract_insn, at recog.c:1990)
PR c++/37436 * gimple.h (gimple_has_substatements): GIMPLE_OMP_CRITICAL has substatements. * tree-inline.c (remap_gimple_stmt): Handle GIMPLE_OMP_CRITICAL. * g++.dg/gomp/pr37436.C: New test. From-SVN: r139937
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 5919b2b..3b77c0e 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -1156,6 +1156,12 @@ remap_gimple_stmt (gimple stmt, copy_body_data *id)
(s1, gimple_omp_single_clauses (stmt));
break;
+ case GIMPLE_OMP_CRITICAL:
+ s1 = remap_gimple_seq (gimple_omp_body (stmt), id);
+ copy
+ = gimple_build_omp_critical (s1, gimple_omp_critical_name (stmt));
+ break;
+
default:
gcc_unreachable ();
}