summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2023-10-21 01:08:49 (GMT)
committerGitHub <noreply@github.com>2023-10-21 01:08:49 (GMT)
commitb16808d35160fb0d22999447dbf53838d7918a7a (patch)
treeeaf7a8cb712da1f2b200f6b2f0a44ed538d50409 /config
parent302f54a566533615545f76af8f34f2665341539b (diff)
downloadhdf5-b16808d35160fb0d22999447dbf53838d7918a7a.zip
hdf5-b16808d35160fb0d22999447dbf53838d7918a7a.tar.gz
hdf5-b16808d35160fb0d22999447dbf53838d7918a7a.tar.bz2
Sync with develop (#3737)
* Correct ld in format strings in cmpd_dset.c (#3697) Removes clang warnings * Clean up comments. (#3695) * Add NVidia compiler support and CI (#3686) * Work around Theta system issue failure in links test (#3710) When the Subfiling VFD is enabled, the links test may try to initialize the Subfiling VFD and call MPI_Init_thread. On Theta, this appears to have an issue that will cause the links test to fail. Reworked the test to check for the same conditions in a more roundabout way that doesn't involved initializing the Subfiling VFD * Fix issue with unmatched messages in ph5diff (#3719) * provide an alternative to mapfile for older bash (#3717) * Attempt to quiet some warnings with cray compilers. (#3724) * Fix CMake VOL passthrough tests by copying files to correct directory (#3721) * Develop intel split (#3722) * Split intel compiler flags into sub-folders * Update Intel options for warnings * Mostly CMake, Autotools needs additional work * Fixes and adjustments to t_filters_parallel (#3714) Broadcast number of datasets to create in multi-dataset I/O cases so that interference with random number generation doesn't cause mismatches between ranks Set fill time for datasets to "never" by default and adjust on a per-test basis to avoid writing fill values to chunks when it's unnecessary Reduce number of loops run in some tests when performing multi-dataset I/O Fix an issue in the "fill time never" test where data verification could fill if file space reuse causes application buffers to be filled with chosen fill value when reading from datasets with uninitialized storage Skip multi-chunk I/O test configurations for multi-dataset I/O configurations when the TestExpress level is > 1 since those tests can be more stressful on the file system Disable use of persistent file free space management for now since it occasionally runs into an infinite loop in the library's free space management code * Suppress cast-qual warning in H5TB Fortran wrapper (#3728) This interface is fundamentally broken, const-wise. * Add new API function H5Pget_actual_select_io_mode() (#2974) This function allows the user to determine if the library performed selection I/O, vector I/O, or scalar (legacy) I/O during the last HDF5 operation performed with the provided DXPL. Expanded existing tests to check this functionality. * Test scripts now execute in-source with creation of tmp dir (#3723) Fixes a few issues created in #3580: * Fixes a problem where committed tools test files were deleted when cleaning after an in-source build * Fixes issues with test file paths in Autotools tools test scripts * Add -h and --help as flags in h5cc & h5fc (#3729) Adds these common help flags in addition to -help * Update the library version matrix for H5Pset_libver_bounds() (#3702) * Fixed #3524 Added 1.12, 1.14, and 1.16 to the table for libver bounds in the H5Pset_libver_bounds docs. * Remove references to LIBVER_V116 --------- Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Co-authored-by: Scot Breitenfeld <brtnfld@hdfgroup.org> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: Neil Fortner <fortnern@gmail.com> Co-authored-by: Glenn Song <43005495+glennsong09@users.noreply.github.com> Co-authored-by: bmribler <39579120+bmribler@users.noreply.github.com>
Diffstat (limited to 'config')
-rw-r--r--config/cmake/HDFCXXCompilerFlags.cmake38
-rw-r--r--config/cmake/HDFCompilerFlags.cmake90
-rw-r--r--config/cmake/HDFFortranCompilerFlags.cmake20
-rw-r--r--config/gnu-warnings/developer-general8
-rw-r--r--config/intel-cxxflags12
-rw-r--r--config/intel-fflags2
-rw-r--r--config/intel-flags12
-rw-r--r--config/intel-warnings/classic/15 (renamed from config/intel-warnings/15)0
-rw-r--r--config/intel-warnings/classic/18 (renamed from config/intel-warnings/18)0
-rw-r--r--config/intel-warnings/classic/developer-general3
-rw-r--r--config/intel-warnings/classic/general (renamed from config/intel-warnings/general)0
-rw-r--r--config/intel-warnings/classic/ifort-general (renamed from config/intel-warnings/ifort-general)0
-rw-r--r--config/intel-warnings/classic/win-developer-general (renamed from config/intel-warnings/win-developer-general)0
-rw-r--r--config/intel-warnings/classic/win-general (renamed from config/intel-warnings/win-general)0
-rw-r--r--config/intel-warnings/classic/win-ifort-general (renamed from config/intel-warnings/win-ifort-general)0
-rw-r--r--config/intel-warnings/developer-general11
-rw-r--r--config/intel-warnings/oneapi/developer-general2
-rw-r--r--config/intel-warnings/oneapi/general1
-rw-r--r--config/intel-warnings/oneapi/ifort-general1
-rw-r--r--config/intel-warnings/oneapi/win-developer-general2
-rw-r--r--config/intel-warnings/oneapi/win-general1
-rw-r--r--config/intel-warnings/oneapi/win-ifort-general1
22 files changed, 125 insertions, 79 deletions
diff --git a/config/cmake/HDFCXXCompilerFlags.cmake b/config/cmake/HDFCXXCompilerFlags.cmake
index 13f712d..dd120c9 100644
--- a/config/cmake/HDFCXXCompilerFlags.cmake
+++ b/config/cmake/HDFCXXCompilerFlags.cmake
@@ -21,7 +21,7 @@ message (VERBOSE "Warnings Configuration: CXX default: ${CMAKE_CXX_FLAGS}")
#-----------------------------------------------------------------------------
# Compiler specific flags : Shouldn't there be compiler tests for these
#-----------------------------------------------------------------------------
-if (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+if (WIN32 AND (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" OR CMAKE_CXX_COMPILER_ID MATCHES "IntelLLVM"))
set (_INTEL_WINDOWS 1)
endif ()
@@ -130,16 +130,16 @@ else ()
# warnings that are emitted. If you need it, add it at configure time.
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if (_INTEL_WINDOWS)
- ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/win-general")
+ ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/win-general")
else ()
- ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/general")
+ ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/general")
endif()
if (NOT _INTEL_WINDOWS)
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0)
- ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/15")
+ ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/15")
endif()
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0)
- ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/18")
+ ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/18")
endif()
endif()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
@@ -149,7 +149,13 @@ else ()
ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-general")
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-error-general")
endif ()
- elseif (CMAKE_CXX_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
+ elseif (CMAKE_CXX_COMPILER_ID MATCHES "IntelLLVM")
+ if (_INTEL_WINDOWS)
+ ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/win-general")
+ else ()
+ ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/general")
+ endif()
+ elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/general")
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "PGI")
list (APPEND HDF5_CMAKE_CXX_FLAGS "-Minform=inform")
@@ -164,18 +170,28 @@ endif ()
if (HDF5_ENABLE_DEV_WARNINGS)
message (STATUS "....HDF5 developer group warnings are enabled")
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
- ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/developer-general")
+ if (_INTEL_WINDOWS)
+ ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/win-developer-general")
+ else ()
+ ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/developer-general")
+ endif()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-general")
- elseif (CMAKE_CXX_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
+ elseif (CMAKE_CXX_COMPILER_ID MATCHES "IntelLLVM")
+ if (_INTEL_WINDOWS)
+ ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/win-developer-general")
+ else ()
+ ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/developer-general")
+ endif()
+ elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/developer-general")
endif ()
else ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-general")
- elseif (CMAKE_CXX_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
+ elseif (CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang")
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/no-developer-general")
endif ()
endif ()
@@ -307,6 +323,8 @@ if (HDF5_ENABLE_SYMBOLS MATCHES "YES")
if (CMAKE_CXX_COMPILER_LOADED)
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND NOT _INTEL_WINDOWS)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
+ elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" AND NOT _INTEL_WINDOWS)
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
endif ()
@@ -315,6 +333,8 @@ elseif (HDF5_ENABLE_SYMBOLS MATCHES "NO")
if (CMAKE_CXX_COMPILER_LOADED)
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND NOT _INTEL_WINDOWS)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-s")
+ elseif (CMAKE_CXX_COMPILER_ID MATCHES "IntelLLVM" AND NOT _INTEL_WINDOWS)
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-s")
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -s")
endif ()
diff --git a/config/cmake/HDFCompilerFlags.cmake b/config/cmake/HDFCompilerFlags.cmake
index a6bce98..e7b9337 100644
--- a/config/cmake/HDFCompilerFlags.cmake
+++ b/config/cmake/HDFCompilerFlags.cmake
@@ -9,8 +9,8 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
-set(CMAKE_C_STANDARD 99)
-set(CMAKE_C_STANDARD_REQUIRED TRUE)
+set (CMAKE_C_STANDARD 99)
+set (CMAKE_C_STANDARD_REQUIRED TRUE)
set (CMAKE_C_FLAGS "${CMAKE_C99_STANDARD_COMPILE_OPTION} ${CMAKE_C_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_SANITIZER_FLAGS} ${CMAKE_C_FLAGS}")
@@ -18,45 +18,45 @@ message (VERBOSE "Warnings Configuration: C default: ${CMAKE_C_FLAGS}")
#-----------------------------------------------------------------------------
# Compiler specific flags : Shouldn't there be compiler tests for these
#-----------------------------------------------------------------------------
-if(WIN32 AND CMAKE_C_COMPILER_ID STREQUAL "Intel")
- set(_INTEL_WINDOWS 1)
-endif()
+if (WIN32 AND (CMAKE_C_COMPILER_ID STREQUAL "Intel" OR CMAKE_C_COMPILER_ID MATCHES "IntelLLVM"))
+ set (_INTEL_WINDOWS 1)
+endif ()
-if(WIN32 AND CMAKE_C_COMPILER_ID MATCHES "[Cc]lang" AND "x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC")
- set(_CLANG_MSVC_WINDOWS 1)
-endif()
+if (WIN32 AND CMAKE_C_COMPILER_ID MATCHES "[Cc]lang" AND "x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC")
+ set (_CLANG_MSVC_WINDOWS 1)
+endif ()
# Disable deprecation warnings for standard C functions.
# really only needed for newer versions of VS, but should
# not hurt other versions, and this will work into the
# future
-if(MSVC OR _INTEL_WINDOWS OR _CLANG_MSVC_WINDOWS)
- add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
-endif()
+if (MSVC OR _INTEL_WINDOWS OR _CLANG_MSVC_WINDOWS)
+ add_definitions (-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
+endif ()
-if(MSVC)
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stack:10000000")
-endif()
+if (MSVC)
+ set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stack:10000000")
+endif ()
# MSVC 14.28 enables C5105, but the Windows SDK 10.0.18362.0 triggers it.
-if(CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 19.28)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -wd5105")
-endif()
+if (CMAKE_C_COMPILER_ID STREQUAL "MSVC" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 19.28)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -wd5105")
+endif ()
if(_CLANG_MSVC_WINDOWS AND "x${CMAKE_C_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Xlinker -stack:20000000")
endif()
-if(CMAKE_C_COMPILER_ID STREQUAL "NVHPC" )
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Minform=warn")
+if (CMAKE_C_COMPILER_ID STREQUAL "NVHPC" )
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Minform=warn")
if (NOT ${HDF_CFG_NAME} MATCHES "Debug" AND NOT ${HDF_CFG_NAME} MATCHES "Developer")
if (NOT ${HDF_CFG_NAME} MATCHES "RelWithDebInfo")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s")
endif ()
else ()
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Mbounds -g")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Mbounds -g")
endif ()
-endif()
+endif ()
if (CMAKE_COMPILER_IS_GNUCC)
set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
@@ -146,20 +146,20 @@ else ()
# warnings that are emitted. If you need it, add it at configure time.
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
if (_INTEL_WINDOWS)
- ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/win-general")
+ ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/win-general")
else ()
- ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/general")
+ ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/general")
endif()
if (NOT _INTEL_WINDOWS)
- if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0)
- ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/15")
- endif()
+ if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0)
+ ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/15")
+ endif ()
# this is just a failsafe
list (APPEND H5_CFLAGS "-finline-functions")
- if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0)
- ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/18")
- endif()
- endif()
+ if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0)
+ ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/18")
+ endif ()
+ endif ()
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
# Add general CFlags for GCC versions 4.8 and above
if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
@@ -169,7 +169,15 @@ else ()
# gcc automatically inlines based on the optimization level
# this is just a failsafe
list (APPEND H5_CFLAGS "-finline-functions")
- elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_C_COMPILER_ID MATCHES "[Cc]lang")
+ elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM")
+ if (_INTEL_WINDOWS)
+ ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/win-general")
+ else ()
+ # this is just a failsafe
+ list (APPEND H5_CFLAGS "-finline-functions")
+ ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/general")
+ endif ()
+ elseif (CMAKE_C_COMPILER_ID MATCHES "[Cc]lang")
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/general")
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/error-general")
elseif (CMAKE_C_COMPILER_ID STREQUAL "PGI")
@@ -191,13 +199,19 @@ if (HDF5_ENABLE_DEV_WARNINGS)
message (STATUS "....HDF5 developer group warnings are enabled")
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
if (_INTEL_WINDOWS)
- ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/win-developer-general")
+ ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/win-developer-general")
else ()
- ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/developer-general")
+ ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/developer-general")
endif ()
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-general")
- elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_C_COMPILER_ID MATCHES "[Cc]lang")
+ elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM")
+ if (_INTEL_WINDOWS)
+ ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/win-developer-general")
+ else ()
+ ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/developer-general")
+ endif ()
+ elseif (CMAKE_C_COMPILER_ID MATCHES "[Cc]lang")
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/developer-general")
endif ()
@@ -211,12 +225,16 @@ if (HDF5_ENABLE_DEV_WARNINGS)
list (APPEND H5_CFLAGS "-Winline")
elseif (CMAKE_C_COMPILER_ID STREQUAL "Intel" AND NOT _INTEL_WINDOWS)
list (APPEND H5_CFLAGS "-Winline")
+ elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" AND NOT _INTEL_WINDOWS)
+ list (APPEND H5_CFLAGS "-Winline")
+ elseif (CMAKE_C_COMPILER_ID MATCHES "[Cc]lang")
+ list (APPEND H5_CFLAGS "-Winline")
endif ()
endif ()
else ()
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-general")
- elseif (CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_C_COMPILER_ID MATCHES "[Cc]lang")
+ elseif (CMAKE_C_COMPILER_ID MATCHES "[Cc]lang")
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/no-developer-general")
endif ()
endif ()
diff --git a/config/cmake/HDFFortranCompilerFlags.cmake b/config/cmake/HDFFortranCompilerFlags.cmake
index f207c70..8ac3f49 100644
--- a/config/cmake/HDFFortranCompilerFlags.cmake
+++ b/config/cmake/HDFFortranCompilerFlags.cmake
@@ -23,6 +23,8 @@ if (HDF5_DISABLE_COMPILER_WARNINGS)
set (HDF5_WARNINGS_BLOCKED 1)
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /warn:none")
+ elseif (CMAKE_Fortran_COMPILER_ID MATCHES "IntelLLVM")
+ set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /warn:none")
endif ()
endif ()
if (WIN32)
@@ -70,7 +72,11 @@ endif ()
if (NOT MSVC AND NOT MINGW)
# General flags
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
- ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/ifort-general")
+ if (_INTEL_WINDOWS)
+ ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/win-ifort-general")
+ else ()
+ ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/ifort-general")
+ endif()
list (APPEND HDF5_CMAKE_Fortran_FLAGS "-free")
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/gfort-general")
@@ -85,6 +91,13 @@ if (NOT MSVC AND NOT MINGW)
else ()
list (APPEND HDF5_CMAKE_Fortran_FLAGS "-std=f2008")
endif ()
+ elseif (CMAKE_Fortran_COMPILER_ID MATCHES "IntelLLVM")
+ if (_INTEL_WINDOWS)
+ ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/win-ifort-general")
+ else ()
+ ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/ifort-general")
+ endif()
+ list (APPEND HDF5_CMAKE_Fortran_FLAGS "-free")
elseif (CMAKE_Fortran_COMPILER_ID STREQUAL "PGI")
list (APPEND HDF5_CMAKE_Fortran_FLAGS "-Mfreeform" "-Mdclchk" "-Mstandard" "-Mallocatable=03")
endif ()
@@ -135,7 +148,10 @@ if (NOT MSVC AND NOT MINGW)
endif ()
else ()
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
- ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/win-ifort-general")
+ ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/classic/win-ifort-general")
+ list (APPEND HDF5_CMAKE_Fortran_FLAGS "/stand:f03" "/free")
+ elseif (CMAKE_Fortran_COMPILER_ID MATCHES "IntelLLVM")
+ ADD_H5_FLAGS (HDF5_CMAKE_Fortran_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/oneapi/win-ifort-general")
list (APPEND HDF5_CMAKE_Fortran_FLAGS "/stand:f03" "/free")
endif ()
endif ()
diff --git a/config/gnu-warnings/developer-general b/config/gnu-warnings/developer-general
index 79ecd6a..af70172 100644
--- a/config/gnu-warnings/developer-general
+++ b/config/gnu-warnings/developer-general
@@ -7,11 +7,3 @@
-Wswitch-enum
-Wunsafe-loop-optimizations
-Wunused-macros
-# -Winline warnings aren't included here because, for at least
-# GNU compilers, this flag appears to conflict specifically with
-# the -Og optimization level flag added for Debug and Developer
-# builds and will produce warnings about functions not being
-# considered for inlining. The flag will be added to the list
-# of compiler flags separately if developer warnings are enabled
-# and the build type is not Debug or Developer
-#-Winline
diff --git a/config/intel-cxxflags b/config/intel-cxxflags
index 107b087..40a3f0e 100644
--- a/config/intel-cxxflags
+++ b/config/intel-cxxflags
@@ -129,15 +129,15 @@ if test "X-icpc" = "X-$cxx_vendor"; then
# Add various general warning flags in intel-warnings.
# Use the C warnings as CXX warnings are the same
- H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments general)"
+ H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments classic/general)"
######################
# Developer warnings #
######################
# Use the C warnings as CXX warnings are the same
- #NO_DEVELOPER_WARNING_CXXFLAGS=$(load_intel_arguments no-developer-general)
- #DEVELOPER_WARNING_CXXFLAGS=$(load_intel_arguments developer-general)
+ #NO_DEVELOPER_WARNING_CXXFLAGS=$(load_intel_arguments classic/no-developer-general)
+ #DEVELOPER_WARNING_CXXFLAGS=$(load_intel_arguments classic/developer-general)
#############################
# Version-specific warnings #
@@ -157,19 +157,19 @@ if test "X-icpc" = "X-$cxx_vendor"; then
# intel >= 15
if test $cxx_vers_major -ge 15; then
# Use the C warnings as CXX warnings are the same
- H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments 15)"
+ H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments classic/15)"
fi
# intel >= 18
if test $cxx_vers_major -ge 18; then
# Use the C warnings as CXX warnings are the same
- H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments 18)"
+ H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments classic/18)"
fi
# intel <= 19
if test $cxx_vers_major -le 19; then
# Use the C warnings as CXX warnings are the same
- H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments general-19)"
+ H5_CXXFLAGS="$H5_CXXFLAGS $(load_intel_arguments classic/general-19)"
fi
#################
diff --git a/config/intel-fflags b/config/intel-fflags
index ad1ce7c..b6307c1 100644
--- a/config/intel-fflags
+++ b/config/intel-fflags
@@ -123,7 +123,7 @@ if test "X-ifort" = "X-$f9x_vendor"; then
###########
H5_FCFLAGS="$H5_FCFLAGS -free"
- H5_FCFLAGS="$H5_FCFLAGS $(load_intel_arguments ifort-general)"
+ H5_FCFLAGS="$H5_FCFLAGS $(load_intel_arguments classic/ifort-general)"
#############################
# Version-specific warnings #
diff --git a/config/intel-flags b/config/intel-flags
index fbec7ef..134452c 100644
--- a/config/intel-flags
+++ b/config/intel-flags
@@ -127,14 +127,14 @@ if test "X-icc" = "X-$cc_vendor"; then
###########
# Add various general warning flags in intel-warnings.
- H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments general)"
+ H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments classic/general)"
######################
# Developer warnings #
######################
- #NO_DEVELOPER_WARNING_CFLAGS=$(load_intel_arguments no-developer-general)
- #DEVELOPER_WARNING_CFLAGS=$(load_intel_arguments developer-general)
+ #NO_DEVELOPER_WARNING_CFLAGS=$(load_intel_arguments classic/no-developer-general)
+ #DEVELOPER_WARNING_CFLAGS=$(load_intel_arguments classic/developer-general)
#############################
# Version-specific warnings #
@@ -153,18 +153,18 @@ if test "X-icc" = "X-$cc_vendor"; then
# intel >= 15
if test $cc_vers_major -ge 15; then
- H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments 15)"
+ H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments classic/15)"
fi
# intel >= 18
if test $cc_vers_major -ge 18; then
- H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments 18)"
+ H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments classic/18)"
fi
# intel <= 19
# this file has warnings only available before oneapi versions
if test $cc_vers_major -le 19; then
- H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments general-19)"
+ H5_CFLAGS="$H5_CFLAGS $(load_intel_arguments classic/general-19)"
fi
#################
diff --git a/config/intel-warnings/15 b/config/intel-warnings/classic/15
index 6746f97..6746f97 100644
--- a/config/intel-warnings/15
+++ b/config/intel-warnings/classic/15
diff --git a/config/intel-warnings/18 b/config/intel-warnings/classic/18
index 02bcdea..02bcdea 100644
--- a/config/intel-warnings/18
+++ b/config/intel-warnings/classic/18
diff --git a/config/intel-warnings/classic/developer-general b/config/intel-warnings/classic/developer-general
new file mode 100644
index 0000000..6f4e9e9
--- /dev/null
+++ b/config/intel-warnings/classic/developer-general
@@ -0,0 +1,3 @@
+-Wreorder
+-Wport
+-Wstrict-aliasing
diff --git a/config/intel-warnings/general b/config/intel-warnings/classic/general
index bd866b6..bd866b6 100644
--- a/config/intel-warnings/general
+++ b/config/intel-warnings/classic/general
diff --git a/config/intel-warnings/ifort-general b/config/intel-warnings/classic/ifort-general
index 1644c7c..1644c7c 100644
--- a/config/intel-warnings/ifort-general
+++ b/config/intel-warnings/classic/ifort-general
diff --git a/config/intel-warnings/win-developer-general b/config/intel-warnings/classic/win-developer-general
index 6cd7ed7..6cd7ed7 100644
--- a/config/intel-warnings/win-developer-general
+++ b/config/intel-warnings/classic/win-developer-general
diff --git a/config/intel-warnings/win-general b/config/intel-warnings/classic/win-general
index ef54b2b..ef54b2b 100644
--- a/config/intel-warnings/win-general
+++ b/config/intel-warnings/classic/win-general
diff --git a/config/intel-warnings/win-ifort-general b/config/intel-warnings/classic/win-ifort-general
index a335959..a335959 100644
--- a/config/intel-warnings/win-ifort-general
+++ b/config/intel-warnings/classic/win-ifort-general
diff --git a/config/intel-warnings/developer-general b/config/intel-warnings/developer-general
deleted file mode 100644
index 861218e..0000000
--- a/config/intel-warnings/developer-general
+++ /dev/null
@@ -1,11 +0,0 @@
--Wreorder
--Wport
--Wstrict-aliasing
-# -Winline warnings aren't included here because, for at least
-# GNU compilers, this flag appears to conflict specifically with
-# the -Og optimization level flag added for Debug and Developer
-# builds and will produce warnings about functions not being
-# considered for inlining. The flag will be added to the list
-# of compiler flags separately if developer warnings are enabled
-# and the build type is not Debug or Developer
-#-Winline
diff --git a/config/intel-warnings/oneapi/developer-general b/config/intel-warnings/oneapi/developer-general
new file mode 100644
index 0000000..122c33d
--- /dev/null
+++ b/config/intel-warnings/oneapi/developer-general
@@ -0,0 +1,2 @@
+-Wreorder
+-Wstrict-aliasing
diff --git a/config/intel-warnings/oneapi/general b/config/intel-warnings/oneapi/general
new file mode 100644
index 0000000..bd866b6
--- /dev/null
+++ b/config/intel-warnings/oneapi/general
@@ -0,0 +1 @@
+-Wall
diff --git a/config/intel-warnings/oneapi/ifort-general b/config/intel-warnings/oneapi/ifort-general
new file mode 100644
index 0000000..1644c7c
--- /dev/null
+++ b/config/intel-warnings/oneapi/ifort-general
@@ -0,0 +1 @@
+-warn all
diff --git a/config/intel-warnings/oneapi/win-developer-general b/config/intel-warnings/oneapi/win-developer-general
new file mode 100644
index 0000000..ba86a0f
--- /dev/null
+++ b/config/intel-warnings/oneapi/win-developer-general
@@ -0,0 +1,2 @@
+/Wreorder
+/Wstrict-aliasing
diff --git a/config/intel-warnings/oneapi/win-general b/config/intel-warnings/oneapi/win-general
new file mode 100644
index 0000000..ef54b2b
--- /dev/null
+++ b/config/intel-warnings/oneapi/win-general
@@ -0,0 +1 @@
+/Wall
diff --git a/config/intel-warnings/oneapi/win-ifort-general b/config/intel-warnings/oneapi/win-ifort-general
new file mode 100644
index 0000000..a335959
--- /dev/null
+++ b/config/intel-warnings/oneapi/win-ifort-general
@@ -0,0 +1 @@
+/warn:all