Fix windows compilation on C++20 (#2670)

Since C++20, std::memory_order is defined as an enum class so requires
explicit casting to an int when adding enum values.
See https://en.cppreference.com/w/cpp/atomic/memory_order.
This commit is contained in:
zoraaver 2023-10-25 13:47:56 +01:00 committed by GitHub
parent e7a62d2099
commit 3624895204
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,8 +14,8 @@ void
bh_atomic_thread_fence(int mem_order)
{
std::memory_order order =
(std::memory_order)(std::memory_order::memory_order_relaxed + mem_order
- os_memory_order_relaxed);
(std::memory_order)((int)std::memory_order::memory_order_relaxed
+ mem_order - os_memory_order_relaxed);
std::atomic_thread_fence(order);
}