Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hdf5 1 10 merge warnings changes #756

Merged
merged 93 commits into from
Jun 16, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
ebe023d
HDFFV-10865 - merge from dev, HDFArray perf fix.
byrnHDF Dec 29, 2020
cc749db
Remove duplicate setting
byrnHDF Jan 4, 2021
5e6ecc2
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Jan 11, 2021
a9227df
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Jan 23, 2021
12c9d1a
Whitespace changes after clang format
byrnHDF Jan 27, 2021
55d3565
Undo version 11 clang format changes
byrnHDF Jan 28, 2021
ee4ebd3
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 1, 2021
51e5378
Merge CMake changes from develop
byrnHDF Feb 1, 2021
bbc9609
test testing script merge from develop
byrnHDF Feb 1, 2021
a8ae83d
Update supported platforms
byrnHDF Feb 2, 2021
02f185b
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 4, 2021
39d6885
PR#3 merge from develop
byrnHDF Feb 4, 2021
28e5eb4
Merge gcc 10 diagnostics option from develop
byrnHDF Feb 8, 2021
678653c
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 9, 2021
55368fa
Merge #318 OSX changes from develop
byrnHDF Feb 9, 2021
c74c09c
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 9, 2021
d8011e2
Merge small changes from develop
byrnHDF Feb 16, 2021
516ac71
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 17, 2021
a6de013
Minor non-space formatting changes
byrnHDF Feb 18, 2021
4b17412
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 19, 2021
7faebce
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 24, 2021
1e21839
#386 copyright corrections for java folder
byrnHDF Feb 26, 2021
a80a571
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 1, 2021
4d7a150
Merges from develop
byrnHDF Mar 2, 2021
e8df4b9
Merge updates
byrnHDF Mar 3, 2021
86563f0
format fix
byrnHDF Mar 3, 2021
7fa5973
Fix missing underscore and make H5public.h closer to dev
byrnHDF Mar 3, 2021
35e1e68
Merges from develop
byrnHDF Mar 4, 2021
061da5f
format alignment
byrnHDF Mar 4, 2021
4f5536c
Add missing test ref file
byrnHDF Mar 4, 2021
84737cb
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 5, 2021
a60c646
Merge #380 from develop
byrnHDF Mar 5, 2021
b0ee8ed
Finish java merges from develop
byrnHDF Mar 8, 2021
b6fd847
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 8, 2021
24df8de
Fix java issues with tests and javadoc
byrnHDF Mar 9, 2021
7be7ae3
Correct use of attribute access plist
byrnHDF Mar 9, 2021
9c625d6
Remove debug code
byrnHDF Mar 9, 2021
754f639
Remove unused variable
byrnHDF Mar 9, 2021
b48feaf
Change file access to read only for java tests
byrnHDF Mar 9, 2021
655a5b1
Split clang format operations.
byrnHDF Mar 9, 2021
01e9241
More javadoc comments
byrnHDF Mar 9, 2021
ea5b297
Remove pre-split setting
byrnHDF Mar 10, 2021
0bd7344
format source
byrnHDF Mar 10, 2021
0c02446
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 10, 2021
b6f6343
Change windows TS to use older VS.
byrnHDF Mar 10, 2021
d5fae65
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 10, 2021
2e79275
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 15, 2021
5c353c3
Mostly all javadoc fixes, one argument rename.
byrnHDF Mar 24, 2021
710cab2
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 25, 2021
9c8f446
synch file
byrnHDF Mar 25, 2021
397bc7d
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 31, 2021
df834ed
Merge of long double fix and compiler flags
byrnHDF Mar 31, 2021
6493701
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 2, 2021
5fde49d
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 5, 2021
c58432f
HDFFV-11229 merge changes from develop
byrnHDF Apr 5, 2021
ddd18c4
HDFFV-11229 correct test script
byrnHDF Apr 5, 2021
64b41eb
HDFFV-11229 update autotools test script for two ref files
byrnHDF Apr 5, 2021
aab960b
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 7, 2021
93689e0
HDFFV-11229 merge dev changes for long double display in tools
byrnHDF Apr 7, 2021
5db53ab
Committing clang-format changes
github-actions[bot] Apr 7, 2021
df16379
minor whitespace
byrnHDF Apr 9, 2021
c5809ff
remove unneeded macro
byrnHDF Apr 15, 2021
39970a0
Merge branch 'hdf5_1_10' of https://github.com/byrnHDF/hdf5.git into …
byrnHDF Apr 15, 2021
1c73ec0
Committing clang-format changes
github-actions[bot] Apr 15, 2021
85e0d17
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 20, 2021
e2329c4
Add "option" command for clang options
byrnHDF Apr 20, 2021
2aff5dd
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 21, 2021
289ced6
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 26, 2021
40cb29e
Rework CMake add_custom to use the BYPRODUCTS argument
byrnHDF Apr 28, 2021
7579264
Fortran target depends
byrnHDF Apr 28, 2021
ec8c003
Remove incorrect source attribute
byrnHDF Apr 28, 2021
b899fd2
Revert define removal
byrnHDF Apr 28, 2021
3a97a18
printf specifiers and VS2015 min changes
byrnHDF Apr 29, 2021
240277b
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 29, 2021
ac82eb7
Committing clang-format changes
github-actions[bot] Apr 29, 2021
2ec49e0
Add time struct
byrnHDF Apr 29, 2021
6277997
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 30, 2021
ae7ea50
TRILAB-227 and tools debug merges from develop
byrnHDF May 7, 2021
e970984
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 18, 2021
79b03d3
Merge various changes from dev
byrnHDF May 19, 2021
9a95587
Issue #669 remove version from pkgcfg filename
byrnHDF May 21, 2021
006827c
remove version from h5cc script
byrnHDF May 21, 2021
7f5c5e9
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 25, 2021
5dd2af9
doxygen changes merged from develop
byrnHDF May 25, 2021
7183953
Committing clang-format changes
github-actions[bot] May 25, 2021
55a0fbb
Merge branch 'HDFGroup:hdf5_1_10' into hdf5_1_10
byrnHDF May 26, 2021
1974868
Merge CMake fortran ninja changes from dev
byrnHDF May 27, 2021
27e06cb
Enable fortran to gcc yaml
byrnHDF May 27, 2021
f4fc5ea
Merge branch 'HDFGroup:hdf5_1_10' into hdf5_1_10
byrnHDF Jun 3, 2021
99ad199
Merge branch 'HDFGroup:hdf5_1_10' into hdf5_1_10
byrnHDF Jun 3, 2021
a8185a7
Refactor Fortran CMake config tests and CMake test args
byrnHDF Jun 8, 2021
89dbea2
Merge branch 'hdf5_1_10' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Jun 8, 2021
9cc4fd0
Merge warnings files fixes from develop
byrnHDF Jun 15, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@
./config/cygwin
./config/ibm-aix
./config/ibm-flags
./config/intel-cxxflags
./config/intel-fflags
./config/intel-flags
./config/libhdf5.pc.in
Expand All @@ -147,6 +148,7 @@
./config/lt_vers.am
./config/Makefile.am.blank
./config/netbsd
./config/pgi-cxxflags
./config/pgi-fflags
./config/pgi-flags
./config/solaris
Expand All @@ -172,6 +174,7 @@
./config/gnu-warnings/cxx-4.8
./config/gnu-warnings/cxx-4.9
./config/gnu-warnings/cxx-5
./config/gnu-warnings/cxx-9
./config/gnu-warnings/cxx-error-5
./config/gnu-warnings/cxx-error-general
./config/gnu-warnings/cxx-noerror-5
Expand All @@ -196,8 +199,12 @@
./config/gnu-warnings/noerror-5
./config/gnu-warnings/noerror-8
./config/gnu-warnings/noerror-general
./config/intel-warnings/ifort-general
./config/intel-warnings/15
./config/intel-warnings/18
./config/intel-warnings/developer-general
./config/intel-warnings/general
./config/intel-warnings/general-19
./config/intel-warnings/ifort-general

./config/site-specific/BlankForm

Expand Down
12 changes: 0 additions & 12 deletions config/clang-cxxflags
Original file line number Diff line number Diff line change
Expand Up @@ -113,18 +113,6 @@ if test "X-clang" = "X-$cxx_vendor" -o "X-Apple LLVM" = "X-$cxx_vendor"; then
;;
esac

case "$host_os-$host_cpu" in
# cygwin needs the "-std=c99" flag removed, so make
# a specific case for Cygwin without the flag and a default
# case to add the flag everywhere else
cygwin-*)
;;

*)
H5_CXXFLAGS="$H5_CXXFLAGS -std=c++11"
;;
esac

H5_CXXFLAGS="$H5_CXXFLAGS $arch"

##############
Expand Down
6 changes: 4 additions & 2 deletions config/clang-warnings/noerror-general
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#
# HDF5 code should not trigger the following warnings under any
# circumstances, so ask the compiler to treat them as errors:
# These warnings will be treated as errors, using the error-general file,
# when HDF5_ENABLE_WARNINGS_AS_ERRORS is set to true for CMake or
# the --enable-warnings-as-errors option is specified for configure.
# Otherwise this file will be used to treat them as warnings.
#
-Wbad-function-cast
-Wimplicit-function-declaration
Expand Down
77 changes: 45 additions & 32 deletions config/cmake/HDFCXXCompilerFlags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,11 @@ if (NOT MSVC AND NOT MINGW)
# warnings that are emitted. If you need it, add it at configure time.
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
ADD_H5_FLAGS (HDF5_CMAKE_CXX_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/general")
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0)
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/15")
endif()
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0)
list (APPEND H5_CXXFLAGS "-Wextra-tokens -Wformat -Wformat-security -Wic-pointer -Wshadow")
list (APPEND H5_CXXFLAGS "-Wsign-compare -Wtrigraphs -Wwrite-strings")
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/18")
endif()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED
Expand Down Expand Up @@ -117,36 +119,36 @@ if (NOT MSVC AND NOT MINGW)
#-----------------------------------------------------------------------------
if (HDF5_ENABLE_DEV_WARNINGS)
message (STATUS "....HDF5 developer group warnings are enabled")
# if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
# list (APPEND H5_CXXFLAGS "-Winline -Wreorder -Wport -Wstrict-aliasing")
# elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# autotools always add the C flags with the CXX flags
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/developer-general")
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 STREQUAL "Clang")
# ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/developer-general")
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/developer-general")
endif ()
else ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# autotools always add the C flags with the CXX flags
# 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 STREQUAL "Clang")
# ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/no-developer-general")
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/clang-warnings/no-developer-general")
endif ()
endif ()

if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# Technically, variable-length arrays are part of the C99 standard, but
# we should approach them a bit cautiously... Only needed for gcc 4.X
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0 AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8)
# autotools always add the C flags with the CXX flags
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/4.8-4.last")
endif ()

# Append more extra warning flags that only gcc 4.8+ knows about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/4.8")
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-4.8")
if (HDF5_ENABLE_DEV_WARNINGS)
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-4.8")
else ()
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-4.8")
Expand All @@ -155,8 +157,7 @@ if (NOT MSVC AND NOT MINGW)

# Append more extra warning flags that only gcc 4.9+ knows about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/4.9")
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-4.9")
endif ()

Expand All @@ -173,16 +174,16 @@ if (NOT MSVC AND NOT MINGW)

# Append more extra warning flags that only gcc 6.x+ knows about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0)
# autotools always add the C flags with the CXX flags
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/6")
endif ()

# Append more extra warning flags that only gcc 7.x+ knows about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)
# autotools always add the C flags with the CXX flags
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXxFLAGS2 "${HDF5_SOURCE_DIR}/config/gnu-warnings/7")
if (HDF5_ENABLE_DEV_WARNINGS)
# autotools always add the C flags with the CXX flags
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-7")
#else ()
# ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-7")
Expand All @@ -191,15 +192,15 @@ if (NOT MSVC AND NOT MINGW)

# Append more extra warning flags that only gcc 8.x+ knows about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
# autotools always add the C flags with the CXX flags
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/8")
#if (HDF5_ENABLE_WARNINGS_AS_ERRORS)
# ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/error-8")
#else ()
# ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/noerror-8")
#endif ()
if (HDF5_ENABLE_WARNINGS_AS_ERRORS)
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/error-8")
else ()
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/noerror-8")
endif ()
if (HDF5_ENABLE_DEV_WARNINGS)
# autotools always add the C flags with the CXX flags
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-8")
else ()
# autotools always add the C flags with the CXX flags
Expand All @@ -209,14 +210,26 @@ if (NOT MSVC AND NOT MINGW)

# Append more extra warning flags that only gcc 9.x+ knows about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
# autotools always add the C flags with the CXX flags
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/9")
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/cxx-9")
endif ()
endif ()
else ()
if (NOT MINGW)
list (APPEND HDF5_CMAKE_CXX_FLAGS "/EHsc")

# Append more extra warning flags that only gcc 9.3+ knows about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.3)
# do not use C warnings, gnu-warnings 9.3, no cxx warniings
# ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/9.3")
endif ()

# Append more extra warning flags that only gcc 10.x+ knows about
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0)
if (HDF5_ENABLE_DEV_WARNINGS)
# Use the C warnings as CXX warnings are the same
ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/developer-10")
#else ()
# ADD_H5_FLAGS (H5_CXXFLAGS "${HDF5_SOURCE_DIR}/config/gnu-warnings/no-developer-10")
endif ()
endif ()
endif ()
endif ()

#-----------------------------------------------------------------------------
Expand Down
11 changes: 5 additions & 6 deletions config/cmake/HDFCompilerFlags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -108,14 +108,13 @@ if (NOT MSVC AND NOT MINGW)
# warnings that are emitted. If you need it, add it at configure time.
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
ADD_H5_FLAGS (HDF5_CMAKE_C_FLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/general")
list (APPEND H5_CFLAGS "-Wcomment -Wdeprecated -Wmain -Wmissing-declarations -Wmissing-prototypes -Wp64 -Wpointer-arith")
list (APPEND H5_CFLAGS "-Wreturn-type -Wstrict-prototypes -Wuninitialized")
list (APPEND H5_CFLAGS "-Wunknown-pragmas -Wunused-function -Wunused-variable")
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0)
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/15")
endif()
# this is just a failsafe
list (APPEND H5_CFLAGS "-finline-functions")
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0)
list (APPEND H5_CFLAGS "-Wextra-tokens -Wformat -Wformat-security -Wic-pointer -Wshadow")
list (APPEND H5_CFLAGS "-Wsign-compare -Wtrigraphs -Wwrite-strings")
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/18")
endif()
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
# Add general CFlags for GCC versions 4.8 and above
Expand Down Expand Up @@ -153,7 +152,7 @@ if (NOT MSVC AND NOT MINGW)
if (HDF5_ENABLE_DEV_WARNINGS)
message (STATUS "....HDF5 developer group warnings are enabled")
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
list (APPEND H5_CFLAGS "-Winline -Wreorder -Wport -Wstrict-aliasing")
ADD_H5_FLAGS (H5_CFLAGS "${HDF5_SOURCE_DIR}/config/intel-warnings/developer-general")
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 "[Cc]lang")
Expand Down
20 changes: 17 additions & 3 deletions config/gnu-cxxflags
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,6 @@ if test "X-g++" = "X-$cxx_vendor"; then
# Warnings #
############

# First load the C warnings then add CXX warnings (if needed)

###########
# General #
Expand All @@ -199,6 +198,7 @@ if test "X-g++" = "X-$cxx_vendor"; then
# Developer warnings #
######################

# Use the C warnings as CXX warnings are the same
NO_DEVELOPER_WARNING_CXXFLAGS=$(load_gnu_arguments no-developer-general)
DEVELOPER_WARNING_CXXFLAGS=$(load_gnu_arguments developer-general)

Expand All @@ -210,6 +210,7 @@ if test "X-g++" = "X-$cxx_vendor"; then

# GCC 4.8 through the end of GCC 4 series
if test $cxx_vers_major -eq 4 -a $cxx_vers_minor -ge 8; then
# Use the C warnings as CXX warnings are the same
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.8-4.last)"
fi

Expand All @@ -220,13 +221,13 @@ if test "X-g++" = "X-$cxx_vendor"; then
# gcc >= 4.8
if test $cxx_vers_major -ge 5 -o $cxx_vers_major -eq 4 -a $cxx_vers_minor -ge 8; then
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments cxx-4.8)"
# Use the C warnings as CXX warnings are the same
DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gnu_arguments developer-4.8)"
NO_DEVELOPER_WARNING_CXXFLAGS="$NO_DEVELOPER_WARNING_CXXFLAGS $(load_gnu_arguments no-developer-4.8)"
fi

# gcc >= 4.9
if test $cxx_vers_major -ge 5 -o $cxx_vers_major -eq 4 -a $cxx_vers_minor -ge 9; then
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 4.9)"
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments cxx-4.9)"
fi

Expand All @@ -239,27 +240,40 @@ if test "X-g++" = "X-$cxx_vendor"; then

# gcc >= 6
if test $cxx_vers_major -ge 6; then
# Use the C warnings as CXX warnings are the same
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 6)"
fi

# gcc >= 7
if test $cxx_vers_major -ge 7; then
# Use the C warnings as CXX warnings are the same
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 7)"
DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gnu_arguments developer-7)"
fi

# gcc 8
if test $cxx_vers_major -ge 8; then
# Use the C warnings as CXX warnings are the same
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 8)"
#H5_ECXXFLAGS="$H5_ECXXFLAGS $(load_gnu_arguments error-8)"
#H5_NECXXFLAGS="$H5_NECXXFLAGS $(load_gnu_arguments noerror-8)"
# Use the C warnings as CXX warnings are the same
DEVELOPER_WARNING_CXXFLAGS="$DEVELOPER_WARNING_CXXFLAGS $(load_gnu_arguments developer-8)"
NO_DEVELOPER_WARNING_CXXFLAGS="$NO_DEVELOPER_WARNING_CXXFLAGS $(load_gnu_arguments no-developer-8)"
fi

# gcc 9
if test $cxx_vers_major -ge 9; then
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments 9)"
H5_CXXFLAGS="$H5_CXXFLAGS $(load_gnu_arguments cxx-9)"
fi

# gcc >= 9.3
# no cxx warnings, do NOT use C warnings

# gcc >= 10
if test $cxx_vers_major -ge 10; then
# Use the C warnings as CXX warnings are the same
DEVELOPER_WARNING_CFLAGS="$DEVELOPER_WARNING_CFLAGS $(load_gnu_arguments developer-10)"
fi

#################
Expand Down
6 changes: 3 additions & 3 deletions config/gnu-flags
Original file line number Diff line number Diff line change
Expand Up @@ -207,9 +207,9 @@ if test "X-gcc" = "X-$cc_vendor"; then
H5_ECFLAGS="$H5_ECFLAGS $(load_gnu_arguments error-general)"
H5_NECFLAGS="$H5_NECFLAGS $(load_gnu_arguments noerror-general)"

######################
# Developer warnings #
######################
######################
# Developer warnings #
######################

NO_DEVELOPER_WARNING_CFLAGS=$(load_gnu_arguments no-developer-general)
DEVELOPER_WARNING_CFLAGS=$(load_gnu_arguments developer-general)
Expand Down
1 change: 1 addition & 0 deletions config/gnu-warnings/cxx-4.9
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
-Wdate-time
-Wopenmp-simd
4 changes: 4 additions & 0 deletions config/gnu-warnings/cxx-9
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-Wattribute-alias=2
-Wmissing-profile
# Turn this on when the C++ wrappers obey the Rule of Five
-Wno-deprecated-copy
4 changes: 0 additions & 4 deletions config/gnu-warnings/developer-10
Original file line number Diff line number Diff line change
@@ -1,6 +1,2 @@
# New warning
-Warith-conversion

# Enable static analysis of program flow
-fanalyzer
-fdiagnostics-path-format=none
6 changes: 4 additions & 2 deletions config/gnu-warnings/noerror-general
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#
# HDF5 code should not trigger the following warnings under any
# circumstances, so ask the compiler to treat them as errors:
# These warnings will be treated as errors, using the error-general file,
# when HDF5_ENABLE_WARNINGS_AS_ERRORS is set to true for CMake or
# the --enable-warnings-as-errors option is specified for configure.
# Otherwise this file will be used to treat them as warnings.
#
-Wbad-function-cast
-Wimplicit-function-declaration
Expand Down
Loading