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

Rebuilt with Compiler Diagnostic Change - Iterations Required

acar
Beginner
290 Views
I switched on the diagnostic option for Check Routine Interfaces yesterday and found a number of issues with my application. A common issue was that I have subroutines defined with a single logical pass parameter CHECK and subsiquent calls to the subroutine with no pass parameter. As the build process continued it kept stopping at there issues and so I removed the problem and continued with the build. When, eventually, the build completed the application ran seemingly with no problem. However, when I rebuilt again further similar issues were detected. It would seem therefore that to eliminate all issues I need to keep rebuilding the application until I reach a clean rebuild? Another thing that I noticed in this process is that when the build stops with this issue, (A non-optional actual argument must e present when invoking a procedure with an explicit interface. [CHECK]), and then go to the routine in question, remove the argument and proceed with the rebuild, the same error comes up. The build process does not notice that a change has been made to the routine in question and therefore it does not recompile it and therefore comes up with the same error. To proceed I need to compile the routine in question manually. This is perhaps a little worrying since I have previously assumed (and this has been backed up by experience) that the compiler checks/records such editing so as to ensure that the current build is up to date?

0 Kudos
1 Solution
Steven_L_Intel1
Employee
290 Views
If you changed the source, the source should get recompiled. But I have seen it that the generated interface module gets updated after the calling source is compiled and the error message recurs. At this time, the generated interfaces don't take part in the build order determination.

I will discuss the issue with the developers and see what we can come up with to help in these situations.

View solution in original post

0 Kudos
1 Reply
Steven_L_Intel1
Employee
291 Views
If you changed the source, the source should get recompiled. But I have seen it that the generated interface module gets updated after the calling source is compiled and the error message recurs. At this time, the generated interfaces don't take part in the build order determination.

I will discuss the issue with the developers and see what we can come up with to help in these situations.
0 Kudos
Reply