aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-openmp.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-07-16 22:19:27 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2006-07-16 22:19:27 +0200
commit742fae059b1fdc29fe83d5151b47a41684433f18 (patch)
tree6ee884f0b083b665ed63861a34cbb674ebe062cc /gcc/fortran/trans-openmp.c
parent42ccbf3d11f315dc0752c58efb572451a27f82ce (diff)
downloadgcc-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.c5
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 = &block;
}
- 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;