Define the _MIPS_SIM builtin macro on MIPS platforms. Patch by Robert Millan!

llvm-svn: 135675
This commit is contained in:
Bruno Cardoso Lopes 2011-07-21 15:10:57 +00:00
parent 857a48a8d7
commit 3aa2f0a064
1 changed files with 19 additions and 1 deletions

View 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");
}