See also:
http://gcc.gnu.org/ml/fortran/2009-01/msg00308.html
Seemingly, a lot of the OpenMP-supporting compilers support THREADPRIVATE for
EQUIVALENCEd symbols; at least Intel's ifort, SUN's sunf95, Open64's openf95,
Pathscale's pathf95 and Portland's pgf95 compile the program listed at
gfortran rejects it with:
Error: EQUIVALENCE attribute conflicts with THREADPRIVATE attribute
!-------------------------------------------------------------
c
subroutine strainx(x,volo,v,lft,llt,volf,vlim)
c
c
dimension x1(1), vx1(1)
integer nlq
parameter (nlq=544)
integer nnlq,lq9,lq0,lq1
common/newnlq/nnlq,lq9,lq0,lq1
common/aux33loc/ix1(nlq),ix2(nlq),ix3(nlq),ix4(nlq),ix5(nlq),
1 ix6(nlq),ix7(nlq),ix8(nlq),mxt(nlq)
c
dimension x(3,*),v(3,*),volo(nlq),volf(*),vlim(*)
dimension ixx(nlq,8),posn(nlq,8,3),posv(nlq,8,3)
equivalence (ixx(1,1),ix1(1)),(posn(1,1,1),x1(1))
& ,(posv(1,1,1),vx1(1))
c
c Gather xJ,yJ,zJ(J=1,8)
c$omp thread private (/aux33loc/)
do node=1,8
do i=lft,llt
posn(i,node,1)=x(1,ixx(i,node))
posn(i,node,2)=x(2,ixx(i,node))
posn(i,node,3)=x(3,ixx(i,node))
enddo
enddo
c
return
end
--
Summary: OpenMP extension:
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: openmp
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38979