OSDN Git Service

PR fortran/44036
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 May 2010 12:02:50 +0000 (12:02 +0000)
committerMasaki Muranaka <monaka@monami-software.com>
Sun, 23 May 2010 05:07:40 +0000 (14:07 +0900)
* openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
variable lists.
* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
by reference dummy procedures or non-dummy procedure pointers.
(gfc_omp_predetermined_sharing): Return
OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.

* gfortran.dg/gomp/pr44036-1.f90: New test.
* gfortran.dg/gomp/pr44036-2.f90: New test.
* gfortran.dg/gomp/pr44036-3.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159361 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/gomp/pr44036-1.f90

index 86a9574..2eb730b 100644 (file)
@@ -1,3 +1,13 @@
+2010-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/44036
+       * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
+       variable lists.
+       * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
+       by reference dummy procedures or non-dummy procedure pointers.
+       (gfc_omp_predetermined_sharing): Return
+       OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
+
 2010-05-11  Daniel Franke  <franke.daniel@gmail.com>
 
         PR fortran/43711
 2010-05-11  Daniel Franke  <franke.daniel@gmail.com>
 
         PR fortran/43711
index 8b0418c..32f9801 100644 (file)
@@ -1,5 +1,10 @@
 2010-05-13  Jakub Jelinek  <jakub@redhat.com>
 
 2010-05-13  Jakub Jelinek  <jakub@redhat.com>
 
+       PR fortran/44036
+       * gfortran.dg/gomp/pr44036-1.f90: New test.
+       * gfortran.dg/gomp/pr44036-2.f90: New test.
+       * gfortran.dg/gomp/pr44036-3.f90: New test.
+
        PR debug/43983
        * gcc.dg/guality/sra-1.c: New test.
 
        PR debug/43983
        * gcc.dg/guality/sra-1.c: New test.
 
index a4633a3..e856578 100644 (file)
@@ -12,7 +12,7 @@ subroutine foo(a, b)
   x = a(4)
 !$omp end parallel
 !$omp parallel default(none) private (x)       ! { dg-error "enclosing parallel" }
   x = a(4)
 !$omp end parallel
 !$omp parallel default(none) private (x)       ! { dg-error "enclosing parallel" }
-  x = b(5)                                     ! { dg-error "not specified in" }
+  x = b(5)                                     ! { dg-error "not specified in" "" { target *-*-* } 11 }
 !$omp end parallel
 !$omp parallel default(none) private (x)
   x = c(6)
 !$omp end parallel
 !$omp parallel default(none) private (x)
   x = c(6)