Skip to content

Commit eebe2de

Browse files
committed
[libc++][RFC] Always define internal feature test macros
1 parent 3d56ea0 commit eebe2de

File tree

111 files changed

+722
-697
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+722
-697
lines changed

libcxx/include/__atomic/aliases.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ using atomic_long = atomic<long>;
3737
using atomic_ulong = atomic<unsigned long>;
3838
using atomic_llong = atomic<long long>;
3939
using atomic_ullong = atomic<unsigned long long>;
40-
#ifndef _LIBCPP_HAS_NO_CHAR8_T
40+
#if _LIBCPP_HAS_CHAR8_T
4141
using atomic_char8_t = atomic<char8_t>;
4242
#endif
4343
using atomic_char16_t = atomic<char16_t>;

libcxx/include/__atomic/atomic_lock_free.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#if defined(__CLANG_ATOMIC_BOOL_LOCK_FREE)
1919
# define ATOMIC_BOOL_LOCK_FREE __CLANG_ATOMIC_BOOL_LOCK_FREE
2020
# define ATOMIC_CHAR_LOCK_FREE __CLANG_ATOMIC_CHAR_LOCK_FREE
21-
# ifndef _LIBCPP_HAS_NO_CHAR8_T
21+
# if _LIBCPP_HAS_CHAR8_T
2222
# define ATOMIC_CHAR8_T_LOCK_FREE __CLANG_ATOMIC_CHAR8_T_LOCK_FREE
2323
# endif
2424
# define ATOMIC_CHAR16_T_LOCK_FREE __CLANG_ATOMIC_CHAR16_T_LOCK_FREE
@@ -32,7 +32,7 @@
3232
#elif defined(__GCC_ATOMIC_BOOL_LOCK_FREE)
3333
# define ATOMIC_BOOL_LOCK_FREE __GCC_ATOMIC_BOOL_LOCK_FREE
3434
# define ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE
35-
# ifndef _LIBCPP_HAS_NO_CHAR8_T
35+
# if _LIBCPP_HAS_CHAR8_T
3636
# define ATOMIC_CHAR8_T_LOCK_FREE __GCC_ATOMIC_CHAR8_T_LOCK_FREE
3737
# endif
3838
# define ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE

libcxx/include/__availability

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,10 +315,10 @@
315315

316316
#endif
317317

318-
// Define availability attributes that depend on _LIBCPP_HAS_NO_EXCEPTIONS.
318+
// Define availability attributes that depend on _LIBCPP_HAS_EXCEPTIONS.
319319
// Those are defined in terms of the availability attributes above, and
320320
// should not be vendor-specific.
321-
#if defined(_LIBCPP_HAS_NO_EXCEPTIONS)
321+
#if !_LIBCPP_HAS_EXCEPTIONS
322322
# define _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST
323323
# define _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
324324
# define _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
@@ -329,8 +329,8 @@
329329
#endif
330330

331331
// Define availability attributes that depend on both
332-
// _LIBCPP_HAS_NO_EXCEPTIONS and _LIBCPP_HAS_NO_RTTI.
333-
#if defined(_LIBCPP_HAS_NO_EXCEPTIONS) || defined(_LIBCPP_HAS_NO_RTTI)
332+
// _LIBCPP_HAS_EXCEPTIONS and _LIBCPP_HAS_RTTI.
333+
#if !_LIBCPP_HAS_EXCEPTIONS || !_LIBCPP_HAS_RTTI
334334
# undef _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION
335335
# undef _LIBCPP_AVAILABILITY_INIT_PRIMARY_EXCEPTION
336336
# define _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION 0

libcxx/include/__bit/byteswap.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ _LIBCPP_NODISCARD_EXT _LIBCPP_HIDE_FROM_ABI constexpr _Tp byteswap(_Tp __val) no
3232
return __builtin_bswap32(__val);
3333
} else if constexpr (sizeof(_Tp) == 8) {
3434
return __builtin_bswap64(__val);
35-
# ifndef _LIBCPP_HAS_NO_INT128
35+
# if _LIBCPP_HAS_INT128
3636
} else if constexpr (sizeof(_Tp) == 16) {
3737
# if __has_builtin(__builtin_bswap128)
3838
return __builtin_bswap128(__val);
3939
# else
4040
return static_cast<_Tp>(byteswap(static_cast<uint64_t>(__val))) << 64 |
4141
static_cast<_Tp>(byteswap(static_cast<uint64_t>(__val >> 64)));
4242
# endif // __has_builtin(__builtin_bswap128)
43-
# endif // _LIBCPP_HAS_NO_INT128
43+
# endif // _LIBCPP_HAS_INT128
4444
} else {
4545
static_assert(sizeof(_Tp) == 0, "byteswap is unimplemented for integral types of this size");
4646
}

libcxx/include/__bit/countl.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR int __libcpp_cl
3939
return __builtin_clzll(__x);
4040
}
4141

42-
#ifndef _LIBCPP_HAS_NO_INT128
42+
#if _LIBCPP_HAS_INT128
4343
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR int __libcpp_clz(__uint128_t __x) _NOEXCEPT {
4444
# if __has_builtin(__builtin_clzg)
4545
return __builtin_clzg(__x);
@@ -57,7 +57,7 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR int __libcpp_clz(__uint128_t __x)
5757
: __builtin_clzll(static_cast<unsigned long long>(__x >> 64));
5858
# endif
5959
}
60-
#endif // _LIBCPP_HAS_NO_INT128
60+
#endif // _LIBCPP_HAS_INT128
6161

6262
template <class _Tp>
6363
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 int __countl_zero(_Tp __t) _NOEXCEPT {

libcxx/include/__charconv/tables.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ inline constexpr uint64_t __pow10_64[20] = {
9595
UINT64_C(1000000000000000000),
9696
UINT64_C(10000000000000000000)};
9797

98-
# ifndef _LIBCPP_HAS_NO_INT128
98+
# if _LIBCPP_HAS_INT128
9999
inline constexpr int __pow10_128_offset = 0;
100100
inline constexpr __uint128_t __pow10_128[40] = {
101101
UINT64_C(0),

libcxx/include/__charconv/to_chars_base_10.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ __base_10_u64(char* __buffer, uint64_t __value) noexcept {
124124
return __itoa::__append10(__buffer, __value);
125125
}
126126

127-
# ifndef _LIBCPP_HAS_NO_INT128
127+
# if _LIBCPP_HAS_INT128
128128
/// \returns 10^\a exp
129129
///
130130
/// \pre \a exp [19, 39]

libcxx/include/__charconv/to_chars_integral.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ __to_chars_itoa(char* __first, char* __last, _Tp __value, false_type) {
7070
return {__last, errc::value_too_large};
7171
}
7272

73-
# ifndef _LIBCPP_HAS_NO_INT128
73+
# if _LIBCPP_HAS_INT128
7474
template <>
7575
inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI to_chars_result
7676
__to_chars_itoa(char* __first, char* __last, __uint128_t __value, false_type) {

libcxx/include/__charconv/traits.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ struct _LIBCPP_HIDDEN __traits_base<_Tp, __enable_if_t<sizeof(_Tp) == sizeof(uin
8888
}
8989
};
9090

91-
# ifndef _LIBCPP_HAS_NO_INT128
91+
# if _LIBCPP_HAS_INT128
9292
template <typename _Tp>
9393
struct _LIBCPP_HIDDEN __traits_base<_Tp, __enable_if_t<sizeof(_Tp) == sizeof(__uint128_t)> > {
9494
using type = __uint128_t;

libcxx/include/__chrono/file_clock.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ _LIBCPP_END_NAMESPACE_STD
4848
#ifndef _LIBCPP_CXX03_LANG
4949
_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
5050
struct _FilesystemClock {
51-
# if !defined(_LIBCPP_HAS_NO_INT128)
51+
# if _LIBCPP_HAS_INT128
5252
typedef __int128_t rep;
5353
typedef nano period;
5454
# else

0 commit comments

Comments
 (0)