1
0
Fork 0
forked from suyu/suyu

tests/core_timing: Remove pragma optimize(off)

I made a review comment about this in the PR that this was introduced
in (#3955, commit 71c4779211), but it
seems to have been missed.

We shouldn't be using this pragma here because it's MSVC specific. This
causes warnings on other compilers.

The test it's surrounding is *extremely* dubious, but for the sake of
silencing warnings on other compilers, we can mark "placebo" as volatile
and be on with it.
This commit is contained in:
Lioncash 2020-08-03 11:12:52 -04:00
parent 9b75481755
commit e1ab72a0ea

View file

@ -46,20 +46,16 @@ struct ScopeInit final {
Core::Timing::CoreTiming core_timing; Core::Timing::CoreTiming core_timing;
}; };
#pragma optimize("", off)
u64 TestTimerSpeed(Core::Timing::CoreTiming& core_timing) { u64 TestTimerSpeed(Core::Timing::CoreTiming& core_timing) {
u64 start = core_timing.GetGlobalTimeNs().count(); const u64 start = core_timing.GetGlobalTimeNs().count();
u64 placebo = 0; volatile u64 placebo = 0;
for (std::size_t i = 0; i < 1000; i++) { for (std::size_t i = 0; i < 1000; i++) {
placebo += core_timing.GetGlobalTimeNs().count(); placebo = placebo + core_timing.GetGlobalTimeNs().count();
} }
u64 end = core_timing.GetGlobalTimeNs().count(); const u64 end = core_timing.GetGlobalTimeNs().count();
return (end - start); return end - start;
} }
#pragma optimize("", on)
} // Anonymous namespace } // Anonymous namespace
TEST_CASE("CoreTiming[BasicOrder]", "[core]") { TEST_CASE("CoreTiming[BasicOrder]", "[core]") {