From: Saleem Abdulrasool Date: Thu, 6 Mar 2014 20:47:19 +0000 (+0000) Subject: Update for LLVM API change X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b12c514753a93ef2579f53134c6162d2a5b9c009;p=clang Update for LLVM API change Use the new getObjectFormat/setObjectFormat instead of Environment now that the file format is a separate field. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203161 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 1a59ec6208..6df7b95b29 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -5911,7 +5911,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { } case llvm::Triple::x86_64: - if (Triple.isOSDarwin() || Triple.getEnvironment() == llvm::Triple::MachO) + if (Triple.isOSDarwin() || Triple.getObjectFormat() == llvm::Triple::MachO) return new DarwinX86_64TargetInfo(Triple); switch (os) { diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index ba53db073c..382f8af405 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -1971,7 +1971,7 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, TC = new toolchains::Generic_ELF(*this, Target, Args); break; } - if (Target.getEnvironment() == llvm::Triple::MachO) { + if (Target.getObjectFormat() == llvm::Triple::MachO) { TC = new toolchains::MachO(*this, Target, Args); break; } diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 70c06466bf..86a62376ab 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -666,10 +666,6 @@ StringRef tools::arm::getARMFloatABI(const Driver &D, const ArgList &Args, // EABI is always AAPCS, and if it was not marked 'hard', it's softfp FloatABI = "softfp"; break; - case llvm::Triple::MachO: { - FloatABI = "soft"; - break; - } case llvm::Triple::Android: { std::string ArchName = arm::getLLVMArchSuffixForARM(arm::getARMTargetCPU(Args, Triple)); @@ -682,6 +678,10 @@ StringRef tools::arm::getARMFloatABI(const Driver &D, const ArgList &Args, default: // Assume "soft", but warn the user we are guessing. FloatABI = "soft"; + // *-macho defaults to "soft" + if (Triple.getOS() == llvm::Triple::UnknownOS && + Triple.getObjectFormat() == llvm::Triple::MachO) + break; D.Diag(diag::warn_drv_assuming_mfloat_abi_is) << "soft"; break; } @@ -761,7 +761,8 @@ void Clang::AddARMTargetArgs(const ArgList &Args, // The backend is hardwired to assume AAPCS for M-class processors, ensure // the frontend matches that. if (Triple.getEnvironment() == llvm::Triple::EABI || - Triple.getEnvironment() == llvm::Triple::MachO || + (Triple.getOS() == llvm::Triple::UnknownOS && + Triple.getObjectFormat() == llvm::Triple::MachO) || StringRef(CPUName).startswith("cortex-m")) { ABIName = "aapcs"; } else { @@ -4885,7 +4886,7 @@ void darwin::setTripleTypeForMachOArchName(llvm::Triple &T, StringRef Str) { T.setArchName(Str); else if (Str == "armv6m" || Str == "armv7m" || Str == "armv7em") { T.setOS(llvm::Triple::UnknownOS); - T.setEnvironment(llvm::Triple::MachO); + T.setObjectFormat(llvm::Triple::MachO); } } diff --git a/lib/Driver/WindowsToolChain.cpp b/lib/Driver/WindowsToolChain.cpp index e19292085e..c9328e6825 100644 --- a/lib/Driver/WindowsToolChain.cpp +++ b/lib/Driver/WindowsToolChain.cpp @@ -43,7 +43,7 @@ Tool *Windows::buildLinker() const { } Tool *Windows::buildAssembler() const { - if (getTriple().getEnvironment() == llvm::Triple::MachO) + if (getTriple().getObjectFormat() == llvm::Triple::MachO) return new tools::darwin::Assemble(*this); getDriver().Diag(clang::diag::err_no_external_assembler); return NULL;