From aea0e38362cbdd2743dc590737079fea9a110831 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Wed, 29 Dec 2021 14:25:27 +0100 Subject: [PATCH] :wrench: add more GCC warning flags --- cmake/ci.cmake | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/cmake/ci.cmake b/cmake/ci.cmake index 9c8e29bc1d..9a8136165f 100644 --- a/cmake/ci.cmake +++ b/cmake/ci.cmake @@ -111,6 +111,7 @@ set(CLANG_CXXFLAGS "-std=c++11 \ -Wno-reserved-identifier \ ") +# Warning flags determined for GCC 12.0 (experimental) with /~https://github.com/nlohmann/gcc_flags: # Ignored GCC warnings: # -Wno-abi-tag We do not care about ABI tags. # -Wno-aggregate-return The library uses aggregate returns. @@ -150,16 +151,22 @@ set(GCC_CXXFLAGS "-std=c++11 \ -Wanalyzer-shift-count-negative \ -Wanalyzer-shift-count-overflow \ -Wanalyzer-stale-setjmp-buffer \ + -Wanalyzer-tainted-allocation-size \ -Wanalyzer-tainted-array-index \ + -Wanalyzer-tainted-divisor \ + -Wanalyzer-tainted-offset \ + -Wanalyzer-tainted-size \ -Wanalyzer-too-complex \ -Wanalyzer-unsafe-call-within-signal-handler \ -Wanalyzer-use-after-free \ -Wanalyzer-use-of-pointer-in-stale-stack-frame \ + -Wanalyzer-use-of-uninitialized-value \ -Wanalyzer-write-to-const \ -Wanalyzer-write-to-string-literal \ -Warith-conversion \ -Warray-bounds \ -Warray-bounds=2 \ + -Warray-compare \ -Warray-parameter=2 \ -Wattribute-alias=2 \ -Wattribute-warning \ @@ -170,10 +177,15 @@ set(GCC_CXXFLAGS "-std=c++11 \ -Wbuiltin-macro-redefined \ -Wc++0x-compat \ -Wc++11-compat \ + -Wc++11-extensions \ -Wc++14-compat \ + -Wc++14-extensions \ -Wc++17-compat \ + -Wc++17-extensions \ -Wc++1z-compat \ -Wc++20-compat \ + -Wc++20-extensions \ + -Wc++23-extensions \ -Wc++2a-compat \ -Wcannot-profile \ -Wcast-align \ @@ -191,6 +203,7 @@ set(GCC_CXXFLAGS "-std=c++11 \ -Wconditionally-supported \ -Wconversion \ -Wconversion-null \ + -Wcoverage-invalid-line-number \ -Wcoverage-mismatch \ -Wcpp \ -Wctad-maybe-unsupported \ @@ -215,21 +228,16 @@ set(GCC_CXXFLAGS "-std=c++11 \ -Wendif-labels \ -Wenum-compare \ -Wenum-conversion \ + -Wexceptions \ -Wexpansion-to-defined \ -Wextra \ -Wextra-semi \ -Wfloat-conversion \ -Wfloat-equal \ - -Wformat-contains-nul \ -Wformat-diag \ - -Wformat-extra-args \ - -Wformat-nonliteral \ -Wformat-overflow=2 \ - -Wformat-security \ -Wformat-signedness \ -Wformat-truncation=2 \ - -Wformat-y2k \ - -Wformat-zero-length \ -Wformat=2 \ -Wframe-address \ -Wfree-nonheap-object \ @@ -239,12 +247,15 @@ set(GCC_CXXFLAGS "-std=c++11 \ -Wignored-qualifiers \ -Wimplicit-fallthrough=5 \ -Winaccessible-base \ + -Winfinite-recursion \ -Winherited-variadic-ctor \ -Winit-list-lifetime \ -Winit-self \ -Winline \ -Wint-in-bool-context \ -Wint-to-pointer-cast \ + -Winterference-size \ + -Winvalid-imported-macros \ -Winvalid-memory-model \ -Winvalid-offsetof \ -Winvalid-pch \ @@ -267,6 +278,7 @@ set(GCC_CXXFLAGS "-std=c++11 \ -Wmissing-field-initializers \ -Wmissing-include-dirs \ -Wmissing-profile \ + -Wmissing-requires \ -Wmultichar \ -Wmultiple-inheritance \ -Wmultistatement-macros \ @@ -282,6 +294,7 @@ set(GCC_CXXFLAGS "-std=c++11 \ -Wnull-dereference \ -Wodr \ -Wold-style-cast \ + -Wopenacc-parallelism \ -Wopenmp-simd \ -Woverflow \ -Woverlength-strings \