Skip to content

Commit 2668804

Browse files
authored
Merge pull request swiftlang#1845 from swiftlang/mracek/embedded-ios-os-version
[embedded] Skip checking OS versions of target triples when Embedded Swift is used
2 parents e2541c9 + 2eaefe0 commit 2668804

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

Sources/SwiftDriver/Toolchains/DarwinToolchain.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,11 @@ public final class DarwinToolchain: Toolchain {
238238
return
239239
}
240240

241+
// Embedded Swift should accept all target triples / OS versions / arch combinations
242+
guard !parsedOptions.isEmbeddedEnabled else {
243+
return
244+
}
245+
241246
// Check minimum supported OS versions. Note that Mac Catalyst falls into the iOS device case. The driver automatically uplevels the deployment target to iOS >= 13.1.
242247
let minVersions: [Triple.OS: (DarwinPlatform, Triple.Version)] = [
243248
.macosx: (.macOS, Triple.Version(10, 9, 0)),

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6880,6 +6880,13 @@ final class SwiftDriverTests: XCTestCase {
68806880
}
68816881
}
68826882

6883+
// 32-bit iOS jobs under Embedded should be allowed regardless of OS version
6884+
do {
6885+
try Driver(args: ["swiftc", "-c", "-target", "armv7-apple-ios8", "-enable-experimental-feature", "Embedded", "foo.swift"])
6886+
try Driver(args: ["swiftc", "-c", "-target", "armv7-apple-ios12.1", "-enable-experimental-feature", "Embedded", "foo.swift"])
6887+
try Driver(args: ["swiftc", "-c", "-target", "armv7-apple-ios16", "-enable-experimental-feature", "Embedded", "foo.swift"])
6888+
}
6889+
68836890
do {
68846891
let diags = DiagnosticsEngine()
68856892
var driver = try Driver(args: ["swiftc", "-target", "arm64-apple-macosx10.13", "test.swift", "-enable-experimental-feature", "Embedded", "-parse-as-library", "-wmo", "-o", "a.out", "-module-name", "main", "-enable-library-evolution"], diagnosticsEngine: diags)

0 commit comments

Comments
 (0)