summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-07-21 15:10:57 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-07-21 15:10:57 +0000
commit3aa2f0a064f511fd5469f83032ee74ffc92d2258 (patch)
tree8d705724864f50f7f238104de71bc445a935f9fa
parent857a48a8d7eef43dd56cc9f191768a722576b3e3 (diff)
downloadbcm5719-llvm-3aa2f0a064f511fd5469f83032ee74ffc92d2258.tar.gz
bcm5719-llvm-3aa2f0a064f511fd5469f83032ee74ffc92d2258.zip
Define the _MIPS_SIM builtin macro on MIPS platforms. Patch by Robert Millan!
llvm-svn: 135675
-rw-r--r--clang/lib/Basic/Targets.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 1b17e2e9ed4..0414d196d4d 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -2685,8 +2685,26 @@ public:
}
virtual void getArchDefines(const LangOptions &Opts,
MacroBuilder &Builder) const {
- if (ABI == "o32")
+ if (ABI == "o32") {
Builder.defineMacro("__mips_o32");
+ Builder.defineMacro("_ABIO32", "1");
+ Builder.defineMacro("_MIPS_SIM", "_ABIO32");
+ }
+ else if (ABI == "n32") {
+ Builder.defineMacro("__mips_n32");
+ Builder.defineMacro("_ABIN32", "2");
+ Builder.defineMacro("_MIPS_SIM", "_ABIN32");
+ }
+ else if (ABI == "n64") {
+ Builder.defineMacro("__mips_n64");
+ Builder.defineMacro("_ABI64", "3");
+ Builder.defineMacro("_MIPS_SIM", "_ABI64");
+ }
+ else if (ABI == "o64") {
+ Builder.defineMacro("__mips_o64");
+ Builder.defineMacro("_ABIO64", "4");
+ Builder.defineMacro("_MIPS_SIM", "_ABIO64");
+ }
else if (ABI == "eabi")
Builder.defineMacro("__mips_eabi");
}
OpenPOWER on IntegriCloud