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 12 fix warnings files #755

Merged
merged 121 commits into from
Jun 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
6dc618c
OESS-98 fix tools test for plugins
byrnHDF Dec 15, 2020
1682bdf
sync fork
byrnHDF Jan 11, 2021
f856d77
Merge of changes from dev
byrnHDF Jan 15, 2021
317148f
Move problem option to bottom of the list until fixed
byrnHDF Jan 17, 2021
3cdb272
HDFFV-11106 - fix parsing optional args
byrnHDF Jan 19, 2021
2ccd184
HDFFV-11106 add note
byrnHDF Jan 19, 2021
0d0f7db
grammer fix
byrnHDF Jan 19, 2021
ffae47b
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Jan 20, 2021
0c86a42
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Jan 23, 2021
7839aa8
Whitespace after clang formatting
byrnHDF Jan 27, 2021
687da3b
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Jan 28, 2021
68407f1
Undo format version 11 changes
byrnHDF Jan 28, 2021
5ae710c
Update check to working version
byrnHDF Jan 28, 2021
9aa3dfb
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 1, 2021
95a2b2e
Merge workflow and minor changes from develop
byrnHDF Feb 1, 2021
bac4c43
Update supported platforms
byrnHDF Feb 2, 2021
f0620df
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 3, 2021
f2ce0fc
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 4, 2021
f87bd33
PR#3 merge from develop
byrnHDF Feb 4, 2021
9c925ad
Merge gcc 10 diagnostics option from develop
byrnHDF Feb 8, 2021
c14d750
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 8, 2021
ce8ce57
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 9, 2021
7e5fa9d
Merge #318 OSX changes from develop
byrnHDF Feb 9, 2021
098f01d
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 9, 2021
7c90450
Merge serval small changes from dev
byrnHDF Feb 16, 2021
c9734a2
fix typo
byrnHDF Feb 17, 2021
63cc7be
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 17, 2021
be2c50a
Minor non-space formatting changes
byrnHDF Feb 18, 2021
3bceb92
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 19, 2021
304fb27
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 20, 2021
321404e
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Feb 24, 2021
c2e100b
GH #386 copyright corrections for java folder
byrnHDF Feb 26, 2021
8691d6c
revert because logic requires false return
byrnHDF Mar 1, 2021
a4e9510
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 1, 2021
373b5aa
Merges from develop
byrnHDF Mar 2, 2021
b90fd9d
Remove case statement for H5I_EVENTSET
byrnHDF Mar 2, 2021
afb1136
Correct call with versioning
byrnHDF Mar 2, 2021
6e44b70
Remove tabs
byrnHDF Mar 2, 2021
4db7f18
Double underscore change
byrnHDF Mar 2, 2021
f5e53b9
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 3, 2021
910aa4e
Merges from develop
byrnHDF Mar 3, 2021
7acfb1e
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 5, 2021
5b62cc0
Merge #380 from develop
byrnHDF Mar 5, 2021
d42b8de
Correct date entry
byrnHDF Mar 5, 2021
fc27669
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 8, 2021
76aa329
Split format source and commit changes on repo push
byrnHDF Mar 10, 2021
8f11079
remove pre-split setting
byrnHDF Mar 10, 2021
c93ecd7
Change windows TS to use older VS.
byrnHDF Mar 10, 2021
dfde667
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 10, 2021
bd880c3
HDFFV-11212 JNI export util and Javadoc
byrnHDF Mar 10, 2021
bd36c25
Suggested review changes
byrnHDF Mar 11, 2021
5acb515
Another change found
byrnHDF Mar 11, 2021
287329d
Committing clang-format changes
github-actions[bot] Mar 11, 2021
a0dc728
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 12, 2021
478c485
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 15, 2021
4380c78
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 15, 2021
f42be9e
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 23, 2021
94de461
Some Javadoc warning fixes
byrnHDF Mar 24, 2021
e065179
Committing clang-format changes
github-actions[bot] Mar 24, 2021
0004eee
Updated javadoc fixes
byrnHDF Mar 24, 2021
83360dc
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 25, 2021
18bc9c6
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Mar 26, 2021
030c2ac
HDFFV-11228/9 merges from develop
byrnHDF Mar 26, 2021
72c4120
remove obsolete debug comment
byrnHDF Mar 26, 2021
e0f4dfd
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 2, 2021
d971e7a
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into
byrnHDF Apr 2, 2021
54c648e
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 5, 2021
d465523
Fix conflict
byrnHDF Apr 5, 2021
31f50d0
HDFFV-11229 merge changes from develop
byrnHDF Apr 5, 2021
ed28fc4
HDFFV-11229 merge second compare from develop
byrnHDF Apr 5, 2021
61fca45
HDFFV-11229 fix reference file
byrnHDF Apr 5, 2021
3648bba
HDFFV-11229 update autotools test script for two ref files
byrnHDF Apr 5, 2021
4756177
HDFFV-11229 merge dev changes for long double display in tools
byrnHDF Apr 7, 2021
90ea8a3
Committing clang-format changes
github-actions[bot] Apr 7, 2021
4b12961
Update with changes from develop
byrnHDF Apr 15, 2021
7958658
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 19, 2021
f90db7d
Add "option" command for clang options
byrnHDF Apr 20, 2021
1818167
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 21, 2021
7597339
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 26, 2021
2a492af
Rework CMake add_custom to use the BYPRODUCTS argument
byrnHDF Apr 28, 2021
f3ea079
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 28, 2021
8eaf137
Whitespace changes
byrnHDF Apr 28, 2021
b6c1c73
Rework CMake add_custom to use the BYPRODUCTS argument
byrnHDF Apr 29, 2021
9f7fc14
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 29, 2021
7ddc735
Revert CMake configure checks for round defines
byrnHDF Apr 30, 2021
9f685a1
With VS 2015 minimum strdup is supported
byrnHDF Apr 30, 2021
8538ffe
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Apr 30, 2021
49e0639
Doxygen comments merged from develop
byrnHDF May 3, 2021
a2f880b
doxygen build updates
byrnHDF May 4, 2021
05baacf
Correct version string for map functions
byrnHDF May 4, 2021
b22e461
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 5, 2021
b41f0fc
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 6, 2021
4bda7aa
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 7, 2021
c57d2d1
TRILAB-227 and tools debug merge from develop
byrnHDF May 7, 2021
d4cec67
TRILAB-227 Enable test
byrnHDF May 7, 2021
e9cd988
Quote subset args
byrnHDF May 7, 2021
919d44d
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 16, 2021
999989d
Use MATCHES in compiler id compare, merge from dev
byrnHDF May 16, 2021
fefca08
Revert test enable
byrnHDF May 16, 2021
ee2bf2b
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 17, 2021
2bcf5fd
Add file to list
byrnHDF May 17, 2021
2943e2f
doxygen version errors
byrnHDF May 18, 2021
0b05bc5
if blocks needed for build modes
byrnHDF May 18, 2021
aadda44
Merge branch 'HDFGroup:hdf5_1_12' into hdf5_1_12
byrnHDF May 18, 2021
3b29213
Update list of test platforms
byrnHDF May 18, 2021
5b39f1a
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 19, 2021
aef1f52
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 19, 2021
8dd6146
Issue #669 remove version from pkgcfg filename
byrnHDF May 21, 2021
c9d04da
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 21, 2021
a746cef
remove version from h5cc script
byrnHDF May 21, 2021
d074ee3
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF May 25, 2021
7aa357e
Merge CMake and java refs from dev
byrnHDF May 27, 2021
ca84a30
Merge branch 'HDFGroup:hdf5_1_12' into hdf5_1_12
byrnHDF Jun 3, 2021
bb9cfd6
Reworked CMake Fortran configure macros to allow multiple runs.
byrnHDF Jun 4, 2021
626a7e8
Fix CMake issue with tests not comparing test argument properly.
byrnHDF Jun 7, 2021
55b257a
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Jun 8, 2021
f0da32b
MAX_PRECISION defines must be defined with a value
byrnHDF Jun 8, 2021
6a5b03c
Merge branch 'hdf5_1_12' of https://github.com/HDFGroup/hdf5.git into…
byrnHDF Jun 8, 2021
be3fc44
Fix warnings files and -std
byrnHDF Jun 15, 2021
abf565c
remove std for c++11
byrnHDF Jun 15, 2021
35f29df
Replace file
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
Copy link
Contributor

@bmribler bmribler Jun 15, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel that this phrase is gramatically incorrect but I don't know what it should be. Basically, I have no clue what it is trying to say...

Copy link
Collaborator

@lrknox lrknox Jun 15, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure it's grammatically incorrect, but maybe something like "Use the C warnings flags for CXX since both use the same warnings flags" is clearer?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like Larry's statement is better

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree it isn't grammatically correct, but 1. it is better then the previous, 2. I didn't mean it to be a proper sentence, and 3. It is a minor issue and develop would also need to be fixed.

Copy link
Collaborator

@lrknox lrknox Jun 15, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, so let's test this in hdf5_1_12, and if it works we'll update the comments in another set of PRs. I would like to run tests on the hdf5_1_12 branch before merging these changes to 1.12.1.

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