Skip to content

Commit

Permalink
[third-party] Silence warning on benchmark when building with Clang ToT
Browse files Browse the repository at this point in the history
fixes:
```
[7409/7446] Building CXX object third-party\benchmark\src\CMakeFiles\benchmark.dir\benchmark.cc.obj
C:\git\llvm-project\third-party\benchmark\src\benchmark.cc(172,17): warning: offset of on non-standard-layout type 'State' [-Winvalid-offsetof]
  172 |   static_assert(offsetof(State, error_occurred_) <=
      |                 ^               ~~~~~~~~~~~~~~~
C:\git\llvm_package_18.0.0\build64_stage0\lib\clang\18\include\__stddef_offsetof.h(11,24): note: expanded from macro 'offsetof'
   11 | #define offsetof(t, d) __builtin_offsetof(t, d)
      |                        ^                     ~
1 warning generated.
```
  • Loading branch information
aganea committed Jan 17, 2024
1 parent 63a3c4c commit 92f91dd
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions third-party/benchmark/src/benchmark.cc
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,9 @@ State::State(IterationCount max_iters, const std::vector<int64_t>& ranges,
#elif defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Winvalid-offsetof"
#elif defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Winvalid-offsetof"
#endif
// Offset tests to ensure commonly accessed data is on the first cache line.
const int cache_line_size = 64;
Expand All @@ -176,6 +179,8 @@ State::State(IterationCount max_iters, const std::vector<int64_t>& ranges,
#pragma warning pop
#elif defined(__GNUC__)
#pragma GCC diagnostic pop
#elif defined(__clang__)
#pragma clang diagnostic pop
#endif
}

Expand Down

0 comments on commit 92f91dd

Please sign in to comment.