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

OneAPI Beta 8 compiler ICE with EVENT example

Black Belt Retired Employee

I noticed that the Beta 8 oneAPI compiler (Version 2021.1 NextGen Beta Build 20200715) for Windows gets an ICE for an example in the Fortran 2018 standard "C.6.5 Simple example using events":

D:\Projects>ifx /Qcoarray t.f90
Intel(R) Visual Fortran Compiler for applications running on Intel(R) 64, Version 2021.1 NextGen Beta Build 20200715
Copyright (C) 1985-2020 Intel Corporation. All rights reserved.

me_emit_sub_node: ERROR: Subtraction of pointers should be done in me_emit_aminus_node
t.f90(14): catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.
compilation aborted for t.f90 (code 1)

Overall, I am VERY impressed with this compiler's F2018 support - I have tried a LOT of things and, other than the one thing called out as not yet implemented (REDUCE), it has all worked (save for this error). 

I note that beta users are asked to report issues here.

0 Kudos
3 Replies
Honored Contributor II

@Steve_Lionel or someone from Intel can clarify because the driver shown in the original post is "ifx". 

Intel's documentation here states, "The Intel® Fortran Compiler IFORT (BETA) in the Intel® oneAPI HPC Toolkit beta release includes a full implementation of the Fortran 2018 standard, except for the REDUCE intrinsic. However, these features are not available when using the -qnextgen compiler option to IFORT or when using the IFX compiler driver.

So should IFORT (BETA) have been used here instead of IFX? 

0 Kudos
Black Belt Retired Employee

Hmm - perhaps I misunderstood. I tested a lot of F2018 features using ifx and they worked.  But indeed if I use ifort I don't get the ICE. So this may just be my error, though ICEs are always bad. Indeed, all three of the examples I posted compile using ifort. My bad!

0 Kudos

Good catch, @FortranFan !   ifort has the F2018 features.  The REDUCE is implemented and will be able with ifort in oneAPI beta09.

ifx has many limitations. See the Known Issues for Next Generation Code Generator in the Release Notes. The ICE is not acceptable, for sure.  


0 Kudos