diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2011-07-21 15:10:57 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2011-07-21 15:10:57 +0000 |
commit | 3aa2f0a064f511fd5469f83032ee74ffc92d2258 (patch) | |
tree | 8d705724864f50f7f238104de71bc445a935f9fa | |
parent | 857a48a8d7eef43dd56cc9f191768a722576b3e3 (diff) | |
download | bcm5719-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.cpp | 20 |
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"); } |