Skip to content

Commit b4fba6f

Browse files
Add a test for Xlinker/clang-linker flags in wasm32-unknown-wasi target.
1 parent d7d2ac1 commit b4fba6f

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

Tests/SwiftDriverTests/SwiftDriverTests.swift

+23
Original file line numberDiff line numberDiff line change
@@ -1906,6 +1906,29 @@ final class SwiftDriverTests: XCTestCase {
19061906
XCTAssertTrue(cmd.contains(subsequence: [.flag("-Xlinker"), .flag("-rpath=$ORIGIN"), .flag("foo")]))
19071907
}
19081908

1909+
do {
1910+
// Xlinker flags
1911+
// Ensure that Xlinker flags are passed as such to the clang linker invocation.
1912+
try withTemporaryDirectory { path in
1913+
try localFileSystem.writeFileContents(path.appending(components: "wasi", "static-executable-args.lnk")) {
1914+
$0.send("garbage")
1915+
}
1916+
var driver = try Driver(args: commonArgs + ["-emit-executable", "-L", "/tmp", "-Xlinker", "--export-all",
1917+
"-Xlinker", "-E", "-Xclang-linker", "foo",
1918+
"-resource-dir", path.pathString,
1919+
"-target", "wasm32-unknown-wasi"], env: env)
1920+
let plannedJobs = try driver.planBuild()
1921+
XCTAssertEqual(plannedJobs.count, 4)
1922+
let linkJob = plannedJobs[3]
1923+
let cmd = linkJob.commandLine
1924+
XCTAssertTrue(cmd.contains(subsequence: [
1925+
.flag("-Xlinker"), .flag("--export-all"),
1926+
.flag("-Xlinker"), .flag("-E"),
1927+
.flag("foo")
1928+
]))
1929+
}
1930+
}
1931+
19091932
do {
19101933
var driver = try Driver(args: commonArgs + ["-emit-library", "-no-toolchain-stdlib-rpath",
19111934
"-target", "aarch64-unknown-linux"], env: env)

0 commit comments

Comments
 (0)