aboutsummaryrefslogtreecommitdiff
path: root/libcxx/src/filesystem/int128_builtins.cpp
diff options
context:
space:
mode:
authorNikolas Klauser <nikolasklauser@berlin.de>2024-10-12 09:49:52 +0200
committerGitHub <noreply@github.com>2024-10-12 09:49:52 +0200
commitba87515fea90b5d55836a8e3be63a7e683ce299d (patch)
tree25b36e09d01ff31f453e6a8141629a52a7f673bb /libcxx/src/filesystem/int128_builtins.cpp
parentdbd197118db597970a5a9c5688c5e0bb01948ebb (diff)
downloadllvm-ba87515fea90b5d55836a8e3be63a7e683ce299d.zip
llvm-ba87515fea90b5d55836a8e3be63a7e683ce299d.tar.gz
llvm-ba87515fea90b5d55836a8e3be63a7e683ce299d.tar.bz2
[libc++][RFC] Always define internal feature test macros (#89178)
Currently, the library-internal feature test macros are only defined if the feature is not available, and always have the prefix `_LIBCPP_HAS_NO_`. This patch changes that, so that they are always defined and have the prefix `_LIBCPP_HAS_` instead. This changes the canonical use of these macros to `#if _LIBCPP_HAS_FEATURE`, which means that using an undefined macro (e.g. due to a missing include) is diagnosed now. While this is rather unlikely currently, a similar change in `<__configuration/availability.h>` caught a few bugs. This also improves readability, since it removes the double-negation of `#ifndef _LIBCPP_HAS_NO_FEATURE`. The current patch only touches the macros defined in `<__config>`. If people are happy with this approach, I'll make a follow-up PR to also change the macros defined in `<__config_site>`.
Diffstat (limited to 'libcxx/src/filesystem/int128_builtins.cpp')
-rw-r--r--libcxx/src/filesystem/int128_builtins.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxx/src/filesystem/int128_builtins.cpp b/libcxx/src/filesystem/int128_builtins.cpp
index 72b7cb4..da6f39e 100644
--- a/libcxx/src/filesystem/int128_builtins.cpp
+++ b/libcxx/src/filesystem/int128_builtins.cpp
@@ -16,7 +16,7 @@
#include <__config>
#include <climits>
-#if !defined(_LIBCPP_HAS_NO_INT128)
+#if _LIBCPP_HAS_INT128
extern "C" __attribute__((no_sanitize("undefined"))) _LIBCPP_EXPORTED_FROM_ABI __int128_t
__muloti4(__int128_t a, __int128_t b, int* overflow) {