forked from NOAA-GFDL/FMS
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Describe the bug
When compiling with oneAPI 2025.0.4, I get warnings about mis-matched function parameters for the abs family of functions.
Here are all the compiler warnings:
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/create_xgrid.c:2427:8: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
2427 | if(abs(dphi2 -dphi1) < M_PI) {
| ^
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/create_xgrid.c:2427:8: note: use function 'fabs' instead
2427 | if(abs(dphi2 -dphi1) < M_PI) {
| ^~~
| fabs
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/create_xgrid.c:2435:39: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
2435 | fint = f1 + (f2-f1)*(fac-dphi1)/abs(dphi);
| ^
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/create_xgrid.c:2435:39: note: use function 'fabs' instead
2435 | fint = f1 + (f2-f1)*(fac-dphi1)/abs(dphi);
| ^~~
| fabs/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/mosaic_util.c:584:9: warning: absolute value function 'fabs' given an argument of type 'long double' but has parameter of type 'double' which may cause truncation of value [-Wabsolute-value]
584 | if( ABS_(ddd-1) < EPSLN30 ) ddd = 1;
| ^
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/mosaic_util.c:564:14: note: expanded from macro 'ABS_'
564 | #define ABS_ fabs
| ^
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/mosaic_util.c:584:9: note: use function 'fabsl' instead
584 | if( ABS_(ddd-1) < EPSLN30 ) ddd = 1;
| ^~~~
| fabsl
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/mosaic_util.c:564:14: note: expanded from macro 'ABS_'
564 | #define ABS_ fabs
| ^
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/mosaic_util.c:585:9: warning: absolute value function 'fabs' given an argument of type 'long double' but has parameter of type 'double' which may cause truncation of value [-Wabsolute-value]
585 | if( ABS_(ddd+1) < EPSLN30 ) ddd = -1;
| ^
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/mosaic_util.c:564:14: note: expanded from macro 'ABS_'
564 | #define ABS_ fabs
| ^
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/mosaic_util.c:585:9: note: use function 'fabsl' instead
585 | if( ABS_(ddd+1) < EPSLN30 ) ddd = -1;
| ^~~~
| fabsl
/home/593/ms2335/codes/oneapi_compilation_dir/access-nri-fms/mosaic/mosaic_util.c:564:14: note: expanded from macro 'ABS_'
564 | #define ABS_ fabs
| ^
2 warnings generated.To Reproduce
Compile with oneAPI 2025.0.4. The steps that work for me are:
git clone git@github.com:ACCESS-NRI/FMS.git access-nri-fms
cd access-nri-fms
git checkout development
rm -Rf build && mkdir build && cd build
module purge
module load intel-compiler-llvm/2025.0.4
module load openmpi/5.0.5
module load netcdf/4.9.2p
module prepend-path PKG_CONFIG_PATH "${NETCDF_BASE}/lib/Intel/pkgconfig/"
cmake -DCMAKE_PREFIX_PATH=$OMPI_ROOT/include/Intel -DMPI_C_HEADER_DIR=$OMPI_ROOT/include/Intel ../
make -j4Expected behavior
The correct abs function should be used
System Environment
I was compiling on gadi with oneAPI/2025.0.4 openmpi/5.0.5 netcdf/4.9.2p
Details for building are listed in the steps to reproduce above.
Additional context
N/A
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels