From a40b38a637d305b4f406312ca11f8a861591aef9 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Fri, 26 May 2017 17:48:01 +0000 Subject: [PATCH] Only define __SIZEOF_FLOAT128__ on x86 as intended in r304012 GCC only defines it on x86. llvm-svn: 304013 --- clang/lib/Basic/Targets.cpp | 3 +++ clang/lib/Frontend/InitPreprocessor.cpp | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 636be1f..6be83d2 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -4165,6 +4165,9 @@ void X86TargetInfo::getTargetDefines(const LangOptions &Opts, } if (CPU >= CK_i586) Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8"); + + if (HasFloat128) + Builder.defineMacro("__SIZEOF_FLOAT128__", "16"); } bool X86TargetInfo::hasFeature(StringRef Feature) const { diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index fb788c4..08befb3 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -750,8 +750,6 @@ static void InitializePredefinedMacros(const TargetInfo &TI, TI.getTypeWidth(TI.getWIntType()), TI, Builder); if (TI.hasInt128Type()) DefineTypeSizeof("__SIZEOF_INT128__", 128, TI, Builder); - if (TI.hasFloat128Type()) - DefineTypeSizeof("__SIZEOF_FLOAT128__", 128, TI, Builder); DefineType("__INTMAX_TYPE__", TI.getIntMaxType(), Builder); DefineFmt("__INTMAX", TI.getIntMaxType(), TI, Builder); -- 2.7.4