Skip to content

Commit 049acb8

Browse files
authored
Merge pull request #2000 from DougGregor/print-target-info-embedded
Pass `-enable-experimental-feature Embedded` to `-print-target-info`
2 parents 3088ae6 + bd99648 commit 049acb8

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

Sources/SwiftDriver/Jobs/Planning.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,8 @@ extension Driver {
715715
resourceDirPath: resourceDirPath,
716716
requiresInPlaceExecution: true,
717717
useStaticResourceDir: useStaticResourceDir,
718-
swiftCompilerPrefixArgs: swiftCompilerPrefixArgs)
718+
swiftCompilerPrefixArgs: swiftCompilerPrefixArgs,
719+
isEmbedded: parsedOptions.isEmbeddedEnabled)
719720
}
720721

721722
if parsedOptions.hasArgument(.printSupportedFeatures) {

Sources/SwiftDriver/Jobs/PrintTargetInfoJob.swift

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,9 @@ extension Toolchain {
134134
runtimeCompatibilityVersion: String? = nil,
135135
requiresInPlaceExecution: Bool = false,
136136
useStaticResourceDir: Bool = false,
137-
swiftCompilerPrefixArgs: [String]) throws -> Job {
137+
swiftCompilerPrefixArgs: [String],
138+
isEmbedded: Bool = false
139+
) throws -> Job {
138140
var commandLine: [Job.ArgTemplate] = swiftCompilerPrefixArgs.map { Job.ArgTemplate.flag($0) }
139141
commandLine.append(contentsOf: [.flag("-frontend"),
140142
.flag("-print-target-info")])
@@ -168,6 +170,13 @@ extension Toolchain {
168170
commandLine += [.flag("-use-static-resource-dir")]
169171
}
170172

173+
if isEmbedded {
174+
commandLine += [
175+
.flag("-enable-experimental-feature"),
176+
.flag("Embedded")
177+
]
178+
}
179+
171180
return Job(
172181
moduleName: "",
173182
kind: .printTargetInfo,

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6950,6 +6950,21 @@ final class SwiftDriverTests: XCTestCase {
69506950
XCTAssertFalse(linkJob.commandLine.joinedUnresolvedArguments.contains("swiftrt.o"))
69516951
}
69526952

6953+
// Printing target info needs to pass through the experimental flag.
6954+
do {
6955+
var driver = try Driver(args: [
6956+
"swiftc",
6957+
"-target",
6958+
"aarch64-none-none-elf",
6959+
"-enable-experimental-feature", "Embedded",
6960+
"-print-target-info"
6961+
], env: env)
6962+
6963+
let jobs = try driver.planBuild()
6964+
let targetInfoJob = try jobs.findJob(.printTargetInfo)
6965+
XCTAssertTrue(targetInfoJob.commandLine.contains(.flag("Embedded")))
6966+
}
6967+
69536968
// Embedded Wasm compile job
69546969
do {
69556970
var driver = try Driver(args: ["swiftc", "-target", "wasm32-none-none-wasm", "test.swift", "-enable-experimental-feature", "Embedded", "-wmo", "-o", "a.wasm"], env: env)

0 commit comments

Comments
 (0)