enabling float128 support in clang?

Brooks Davis <[email protected]>
Newsgroups gmane.os.freebsd.architechture
Message-ID <[email protected]>
TL;DR: Is there a reason not to enable float128 support in clang for
x86?

Due to a build breakage with the flang runtime, I recently noticed that 
unlike most other OSes we don't support float128 in clang.  It's enable
in modern GCC and other OSes have it enable in clang:
 - Hakiu 2018: https://reviews.llvm.org/D54901
 - Solaris 2018: https://reviews.llvm.org/D41240
 - WASM 2019: https://reviews.llvm.org/D57154
 - Dragonfly 2021: https://reviews.llvm.org/D111760
 - OpenBSD (history hard to find...)

Is there a known reason not to enable this?

Patch to enable below (I'm a bit skeptical of the __FLOAT128__ part as
GCC doesn't define it...)

-- Brooks

diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h
index c75f7d9fbafe..ea95f40e81a0 100644
--- a/clang/lib/Basic/Targets/OSTargets.h
+++ b/clang/lib/Basic/Targets/OSTargets.h
@@ -232,6 +232,9 @@ protected:
     // setting this to 1 is conforming even if all the basic source
     // character literals have the same encoding as char and wchar_t.
     Builder.defineMacro("__STDC_MB_MIGHT_NEQ_WC__", "1");
+
+    if (this->HasFloat128)
+      Builder.defineMacro("__FLOAT128__");
   }
 
 public:
@@ -241,6 +244,7 @@ public:
     default:
     case llvm::Triple::x86:
     case llvm::Triple::x86_64:
+      this->HasFloat128 = true;
       this->MCountName = ".mcount";
       break;
     case llvm::Triple::mips:
signature.asc (application/pgp-signature, 455 B)
-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJjOy09AAoJEKzQXbSebgfAntkH/2+tGDC6GKQclxKHY+712v4F
OeSKHWdYh6A5qrQU0E/5pvJx4UoJ3fwffgJF3vdMzy822pN2ti/H1Ohf8W4ywETK
kTNDpgUrhecPFozpBnC9LQYWAXO4tBlBXZ7xL1b2LLFVz3UZSJRGv3v//+fHZ05u
SMv2HvMK2mEOzXZGqqVQ9TWgx8YXlxst5fFjU6K2QZX8vkRqzSHW8F7achI+/ddh
hCp22I1OA/ikTHMjz+s0WCi953LEtRBz+t30jJWP9kMIi+irbYkbwYrLkOHWIpt4
kzpte4AsVJMhTHUb71FTRbTMtbdTsgpuoH6t+Y4IdLYAbnaZ+7G7KSr67k0QVyc=
=kJOs
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.