]> granicus.if.org Git - clang/commitdiff
Define the _MIPS_SIM builtin macro on MIPS platforms. Patch by Robert Millan!
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Thu, 21 Jul 2011 15:10:57 +0000 (15:10 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Thu, 21 Jul 2011 15:10:57 +0000 (15:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135675 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets.cpp

index 1b17e2e9ed4d120310e84dbd96b2c164db5cc8a9..0414d196d4d995e12349a605faf55e9ff7f9ab76 100644 (file)
@@ -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");
   }