r203161 - Update for LLVM API change
Saleem Abdulrasool
compnerd at compnerd.org
Thu Mar 6 12:47:19 PST 2014
Author: compnerd
Date: Thu Mar 6 14:47:19 2014
New Revision: 203161
URL: http://llvm.org/viewvc/llvm-project?rev=203161&view=rev
Log:
Update for LLVM API change
Use the new getObjectFormat/setObjectFormat instead of Environment now that the
file format is a separate field.
Modified:
cfe/trunk/lib/Basic/Targets.cpp
cfe/trunk/lib/Driver/Driver.cpp
cfe/trunk/lib/Driver/Tools.cpp
cfe/trunk/lib/Driver/WindowsToolChain.cpp
Modified: cfe/trunk/lib/Basic/Targets.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=203161&r1=203160&r2=203161&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/Targets.cpp (original)
+++ cfe/trunk/lib/Basic/Targets.cpp Thu Mar 6 14:47:19 2014
@@ -5911,7 +5911,7 @@ static TargetInfo *AllocateTarget(const
}
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) {
Modified: cfe/trunk/lib/Driver/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=203161&r1=203160&r2=203161&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Driver.cpp (original)
+++ cfe/trunk/lib/Driver/Driver.cpp Thu Mar 6 14:47:19 2014
@@ -1971,7 +1971,7 @@ const ToolChain &Driver::getToolChain(co
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;
}
Modified: cfe/trunk/lib/Driver/Tools.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=203161&r1=203160&r2=203161&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Tools.cpp (original)
+++ cfe/trunk/lib/Driver/Tools.cpp Thu Mar 6 14:47:19 2014
@@ -666,10 +666,6 @@ StringRef tools::arm::getARMFloatABI(con
// 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(con
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 ArgLi
// 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::setTripleTypeForMachOArchNa
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);
}
}
Modified: cfe/trunk/lib/Driver/WindowsToolChain.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/WindowsToolChain.cpp?rev=203161&r1=203160&r2=203161&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/WindowsToolChain.cpp (original)
+++ cfe/trunk/lib/Driver/WindowsToolChain.cpp Thu Mar 6 14:47:19 2014
@@ -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;
More information about the cfe-commits
mailing list