- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Prior threads have dealt with the need to turn off the Generate Interface Block with ver 74
Project->(Your Project) Properties->Fortran->Diagnostics->Generate Interface Blocks
And INTEL has duplicated the problem and working to resolve it.
So in the meantime, when youturn OFF and allow compilation you may come across one possiblegotcha!
When using the option it creates an 'INTERFACE' subdirectory below 'Debug'
Once you turn off the option, and don't clean/remove that directory, then if you subsequently change the number of arguments in a call to a subroutine, you will geterrors! (mismatch of calling arguments)
Sent me for a loop until i realized that in the inteface subdirectory are all the OLD automatically generated interfaces generated by the 'generate interface' option used with the prior version (10.x or 11.x before 74)
And so by changing the arguments in a call to a subroutine, the interface was not regenerated (since i turned the option off) and an error occurred!
Recommendations:-)->
Make explicit interfaces for ALL subroutines and not rely on automatically generated interfaces! (simply insert the automatically generated interfaces from prior builds (72) and then delete them!)
Similar to the old tried and true Recommendation:-)->insert IMPLICIT NONE in all routines
Project->(Your Project) Properties->Fortran->Diagnostics->Generate Interface Blocks
And INTEL has duplicated the problem and working to resolve it.
So in the meantime, when youturn OFF and allow compilation you may come across one possiblegotcha!
When using the option it creates an 'INTERFACE' subdirectory below 'Debug'
Once you turn off the option, and don't clean/remove that directory, then if you subsequently change the number of arguments in a call to a subroutine, you will geterrors! (mismatch of calling arguments)
Sent me for a loop until i realized that in the inteface subdirectory are all the OLD automatically generated interfaces generated by the 'generate interface' option used with the prior version (10.x or 11.x before 74)
And so by changing the arguments in a call to a subroutine, the interface was not regenerated (since i turned the option off) and an error occurred!
Recommendations:-)->
Make explicit interfaces for ALL subroutines and not rely on automatically generated interfaces! (simply insert the automatically generated interfaces from prior builds (72) and then delete them!)
Similar to the old tried and true Recommendation:-)->insert IMPLICIT NONE in all routines
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The option you want to turn off is Check Routine Interfaces. (You can also turn off Generate Interface Blocks.) I am not aware that a subfolder is created.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
The option you want to turn off is Check Routine Interfaces. (You can also turn off Generate Interface Blocks.) I am not aware that a subfolder is created.
The subfolder was created by my decision to create it in IVF!
(which was probably done several years ago (old project).
Apparently in this particular project i inserted in Project->(projectname)Properties->Fortran->Output Files
the Module Path ->$(INTDIR)/interface
which created/moved interfaces, etc to that directory.
So the previously generated interfaces resided there and weren't changed/overridden once i turned off the generate interface blocks.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page