diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ca8d69a9c5c2e3a7b6404b8345ffa0d2bbcf419a..b97384aa2acfdf9b77201f812a026887b84640d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-01-26 Jakub Jelinek <jakub@redhat.com> + + PR fortran/42866 + * omp-low.c (expand_omp_sections): Only use single_pred if + l2_bb is single_pred_p. + 2010-01-25 Christian Bruel <christian.bruel@st.com> PR target/42841 diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 317003186d17f50d11a7b69f7edfe89d2cd6d5f3..bb1a86a664897fb6ce3f22f5b3fa0b21b090856e 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -4663,7 +4663,7 @@ expand_omp_sections (struct omp_region *region) l2_bb = region->exit; if (exit_reachable) { - if (single_pred (l2_bb) == l0_bb) + if (single_pred_p (l2_bb) && single_pred (l2_bb) == l0_bb) l2 = gimple_block_label (l2_bb); else { diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index a20b4976aad3ac5aaf68da506066ed51e4547b65..4b20087ff71fc6480ecd60f4788d5364233f8de1 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,8 @@ +2010-01-26 Jakub Jelinek <jakub@redhat.com> + + PR fortran/42866 + * testsuite/libgomp.fortran/allocatable5.f90: New test. + 2010-01-20 Paolo Bonzini <bonzini@gnu.org> * configure.ac: Test for executability of GFORTRAN. diff --git a/libgomp/testsuite/libgomp.fortran/allocatable5.f90 b/libgomp/testsuite/libgomp.fortran/allocatable5.f90 new file mode 100644 index 0000000000000000000000000000000000000000..41809302413c61255498346960ff41cc646152e8 --- /dev/null +++ b/libgomp/testsuite/libgomp.fortran/allocatable5.f90 @@ -0,0 +1,17 @@ +! PR fortran/42866 +! { dg-do run } + +program pr42866 + integer, allocatable :: a(:) + allocate (a(16)) + a = 0 + !$omp parallel + !$omp sections reduction(+:a) + a = a + 1 + !$omp section + a = a + 2 + !$omp end sections + !$omp end parallel + if (any (a.ne.3)) call abort + deallocate (a) +end