Skip to content

Commit f5e1429

Browse files
committed
[Driver] Remove redundant clang '-target' flag that wasn't being used
The target was added for Unix toolchains in #901, but a later pull #1891 added it again. Since clang only uses the last target flag that's passed in, all customization done for the first one was unused these last 4+ years, so remove it and change tests that look for custom strings passed by the first one.
1 parent 12eda10 commit f5e1429

File tree

4 files changed

+6
-48
lines changed

4 files changed

+6
-48
lines changed

lib/Driver/ToolChains.h

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,6 @@ class LLVM_LIBRARY_VISIBILITY GenericUnix : public ToolChain {
130130
/// and to not provide a specific linker otherwise.
131131
virtual std::string getDefaultLinker() const;
132132

133-
/// The target to be passed to the compiler invocation. By default, this
134-
/// is the target triple, but this may be overridden to accommodate some
135-
/// platforms.
136-
virtual std::string getTargetForLinker() const;
137-
138133
bool addRuntimeRPath(const llvm::Triple &T,
139134
const llvm::opt::ArgList &Args) const;
140135

@@ -152,9 +147,6 @@ class LLVM_LIBRARY_VISIBILITY GenericUnix : public ToolChain {
152147
};
153148

154149
class LLVM_LIBRARY_VISIBILITY Android : public GenericUnix {
155-
protected:
156-
std::string getTargetForLinker() const override;
157-
158150
public:
159151
Android(const Driver &D, const llvm::Triple &Triple)
160152
: GenericUnix(D, Triple) {}
@@ -165,8 +157,6 @@ class LLVM_LIBRARY_VISIBILITY Cygwin : public GenericUnix {
165157
protected:
166158
std::string getDefaultLinker() const override;
167159

168-
std::string getTargetForLinker() const override;
169-
170160
public:
171161
Cygwin(const Driver &D, const llvm::Triple &Triple)
172162
: GenericUnix(D, Triple) {}

lib/Driver/UnixToolChains.cpp

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,6 @@ std::string toolchains::GenericUnix::getDefaultLinker() const {
109109
}
110110
}
111111

112-
std::string toolchains::GenericUnix::getTargetForLinker() const {
113-
return getTriple().str();
114-
}
115-
116112
bool toolchains::GenericUnix::addRuntimeRPath(const llvm::Triple &T,
117113
const llvm::opt::ArgList &Args) const {
118114
// If we are building a static executable, do not add a rpath for the runtime
@@ -147,12 +143,6 @@ toolchains::GenericUnix::constructInvocation(const DynamicLinkJobAction &job,
147143

148144
ArgStringList Arguments;
149145

150-
std::string Target = getTargetForLinker();
151-
if (!Target.empty()) {
152-
Arguments.push_back("-target");
153-
Arguments.push_back(context.Args.MakeArgString(Target));
154-
}
155-
156146
switch (job.getKind()) {
157147
case LinkKind::None:
158148
llvm_unreachable("invalid link kind");
@@ -398,33 +388,11 @@ toolchains::GenericUnix::constructInvocation(const StaticLinkJobAction &job,
398388
return II;
399389
}
400390

401-
std::string toolchains::Android::getTargetForLinker() const {
402-
const llvm::Triple &T = getTriple();
403-
switch (T.getArch()) {
404-
default:
405-
// FIXME: we should just abort on an unsupported target
406-
return T.str();
407-
case llvm::Triple::arm:
408-
case llvm::Triple::thumb:
409-
// Current Android NDK versions only support ARMv7+. Always assume ARMv7+
410-
// for the arm/thumb target.
411-
return "armv7-unknown-linux-androideabi";
412-
case llvm::Triple::aarch64:
413-
return "aarch64-unknown-linux-android";
414-
case llvm::Triple::x86:
415-
return "i686-unknown-linux-android";
416-
case llvm::Triple::x86_64:
417-
return "x86_64-unknown-linux-android";
418-
}
419-
}
420-
421391
std::string toolchains::Cygwin::getDefaultLinker() const {
422392
// Cygwin uses the default BFD linker, even on ARM.
423393
return "";
424394
}
425395

426-
std::string toolchains::Cygwin::getTargetForLinker() const { return ""; }
427-
428396
std::string toolchains::OpenBSD::getDefaultLinker() const {
429397
return "lld";
430398
}

test/Driver/android-link.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %swift_driver_plain --driver-mode=swiftc -target armv7-none-linux-androideabihf -emit-executable %s -### 2>&1 | %FileCheck %s -check-prefix CHECK-ARMv7
3-
// CHECK-ARMv7: clang{{(.exe)?"?}} -target armv7-unknown-linux-androideabi
2+
// RUN: %swift_driver_plain --driver-mode=swiftc -target armv7-unknown-linux-androideabihf -emit-executable %s -### 2>&1 | %FileCheck %s -check-prefix CHECK-ARMv7
3+
// CHECK-ARMv7: clang{{(.exe)?"?.*}} --target=armv7-unknown-linux-androidhf
44

55
// RUN: %swift_driver_plain --driver-mode=swiftc -target aarch64-mone-linux-androideabi -emit-executable %s -### 2>&1 | %FileCheck %s -check-prefix CHECK-ARM64
6-
// CHECK-ARM64: clang{{(.exe)?"?}} -target aarch64-unknown-linux-android
6+
// CHECK-ARM64: clang{{(.exe)?"?.*}} --target=aarch64-mone-linux-android
77

8-
// RUN: %swift_driver_plain --driver-mode=swiftc -target x86_64-none-linux-androideabi -emit-executable %s -### 2>&1 | %FileCheck %s -check-prefix CHECK-X64
9-
// CHECK-X64: clang{{(.exe)?"?}} -target x86_64-unknown-linux-android
8+
// RUN: %swift_driver_plain --driver-mode=swiftc -target x86_64-unknown-linux-androideabi -emit-executable %s -### 2>&1 | %FileCheck %s -check-prefix CHECK-X64
9+
// CHECK-X64: clang{{(.exe)?"?.*}} --target=x86_64-unknown-linux-android
1010

test/Driver/linker.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
// RUN: %swiftc_driver -sdk "" -driver-print-jobs -target thumbv7-unknown-linux-gnueabihf -Ffoo -Fsystem car -F cdr -framework bar -Lbaz -lboo -Xlinker -undefined %s 2>&1 > %t.linux.txt
2929
// RUN: %FileCheck -check-prefix LINUX-thumbv7 %s < %t.linux.txt
3030

31-
// RUN: %swiftc_driver_plain -driver-print-jobs -target armv7-none-linux-androideabi -Ffoo -Fsystem car -F cdr -framework bar -Lbaz -lboo -Xlinker -undefined %s 2>&1 > %t.android.txt
31+
// RUN: %swiftc_driver_plain -driver-print-jobs -target armv7-unknown-linux-androideabi -Ffoo -Fsystem car -F cdr -framework bar -Lbaz -lboo -Xlinker -undefined %s 2>&1 > %t.android.txt
3232
// RUN: %FileCheck -check-prefix ANDROID-armv7 %s < %t.android.txt
3333
// RUN: %FileCheck -check-prefix ANDROID-armv7-NEGATIVE %s < %t.android.txt
3434

0 commit comments

Comments
 (0)