summaryrefslogtreecommitdiff
path: root/json4cpp/cmake/gcc_flags.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'json4cpp/cmake/gcc_flags.cmake')
-rw-r--r--json4cpp/cmake/gcc_flags.cmake363
1 files changed, 363 insertions, 0 deletions
diff --git a/json4cpp/cmake/gcc_flags.cmake b/json4cpp/cmake/gcc_flags.cmake
new file mode 100644
index 0000000000..34c168cee5
--- /dev/null
+++ b/json4cpp/cmake/gcc_flags.cmake
@@ -0,0 +1,363 @@
+# Warning flags determined for GCC 15.1.0 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.
+# -Wno-long-long The library uses the long long type to interface with system functions.
+# -Wno-namespaces The library uses namespaces.
+# -Wno-nrvo Doctest triggers this warning.
+# -Wno-padded We do not care about padding warnings.
+# -Wno-system-headers We do not care about warnings in system headers.
+# -Wno-templates The library uses templates.
+
+set(GCC_CXXFLAGS
+ -pedantic
+ -Werror
+ --all-warnings
+ --extra-warnings
+ -W
+ -WNSObject-attribute
+ -Wno-abi-tag
+ -Waddress
+ -Waddress-of-packed-member
+ -Wno-aggregate-return
+ -Waggressive-loop-optimizations
+ -Waligned-new=all
+ -Wall
+ -Walloc-size
+ -Walloc-zero
+ -Walloca
+ -Wanalyzer-allocation-size
+ -Wanalyzer-deref-before-check
+ -Wanalyzer-double-fclose
+ -Wanalyzer-double-free
+ -Wanalyzer-exposure-through-output-file
+ -Wanalyzer-exposure-through-uninit-copy
+ -Wanalyzer-fd-access-mode-mismatch
+ -Wanalyzer-fd-double-close
+ -Wanalyzer-fd-leak
+ -Wanalyzer-fd-phase-mismatch
+ -Wanalyzer-fd-type-mismatch
+ -Wanalyzer-fd-use-after-close
+ -Wanalyzer-fd-use-without-check
+ -Wanalyzer-file-leak
+ -Wanalyzer-free-of-non-heap
+ -Wanalyzer-imprecise-fp-arithmetic
+ -Wanalyzer-infinite-loop
+ -Wanalyzer-infinite-recursion
+ -Wanalyzer-jump-through-null
+ -Wanalyzer-malloc-leak
+ -Wanalyzer-mismatching-deallocation
+ -Wanalyzer-null-argument
+ -Wanalyzer-null-dereference
+ -Wanalyzer-out-of-bounds
+ -Wanalyzer-overlapping-buffers
+ -Wanalyzer-possible-null-argument
+ -Wanalyzer-possible-null-dereference
+ -Wanalyzer-putenv-of-auto-var
+ -Wanalyzer-shift-count-negative
+ -Wanalyzer-shift-count-overflow
+ -Wanalyzer-stale-setjmp-buffer
+ -Wanalyzer-symbol-too-complex
+ -Wanalyzer-tainted-allocation-size
+ -Wanalyzer-tainted-array-index
+ -Wanalyzer-tainted-assertion
+ -Wanalyzer-tainted-divisor
+ -Wanalyzer-tainted-offset
+ -Wanalyzer-tainted-size
+ -Wanalyzer-too-complex
+ -Wanalyzer-undefined-behavior-ptrdiff
+ -Wanalyzer-undefined-behavior-strtok
+ -Wanalyzer-unsafe-call-within-signal-handler
+ -Wanalyzer-use-after-free
+ -Wanalyzer-use-of-pointer-in-stale-stack-frame
+ -Wanalyzer-use-of-uninitialized-value
+ -Wanalyzer-va-arg-type-mismatch
+ -Wanalyzer-va-list-exhausted
+ -Wanalyzer-va-list-leak
+ -Wanalyzer-va-list-use-after-va-end
+ -Wanalyzer-write-to-const
+ -Wanalyzer-write-to-string-literal
+ -Warith-conversion
+ -Warray-bounds=2
+ -Warray-compare
+ -Warray-parameter=2
+ -Wattribute-alias=2
+ -Wattribute-warning
+ -Wattributes
+ -Wbool-compare
+ -Wbool-operation
+ -Wbuiltin-declaration-mismatch
+ -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++26-extensions
+ -Wc++2a-compat
+ -Wcalloc-transposed-args
+ -Wcannot-profile
+ -Wcast-align
+ -Wcast-align=strict
+ -Wcast-function-type
+ -Wcast-qual
+ -Wcast-user-defined
+ -Wcatch-value=3
+ -Wchanges-meaning
+ -Wchar-subscripts
+ -Wclass-conversion
+ -Wclass-memaccess
+ -Wclobbered
+ -Wcomma-subscript
+ -Wcomment
+ -Wcomments
+ -Wcomplain-wrong-lang
+ -Wconditionally-supported
+ -Wconversion
+ -Wconversion-null
+ -Wcoverage-invalid-line-number
+ -Wcoverage-mismatch
+ -Wcoverage-too-many-conditions
+ -Wcoverage-too-many-paths
+ -Wcpp
+ -Wctad-maybe-unsupported
+ -Wctor-dtor-privacy
+ -Wdangling-else
+ -Wdangling-pointer=2
+ -Wdangling-reference
+ -Wdate-time
+ -Wdefaulted-function-deleted
+ -Wdelete-incomplete
+ -Wdelete-non-virtual-dtor
+ -Wdeprecated
+ -Wdeprecated-copy
+ -Wdeprecated-copy-dtor
+ -Wdeprecated-declarations
+ -Wdeprecated-enum-enum-conversion
+ -Wdeprecated-enum-float-conversion
+ -Wdeprecated-literal-operator
+ -Wdeprecated-variadic-comma-omission
+ -Wdisabled-optimization
+ -Wdiv-by-zero
+ -Wdouble-promotion
+ -Wduplicated-branches
+ -Wduplicated-cond
+ -Weffc++
+ -Welaborated-enum-base
+ -Wempty-body
+ -Wendif-labels
+ -Wenum-compare
+ -Wenum-conversion
+ -Wexceptions
+ -Wexpansion-to-defined
+ -Wextra
+ -Wextra-semi
+ -Wflex-array-member-not-at-end
+ -Wfloat-conversion
+ -Wfloat-equal
+ -Wformat -Wformat-contains-nul
+ -Wformat -Wformat-diag
+ -Wformat -Wformat-extra-args
+ -Wformat -Wformat-nonliteral
+ -Wformat -Wformat-overflow=2
+ -Wformat -Wformat-security
+ -Wformat -Wformat-signedness
+ -Wformat -Wformat-truncation=2
+ -Wformat -Wformat-y2k
+ -Wformat -Wformat-zero-length
+ -Wformat=2
+ -Wframe-address
+ -Wfree-nonheap-object
+ -Wglobal-module
+ -Whardened
+ -Wheader-guard
+ -Whsa
+ -Wif-not-aligned
+ -Wignored-attributes
+ -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-constexpr
+ -Winvalid-imported-macros
+ -Winvalid-memory-model
+ -Winvalid-offsetof
+ -Winvalid-pch
+ -Winvalid-utf8
+ -Wliteral-suffix
+ -Wlogical-not-parentheses
+ -Wlogical-op
+ -Wno-long-long
+ -Wlto-type-mismatch
+ -Wmain
+ -Wmaybe-musttail-local-addr
+ -Wmaybe-uninitialized
+ -Wmemset-elt-size
+ -Wmemset-transposed-args
+ -Wmisleading-indentation
+ -Wmismatched-dealloc
+ -Wmismatched-new-delete
+ -Wmismatched-tags
+ -Wmissing-attributes
+ -Wmissing-braces
+ -Wmissing-declarations
+ -Wmissing-field-initializers
+ -Wmissing-include-dirs
+ -Wmissing-profile
+ -Wmissing-requires
+ -Wmissing-template-keyword
+ -Wmultichar
+ -Wmultiple-inheritance
+ -Wmultistatement-macros
+ -Wmusttail-local-addr
+ -Wno-namespaces
+ -Wnarrowing
+ -Wnoexcept
+ -Wnoexcept-type
+ -Wnon-template-friend
+ -Wnon-virtual-dtor
+ -Wnonnull
+ -Wnonnull-compare
+ -Wnormalized=nfkc
+ -Wno-nrvo
+ -Wnull-dereference
+ -Wodr
+ -Wold-style-cast
+ -Wopenacc-parallelism
+ -Wopenmp
+ -Wopenmp-simd
+ -Woverflow
+ -Woverlength-strings
+ -Woverloaded-virtual=2
+ -Wpacked
+ -Wpacked-bitfield-compat
+ -Wpacked-not-aligned
+ -Wno-padded
+ -Wparentheses
+ -Wpedantic
+ -Wpessimizing-move
+ -Wplacement-new=2
+ -Wpmf-conversions
+ -Wpointer-arith
+ -Wpointer-compare
+ -Wpragma-once-outside-header
+ -Wpragmas
+ -Wprio-ctor-dtor
+ -Wpsabi
+ -Wrange-loop-construct
+ -Wredundant-decls
+ -Wredundant-move
+ -Wredundant-tags
+ -Wregister
+ -Wreorder
+ -Wrestrict
+ -Wreturn-local-addr
+ -Wreturn-type
+ -Wscalar-storage-order
+ -Wself-move
+ -Wsequence-point
+ -Wshadow=compatible-local
+ -Wshadow=global
+ -Wshadow=local
+ -Wshift-count-negative
+ -Wshift-count-overflow
+ -Wshift-negative-value
+ -Wshift-overflow=2
+ -Wsign-compare
+ -Wsign-conversion
+ -Wsign-promo
+ -Wsized-deallocation
+ -Wsizeof-array-argument
+ -Wsizeof-array-div
+ -Wsizeof-pointer-div
+ -Wsizeof-pointer-memaccess
+ -Wstack-protector
+ -Wstrict-aliasing
+ -Wstrict-aliasing=3
+ -Wstrict-null-sentinel
+ -Wstrict-overflow
+ -Wstring-compare
+ -Wstringop-overflow
+ -Wstringop-overflow=4
+ -Wstringop-overread
+ -Wstringop-truncation
+ -Wsubobject-linkage
+ -Wsuggest-attribute=cold
+ -Wsuggest-attribute=const
+ -Wsuggest-attribute=format
+ -Wsuggest-attribute=malloc
+ -Wsuggest-attribute=noreturn
+ -Wsuggest-attribute=pure
+ -Wsuggest-attribute=returns_nonnull
+ -Wsuggest-final-methods
+ -Wsuggest-final-types
+ -Wsuggest-override
+ -Wswitch
+ -Wswitch-bool
+ -Wswitch-default
+ -Wswitch-enum
+ -Wswitch-outside-range
+ -Wswitch-unreachable
+ -Wsync-nand
+ -Wsynth
+ -Wno-system-headers
+ -Wtautological-compare
+ -Wtemplate-body
+ -Wtemplate-id-cdtor
+ -Wtemplate-names-tu-local
+ -Wno-templates
+ -Wterminate
+ -Wtrailing-whitespace
+ -Wtrampolines
+ -Wtrigraphs
+ -Wtrivial-auto-var-init
+ -Wtsan
+ -Wtype-limits
+ -Wundef
+ -Wunicode
+ -Wuninitialized
+ -Wunknown-pragmas
+ -Wunreachable-code
+ -Wunsafe-loop-optimizations
+ -Wunused
+ -Wunused-but-set-parameter
+ -Wunused-but-set-variable
+ -Wunused-const-variable=2
+ -Wunused-function
+ -Wunused-label
+ -Wunused-local-typedefs
+ -Wunused-macros
+ -Wunused-parameter
+ -Wunused-result
+ -Wunused-value
+ -Wunused-variable
+ -Wuse-after-free=3
+ -Wuseless-cast
+ -Wvarargs
+ -Wvariadic-macros
+ -Wvector-operation-performance
+ -Wvexing-parse
+ -Wvirtual-inheritance
+ -Wvirtual-move-assign
+ -Wvla
+ -Wvla-parameter
+ -Wvolatile
+ -Wvolatile-register-var
+ -Wwrite-strings
+ -Wxor-used-as-pow
+ -Wzero-as-null-pointer-constant
+ -Wzero-length-bounds
+)