benchmark icon indicating copy to clipboard operation
benchmark copied to clipboard

Only enable "-pedantic-errors" when BENCHMARK_ENABLE_WERROR is ON

Open BraynStorm opened this issue 1 year ago • 2 comments

Newer versions of clang (on Windows at least) fail to compile benchmark with -Werror and -pedantic-errors. Unfortunately, the BENCHMARK_ENABLE_WERROR option toggles only -Werror, and not -pedantic-errors.

.../build/Debug/_deps/benchmark-src/src/benchmark.cc:225:7: error: offset of on non-standard-layout type 'State' [-Werror,-Winvalid-offsetof]
   225 |       offsetof(State, skipped_) <= (cache_line_size - sizeof(skipped_)), "");
       |       ^               ~~~~~~~~
 C:\Program Files\LLVM\lib\clang\18\include\__stddef_offsetof.h:11:24: note: expanded from macro 'offsetof'
    11 | #define offsetof(t, d) __builtin_offsetof(t, d)
       |                        ^                     ~
 1 error generated.
 ninja: build stopped: subcommand failed.

This PR changes the CMakeLists.txt file to only append -pedantic-errors when BENCHMARK_ENABLE_WERROR is ON

BraynStorm avatar Mar 30 '24 21:03 BraynStorm

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

google-cla[bot] avatar Mar 30 '24 21:03 google-cla[bot]

You'll need to deal with the CLA check...

LebedevRI avatar Mar 31 '24 01:03 LebedevRI

closing as unresponded.

dmah42 avatar Aug 16 '24 14:08 dmah42