summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ryan Prichard <rprichard@google.com> 2024-04-12 01:35:39 -0700
committer Ryan Prichard <rprichard@google.com> 2024-04-12 20:50:35 +0000
commitb66eb3bc8793fdde9675742f3d7851422963adfb (patch)
treec8fc5dcab8bee36ac048fb51c1e86f20994d2658
parent876dc7650f6c705e78641329b0974629b34af014 (diff)
Avoid comparing std::memory_order_relaxed with 0
Starting in C++20, std::memory_order becomes a scoped enum class, so it cannot be compared to an integer, which happens when ASM_DEFINE tries to detect if std::memory_order_relaxed is negative. Cast the enumerator to its underlying type. Bug: 311052584 Test: treehugger Change-Id: Ic217c54628f6b13a86dcb83363690a87f0fc40e3
-rw-r--r--tools/cpp-define-generator/globals.def2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/cpp-define-generator/globals.def b/tools/cpp-define-generator/globals.def
index 39c5d19f5a..afa9499687 100644
--- a/tools/cpp-define-generator/globals.def
+++ b/tools/cpp-define-generator/globals.def
@@ -80,7 +80,7 @@ ASM_DEFINE(POINTER_SIZE_SHIFT,
ASM_DEFINE(STACK_REFERENCE_SIZE,
sizeof(art::StackReference<art::mirror::Object>))
ASM_DEFINE(STD_MEMORY_ORDER_RELAXED,
- std::memory_order_relaxed)
+ static_cast<std::underlying_type_t<std::memory_order>>(std::memory_order_relaxed))
ASM_DEFINE(STACK_OVERFLOW_RESERVED_BYTES,
GetStackOverflowReservedBytes(art::kRuntimeISA))
ASM_DEFINE(CALLEE_SAVE_EVERYTHING_NUM_CORE_SPILLS,