From 7e7626a7ef33801dd69ad7e6df8a48285ce3036e Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Sat, 25 Mar 2017 05:40:13 +0000 Subject: [PATCH] Define __HAVE_BSWAP__ on ppc to match gcc since we support both builtins as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298769 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets.cpp | 4 +++- test/Preprocessor/init.c | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 1971042fc8..e2db335cb3 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -1395,6 +1395,9 @@ void PPCTargetInfo::getTargetDefines(const LangOptions &Opts, if (PointerWidth == 64) Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8"); + // We have support for the bswap intrinsics so we can define this. + Builder.defineMacro("__HAVE_BSWAP__", "1"); + // FIXME: The following are not yet generated here by Clang, but are // generated by GCC: // @@ -1407,7 +1410,6 @@ void PPCTargetInfo::getTargetDefines(const LangOptions &Opts, // __RSQRTEF__ // _SOFT_DOUBLE_ // __NO_LWSYNC__ - // __HAVE_BSWAP__ // __LONGDOUBLE128 // __CMODEL_MEDIUM__ // __CMODEL_LARGE__ diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c index 3fc5907e4d..5505548105 100644 --- a/test/Preprocessor/init.c +++ b/test/Preprocessor/init.c @@ -5560,6 +5560,7 @@ // PPC64:#define __FLT_MIN_EXP__ (-125) // PPC64:#define __FLT_MIN__ 1.17549435e-38F // PPC64:#define __FLT_RADIX__ 2 +// PPC64:#define __HAVE_BSWAP__ 1 // PPC64:#define __INT16_C_SUFFIX__ // PPC64:#define __INT16_FMTd__ "hd" // PPC64:#define __INT16_FMTi__ "hi" @@ -5763,6 +5764,7 @@ // PPC64LE:#define __FLT_MIN_EXP__ (-125) // PPC64LE:#define __FLT_MIN__ 1.17549435e-38F // PPC64LE:#define __FLT_RADIX__ 2 +// PPC64LE:#define __HAVE_BSWAP__ 1 // PPC64LE:#define __INT16_C_SUFFIX__ // PPC64LE:#define __INT16_FMTd__ "hd" // PPC64LE:#define __INT16_FMTi__ "hi" @@ -6182,6 +6184,7 @@ // PPC64-LINUX:#define __FLT_MIN_EXP__ (-125) // PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F // PPC64-LINUX:#define __FLT_RADIX__ 2 +// PPC64-LINUX:#define __HAVE_BSWAP__ 1 // PPC64-LINUX:#define __INT16_C_SUFFIX__ // PPC64-LINUX:#define __INT16_FMTd__ "hd" // PPC64-LINUX:#define __INT16_FMTi__ "hi" @@ -6393,6 +6396,7 @@ // PPC:#define __FLT_MIN_EXP__ (-125) // PPC:#define __FLT_MIN__ 1.17549435e-38F // PPC:#define __FLT_RADIX__ 2 +// PPC:#define __HAVE_BSWAP__ 1 // PPC:#define __INT16_C_SUFFIX__ // PPC:#define __INT16_FMTd__ "hd" // PPC:#define __INT16_FMTi__ "hi" @@ -6584,6 +6588,7 @@ // PPC-LINUX:#define __FLT_MIN_EXP__ (-125) // PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F // PPC-LINUX:#define __FLT_RADIX__ 2 +// PPC-LINUX:#define __HAVE_BSWAP__ 1 // PPC-LINUX:#define __INT16_C_SUFFIX__ // PPC-LINUX:#define __INT16_FMTd__ "hd" // PPC-LINUX:#define __INT16_FMTi__ "hi" @@ -6775,6 +6780,7 @@ // PPC-DARWIN:#define __FLT_MIN_EXP__ (-125) // PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F // PPC-DARWIN:#define __FLT_RADIX__ 2 +// PPC-DARWIN:#define __HAVE_BSWAP__ 1 // PPC-DARWIN:#define __INT16_C_SUFFIX__ // PPC-DARWIN:#define __INT16_FMTd__ "hd" // PPC-DARWIN:#define __INT16_FMTi__ "hi" -- 2.40.0