Skip to content

Commit 57caff8

Browse files
authored
Merge pull request #1796 from swiftlang/rdar-143965800
Add support for `-disable-dynamic-actor-isolation`
2 parents 1f44670 + fc965ea commit 57caff8

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

Sources/SwiftDriver/Jobs/FrontendJobHelpers.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,10 @@ extension Driver {
374374
try commandLine.appendLast(.disableSandbox, from: &parsedOptions)
375375
}
376376

377+
if isFrontendArgSupported(.disableDynamicActorIsolation) {
378+
try commandLine.appendLast(.disableDynamicActorIsolation, from: &parsedOptions)
379+
}
380+
377381
if !directModuleCC1Mode, let workingDirectory = workingDirectory {
378382
// Add -Xcc -working-directory before any other -Xcc options to ensure it is
379383
// overridden by an explicit -Xcc -working-directory, although having a

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3908,6 +3908,19 @@ final class SwiftDriverTests: XCTestCase {
39083908
XCTAssertJobInvocationMatches(plannedJobs[0], .flag("-enable-bare-slash-regex"))
39093909
}
39103910

3911+
func testDisableDynamicActorIsolation() throws {
3912+
var driver = try Driver(args: ["swiftc", "test.swift", "-disable-dynamic-actor-isolation"])
3913+
guard driver.isFrontendArgSupported(.disableDynamicActorIsolation) else {
3914+
throw XCTSkip("Skipping: compiler does not support '-disable-dynamic-actor-isolation'")
3915+
}
3916+
let plannedJobs = try driver.planBuild()
3917+
XCTAssertEqual(plannedJobs.count, 2)
3918+
XCTAssertEqual(plannedJobs[0].kind, .compile)
3919+
XCTAssertEqual(plannedJobs[1].kind, .link)
3920+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.flag("-frontend")))
3921+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.flag("-disable-dynamic-actor-isolation")))
3922+
}
3923+
39113924
func testImmediateMode() throws {
39123925
do {
39133926
var driver = try Driver(args: ["swift", "foo.swift"])

0 commit comments

Comments
 (0)