From aacf49110820029b101196bad3b81d82c37aa5fe Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Sat, 16 Aug 2025 06:56:17 +0200 Subject: [PATCH] [Clang][Driver][Hurd] Enable __float128 support on x86 on Hurd It works fine, and this makes the Hurd driver more consistent with other drivers. --- clang/lib/Basic/Targets/OSTargets.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h index a733f6e97b3a4..6c49a09ab27f5 100644 --- a/clang/lib/Basic/Targets/OSTargets.h +++ b/clang/lib/Basic/Targets/OSTargets.h @@ -328,9 +328,21 @@ class LLVM_LIBRARY_VISIBILITY HurdTargetInfo : public OSTargetInfo { Builder.defineMacro("_REENTRANT"); if (Opts.CPlusPlus) Builder.defineMacro("_GNU_SOURCE"); + if (this->HasFloat128) + Builder.defineMacro("__FLOAT128__"); } public: - using OSTargetInfo::OSTargetInfo; + HurdTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) + : OSTargetInfo(Triple, Opts) { + switch (Triple.getArch()) { + default: + break; + case llvm::Triple::x86: + case llvm::Triple::x86_64: + this->HasFloat128 = true; + break; + } + } }; // Linux target