OpenMP 3.0 - collapse and DO loop construction name

All,

I tried to compile a DO loop with construction name in an OpenMP DO COLLAPSE environment, see code:

...
!$OMP DO COLLAPSE(2) FIRSTPRIVATE(J) & 
!$OMP PRIVATE(K,I,IC,ILXU,ILYU,ILZU,RU,RD,RP,VC,AXU,AXD,AYU,AYD,AZ,IW,RAP)
               CKLOOP: DO K=KSTART,KEND,KSTEP
                  CILOOP: DO I=ISTART,IEND,ISTEP

PGI Compiler PFG9.01 is not able to compile this loop, I got an error:

PGF90-F-0155-DO loop expected after COLLAPSE

Based on the Fortran Standard the code is correct, other compilers have no problem with this kind of loop.
Are there any compiler flags to ignore this “error”?
Regards,
Christian

Hi Christian,

Thanks for the report. This appears to be a compiler issue when using the collapse clause with an inner named do loop. I was able to recreate the error here and worked around it by removing the name (CILOOP) from the inner loop.

I have created a technical problem report (TPR#16023) and set it to our engineers. Hopefully they can have a fix here shortly.

  • Mat

Hi Christian,

FYI, this problem will be fixed in the upcoming 9.0-3 release.

  • Mat

That sounds good. Thank’s!

Christian

9.0-3 is released, and the problem is corrected, TPR 16023 has been closed.