[libc-commits] [libc] [libc][NFC] Don't expose how `float16` and `float128` types are provided (PR #83818)
Guillaume Chatelet via libc-commits
libc-commits at lists.llvm.org
Mon Mar 4 05:57:31 PST 2024
https://github.com/gchatelet updated https://github.com/llvm/llvm-project/pull/83818
>From 6df5a0d0dd6ff059a1728f8fe538032e228b8054 Mon Sep 17 00:00:00 2001
From: Guillaume Chatelet <gchatelet at google.com>
Date: Mon, 4 Mar 2024 10:12:50 +0000
Subject: [PATCH] [libc][NFC] Don't expose how float16 and float128 types are
provided
---
libc/include/llvm-libc-types/float128.h | 7 +++----
libc/src/__support/macros/properties/types.h | 11 ++++-------
2 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/libc/include/llvm-libc-types/float128.h b/libc/include/llvm-libc-types/float128.h
index 0b290c676ecc02..82ebb79f1f5808 100644
--- a/libc/include/llvm-libc-types/float128.h
+++ b/libc/include/llvm-libc-types/float128.h
@@ -19,18 +19,17 @@
// https://github.com/llvm/llvm-project/issues/80195
#if defined(__STDC_IEC_60559_BFP__) && !defined(__clang__) && \
!defined(__cplusplus)
-// Use _Float128 C23 type.
-#define LIBC_COMPILER_HAS_C23_FLOAT128
+#define LIBC_TYPES_HAS_FLOAT128
typedef _Float128 float128;
#elif defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__)
// Use __float128 type. gcc and clang sometime use __SIZEOF_FLOAT128__ to
// notify the availability of __float128.
// clang also uses __FLOAT128__ macro to notify the availability of __float128
// type: https://reviews.llvm.org/D15120
-#define LIBC_COMPILER_HAS_FLOAT128_EXTENSION
+#define LIBC_TYPES_HAS_FLOAT128
typedef __float128 float128;
#elif (LDBL_MANT_DIG == 113)
-// Use long double.
+#define LIBC_TYPES_HAS_FLOAT128
typedef long double float128;
#endif
diff --git a/libc/src/__support/macros/properties/types.h b/libc/src/__support/macros/properties/types.h
index 595871e73b8fcc..a8d321f174e4f2 100644
--- a/libc/src/__support/macros/properties/types.h
+++ b/libc/src/__support/macros/properties/types.h
@@ -26,7 +26,7 @@
#define LIBC_LONG_DOUBLE_IS_FLOAT128
#endif
-// float16 support.
+// -- float16 support ---------------------------------------------------------
// TODO: move this logic to "llvm-libc-types/float16.h"
#if defined(LIBC_TARGET_ARCH_IS_X86_64) && defined(LIBC_TARGET_CPU_HAS_SSE2)
#if (defined(LIBC_COMPILER_CLANG_VER) && (LIBC_COMPILER_CLANG_VER >= 1500)) || \
@@ -50,11 +50,8 @@ using float16 = _Float16;
#endif
#endif
-// float128 support.
-#if defined(LIBC_COMPILER_HAS_C23_FLOAT128) || \
- defined(LIBC_COMPILER_HAS_FLOAT128_EXTENSION) || \
- defined(LIBC_LONG_DOUBLE_IS_FLOAT128)
-#define LIBC_TYPES_HAS_FLOAT128
-#endif
+// -- float128 support --------------------------------------------------------
+// LIBC_TYPES_HAS_FLOAT128 and 'float128' type are provided by
+// "include/llvm-libc-types/float128.h"
#endif // LLVM_LIBC_SRC___SUPPORT_MACROS_PROPERTIES_TYPES_H
More information about the libc-commits
mailing list