From 55d60b69b5cb01903f0ed6a23a1d3addbbdd74db Mon Sep 17 00:00:00 2001 From: Joerg Sonnenberger Date: Sun, 2 Feb 2014 22:40:33 +0000 Subject: [PATCH] Replace hasMipsN32ABIArg by hasMipsABIArg to make it easier to add support for o32 and n64. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@200662 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Driver/Tools.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index f65429ef22..d477a6a413 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -44,6 +44,11 @@ using namespace clang::driver::tools; using namespace clang; using namespace llvm::opt; +static bool hasMipsABIArg(const ArgList &Args, const char *Value) { + Arg *A = Args.getLastArg(options::OPT_mabi_EQ); + return A && (A->getValue() == StringRef(Value)); +} + /// CheckPreprocessingOptions - Perform some validation of preprocessing /// arguments that is shared with gcc. static void CheckPreprocessingOptions(const Driver &D, const ArgList &Args) { @@ -6381,11 +6386,6 @@ static void AddLibgcc(llvm::Triple Triple, const Driver &D, CmdArgs.push_back("-ldl"); } -static bool hasMipsN32ABIArg(const ArgList &Args) { - Arg *A = Args.getLastArg(options::OPT_mabi_EQ); - return A && (A->getValue() == StringRef("n32")); -} - static StringRef getLinuxDynamicLinker(const ArgList &Args, const toolchains::Linux &ToolChain) { if (ToolChain.getTriple().getEnvironment() == llvm::Triple::Android) { @@ -6409,7 +6409,7 @@ static StringRef getLinuxDynamicLinker(const ArgList &Args, return "/lib/ld.so.1"; else if (ToolChain.getArch() == llvm::Triple::mips64 || ToolChain.getArch() == llvm::Triple::mips64el) { - if (hasMipsN32ABIArg(Args)) + if (hasMipsABIArg(Args, "n32")) return "/lib32/ld.so.1"; else return "/lib64/ld.so.1"; @@ -6492,13 +6492,13 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA, else if (ToolChain.getArch() == llvm::Triple::mipsel) CmdArgs.push_back("elf32ltsmip"); else if (ToolChain.getArch() == llvm::Triple::mips64) { - if (hasMipsN32ABIArg(Args)) + if (hasMipsABIArg(Args, "n32")) CmdArgs.push_back("elf32btsmipn32"); else CmdArgs.push_back("elf64btsmip"); } else if (ToolChain.getArch() == llvm::Triple::mips64el) { - if (hasMipsN32ABIArg(Args)) + if (hasMipsABIArg(Args, "n32")) CmdArgs.push_back("elf32ltsmipn32"); else CmdArgs.push_back("elf64ltsmip"); -- 2.40.0