diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-07-16 22:19:27 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2006-07-16 22:19:27 +0200 |
commit | 742fae059b1fdc29fe83d5151b47a41684433f18 (patch) | |
tree | 6ee884f0b083b665ed63861a34cbb674ebe062cc /gcc/fortran/trans-openmp.c | |
parent | 42ccbf3d11f315dc0752c58efb572451a27f82ce (diff) | |
download | gcc-742fae059b1fdc29fe83d5151b47a41684433f18.zip gcc-742fae059b1fdc29fe83d5151b47a41684433f18.tar.gz gcc-742fae059b1fdc29fe83d5151b47a41684433f18.tar.bz2 |
re PR fortran/28390 (Broken !$omp parallel do lastprivate(iterationvar))
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.
* testsuite/libgomp.fortran/pr28390.f: New test.
From-SVN: r115504
Diffstat (limited to 'gcc/fortran/trans-openmp.c')
-rw-r--r-- | gcc/fortran/trans-openmp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c index 76124ac..e817196 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; |