Skip to content

Commit 2dbaf86

Browse files
authored
Revert "Only add '-fobjc-link-runtime' to the linker invocation when the driver is invoked with '-link-objc-runtime'"
1 parent 8dc9215 commit 2dbaf86

File tree

2 files changed

+2
-42
lines changed

2 files changed

+2
-42
lines changed

Sources/SwiftDriver/Jobs/DarwinToolchain+LinkerSupport.swift

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -214,14 +214,9 @@ extension DarwinToolchain {
214214
commandLine.appendPath(VirtualPath.lookup(sdkPath))
215215
}
216216

217-
// -link-objc-runtime also implies -fobjc-link-runtime
218-
if parsedOptions.hasFlag(positive: .linkObjcRuntime,
219-
negative: .noLinkObjcRuntime,
220-
default: false) {
221-
commandLine.appendFlag("-fobjc-link-runtime")
222-
}
223-
224217
commandLine.appendFlags(
218+
"-fobjc-link-runtime",
219+
"-lobjc",
225220
"-lSystem"
226221
)
227222

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1653,8 +1653,6 @@ final class SwiftDriverTests: XCTestCase {
16531653

16541654
XCTAssertFalse(cmd.contains(.flag("-static")))
16551655
XCTAssertFalse(cmd.contains(.flag("-shared")))
1656-
// Handling of '-lobjc' is now in the Clang linker driver.
1657-
XCTAssertFalse(cmd.contains(.flag("-lobjc")))
16581656
}
16591657

16601658
do {
@@ -1730,39 +1728,6 @@ final class SwiftDriverTests: XCTestCase {
17301728
XCTAssertFalse(cmd.contains(.flag("-shared")))
17311729
}
17321730

1733-
do {
1734-
// -fobjc-link-runtime default
1735-
var driver = try Driver(args: commonArgs + ["-emit-library", "-target", "x86_64-apple-macosx10.15"], env: env)
1736-
let plannedJobs = try driver.planBuild()
1737-
XCTAssertEqual(3, plannedJobs.count)
1738-
let linkJob = plannedJobs[2]
1739-
XCTAssertEqual(linkJob.kind, .link)
1740-
let cmd = linkJob.commandLine
1741-
XCTAssertFalse(cmd.contains(.flag("-fobjc-link-runtime")))
1742-
}
1743-
1744-
do {
1745-
// -fobjc-link-runtime enable
1746-
var driver = try Driver(args: commonArgs + ["-emit-library", "-target", "x86_64-apple-macosx10.15", "-link-objc-runtime"], env: env)
1747-
let plannedJobs = try driver.planBuild()
1748-
XCTAssertEqual(3, plannedJobs.count)
1749-
let linkJob = plannedJobs[2]
1750-
XCTAssertEqual(linkJob.kind, .link)
1751-
let cmd = linkJob.commandLine
1752-
XCTAssertTrue(cmd.contains(.flag("-fobjc-link-runtime")))
1753-
}
1754-
1755-
do {
1756-
// -fobjc-link-runtime disable override
1757-
var driver = try Driver(args: commonArgs + ["-emit-library", "-target", "x86_64-apple-macosx10.15", "-link-objc-runtime", "-no-link-objc-runtime"], env: env)
1758-
let plannedJobs = try driver.planBuild()
1759-
XCTAssertEqual(3, plannedJobs.count)
1760-
let linkJob = plannedJobs[2]
1761-
XCTAssertEqual(linkJob.kind, .link)
1762-
let cmd = linkJob.commandLine
1763-
XCTAssertFalse(cmd.contains(.flag("-fobjc-link-runtime")))
1764-
}
1765-
17661731
do {
17671732
// Xlinker flags
17681733
// Ensure that Xlinker flags are passed as such to the clang linker invocation.

0 commit comments

Comments
 (0)