aboutsummaryrefslogtreecommitdiff
path: root/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Basic/Targets.cpp')
-rw-r--r--lib/Basic/Targets.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index c9a3deab28..eed9e2cc19 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -991,8 +991,13 @@ class ARMTargetInfo : public TargetInfo {
Armv7a,
XScale
} ArmArch;
+
+ std::string ABI;
+
public:
- ARMTargetInfo(const std::string& triple) : TargetInfo(triple) {
+ ARMTargetInfo(const std::string& triple)
+ : TargetInfo(triple), ABI("aapcs-linux")
+ {
// FIXME: Are the defaults correct for ARM?
DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-"
"i64:32:32-f32:32:32-f64:32:32-"
@@ -1016,7 +1021,10 @@ public:
ArmArch = Armv6;
}
}
+ virtual const char *getABI() const { return ABI.c_str(); }
virtual bool setABI(const std::string &Name) {
+ ABI = Name;
+
// The defaults (above) are for AAPCS, check if we need to change them.
//
// FIXME: We need support for -meabi... we could just mangle it into the