summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-12-18 19:57:13 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-12-18 19:57:13 +0000
commitc454ecf9d0319ffd287184f17a8cdd5836ff005d (patch)
tree9d01d237d9485d46cdd03e3b36780b13495136dc
parentb3fa919c2dd7dbc0e0c20b5ba248626db803be71 (diff)
downloadbcm5719-llvm-c454ecf9d0319ffd287184f17a8cdd5836ff005d.tar.gz
bcm5719-llvm-c454ecf9d0319ffd287184f17a8cdd5836ff005d.zip
ARM: Define __thumb2__ for V6T2 targets and only define
__USING_SJLJ_EXCEPTIONS__ on Darwin. llvm-svn: 91705
-rw-r--r--clang/lib/Basic/Targets.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 91b747d691e..63a71c7a22c 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -1194,13 +1194,11 @@ public:
ARMTargetInfo(const std::string &TripleStr)
: TargetInfo(TripleStr), ABI("aapcs-linux"), CPU("arm1136j-s")
{
- llvm::Triple Triple(TripleStr);
-
SizeType = UnsignedInt;
PtrDiffType = SignedInt;
// FIXME: Should we just treat this as a feature?
- IsThumb = Triple.getArchName().startswith("thumb");
+ IsThumb = getTriple().getArchName().startswith("thumb");
if (IsThumb) {
DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-"
"i64:64:64-f32:32:32-f64:64:64-"
@@ -1308,7 +1306,7 @@ public:
if (IsThumb) {
Define(Defs, "__THUMBEL__");
Define(Defs, "__thumb__");
- if (CPUArch.startswith("7"))
+ if (CPUArch == "6T2" || CPUArch.startswith("7"))
Define(Defs, "__thumb2__");
}
@@ -1317,7 +1315,8 @@ public:
// FIXME: This should be conditional on VFP instruction support.
Define(Defs, "__VFP_FP__");
- Define(Defs, "__USING_SJLJ_EXCEPTIONS__");
+ if (getTriple().getOS() == llvm::Triple::Darwin)
+ Define(Defs, "__USING_SJLJ_EXCEPTIONS__");
}
virtual void getTargetBuiltins(const Builtin::Info *&Records,
unsigned &NumRecords) const {
OpenPOWER on IntegriCloud