re PR fortran/28390 (Broken !$omp parallel do lastprivate(iterationvar))
authorJakub Jelinek <jakub@redhat.com>
Sun, 16 Jul 2006 20:19:27 +0000 (22:19 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sun, 16 Jul 2006 20:19:27 +0000 (22:19 +0200)
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

gcc/fortran/ChangeLog
gcc/fortran/trans-openmp.c
libgomp/ChangeLog
libgomp/testsuite/libgomp.fortran/pr28390.f [new file with mode: 0644]

index 96fbeab..3f9f928 100644 (file)
@@ -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
index 76124ac..e817196 100644 (file)
@@ -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;
index bd63f3d..7824dd4 100644 (file)
@@ -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 (file)
index 0000000..68fc32b
--- /dev/null
@@ -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