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

Switch from IFORT to IFX results in catastrophic error: Internal Compiler Error: Ref module: ffe_cl.

SabineB
Beginner
1,459 Views

I am porting a large Fortran program from Intel IFORT compiler 2019.5  to the latest IFX compiler 2025.1.1. 
Rough program structure: a static library in Fortran which is referenced by use statement in many modules. With the IFORT compiler it was no problem if a dependent module also used the static library, no circularity was reported.
Now, with the IFX compiler I am getting this error:

internal error: Please visit 'http://www.intel.com/software/products/support' for assistance.
catastrophic error: Internal Compiler Error: Ref module: ffe_cl.c”

Is there a linker or compiler option I am missing here for the new compiler so the static library can be used in any module? Using VS2022, Windows 11. So far I am just using basic compiler settings - as recommended in the Porting Guide for Intel Fortran Compiler.
Or do I need to change the static lib into a DLL or rework the code to avoid circularity?
Any suggestions welcome! Thank you for you help!

0 Kudos
1 Solution
SabineB
Beginner
1,143 Views

Thank you Arjen and Jim for your input!

It turned out a submodule (the only one in the code base) was causing the catastrophic error. Originally, the submodule was created to avoid circular dependencies but maybe as mentioned before does IFX handles this stricter. The error message was just not helpful

Anyway, I have restructured and removed the submodule, all compiling fine now.  

 

View solution in original post

0 Kudos
3 Replies
Arjen_Markus
Honored Contributor II
1,432 Views

The rough structure you describe should not lead to any circular dependency. If there is such a circularity, it could be that ifort did not detect it and was happy to build the program. ifx is definitely handling the program in a different way and seems to choke. Could any of the tools mentioned in this thread help to unravel the dependencies (if that is indeed the problem)? https://fortran-lang.discourse.group/t/module-dependencies/1194

 

jimdempseyatthecove
Honored Contributor III
1,399 Views

ifort defaulted to /Qipo-

 

ifx (from postings on this forum *** but contra-specified in the document) defaults to /Qipo (multi-file IPO)

 

Try adding /Qipo- to command line (or appropriate properties in the MSVS project file)

 

Jim Dempsey

SabineB
Beginner
1,144 Views

Thank you Arjen and Jim for your input!

It turned out a submodule (the only one in the code base) was causing the catastrophic error. Originally, the submodule was created to avoid circular dependencies but maybe as mentioned before does IFX handles this stricter. The error message was just not helpful

Anyway, I have restructured and removed the submodule, all compiling fine now.  

 

0 Kudos
Reply