Legacy f77 code often uses equivalence statements between array elements and
common members extensively, e.g.:

      COMMON/GCPARM/IPARAM,PCUTGA,PCUTEL,PCUTNE,PCUTHA,PCUTMU
     +             ,NSPARA,MPSTAK,NPGENE
      REAL PACUTS(5)
      EQUIVALENCE (PACUTS(1),PCUTGA)

When parallelizing such code with OpenMP one would aspire to achieve this with
the following pragma:

!$omp threadprivate(/GCPARM/, PACUTS)

OpenMP specification states that common members and variables with the
threadprivate specifier must not be present in equivalence statements.

The proposed extension would lift this restriction for cases when the
equivalence is requested among variables that are all threadprivate within the
same compilation unit.


-- 
           Summary: openmp, fortran - request for extension allowing usage
                    of equivalence statement for threadprivate data
           Product: gcc
           Version: 4.3.2
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: matevz dot tadel at cern dot ch
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38947

Reply via email to