aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/ADT/Triple.h
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@arm.com>2011-01-21 18:25:47 +0000
committerRenato Golin <renato.golin@arm.com>2011-01-21 18:25:47 +0000
commit859f8183639346378ed29d1e04a4b070ebc7e97f (patch)
treec52e2cb8579093cc8e76670765e8b3f07d5e52fa /include/llvm/ADT/Triple.h
parent596937914548c181f2504aad3b709189e87a561b (diff)
downloadexternal_llvm-859f8183639346378ed29d1e04a4b070ebc7e97f.zip
external_llvm-859f8183639346378ed29d1e04a4b070ebc7e97f.tar.gz
external_llvm-859f8183639346378ed29d1e04a4b070ebc7e97f.tar.bz2
Clang was not parsing target triples involving EABI and was generating wrong IR (wrong PCS) and passing the wrong information down llc via the target-triple printed in IR. I've fixed this by adding the parsing of EABI into LLVM's Triple class and using it to choose the correct PCS in Clang's Tools. A Clang patch is on its way to use this infrastructure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123990 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT/Triple.h')
-rw-r--r--include/llvm/ADT/Triple.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h
index ef53eb9..8c2d18d 100644
--- a/include/llvm/ADT/Triple.h
+++ b/include/llvm/ADT/Triple.h
@@ -72,7 +72,8 @@ public:
UnknownVendor,
Apple,
- PC
+ PC,
+ NoVendor
};
enum OSType {
UnknownOS,
@@ -92,10 +93,15 @@ public:
Solaris,
Win32,
Haiku,
- Minix
+ Minix,
+ NoOS
};
enum EnvironmentType {
- UnknownEnvironment
+ UnknownEnvironment,
+
+ GNU,
+ GNUEABI,
+ EABI
};
private: