Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29270 Discussions

Isolating an internal compiler error

Greynolds__Alan
Beginner
769 Views
Does anyone of suggestions for compiler options that would allow me to zero in on the source code that is causing an internal compiler error?

Al
www.ruda-cardinal.com
0 Kudos
1 Solution
TimP
Honored Contributor III
769 Views
Quoting - AlGreynolds
Does anyone of suggestions for compiler options that would allow me to zero in on the source code that is causing an internal compiler error?

The options which are meant specifically for this purpose change somewhat from release to release, and are expunged from the forum, if mentioned. If you fsplit or f90split down to an individual file per subroutine, you should be able to find easily which source file(s) are a problem. If you like, you can then try various levels of optimization (-O0, -O1, various -Qx settings, with and without -Qopenmp or -Qparallel ...). If -O1 is OK, but -O2 is not, you might try NO VECTOR directives on individual loops. This is good enough for submission of a bug report.

View solution in original post

0 Kudos
3 Replies
TimP
Honored Contributor III
770 Views
Quoting - AlGreynolds
Does anyone of suggestions for compiler options that would allow me to zero in on the source code that is causing an internal compiler error?

The options which are meant specifically for this purpose change somewhat from release to release, and are expunged from the forum, if mentioned. If you fsplit or f90split down to an individual file per subroutine, you should be able to find easily which source file(s) are a problem. If you like, you can then try various levels of optimization (-O0, -O1, various -Qx settings, with and without -Qopenmp or -Qparallel ...). If -O1 is OK, but -O2 is not, you might try NO VECTOR directives on individual loops. This is good enough for submission of a bug report.
0 Kudos
Greynolds__Alan
Beginner
769 Views

Thanks, I took your advice and isolated the routine. I then took a wild guess at what new (but standard) code I had created that might be pushing the compiler too far and it worked. The compiler problem (concatenating 2character strings, each created by a MERGE intrinsic) is in 10.1.32 but not the latest 11.1. On the other hand, 11.1 has aruntime problem (optimizedcode crashes) with concatenating stringswith a statement function that 10.1 does not! Now you know why I keep both around.
0 Kudos
Steven_L_Intel1
Employee
769 Views
Once you have an isolated test case, please let us see it!
0 Kudos
Reply