From 8c24d1a29442ff362292ea1690452652bb49d1c6 Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Thu, 21 Jul 2011 15:10:57 +0000 Subject: [PATCH] Define the _MIPS_SIM builtin macro on MIPS platforms. Patch by Robert Millan! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135675 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 1b17e2e9ed..0414d196d4 100644 --- a/lib/Basic/Targets.cpp +++ b/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"); } -- 2.40.0