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

An internal compiler error relating to abstract interface and submodule

Niranama
Beginner
574 Views

I would like to report a possible bug in the Intel Fortran compilers (both IFORT and IFX - version 2024.0.0) that relates to an abstract interface and submodule inheritance.
The attached code causes an internal compiler error.  The problem appears to be relating to the callback procedure argument of the 'Proc_Engine_II' routine in the 'SubMod2' submodule.
Three workarounds that seem to solve the ICE problem are:
(1) Putting the 'Proc_Main_II' and 'Proc_Engine_II' routines in the 'SubMod1' submodule instead of the 'SubMod2' submodule.
(2) Define another abstract interface for the callback routine in the 'SubMod2' submodule (which is exactly the same as the one in the 'ModMain' module) and then use this abstract interface instead.

(3) Do not use the 'SubMod1' module as a parent submodule of the 'SubMod2' module.

However, in practice, these three workarounds would cause redundancy problems and/or very large file(s).

2 Replies
Ron_Green
Moderator
510 Views

Thank you for the simple reproducer. The bug ID is CMPLRLLVM-57905


0 Kudos
Devorah_H_Intel
Moderator
50 Views

The fix for this issue will be available in 2025.1 ifx.

0 Kudos
Reply