Skip to content

Commit 67b68d1

Browse files
authored
Merge pull request #68739 from kubamracek/embedded-arm64e
[embedded] Start building arm64e embedded stdlib
2 parents 616a7fd + d8f10f5 commit 67b68d1

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

lib/IRGen/IRGenModule.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,8 @@ static void sanityCheckStdlib(IRGenModule &IGM) {
196196
// Only run the sanity check when we're building the real stdlib.
197197
if (!lookupSimple(IGM.getSwiftModule(), { "String" })) return;
198198

199+
if (!IGM.ObjCInterop) return;
200+
199201
checkPointerAuthAssociatedTypeDiscriminator(IGM, { "_ObjectiveCBridgeable", "_ObjectiveCType" }, SpecialPointerAuthDiscriminators::ObjectiveCTypeDiscriminator);
200202
checkPointerAuthWitnessDiscriminator(IGM, { "_ObjectiveCBridgeable", "_bridgeToObjectiveC" }, SpecialPointerAuthDiscriminators::bridgeToObjectiveCDiscriminator);
201203
checkPointerAuthWitnessDiscriminator(IGM, { "_ObjectiveCBridgeable", "_forceBridgeFromObjectiveC" }, SpecialPointerAuthDiscriminators::forceBridgeFromObjectiveCDiscriminator);

stdlib/public/core/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,11 +396,12 @@ endif()
396396
if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB)
397397
add_custom_target(embedded-stdlib ALL)
398398
set(EMBEDDED_STDLIB_TARGET_TRIPLES
399-
# arch module_name target triple
399+
# arch module_name target triple
400400
"armv7 armv7-apple-none-macho armv7-apple-none-macho"
401401
"arm64 arm64-apple-none-macho arm64-apple-none-macho"
402402
"x86_64 x86_64-apple-macos x86_64-apple-macos10.13"
403403
"arm64 arm64-apple-macos arm64-apple-macos10.13"
404+
"arm64e arm64e-apple-macos arm64e-apple-macos10.13"
404405
)
405406

406407
set(SWIFT_ENABLE_REFLECTION OFF)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// RUN: %target-swift-emit-ir %s -parse-stdlib -enable-experimental-feature Embedded -target arm64e-apple-none -Xcc -fptrauth-calls -module-name Swift | %FileCheck %s
2+
3+
// REQUIRES: swift_in_compiler
4+
5+
// Some verification is blocked on string lookup succeeding.
6+
struct String {}
7+
8+
public func test() { }
9+
10+
// CHECK-LABEL: define {{.*}}void @"$ss4testyyF"()

0 commit comments

Comments
 (0)