summaryrefslogtreecommitdiffstats
path: root/lib/Support
diff options
context:
space:
mode:
authorEli Bendersky <eliben@google.com>2013-01-22 18:02:49 +0000
committerEli Bendersky <eliben@google.com>2013-01-22 18:02:49 +0000
commit9dd2a3b1f2c253e20262535bb89b1ab6cc680ece (patch)
treea09ede4ebc6fd6ed1ba755225a016be1cec33aae /lib/Support
parent91df03b8f29905c8293f61696ffb95398eafa663 (diff)
downloadexternal_llvm-9dd2a3b1f2c253e20262535bb89b1ab6cc680ece.zip
external_llvm-9dd2a3b1f2c253e20262535bb89b1ab6cc680ece.tar.gz
external_llvm-9dd2a3b1f2c253e20262535bb89b1ab6cc680ece.tar.bz2
Initial patch for x32 ABI support.
Add the x32 environment kind to the triple, and separate the concept of pointer size and callee save stack slot size, since they're not equal on x32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173175 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support')
-rw-r--r--lib/Support/Triple.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp
index eefb96b..ad7b189 100644
--- a/lib/Support/Triple.cpp
+++ b/lib/Support/Triple.cpp
@@ -140,6 +140,7 @@ const char *Triple::getEnvironmentTypeName(EnvironmentType Kind) {
case GNU: return "gnu";
case GNUEABIHF: return "gnueabihf";
case GNUEABI: return "gnueabi";
+ case GNUX32: return "gnux32";
case EABI: return "eabi";
case MachO: return "macho";
case Android: return "android";
@@ -284,6 +285,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
.StartsWith("eabi", Triple::EABI)
.StartsWith("gnueabihf", Triple::GNUEABIHF)
.StartsWith("gnueabi", Triple::GNUEABI)
+ .StartsWith("gnux32", Triple::GNUX32)
.StartsWith("gnu", Triple::GNU)
.StartsWith("macho", Triple::MachO)
.StartsWith("android", Triple::Android)