Fix C4459: Rename a function parameter `profiler_manager` to avoid hiding the global declaration. (#1839)

* Fix C4459: Rename a function parameter `profiler_manager` to avoid hiding the global declaration.

* Treat warnings as errors for MSVC

* disable one warning for MSVC
This commit is contained in:
Igor Zhukov 2024-08-19 10:39:37 +07:00 committed by GitHub
parent 6126d2a205
commit c19cfee61e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 2 deletions

View File

@ -150,6 +150,10 @@ if (MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
add_definitions(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-D_CRT_SECURE_NO_WARNINGS)
if(BENCHMARK_ENABLE_WERROR)
add_cxx_compiler_flag(-WX)
endif()
if (NOT BENCHMARK_ENABLE_EXCEPTIONS) if (NOT BENCHMARK_ENABLE_EXCEPTIONS)
add_cxx_compiler_flag(-EHs-) add_cxx_compiler_flag(-EHs-)
add_cxx_compiler_flag(-EHa-) add_cxx_compiler_flag(-EHa-)

View File

@ -796,6 +796,11 @@ enum Skipped
} // namespace internal } // namespace internal
#if defined(_MSC_VER)
#pragma warning(push)
// C4324: 'benchmark::State': structure was padded due to alignment specifier
#pragma warning(disable : 4324)
#endif // _MSC_VER_
// State is passed to a running Benchmark and contains state for the // State is passed to a running Benchmark and contains state for the
// benchmark to use. // benchmark to use.
class BENCHMARK_EXPORT BENCHMARK_INTERNAL_CACHELINE_ALIGNED State { class BENCHMARK_EXPORT BENCHMARK_INTERNAL_CACHELINE_ALIGNED State {
@ -1063,6 +1068,9 @@ class BENCHMARK_EXPORT BENCHMARK_INTERNAL_CACHELINE_ALIGNED State {
friend class internal::BenchmarkInstance; friend class internal::BenchmarkInstance;
}; };
#if defined(_MSC_VER)
#pragma warning(pop)
#endif // _MSC_VER_
inline BENCHMARK_ALWAYS_INLINE bool State::KeepRunning() { inline BENCHMARK_ALWAYS_INLINE bool State::KeepRunning() {
return KeepRunningInternal(1, /*is_batch=*/false); return KeepRunningInternal(1, /*is_batch=*/false);

View File

@ -126,14 +126,14 @@ BenchmarkReporter::Run CreateRunReport(
void RunInThread(const BenchmarkInstance* b, IterationCount iters, void RunInThread(const BenchmarkInstance* b, IterationCount iters,
int thread_id, ThreadManager* manager, int thread_id, ThreadManager* manager,
PerfCountersMeasurement* perf_counters_measurement, PerfCountersMeasurement* perf_counters_measurement,
ProfilerManager* profiler_manager) { ProfilerManager* profiler_manager_) {
internal::ThreadTimer timer( internal::ThreadTimer timer(
b->measure_process_cpu_time() b->measure_process_cpu_time()
? internal::ThreadTimer::CreateProcessCpuTime() ? internal::ThreadTimer::CreateProcessCpuTime()
: internal::ThreadTimer::Create()); : internal::ThreadTimer::Create());
State st = b->Run(iters, thread_id, &timer, manager, State st = b->Run(iters, thread_id, &timer, manager,
perf_counters_measurement, profiler_manager); perf_counters_measurement, profiler_manager_);
BM_CHECK(st.skipped() || st.iterations() >= st.max_iterations) BM_CHECK(st.skipped() || st.iterations() >= st.max_iterations)
<< "Benchmark returned before State::KeepRunning() returned false!"; << "Benchmark returned before State::KeepRunning() returned false!";
{ {