diff --git a/public/client/tracy_concurrentqueue.h b/public/client/tracy_concurrentqueue.h index 3149deb7..4178d39e 100644 --- a/public/client/tracy_concurrentqueue.h +++ b/public/client/tracy_concurrentqueue.h @@ -210,19 +210,14 @@ namespace details } }; -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable: 4554) -#endif template static inline bool circular_less_than(T a, T b) { static_assert(std::is_integral::value && !std::numeric_limits::is_signed, "circular_less_than is intended to be used only with unsigned integer types"); - return static_cast(a - b) > (static_cast(static_cast(1) << static_cast(sizeof(T) * CHAR_BIT - 1))); + return static_cast(a - b) > static_cast(static_cast(1) << (static_cast(sizeof(T) * CHAR_BIT - 1))); + // Note: extra parens around rhs of operator<< is MSVC bug: https://developercommunity2.visualstudio.com/t/C4554-triggers-when-both-lhs-and-rhs-is/10034931 + // silencing the bug requires #pragma warning(disable: 4554) around the calling code and has no effect when done here. } -#ifdef _MSC_VER -#pragma warning(pop) -#endif template static inline char* align_for(char* ptr)