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

Internal Error trying to compile with OneAPI 2025

JacobB
New Contributor I
993 Views

Hello 

I am trying to build a software (WRF-HYDRO) with the 2025 version of the fortran compiler. One file io_manager.f90 (See attached files) causes an internal error. 

In previous versions of OneAPI I used IFORT (instead of IFX) and it went through. Now IFORT is no more available in the new version. 

Any help on how to solve the problem or find a workaround would really be appreciated. The compiler crashes when trying to allocate.

 

best

jac

 

0 Kudos
1 Solution
JacobB
New Contributor I
683 Views

hi

Thanks for the clarification 

I proceeded as suggested and now it compiles

best

jac

 

View solution in original post

10 Replies
andrew_4619
Honored Contributor III
961 Views

I would look at that but there are module dependencies (netcdf) that are not included. An example that is self contained would get more response if that is easy to do.

0 Kudos
JacobB
New Contributor I
890 Views

Hi

Sorry for that 

in a more generic way, IFX issues an internal compilation error in the following case

if I declare an object 

class(class_type), allocatable :: class_name

 

the compilation error is issued when I try to allocate

allocate(class_name)

 

best 

jac

 

0 Kudos
JacobB
New Contributor I
882 Views

to complete the picture class_type is an abstract class

0 Kudos
braycarla
Beginner
910 Views

Ran into similar internal errors with OneAPI 2025 and it seems a bit unstable right now. Faced this while testing llamacpp too. It maybe worth checking compiler flags.

0 Kudos
JacobB
New Contributor I
890 Views

hi 

thanks 

do you have a suggestion ?

best

jac

 

0 Kudos
Andrew_Smith
Valued Contributor I
866 Views
It is not legal to allocate an instance if an abstract type
jimdempseyatthecove
Honored Contributor III
736 Views

>>It is not legal to allocate an instance if an abstract type

 

If the object you are trying to allocate is and abstract class, then your allocate statement will require a type specification:

ALLOCATE ([type::] object[(s-spec[, s-spec]...)] [, object[(s-spec[, s-spec]...)] ]... [[coarray-spec]]...[, alloc-opt[, alloc-opt]...])

type

Is a data type specifier. If specified, the kind type parameters of each object must be the same as the corresponding type parameter values, and each object must be type compatible with the specified type.

 

At least this is my read of the reference manual.

 

Jim Dempsey

0 Kudos
Steve_Lionel
Honored Contributor III
798 Views

If the usage is invalid (and the one Andrew mention is), an ICE is still a compiler bug.

0 Kudos
Steve_Lionel
Honored Contributor III
734 Views

Yes, in which case you are no longer allocating an instance of abstract type, as you must specify a non-abstract extension of the base type.

0 Kudos
JacobB
New Contributor I
684 Views

hi

Thanks for the clarification 

I proceeded as suggested and now it compiles

best

jac

 

Reply