- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I think with version 2023.2 the `-check uninit` option was changed to use the LLVM memory sanitizer. One side effect I have noticed with this under IFX is that the `-check uninit` option is also needed during linking (previous IFX versions, as well as still with IFORT, you could link objects compiled with `-check uninit` without using this option during linking).
Okay, so far so good, but now I have run into an issue where I also need to link against the math library. As in
> ifx hello.f90 -lm
This works fine like that, but now with `-check uninit`, under 2023.2, it runs into problems:
> ifx hello.f90 -check uninit -lm
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find -lm
Can this work under 2023.2? Thanks,
-Gerhard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Work is being done to eliminate the false positives. YAY!
libm.a will continue to be a requirement with compiling with -check uninit.
This was a fun issue to track down and I learned some things.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just curious, has anybody from the Intel compiler group reproduced this issue? Even the simplest hello.f90 do it. Thanks,
-Gerhard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
-check uninit for ifx only became available with ifx 2023.2; it's a new feature that is more robust the -check uninit with ifort.
ifx checks scalars, arrays, array slices, array elements, allocatable, automatics, derived types. By contrast, IFORT could only catch local scalar variables of intrinsic type INTEGER, REAL, COMPLEX, and LOGICAL without the SAVE attribute.
Unfortunately, I can't duplicate your issue with -lm and -check uninit.
$ ifx --version
ifx (IFX) 2023.2.0 20230622
Copyright (C) 1985-2023 Intel Corporation. All rights reserved.
$ ifx vec.f90 -check uninit -lm
$ a.out
0.0000000E+00 0.0000000E+00 0.0000000E+00
And, yes, you do need to link in the MSAN (LLVM Memory Sanitizer Technology) library for it to work.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Barbara, thank you for your reply!
I am testing on two (very different) systems. One is UCAR's Derecho system where oneAPI 2023.0.0 and 2023.2.0 is installed by system folks, and the other is my own laptop where I installed oneAPI myself via the zypper package manager. I get the exact same linker failure for both systems when using -check uninit for the 2023.2.0 version as shown above. But notice (see below) that both installations I am working with have a different built date from what your output is showing!
It is also interesting that you say that -check uninit was not supported for the 2023.0.0 version of IFX. It is accepted when I test it, just that maybe it was the pre-LLVM implementation? (or maybe it just silently ignored it?) See here:
> ifx --version
ifx (IFORT) 2023.0.0 20221201
Copyright (C) 1985-2022 Intel Corporation. All rights reserved.
> ifx test.F90 -check uninit -lm
However, really more important for me is the 2023.2.0 issue failing the "-check uninit -lm" combination. Botice that the BUILT output for both my installations are different from your value:
> ifx --version
ifx (IFX) 2023.2.0 20230721
Copyright (C) 1985-2023 Intel Corporation. All rights reserved.
The strange thing is, I don't even find the "20230721" build value in the list of page:
How can that be, and what does it mean? Could that explain the difference between my experience wrt ifx -check uninit -lm and yours?
Thanks so much for looking into this issue! Right now we have to disable the -check uninit option in all our builds because we can no longer link our own libraries/applications. Thanks!
-Gerhard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So weird. Can you please post your reproducer? What OS are you using? I used Fedora 38, but have others available.
-check uninit was silently accepted and ignored with ifx prior to 2023.2.0.
-check all,nouninit disables the uninitialized variables check if you use -check all.
FYI... for -check uninit to be the most productive compile the entire program with -g. Today there are false positives from some libraries until they are built with -fsanitize=memory which is what -check uninit translates to. See the Fortran DGR (Developer Guide and Reference) for more info.
The compiler I used is a Fortran standalone patch that fixes an issue with Linux modulefiles. I wondered why there's a new version number and don't have an answer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My test program is about as simple as it gets:
program hello
print *, "hello test"
end program
Both my systems are Linux... and turns out they are both SUSE based. Derecho returns:
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP4"
while on my laptop I have:
PRETTY_NAME="openSUSE Leap 15.2"
So maybe this is a SUSE specific issue? BTW, the actual code where this was flagged first is using -g in combination with -check.... and I just tried with the simple case, and -g did not affect the outcome. Still the linker cannot find -lm when -check uninit is specified.
Let me know if you need any more information to further diagnose the problem.
-Gerhard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I checked with the Fortran developer who implemented -check uninit. He'd like some more information. Please run the following two commands:
$ echo $LIBRARY_PATH
$ ifx hello.f90 -check uninit -lm -#
and share the output.
FYI... I can’t reproduce on Fedora 38, Ubuntu 20.04 or RH 8.1. I don’t have SUSE handy at the moment.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sure, on UCAR's Derecho system:
> echo $LIBRARY_PATH
/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin:/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib
> ifx hello.f90 -check uninit -lm -#
/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/bin-llvm/xfortcom \
-triple \
x86_64-unknown-linux-gnu \
-emit-obj \
"-verify nomodule" \
-main-file-name \
hello.f90 \
-mllvm \
--relocation-model=static \
"-options-string -Wl,-rpath,/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib -Wl,-rpath,/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/x64 -Wl,-rpath,/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/oclfpga/host/linux64/lib -Wl,-rpath,/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/oclfpga/linux64/lib -Wl,-rpath,/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin --gcc-toolchain=/usr -check uninit -lm -# " \
-mframe-pointer=non-leaf \
-omp_simd \
-target-cpu \
x86-64 \
-target-linker-version \
2.37.20211103 \
-fveclib=SVML \
-mllvm \
-loopopt=1 \
-floopopt-pipeline=light \
-mllvm \
-disable-hir-generate-mkl-call \
-mllvm \
-paropt=11 \
-fintel-libirc-allowed \
-o \
/glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxdFXs8g.o \
-D__INTEL_LLVM_COMPILER=20230200 \
-D__INTEL_LLVM_COMPILER_UPDATE=0 \
-D__unix__ \
-D__unix \
-D__linux__ \
-D__linux \
-D__gnu_linux__ \
-Dunix \
-Dlinux \
-D__ELF__ \
-D__x86_64 \
-D__x86_64__ \
-D__amd64 \
-D__amd64__ \
-D__INTEL_COMPILER_BUILD_DATE=20230721 \
-D__INTEL_COMPILER=20230200 \
-D__INTEL_COMPILER_UPDATE=0 \
-I. \
-I/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/oclfpga/include \
-I/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/include/intel64 \
-I/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/include \
-I/usr/local/include \
-I/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/clang/17/include \
-I/usr/include \
"-check uninitialized" \
-omp_simd \
-O2 \
"-reentrancy threaded" \
"-unroll 2" \
-simd \
-offload_host \
hello.f90
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld \
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/crt1.o \
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/crti.o \
/usr/lib64/gcc/x86_64-suse-linux/7/crtbegin.o \
--eh-frame-hdr \
--build-id \
-dynamic-linker \
/lib64/ld-linux-x86-64.so.2 \
-m \
elf_x86_64 \
-o \
a.out \
/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin/msan/for_main.o \
-L/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin \
-L/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib \
-L/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin/msan \
-L/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin \
-L/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/clang/17/lib/linux \
-L/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/clang/17/lib/x86_64-unknown-linux-gnu \
-L/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib \
-L/usr/lib64/gcc/x86_64-suse-linux/7/ \
-L/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64 \
-L/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/ \
-L/lib/../lib64 \
-L/lib/../lib64/ \
-L/usr/lib/../lib64 \
-L/usr/lib/../lib64/ \
-L/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin/ \
-L/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/ \
-L/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/lib/ \
-L/usr/lib64/gcc/x86_64-suse-linux/7/../../../ \
-L/lib64 \
-L/lib/ \
-L/usr/lib64 \
-L/usr/lib \
-lclang_rt.msan \
-rpath \
/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib \
-rpath \
/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/x64 \
-rpath \
/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/oclfpga/host/linux64/lib \
-rpath \
/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/lib/oclfpga/linux64/lib \
-rpath \
/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin \
/glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxdFXs8g.o \
-L/glade/u/apps/common/23.08/spack/opt/spack/intel-oneapi-compilers/2023.2.1/compiler/2023.2.1/linux/compiler/lib/intel64_lin \
-Bstatic \
-limf \
-lm \
-lifport \
-lifcoremt \
-limf \
-lsvml \
-Bdynamic \
-lm \
-Bstatic \
-lipgo \
-lirc \
-Bdynamic \
-lpthread \
-Bstatic \
-lsvml \
-Bdynamic \
-lc \
-lgcc \
-lgcc_s \
-Bstatic \
-lirc_s \
-Bdynamic \
-ldl \
-lc \
/usr/lib64/gcc/x86_64-suse-linux/7/crtend.o \
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/crtn.o
rm /glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxdashvYC2XIh
rm /glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxdummysb5qzj.c
rm /glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxclangdashvjpz9fg
rm /glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxsearchdirsYpd8si
rm /glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxgccdashvPBDplk
rm /glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxdFXs8g.o
rm /glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxldashvit71lh
rm /glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxarg2GsV7j
rm /glade/derecho/scratch/theurich/tmp/ifx1532897728CgKH7i/ifxdFXs8g.o
and on my laptop:
> echo $LIBRARY_PATH
/opt/intel/oneapi/compiler/2023.2.1/linux/lib:/opt/intel/oneapi/tbb/2021.10.0/lib/intel64/gcc4.8
> ifx hello.f90 -check uninit -lm
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find -lm
HardHat/Fortran> ifx hello.f90 -check uninit -lm -#
/opt/intel/oneapi/compiler/2023.2.1/linux/bin-llvm/xfortcom \
-triple \
x86_64-unknown-linux-gnu \
-emit-obj \
"-verify nomodule" \
-main-file-name \
hello.f90 \
-mllvm \
--relocation-model=static \
"-options-string -check uninit -lm -# " \
-mframe-pointer=non-leaf \
-omp_simd \
-target-cpu \
x86-64 \
-target-linker-version \
2.37.20211103 \
-fveclib=SVML \
-mllvm \
-loopopt=1 \
-floopopt-pipeline=light \
-mllvm \
-disable-hir-generate-mkl-call \
-mllvm \
-paropt=11 \
-fintel-libirc-allowed \
-o \
/tmp/ifx0246926647qz9zZG/ifxhmGIBh.o \
-D__INTEL_LLVM_COMPILER=20230200 \
-D__INTEL_LLVM_COMPILER_UPDATE=0 \
-D__unix__ \
-D__unix \
-D__linux__ \
-D__linux \
-D__gnu_linux__ \
-Dunix \
-Dlinux \
-D__ELF__ \
-D__x86_64 \
-D__x86_64__ \
-D__amd64 \
-D__amd64__ \
-D__INTEL_COMPILER_BUILD_DATE=20230721 \
-D__INTEL_COMPILER=20230200 \
-D__INTEL_COMPILER_UPDATE=0 \
-I. \
-I/opt/intel/oneapi/tbb/2021.10.0/include \
-I/opt/intel/oneapi/compiler/2023.2.1/linux/compiler/include/intel64 \
-I/opt/intel/oneapi/compiler/2023.2.1/linux/compiler/include \
-I/usr/local/include \
-I/opt/intel/oneapi/compiler/2023.2.1/linux/lib/clang/17/include \
-I/usr/include \
"-check uninitialized" \
-omp_simd \
-O2 \
"-reentrancy threaded" \
"-unroll 2" \
-simd \
-offload_host \
hello.f90
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld \
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/crt1.o \
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/crti.o \
/usr/lib64/gcc/x86_64-suse-linux/7/crtbegin.o \
--eh-frame-hdr \
--build-id \
-dynamic-linker \
/lib64/ld-linux-x86-64.so.2 \
-m \
elf_x86_64 \
-o \
a.out \
/opt/intel/oneapi/compiler/2023.2.1/linux/compiler/lib/intel64_lin/msan/for_main.o \
-L/opt/intel/oneapi/compiler/2023.2.1/linux/lib \
-L/opt/intel/oneapi/tbb/2021.10.0/lib/intel64/gcc4.8 \
-L/opt/intel/oneapi/compiler/2023.2.1/linux/compiler/lib/intel64_lin/msan \
-L/opt/intel/oneapi/compiler/2023.2.1/linux/compiler/lib/intel64_lin \
-L/opt/intel/oneapi/compiler/2023.2.1/linux/lib/clang/17/lib/linux \
-L/opt/intel/oneapi/compiler/2023.2.1/linux/lib/clang/17/lib/x86_64-unknown-linux-gnu \
-L/opt/intel/oneapi/compiler/2023.2.1/linux/lib \
-L/usr/lib64/gcc/x86_64-suse-linux/7/ \
-L/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64 \
-L/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/ \
-L/lib/../lib64 \
-L/lib/../lib64/ \
-L/usr/lib/../lib64 \
-L/usr/lib/../lib64/ \
-L/opt/intel/oneapi/compiler/2023.2.1/linux/lib/ \
-L/opt/intel/oneapi/tbb/2021.10.0/lib/intel64/gcc4.8/ \
-L/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/lib/ \
-L/usr/lib64/gcc/x86_64-suse-linux/7/../../../ \
-L/lib64 \
-L/lib/ \
-L/usr/lib64 \
-L/usr/lib \
-lclang_rt.msan \
/tmp/ifx0246926647qz9zZG/ifxhmGIBh.o \
-L/opt/intel/oneapi/compiler/2023.2.1/linux/compiler/lib/intel64_lin \
-Bstatic \
-limf \
-lm \
-lifport \
-lifcoremt \
-limf \
-lsvml \
-Bdynamic \
-lm \
-Bstatic \
-lipgo \
-lirc \
-Bdynamic \
-lpthread \
-Bstatic \
-lsvml \
-Bdynamic \
-lc \
-lgcc \
-lgcc_s \
-Bstatic \
-lirc_s \
-Bdynamic \
-ldl \
-lc \
/usr/lib64/gcc/x86_64-suse-linux/7/crtend.o \
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../lib64/crtn.o
rm /tmp/ifx0246926647qz9zZG/ifxdashvuJXw3v
rm /tmp/ifx0246926647qz9zZG/ifxdummya64t7k.c
rm /tmp/ifx0246926647qz9zZG/ifxclangdashvswR7fZ
rm /tmp/ifx0246926647qz9zZG/ifxsearchdirsIhVklO
rm /tmp/ifx0246926647qz9zZG/ifxgccdashv3oJYvs
rm /tmp/ifx0246926647qz9zZG/ifxhmGIBh.o
rm /tmp/ifx0246926647qz9zZG/ifxldashvFJDtH6
rm /tmp/ifx0246926647qz9zZG/ifxargJIPJNV
rm /tmp/ifx0246926647qz9zZG/ifxhmGIBh.o
Thanks again for pushing this forward!
-Gerhard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you!
Another request... please run
ifx hello.f90 -check uninit -lm -Wl,--verbose
The output can be huge. Maybe you should write to a file and attach that.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sure, no problem. Output from derecho and my laptop attached in separate files. Thanks,
-Gerhard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you those files.
Does "ifx hello.f90 -lm" work for you with 2023.2? I'm not quite sure what compiler version you used with that compile line and it compiled ok.
The compiler is looking for /lib64/libm.a. Do you have that on your system?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes for the first question:
> ifx hello.f90 -lm
builds fine.
And for the second question, there are shared libm, but not a static archive under /lib64:
> ls -l /lib64/libm*
-rwxr-xr-x 1 root root 1463568 Aug 30 2022 /lib64/libm-2.31.so
-rwxr-xr-x 1 root root 10240 Oct 3 2022 /lib64/libmpathcmd.so.0
-rwxr-xr-x 1 root root 34824 Oct 3 2022 /lib64/libmpathpersist.so.0
-rwxr-xr-x 1 root root 10240 Oct 3 2022 /lib64/libmpathvalid.so.0
lrwxrwxrwx 1 root root 12 Aug 30 2022 /lib64/libm.so.6 -> libm-2.31.so
-rwxr-xr-x 1 root root 410872 Oct 3 2022 /lib64/libmultipath.so.0
-rwxr-xr-x 1 root root 185888 Aug 30 2022 /lib64/libmvec-2.31.so
lrwxrwxrwx 1 root root 15 Aug 30 2022 /lib64/libmvec.so.1 -> libmvec-2.31.so
-Gerhard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I learned this nugget... The current implementation requires libm.a when ‘-lm’ and ‘-check uninit’ are used at the same time.
Try this for a workaround:
ifx -check uninit hello.f90 -l:libm.so
or just install libm.a in /lib64.
Please let me know how this works.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Okay, that works! Thank you for providing this work-around. Of course on the UCAR system I won't be able to make any modifications myself... Is this something that might be fixed in future compiler releases?
Also I noticed that even for my simple hello.f90 example, I get output from MemorySanitizer about use-of-uninitialized-value. Probably false positives. ...
I think for now we will just disable this option as we migrate from IFORT to IFX. But many thanks again to you and the team helping find a solution for the -lm issue. Appreciate it!
-Gerhard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Work is being done to eliminate the false positives. YAY!
libm.a will continue to be a requirement with compiling with -check uninit.
This was a fun issue to track down and I learned some things.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have you seen this post by Ron Green? It has a several workarounds for the bogus -check uninit output.
I just attached a simple example. With this particular workaround, you don't have to modify any system info.
A fix for this is planned for ifx 2024.1.0.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page