Did someone try to compile stdlib
with ifx 2024.0
and checks enabled?
I am updating the CI of stdlib
to compile it with the Intel OneAPI Fortran Compiler 2024.0 (ifx 2024.0
). See the following PR .
Compilation and tests go well with the Release mode, but almost all tests failed with the following Debug options :
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_Fortran_FLAGS_DEBUG="-warn all -check all -error-limit 1 -O0 -g -assume byterecl -standard-semantics -traceback"
I got these flags from fpm
The messages are similar for all tests, and look like:
...
Check failed.
Uninitialized bytes in write at offset 0 inside [0x725000000000, 15)
WARNING: MemorySanitizer: use-of-uninitialized-value
...
Any idea what is the issue?
It’s an ifx bug. See if removing uninit compiler flag (from check and warn) resolves it. I have encountered it before and has been discussed here in the forum too.intel team is working on a patch.
1 Like
msz59
December 25, 2023, 7:02pm
3
According to the Intel Fortran Compiler Release Notes Page , this bug should be fixed as of version 2024.0.1.
1 Like
Thank all for your reply.
It seems that it installed 2024.0.2 (following this log ). I’ll try the workaround.
I have the same issue on my computer with the following version:
$ ifx --version
ifx (IFX) 2024.0.2 20231213
Copyright (C) 1985-2023 Intel Corporation. All rights reserved.
@jeremie.vandenplas , see this thread . In fpm
, the workaround to use -check all,nouninit
is being introduced (see PR )
2 Likes
Thank you @FedericoPerini . Indeed, it solved the issue. However, this means that the bug has not been fully solved in the newest Intel version.
1 Like
Harper
December 28, 2023, 1:39am
7
Indeed not. @Greenrongreen told us it will be fixed in ifx 2024.1, which will be later than 2024.0.anything.
1 Like
The bug is still there with the 2024.2.1 version.
Even, with a minimal code:
write(*,*) 'hello'
END
you have the error when it is compile with the option -check all