Skip to content

Commit b0ebc8c

Browse files
authored
Merge pull request #20709 from futurejones/swift-4.2-check-for-ARM/ARM64
stdlib: check for ARM/ARM64/AArch64 more thoroughly
2 parents 283cddb + dc7d864 commit b0ebc8c

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

include/swift/Runtime/Atomic.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
// is formally UB by C++11 language rules, we should be OK because neither
2323
// the processor model nor the optimizer can realistically reorder our uses
2424
// of 'consume'.
25-
#if __arm64__ || __arm__
25+
#if defined(__arm__) || defined(_M_ARM) || defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64)
2626
# define SWIFT_MEMORY_ORDER_CONSUME (std::memory_order_relaxed)
2727
#else
2828
# define SWIFT_MEMORY_ORDER_CONSUME (std::memory_order_consume)

stdlib/public/SwiftShims/HeapObject.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ static_assert(alignof(HeapObject) == alignof(void*),
122122
#define _swift_abi_ObjCReservedLowBits \
123123
(unsigned) SWIFT_ABI_X86_64_OBJC_NUM_RESERVED_LOW_BITS
124124

125-
#elif defined(__arm64__)
125+
#elif defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64)
126126

127127
#ifdef __APPLE__
128128
#define _swift_abi_LeastValidPointerValue \
@@ -165,10 +165,10 @@ static_assert(alignof(HeapObject) == alignof(void*),
165165
#define _swift_abi_LeastValidPointerValue \
166166
(__swift_uintptr_t) SWIFT_ABI_DEFAULT_LEAST_VALID_POINTER
167167

168-
#if __i386__
168+
#if defined(__i386__)
169169
#define _swift_abi_SwiftSpareBitsMask \
170170
(__swift_uintptr_t) SWIFT_ABI_I386_SWIFT_SPARE_BITS_MASK
171-
#elif __arm__
171+
#elif defined(__arm__) || defined(_M_ARM)
172172
#define _swift_abi_SwiftSpareBitsMask \
173173
(__swift_uintptr_t) SWIFT_ABI_ARM_SWIFT_SPARE_BITS_MASK
174174
#else

stdlib/public/runtime/HeapObject.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ using namespace swift;
6161
/// Returns true if the pointer passed to a native retain or release is valid.
6262
/// If false, the operation should immediately return.
6363
static inline bool isValidPointerForNativeRetain(const void *p) {
64-
#if defined(__x86_64__) || defined(__arm64__)
64+
#if defined(__x86_64__) || defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64)
6565
// On these platforms, the upper half of address space is reserved for the
6666
// kernel, so we can assume that pointer values in this range are invalid.
6767
return (intptr_t)p > 0;

stdlib/public/runtime/SwiftObject.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ - (BOOL)isNSValue__ { return NO; }
498498

499499
#if defined(__x86_64__)
500500
static uintptr_t const objectPointerIsObjCBit = 0x4000000000000000ULL;
501-
#elif defined(__arm64__)
501+
#elif defined(__arm64__) || defined(__arch64__) || defined(_M_ARM64)
502502
static uintptr_t const objectPointerIsObjCBit = 0x4000000000000000ULL;
503503
#else
504504
static uintptr_t const objectPointerIsObjCBit = 0x00000002U;

stdlib/public/runtime/WeakReference.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,16 @@ class WeakReferenceBits {
7878
#if !SWIFT_OBJC_INTEROP
7979
NativeMarkerMask = 0,
8080
NativeMarkerValue = 0
81-
#elif __x86_64__
81+
#elif defined(__x86_64__)
8282
NativeMarkerMask = SWIFT_ABI_X86_64_OBJC_WEAK_REFERENCE_MARKER_MASK,
8383
NativeMarkerValue = SWIFT_ABI_X86_64_OBJC_WEAK_REFERENCE_MARKER_VALUE
84-
#elif __i386__
84+
#elif defined(__i386__)
8585
NativeMarkerMask = SWIFT_ABI_I386_OBJC_WEAK_REFERENCE_MARKER_MASK,
8686
NativeMarkerValue = SWIFT_ABI_I386_OBJC_WEAK_REFERENCE_MARKER_VALUE
87-
#elif __arm__
87+
#elif defined(__arm__) || defined(_M_ARM)
8888
NativeMarkerMask = SWIFT_ABI_ARM_OBJC_WEAK_REFERENCE_MARKER_MASK,
8989
NativeMarkerValue = SWIFT_ABI_ARM_OBJC_WEAK_REFERENCE_MARKER_VALUE
90-
#elif __arm64__
90+
#elif defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64)
9191
NativeMarkerMask = SWIFT_ABI_ARM64_OBJC_WEAK_REFERENCE_MARKER_MASK,
9292
NativeMarkerValue = SWIFT_ABI_ARM64_OBJC_WEAK_REFERENCE_MARKER_VALUE
9393
#else

0 commit comments

Comments
 (0)