Я компилирую код, используя CygWin / gfortran (gcc 7.4.0), и в одном источнике он показывает ошибку:
gfortran -c -O2 -fopenmp `FoX/FoX-config --fcflags` -DGFORTRAN -DFC_HAVE_FLUSH -DFC_HAVE_ABORT /home/gpkmo/siesta-4.0.2/Src/delk.F
/home/gpkmo/siesta-4.0.2/Src/delk.F:164:63:
!$OMP PARALLEL DEFAULT(NONE) SHARED(no,np,nvmax,iaorb,iphorb,
1
Error: Syntax error in OpenMP variable list at (1)
/home/gpkmo/siesta-4.0.2/Src/delk.F:165:6:
!$ & isa,numVs,listVsptr,listVs,dVol,maxloc,maxloc2,
1
Error: Bad continuation line at (1)
/home/gpkmo/siesta-4.0.2/Src/delk.F:165:6:
!$ & isa,numVs,listVsptr,listVs,dVol,maxloc,maxloc2,
1
Error: Unclassifiable statement at (1)
/home/gpkmo/siesta-4.0.2/Src/delk.F:598:72:
!$OMP END PARALLEL
1
Error: Unexpected !$OMP END PARALLEL statement at (1)
make: *** [arch.make:19: delk.o] Error 1
часть кода с пробламатическим кодом выглядит следующим образом:
163 C Allocate local memory
164 !$OMP PARALLEL DEFAULT(NONE) SHARED(no,np,nvmax,iaorb,iphorb,
165 !$ & isa,numVs,listVsptr,listVs,dVol,maxloc,maxloc2,
166 !$ & nvmaxl,triang,lenx,leny,lenxy,parallellocal,omp_ilc,
167 !$ & omp_ilocal,omp_iorb,omp_DscfL,omp_delkmats,omp_Clocal,
168 !$ & omp_Vlocal,
169 !$ & omp_phia,r2cut,indxuo,dxa,nsp,xdop,xdsp,NeedDscfL,listdl,
170 !$ & numdl,listdlptr,directphi,endpht,lstpht,listp2,phi,nodes,node)
171 !$ & PRIVATE(i,ia,ic,ii,ijl,il,imp,ind,iop,ip,iphi,is,isp,irealim,
172 !$ & iu,iul,ix,j,jc,jl,last,lasta,lastop,nc,nlocal,nphiloc,Vij,
173 !$ & r2sp,dxsp,VClocal,ilc,ilocal,iorb,DscfL,delkmats,Clocal,
174 !$ & Vlocal,
175 !$ & phia,nth,tid)
176 #ifdef _OMP_
177 NTH = omp_get_num_threads( )
178 TID = omp_get_thread_num( ) + 1
Обратите внимание, что этот код отлично работает в Linux / gfortran!Я пробовал unix2dos, а также инструменты dos2unix для этого delk.F, но это не помогло мне.