Skip to content

Commit 1f90b36

Browse files
committed
[Driver][NetBSD] Use ToolChain reference instead of getToolChain().
Differential Revision: https://reviews.llvm.org/D111340
1 parent c0f9c7c commit 1f90b36

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

clang/lib/Driver/ToolChains/NetBSD.cpp

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,16 @@ void netbsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
2929
const InputInfoList &Inputs,
3030
const ArgList &Args,
3131
const char *LinkingOutput) const {
32-
const Driver &D = getToolChain().getDriver();
32+
const toolchains::NetBSD &ToolChain =
33+
static_cast<const toolchains::NetBSD &>(getToolChain());
34+
const Driver &D = ToolChain.getDriver();
3335

3436
claimNoWarnArgs(Args);
3537
ArgStringList CmdArgs;
3638

3739
// GNU as needs different flags for creating the correct output format
3840
// on architectures with different ABIs or optional feature sets.
39-
switch (getToolChain().getArch()) {
41+
switch (ToolChain.getArch()) {
4042
case llvm::Triple::x86:
4143
CmdArgs.push_back("--32");
4244
break;
@@ -47,7 +49,7 @@ void netbsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
4749
StringRef MArch, MCPU;
4850
arm::getARMArchCPUFromArgs(Args, MArch, MCPU, /*FromAs*/ true);
4951
std::string Arch =
50-
arm::getARMTargetCPU(MCPU, MArch, getToolChain().getTriple());
52+
arm::getARMTargetCPU(MCPU, MArch, ToolChain.getTriple());
5153
CmdArgs.push_back(Args.MakeArgString("-mcpu=" + Arch));
5254
break;
5355
}
@@ -58,39 +60,39 @@ void netbsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
5860
case llvm::Triple::mips64el: {
5961
StringRef CPUName;
6062
StringRef ABIName;
61-
mips::getMipsCPUAndABI(Args, getToolChain().getTriple(), CPUName, ABIName);
63+
mips::getMipsCPUAndABI(Args, ToolChain.getTriple(), CPUName, ABIName);
6264

6365
CmdArgs.push_back("-march");
6466
CmdArgs.push_back(CPUName.data());
6567

6668
CmdArgs.push_back("-mabi");
6769
CmdArgs.push_back(mips::getGnuCompatibleMipsABIName(ABIName).data());
6870

69-
if (getToolChain().getTriple().isLittleEndian())
71+
if (ToolChain.getTriple().isLittleEndian())
7072
CmdArgs.push_back("-EL");
7173
else
7274
CmdArgs.push_back("-EB");
7375

74-
AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
76+
AddAssemblerKPIC(ToolChain, Args, CmdArgs);
7577
break;
7678
}
7779

7880
case llvm::Triple::sparc:
7981
case llvm::Triple::sparcel: {
8082
CmdArgs.push_back("-32");
81-
std::string CPU = getCPUName(D, Args, getToolChain().getTriple());
83+
std::string CPU = getCPUName(D, Args, ToolChain.getTriple());
8284
CmdArgs.push_back(
83-
sparc::getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
84-
AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
85+
sparc::getSparcAsmModeForCPU(CPU, ToolChain.getTriple()));
86+
AddAssemblerKPIC(ToolChain, Args, CmdArgs);
8587
break;
8688
}
8789

8890
case llvm::Triple::sparcv9: {
8991
CmdArgs.push_back("-64");
90-
std::string CPU = getCPUName(D, Args, getToolChain().getTriple());
92+
std::string CPU = getCPUName(D, Args, ToolChain.getTriple());
9193
CmdArgs.push_back(
92-
sparc::getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
93-
AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
94+
sparc::getSparcAsmModeForCPU(CPU, ToolChain.getTriple()));
95+
AddAssemblerKPIC(ToolChain, Args, CmdArgs);
9496
break;
9597
}
9698

@@ -106,7 +108,7 @@ void netbsd::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
106108
for (const auto &II : Inputs)
107109
CmdArgs.push_back(II.getFilename());
108110

109-
const char *Exec = Args.MakeArgString((getToolChain().GetProgramPath("as")));
111+
const char *Exec = Args.MakeArgString((ToolChain.GetProgramPath("as")));
110112
C.addCommand(std::make_unique<Command>(JA, *this,
111113
ResponseFileSupport::AtFileCurCP(),
112114
Exec, CmdArgs, Inputs, Output));
@@ -258,9 +260,9 @@ void netbsd::Linker::ConstructJob(Compilation &C, const JobAction &JA,
258260
Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag);
259261
Args.AddAllArgs(CmdArgs, options::OPT_r);
260262

261-
bool NeedsSanitizerDeps = addSanitizerRuntimes(getToolChain(), Args, CmdArgs);
263+
bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
262264
bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);
263-
AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA);
265+
AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA);
264266

265267
const SanitizerArgs &SanArgs = ToolChain.getSanitizerArgs();
266268
if (SanArgs.needsSharedRt()) {
@@ -297,15 +299,15 @@ void netbsd::Linker::ConstructJob(Compilation &C, const JobAction &JA,
297299
// Use the static OpenMP runtime with -static-openmp
298300
bool StaticOpenMP = Args.hasArg(options::OPT_static_openmp) &&
299301
!Args.hasArg(options::OPT_static);
300-
addOpenMPRuntime(CmdArgs, getToolChain(), Args, StaticOpenMP);
302+
addOpenMPRuntime(CmdArgs, ToolChain, Args, StaticOpenMP);
301303

302304
if (D.CCCIsCXX()) {
303305
if (ToolChain.ShouldLinkCXXStdlib(Args))
304306
ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
305307
CmdArgs.push_back("-lm");
306308
}
307309
if (NeedsSanitizerDeps)
308-
linkSanitizerRuntimeDeps(getToolChain(), CmdArgs);
310+
linkSanitizerRuntimeDeps(ToolChain, CmdArgs);
309311
if (NeedsXRayDeps)
310312
linkXRayRuntimeDeps(ToolChain, CmdArgs);
311313
if (Args.hasArg(options::OPT_pthread))

0 commit comments

Comments
 (0)