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

Internal Error trying to compile with OneAPI 2025

JacobB
New Contributor I
881 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
571 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
849 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
778 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
770 Views

to complete the picture class_type is an abstract class

0 Kudos
braycarla
Beginner
798 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
778 Views

hi 

thanks 

do you have a suggestion ?

best

jac

 

0 Kudos
Andrew_Smith
Valued Contributor I
754 Views
It is not legal to allocate an instance if an abstract type
jimdempseyatthecove
Honored Contributor III
624 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
686 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
622 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
572 Views

hi

Thanks for the clarification 

I proceeded as suggested and now it compiles

best

jac

 

Reply