From ca50f84ad902ed171c7b27f630f24300c9b2f040 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 28 Dec 2009 08:41:33 -0800 Subject: [PATCH] Handle GIMPLE_COND in diagnose_sb_2. gcc/ 2009-12-28 H.J. Lu PR middle-end/41344 * omp-low.c (diagnose_sb_2): Handle GIMPLE_COND. gcc/testsuite/ 2009-12-28 H.J. Lu * gfortran.dg/gomp/pr41344.f: New. From-SVN: r155487 --- gcc/ChangeLog | 25 ++++++++++++++---------- gcc/omp-low.c | 21 ++++++++++++++++++++ gcc/testsuite/ChangeLog | 12 ++++++++---- gcc/testsuite/gfortran.dg/gomp/pr41344.f | 16 +++++++++++++++ 4 files changed, 60 insertions(+), 14 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/gomp/pr41344.f diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e0a5ae34d388..022296f758c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-12-28 H.J. Lu + + PR middle-end/41344 + * omp-low.c (diagnose_sb_2): Handle GIMPLE_COND. + 2009-12-24 Andy Hutchinson PR target/42457 @@ -40,12 +45,12 @@ the start of a loop over basic blocks. 2009-12-24 Julian Brown - Ramana Radhakrishnan + Ramana Radhakrishnan - PR target/40887 - * config/arm/arm.c (output_call_mem): Remove armv5 support. - * config/arm/arm.md (*call_mem): Disable for armv5. Add note. - (*call_value_mem): Likewise. + PR target/40887 + * config/arm/arm.c (output_call_mem): Remove armv5 support. + * config/arm/arm.md (*call_mem): Disable for armv5. Add note. + (*call_value_mem): Likewise. 2009-12-23 Jakub Jelinek @@ -63,11 +68,11 @@ 2009-12-23 Ramana Radhakrishnan - PR target/42093 - * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage - to TARGET_THUMB1. - (CASE_VECTOR_SHORTEN_MODE): Allow signed offsets - only for TARGET_THUMB1. + PR target/42093 + * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage + to TARGET_THUMB1. + (CASE_VECTOR_SHORTEN_MODE): Allow signed offsets + only for TARGET_THUMB1. 2009-12-23 Ramana Radhakrishnan diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 02fea106b07f..317003186d17 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -6858,6 +6858,27 @@ diagnose_sb_2 (gimple_stmt_iterator *gsi_p, bool *handled_ops_p, wi->info = context; break; + case GIMPLE_COND: + { + tree lab = gimple_cond_true_label (stmt); + if (lab) + { + n = splay_tree_lookup (all_labels, + (splay_tree_key) lab); + diagnose_sb_0 (gsi_p, context, + n ? (gimple) n->value : NULL); + } + lab = gimple_cond_false_label (stmt); + if (lab) + { + n = splay_tree_lookup (all_labels, + (splay_tree_key) lab); + diagnose_sb_0 (gsi_p, context, + n ? (gimple) n->value : NULL); + } + } + break; + case GIMPLE_GOTO: { tree lab = gimple_goto_dest (stmt); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 349aa46d09d8..d1b38416cd34 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2009-12-28 H.J. Lu + + * gfortran.dg/gomp/pr41344.f: New. + 2009-12-27 Martin Jambor PR tree-optimization/42231 @@ -18,9 +22,9 @@ * g++.dg/lookup/koenig12.C: New test. 2009-12-24 Julian Brown - Ramana Radhakrishnan + Ramana Radhakrishnan - PR target/40887 + PR target/40887 * gcc.target/arm/pr40887.c: New test. 2009-12-23 Jakub Jelinek @@ -36,8 +40,8 @@ 2009-12-23 Ramana Radhakrishnan - PR target/42093 - * gcc.target/arm/pr42093.c: New test. + PR target/42093 + * gcc.target/arm/pr42093.c: New test. 2009-12-23 Ramana Radhakrishnan diff --git a/gcc/testsuite/gfortran.dg/gomp/pr41344.f b/gcc/testsuite/gfortran.dg/gomp/pr41344.f new file mode 100644 index 000000000000..66ae8b35d5b6 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/gomp/pr41344.f @@ -0,0 +1,16 @@ + subroutine xrotate(nerr) + + common /dfm/ndfl + +*$omp parallel private(ix) + ix = 0 +*$omp do + do i=1,ndfl + ix = ix + 1 + if (ix.gt.5) go to 9000 ! { dg-error "invalid (exit|branch)" } + enddo +*$omp end do +*$omp end parallel + +9000 continue + end -- 2.47.3