From 260e5067f3cca1630c6ed88757a15b23622b52d1 Mon Sep 17 00:00:00 2001 From: Simon Atanasyan Date: Wed, 29 Aug 2012 15:17:29 +0000 Subject: [PATCH] Define _MIPS_ARCH and _MIPS_ARCH_ macros for MIPS targets. The patch suggested by Logan Chien. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162840 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets.cpp | 3 +++ test/Preprocessor/init.c | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 1d495f1f64..b5cc54d44f 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -3736,6 +3736,9 @@ public: Builder.defineMacro("_MIPS_SZPTR", Twine(getPointerWidth(0))); Builder.defineMacro("_MIPS_SZINT", Twine(getIntWidth())); Builder.defineMacro("_MIPS_SZLONG", Twine(getLongWidth())); + + Builder.defineMacro("_MIPS_ARCH", "\"" + CPU + "\""); + Builder.defineMacro("_MIPS_ARCH_" + StringRef(CPU).upper()); } virtual void getTargetDefines(const LangOptions &Opts, diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c index e7321e0630..66b91aad10 100644 --- a/test/Preprocessor/init.c +++ b/test/Preprocessor/init.c @@ -461,6 +461,8 @@ // MIPS32BE:#define _ABIO32 1 // MIPS32BE-NOT:#define _LP64 // MIPS32BE:#define _MIPSEB 1 +// MIPS32BE:#define _MIPS_ARCH "mips32" +// MIPS32BE:#define _MIPS_ARCH_MIPS32 1 // MIPS32BE:#define _MIPS_SIM _ABIO32 // MIPS32BE:#define _MIPS_SZINT 32 // MIPS32BE:#define _MIPS_SZLONG 32 @@ -575,6 +577,8 @@ // MIPS32EL:#define _ABIO32 1 // MIPS32EL-NOT:#define _LP64 // MIPS32EL:#define _MIPSEL 1 +// MIPS32EL:#define _MIPS_ARCH "mips32" +// MIPS32EL:#define _MIPS_ARCH_MIPS32 1 // MIPS32EL:#define _MIPS_SIM _ABIO32 // MIPS32EL:#define _MIPS_SZINT 32 // MIPS32EL:#define _MIPS_SZLONG 32 @@ -686,6 +690,8 @@ // MIPS64BE:#define _ABI64 3 // MIPS64BE:#define _LP64 1 // MIPS64BE:#define _MIPSEB 1 +// MIPS64BE:#define _MIPS_ARCH "mips64" +// MIPS64BE:#define _MIPS_ARCH_MIPS64 1 // MIPS64BE:#define _MIPS_SIM _ABI64 // MIPS64BE:#define _MIPS_SZINT 32 // MIPS64BE:#define _MIPS_SZLONG 64 @@ -797,6 +803,8 @@ // MIPS64EL:#define _ABI64 3 // MIPS64EL:#define _LP64 1 // MIPS64EL:#define _MIPSEL 1 +// MIPS64EL:#define _MIPS_ARCH "mips64" +// MIPS64EL:#define _MIPS_ARCH_MIPS64 1 // MIPS64EL:#define _MIPS_SIM _ABI64 // MIPS64EL:#define _MIPS_SZINT 32 // MIPS64EL:#define _MIPS_SZLONG 64 -- 2.40.0