mirror of
https://github.com/nlohmann/json.git
synced 2026-10-03 21:20:30 +00:00
doctest_compatibility.h defines CAPTURE(x) as DOCTEST_CAPTURE(x); (with a trailing semicolon baked into the macro), specifically so call sites do not need to add one themselves; most of the ~267 call sites already follow that convention. The remaining 64 call sites across 20 files wrote "CAPTURE(x);" anyway, turning into a statement plus an empty statement and triggering -Wextra-semi-stmt. Dropped the redundant semicolon at each of those sites. With item 6 having already made vendored Doctest a SYSTEM include, and this the last known source of -Wextra-semi-stmt findings, removed the flag from clang_flags.cmake entirely. Verified with clang++ -Wextra-semi-stmt (plus the file's other CI ignores) that all 20 touched files, plus a file with no CAPTURE() use (unit-json_pointer.cpp), compile without any -Wextra-semi-stmt diagnostic. Signed-off-by: Niels Lohmann <mail@nlohmann.me> #5725 item 8 (step 2 of 2)
27 lines
1.3 KiB
CMake
27 lines
1.3 KiB
CMake
# Ignored Clang warnings:
|
|
# -Wno-c++98-compat The library targets C++11.
|
|
# -Wno-c++98-compat-pedantic The library targets C++11.
|
|
# -Wno-deprecated-declarations The library contains annotations for deprecated functions.
|
|
# -Wno-padded We do not care about padding warnings.
|
|
# -Wno-covered-switch-default All switches list all cases and a default case.
|
|
# -Wno-c2y-extensions Clang 22.1 diagnoses __COUNTER__ as a C2y extension, also in
|
|
# C++ mode. The library does not use __COUNTER__; the warnings
|
|
# all come from vendored Doctest (SECTION/TEST_CASE macros).
|
|
# -Wno-unsafe-buffer-usage Pervasive: the library's own low-level numeric/buffer code
|
|
# (to_chars, serializer, lexer, binary reader/writer, input
|
|
# adapters, json_pointer) plus vendored Doctest itself (~208
|
|
# distinct sites measured 2026-07-08 on clang trunk) all use
|
|
# raw pointer arithmetic / libc string calls by necessity.
|
|
|
|
set(CLANG_CXXFLAGS
|
|
-Werror
|
|
-Weverything
|
|
-Wno-c++98-compat
|
|
-Wno-c++98-compat-pedantic
|
|
-Wno-deprecated-declarations
|
|
-Wno-padded
|
|
-Wno-covered-switch-default
|
|
-Wno-c2y-extensions
|
|
-Wno-unsafe-buffer-usage
|
|
)
|