Skip to content

Commit

Permalink
Set correct no bounds check for Intel and gfortran only for Debug bui…
Browse files Browse the repository at this point in the history
…ld (#219)

* Set correct no bounds check for Intel and gfortran and only for Debug build.

Older versions of gfortran don't accept "-fcheck=no-bounds" but do accept
"-fno-bounds-check" even though the later form is deprecated.

* Use foreach loop.

* Changed use of the new format for -fcheck to gfortran >= 6.

---------

Co-authored-by: Tim Cera <[email protected]>
  • Loading branch information
TimothyCera-NOAA and timcera authored Jan 25, 2024
1 parent cfbcd25 commit 5aa4807
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,24 @@ if(BUILD_DEPRECATED)
sptgpsd.f sptgptd.f sptgptsd.f sptgptvd.f sptrund.f sptrunl.f spvar.f)
endif()

set_source_files_properties(fftpack.F PROPERTIES COMPILE_FLAGS -fcheck=no-bounds)
set_source_files_properties(sptranf.f PROPERTIES COMPILE_FLAGS -fcheck=no-bounds)
set_source_files_properties(sptranfv.f PROPERTIES COMPILE_FLAGS -fcheck=no-bounds)
# Set compiler flags.
if(CMAKE_BUILD_TYPE MATCHES "Debug")
# Bounds checking is turned on for all files for the "Debug" build in the
# main CMakeLists.txt.
# Need to turn off bounds checking for fftpack.F, sptranf.f, and sptranfv.f
# in order to pass tests.
foreach(filename fftpack.F sptranf.f sptranfv.f)
if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel|IntelLLVM)$")
set_source_files_properties(${filename} PROPERTIES COMPILE_FLAGS -check=nobounds)
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 6)
set_source_files_properties(${filename} PROPERTIES COMPILE_FLAGS -fcheck=no-bounds)
else()
set_source_files_properties(${filename} PROPERTIES COMPILE_FLAGS -fno-bounds-check)
endif()
endif()
endforeach()
endif()

# Build _4, _d, and/or _8 depending on options provided to CMake
foreach(kind ${kinds})
Expand Down

0 comments on commit 5aa4807

Please sign in to comment.