summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaiki Endo <te316e89@gmail.com>2023-03-15 13:30:45 +0900
committerMark Rousskov <mark.simulacrum@gmail.com>2023-03-18 20:51:01 -0400
commit7bce15d3813e71287bdfad2f55acc05fe712decc (patch)
tree236f320bd677783a4ff7401549d66e588d81e141
parent775805adea3c2d46a7ff8eb09d1861fb287898b1 (diff)
downloadrust-7bce15d3813e71287bdfad2f55acc05fe712decc.tar.gz
Fix linker detection for clang with prefix
-rw-r--r--compiler/rustc_codegen_ssa/src/back/link.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
index b148e4185a6..34e042376c1 100644
--- a/compiler/rustc_codegen_ssa/src/back/link.rs
+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
@@ -1237,7 +1237,7 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) {
.and_then(|(lhs, rhs)| rhs.chars().all(char::is_numeric).then_some(lhs))
.unwrap_or(stem);
- // GCC can have an optional target prefix.
+ // GCC/Clang can have an optional target prefix.
let flavor = if stem == "emcc" {
LinkerFlavor::EmCc
} else if stem == "gcc"
@@ -1245,7 +1245,9 @@ pub fn linker_and_flavor(sess: &Session) -> (PathBuf, LinkerFlavor) {
|| stem == "g++"
|| stem.ends_with("-g++")
|| stem == "clang"
+ || stem.ends_with("-clang")
|| stem == "clang++"
+ || stem.ends_with("-clang++")
{
LinkerFlavor::from_cli(LinkerFlavorCli::Gcc, &sess.target)
} else if stem == "wasm-ld" || stem.ends_with("-wasm-ld") {