From c6a0be00ab36d2ea2df739a5718be865e2894735 Mon Sep 17 00:00:00 2001 From: Simon Atanasyan Date: Wed, 29 Aug 2012 20:50:11 +0000 Subject: [PATCH] Define __mips64 / __mips64__ macros for MIPS 64-bit targets. The patch suggested by Brad Smith. llvm-svn: 162858 --- clang/lib/Basic/Targets.cpp | 3 +++ clang/test/Preprocessor/init.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 11509aa9953e..1e0e3e30b75f 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -3977,6 +3977,9 @@ public: MacroBuilder &Builder) const { MipsTargetInfoBase::getTargetDefines(Opts, Builder); + Builder.defineMacro("__mips64"); + Builder.defineMacro("__mips64__"); + if (ABI == "n32") { Builder.defineMacro("__mips_n32"); Builder.defineMacro("_ABIN32", "2"); diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c index 66b91aad10b2..eaf08ca87d01 100644 --- a/clang/test/Preprocessor/init.c +++ b/clang/test/Preprocessor/init.c @@ -791,6 +791,8 @@ // MIPS64BE:#define __clang__ 1 // MIPS64BE:#define __llvm__ 1 // MIPS64BE:#define __mips 1 +// MIPS64BE:#define __mips64 1 +// MIPS64BE:#define __mips64__ 1 // MIPS64BE:#define __mips__ 1 // MIPS64BE:#define __mips_hard_float 1 // MIPS64BE:#define __mips_n64 1 @@ -904,6 +906,8 @@ // MIPS64EL:#define __clang__ 1 // MIPS64EL:#define __llvm__ 1 // MIPS64EL:#define __mips 1 +// MIPS64EL:#define __mips64 1 +// MIPS64EL:#define __mips64__ 1 // MIPS64EL:#define __mips__ 1 // MIPS64EL:#define __mips_hard_float 1 // MIPS64EL:#define __mips_n64 1