diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 96fbeab5ff5623b4ab5965a86ecefd17a64bcf82..3f9f928d85232fd51e115d5c251f151b6127d1c4 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2006-07-16 Jakub Jelinek <jakub@redhat.com> + + PR fortran/28390 + * trans-openmp.c (gfc_trans_omp_do): Look for LASTPRIVATE in + code->exp.omp_clauses rather than in the 3rd function argument. + 2006-07-16 Paul Thomas <pault@gcc.gnu.org> PR fortran/28384 diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c index 76124acfc302b3fb7e10eacebf64de14ed4e5ab2..e817196abb7dfb68d8fe11a2675340ae976b692e 100644 --- a/gcc/fortran/trans-openmp.c +++ b/gcc/fortran/trans-openmp.c @@ -888,7 +888,7 @@ gfc_trans_omp_critical (gfc_code *code) static tree gfc_trans_omp_do (gfc_code *code, stmtblock_t *pblock, - gfc_omp_clauses *clauses) + gfc_omp_clauses *do_clauses) { gfc_se se; tree dovar, stmt, from, to, step, type, init, cond, incr; @@ -897,6 +897,7 @@ gfc_trans_omp_do (gfc_code *code, stmtblock_t *pblock, stmtblock_t body; int simple = 0; bool dovar_found = false; + gfc_omp_clauses *clauses = code->ext.omp_clauses; code = code->block->next; gcc_assert (code->op == EXEC_DO); @@ -907,7 +908,7 @@ gfc_trans_omp_do (gfc_code *code, stmtblock_t *pblock, pblock = █ } - omp_clauses = gfc_trans_omp_clauses (pblock, clauses, code->loc); + omp_clauses = gfc_trans_omp_clauses (pblock, do_clauses, code->loc); if (clauses) { gfc_namelist *n; diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index bd63f3db772d4b944a29ca372b5a5ad481e89204..7824dd439711b0491e78941c15fc299798229a49 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,8 @@ +2006-07-16 Jakub Jelinek <jakub@redhat.com> + + PR fortran/28390 + * testsuite/libgomp.fortran/pr28390.f: New test. + 2006-07-05 Eric Christopher <echristo@apple.com> * configure.ac: Depend addition of -pthread on host OS. diff --git a/libgomp/testsuite/libgomp.fortran/pr28390.f b/libgomp/testsuite/libgomp.fortran/pr28390.f new file mode 100644 index 0000000000000000000000000000000000000000..68fc32b6f503a89d7032580407415189b0b6a946 --- /dev/null +++ b/libgomp/testsuite/libgomp.fortran/pr28390.f @@ -0,0 +1,8 @@ +! PR fortran/28390 + program pr28390 + integer i +!$omp parallel do lastprivate(i) + do i=1,100 + end do + if (i.ne.101) call abort + end