diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-09-03 15:03:56 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-09-03 15:03:56 +0200 |
commit | 05a26161b47e20ef03df11724609d82f372a37f7 (patch) | |
tree | 969a011521d5e52852f69db9aefe7bab4454aa42 /gcc/tree-inline.c | |
parent | a6340be14474c7cdd6637413be9e25f9e5e550d1 (diff) | |
download | gcc-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.c | 6 |
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 (); } |