Quantcast
Channel: Intel® Software - Intel® Visual Fortran Compiler for Windows*
Viewing all articles
Browse latest Browse all 5691

Compiler code parsing error

$
0
0

Steve,

I use /Qopenmp_stubs for my debug compiles and /Qopenmp for my release compiles. I have thought that this would allow me to leave the source otherwise unmodified. But my OpenMP parallel loop declaration(s) usually span several lines and I use ampersands to indicate source line continuations. The compiler throws a syntax error for /Qopenmp_stubs but doe NOT for /Qopenmp.

Example bit of code:

CALL OMP_SET_NUM_THREADS(4)
MemForEachStack = 16000000
call kmp_set_stacksize_s(MemForEachStack)
NumChunk = NumX/100
!$omp parallel do																																		&
					default(private),																													&
					firstprivate( NumX, NumY, NumSurf, NumLum),																							&
					shared( DeltaX, DeltaY, Xmin, Ymin, A, B, C, Alum, Blum, Clum, normals, LumNormals, V, Vlum, Vmax, VmaxLum, Vmin, VminLum, 			&
					LumQuadrantBlockerList,	NumSurfLum, ConfigFactor, pi, EmitterExitance, EmitterBlockerDividerPlanes, NumEmitterBlockerDividerPlanes,	&
					SeparationDimsToUse),																												&
					schedule(dynamic, NumChunk)

The syntax error is:

error #5082: Syntax error, found 'DEFAULT' when expecting one of: <LABEL> <END-OF-STATEMENT> ; BLOCK PROGRAM BLOCKDATA MODULE INTEGER REAL COMPLEX ...

This syntax error is not generated when I compiler /Qopenmp. The only way I can avoid this difference in behavior is to abuse free-format Fortran and place the entire parallel loop declaration on a single line, however long. Nothing fatal, but certainly annoying. Can you put this in the queue for things to fix?

David


Viewing all articles
Browse latest Browse all 5691

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>