- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is a false positive when using IEEE_selected_real_kind in an initialization expression
warning #7416: Fortran 2018 does not allow this intrinsic procedure. [IEEE_SELECTED_REAL_KIND]
integer, parameter :: pReal = IEEE_selected_real_kind(15,307)
The following code (when compiled with 'ifort -stand f18 test.f90' illustrates this behavior
program test
use, intrinsic :: IEEE_arithmetic
integer, parameter :: pReal = IEEE_selected_real_kind(15,307)
print*, IEEE_selected_real_kind(15,307)
end program test
this is tested with ifort version 19.1.2.254
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My take is it's a compiler bug.
Please submit a support request at Intel OSC if you can.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I found one more
function isDirectory_C(path) bind(C)
use, intrinsic :: ISO_C_Binding, only: &
C_INT, &
C_CHAR
use prec
integer(C_INT) :: isDirectory_C
character(kind=C_CHAR), dimension(pPathLen), intent(in) :: path
end function isDirectory_C
gives
~/DAMASK/src/system_routines.f90(25): warning #8893: The procedure used from a standard intrinsic module is not a standard intrinsic module procedure. [C_INT]
C_INT, &
------^
~/DAMASK/src/system_routines.f90(26): warning #8893: The procedure used from a standard intrinsic module is not a standard intrinsic module procedure. [C_CHAR]
C_CHAR
------^
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a shared license and cannot submit bugs. Would be great if anyone could do that for me
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'll file a bug or two, but first can you give me a complete reproducer for the second issue? This one is missing the module file and a function return value.
Thank you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok this one is a little bit more complicated. Actually, the warning comes from an interface.
I could not really design a 'minimal example', but the attached files reproduce the warnings
ifort -stand f18 -c prec.f90
ifort -stand f18 -c system_routines.f90
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for the reproducer. I filed a bug on your behalf, CMPLRIL0-33441. I'll let you know when it's fixed.
A major release of the Fortran compiler will be done before the end of 2020. Please don't look for the fix there. The code freeze already happened.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The false positives reported when using the -stand f18 compiler option are fixed in the Fortran compiler 2021.5.0 that was released as part of oneAPI 2022.1. Please give it a try!
HAPPY HOLIDAYS!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks, I can confirm that there is no false positive for both compilers (ifx and ifort).
Happy holidays!

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page