Files
ports/devel/electron42/files/patch-v8_src_base_atomicops.h
2026-10-04 04:07:15 +00:00

25 lines
917 B
C++

--- v8/src/base/atomicops.h.orig 2026-01-07 00:52:53 UTC
+++ v8/src/base/atomicops.h
@@ -32,10 +32,10 @@ using Atomic32 = int32_t;
using Atomic8 = char;
using Atomic16 = int16_t;
using Atomic32 = int32_t;
-#if defined(V8_HOST_ARCH_64_BIT)
+#if defined(V8_HOST_ARCH_64_BIT) || defined(V8_OS_OPENBSD)
// We need to be able to go between Atomic64 and AtomicWord implicitly. This
// means Atomic64 and AtomicWord should be the same type on 64-bit.
-#if defined(__ILP32__)
+#if defined(__ILP32__) && !defined(V8_OS_OPENBSD)
using Atomic64 = int64_t;
#else
using Atomic64 = intptr_t;
@@ -59,7 +59,7 @@ concept AtomicTypeForTrivialOperations =
template <typename T>
concept AtomicTypeForTrivialOperations =
-#if defined(V8_HOST_ARCH_64_BIT)
+#if defined(V8_HOST_ARCH_64_BIT) || defined(V8_OS_OPENBSD)
std::is_same_v<T, Atomic64> ||
#endif
std::is_same_v<T, Atomic8> || std::is_same_v<T, Atomic16> ||