summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-03-06 20:47:19 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-03-06 20:47:19 +0000
commit29b82b631dc3271abbddd99ffc923c097c4959d9 (patch)
treed608bb3806cc4d3f8c80197e4902407f1f17fef6 /clang/lib/Driver/Tools.cpp
parent35476334e994d15f775f187a51d6acdf9ae3c4a0 (diff)
downloadbcm5719-llvm-29b82b631dc3271abbddd99ffc923c097c4959d9.tar.gz
bcm5719-llvm-29b82b631dc3271abbddd99ffc923c097c4959d9.zip
Update for LLVM API change
Use the new getObjectFormat/setObjectFormat instead of Environment now that the file format is a separate field. llvm-svn: 203161
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 70c06466bfd..86a62376abd 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/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);
}
}
OpenPOWER on IntegriCloud