llvm-project/libcxx/include
Tom Honermann 946849f6d0 [libc++] Workaround the absence of the __GLIBC_USE macro in glibc versions prior to 2.25.
This change correct a configuration check that relies on the glibc __GLIBC_USE
macro being defined. Previously, the function-like macro was expanded without
ensuring it was actually defined. This resulted in compilation failures for
glibc versions prior to 2.25 (the glibc version in which the macro was added).

Differential Revision: https://reviews.llvm.org/D130946
2022-09-11 16:39:37 -04:00
..
__algorithm [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__bit [libc++][NFC] Use concepts in <bit>. 2022-06-13 18:17:48 +02:00
__charconv [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
__chrono [libc++] Fix compilation error on platforms that don't implement std::tm 2022-09-08 18:10:53 -04:00
__compare [libc++] Granularize the rest of type_traits 2022-08-14 10:30:48 +02:00
__concepts [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__coroutine [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__debug_utils [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
__filesystem [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__format [libc++][chrono] Implements formatter day. 2022-09-07 18:44:04 +02:00
__functional [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__fwd [libc++] Granularize __tuple 2022-09-05 16:36:24 +02:00
__ios [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
__iterator [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__memory [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__numeric [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__random [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__ranges [libc++] Granularize __tuple 2022-09-05 16:36:24 +02:00
__string [NFC][libc++] char_traits code cleanups. 2022-08-31 22:18:10 +02:00
__support [libc++] Make the naming of private member variables consistent and enforce it through readability-identifier-naming 2022-09-02 21:36:36 +02:00
__thread [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
__tuple [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__type_traits [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__utility [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__variant [libc++][spaceship] Implement std::variant::operator<=> 2022-08-14 16:16:52 -07:00
experimental [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
ext [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
CMakeLists.txt [libc++][chrono] Implements formatter day. 2022-09-07 18:44:04 +02:00
__assert [libc++] Rename __libcpp_assertion_handler to __libcpp_verbose_abort 2022-07-29 13:52:42 -04:00
__availability [libc++] Allow enabling assertions when back-deploying 2022-08-08 08:43:34 -04:00
__bit_reference [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
__bits [libc++] Implements 128-bit support in to_chars. 2022-07-07 17:32:27 +02:00
__bsd_locale_defaults.h [libc++][NFC] Fix include guards and add a missing license header 2022-03-23 13:14:19 -04:00
__bsd_locale_fallbacks.h [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
__config [libc++] Workaround the absence of the __GLIBC_USE macro in glibc versions prior to 2.25. 2022-09-11 16:39:37 -04:00
__config_site.in [libc++] Treat incomplete features just like other experimental features 2022-07-19 10:50:20 -04:00
__debug [libc++][NFC] Enable modernize-use-override 2022-08-25 20:55:08 +02:00
__errc [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
__hash_table [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__locale [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
__mbstate_t.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
__mutex_base [libc++][NFC] Replace enable_if with __enable_if_t in a few places 2022-07-04 11:09:34 +02:00
__node_handle [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__split_buffer [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__std_stream [libc++] Revert "Protect users from relying on detail headers" & related changes 2022-03-01 08:20:24 -05:00
__threading_support [libc++] Granularize the rest of type_traits 2022-08-14 10:30:48 +02:00
__tree [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
__undef_macros [libc++] Assume that push_macro and pop_macro are available 2022-05-23 20:47:44 +02:00
__verbose_abort [libc++] Make __libcpp_verbose_abort [[noreturn]] 2022-08-10 10:37:15 -04:00
algorithm [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
any [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
array [libc++] Granularize __tuple 2022-09-05 16:36:24 +02:00
atomic [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
barrier [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
bit [NFC][libc++] Moves transitive includes location. 2022-09-03 10:06:16 +02:00
bitset [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
cassert [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
ccomplex [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
cctype [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cerrno [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cfenv [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cfloat [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
charconv [NFC][libc++] Moves transitive includes location. 2022-09-03 10:06:16 +02:00
chrono [libc++][chrono] Implements formatter day. 2022-09-07 18:44:04 +02:00
cinttypes [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
ciso646 [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
climits [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
clocale [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cmath [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
codecvt [libc++] Make the naming of private member variables consistent and enforce it through readability-identifier-naming 2022-09-02 21:36:36 +02:00
compare [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
complex [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
complex.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
concepts [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
condition_variable [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
coroutine [NFC][libc++] Moves transitive includes location. 2022-09-03 10:06:16 +02:00
csetjmp [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
csignal [libc++] Fix modules builds when features are removed 2022-06-08 18:48:25 -04:00
cstdarg [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
cstdbool [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
cstddef [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cstdint [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cstdio [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cstdlib [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cstring [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
ctgmath [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
ctime [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
ctype.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
cuchar [libc++][cuchar] Declare std::c8rtomb and std::mbrtoc8 in <cuchar> if available. 2022-09-10 21:10:33 -04:00
cwchar [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
cwctype [libc++] Diagnose when header search paths are set up incorrectly 2022-08-17 14:05:26 -04:00
deque [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
errno.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
exception [libc++] Make the naming of private member variables consistent and enforce it through readability-identifier-naming 2022-09-02 21:36:36 +02:00
execution [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
fenv.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
filesystem [libc++] Implement `operator<=>` for `filesystem::directory_entry` 2022-08-18 14:46:13 -07:00
float.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
format [NFC][libc++][format] Removes unused code. 2022-09-03 13:34:14 +02:00
forward_list [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
fstream [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
functional [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
future [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
initializer_list [libc++][NFC] Rename the constexpr macros 2022-08-19 15:35:02 +02:00
inttypes.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
iomanip [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI 2022-08-13 22:41:22 +02:00
ios [libc++][NFC] Enable modernize-use-override 2022-08-25 20:55:08 +02:00
iosfwd [libc++] Remove macros for IBM compiler 2022-06-14 09:15:41 -04:00
iostream [libc++] Mark standard-mandated includes as such 2022-06-17 20:43:33 +02:00
istream [libc++][NFC] Enable modernize-use-override 2022-08-25 20:55:08 +02:00
iterator [NFC][libc++] Moves transitive includes location. 2022-09-03 10:06:16 +02:00
latch [libc++] Make the naming of private member variables consistent and enforce it through readability-identifier-naming 2022-09-02 21:36:36 +02:00
limits [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
limits.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
list [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
locale [libc++][locale] Removes an transitive include. 2022-09-07 18:54:26 +02:00
locale.h [libc++] Improve error messages for disabled modes 2022-05-20 09:36:55 -04:00
map [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
math.h [libc++] Granularize some more type_traits 2022-07-24 22:22:12 +02:00
memory [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
module.modulemap.in [libc++][random] Removes transitive includes. 2022-09-11 17:39:27 +02:00
mutex [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
new [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
numbers [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
numeric [NFC][libc++] Moves transitive includes location. 2022-09-03 10:06:16 +02:00
optional [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
ostream [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
queue [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
random [libc++][random] Removes transitive includes. 2022-09-11 17:39:27 +02:00
ranges [libc++] Granularize __tuple 2022-09-05 16:36:24 +02:00
ratio Revert "[libcxx] Resolve warnings for Wshift-sign-overflow" 2022-08-17 10:37:24 -07:00
regex [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
scoped_allocator [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
semaphore [libc++] Make the naming of private member variables consistent and enforce it through readability-identifier-naming 2022-09-02 21:36:36 +02:00
set [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
setjmp.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
shared_mutex [libc++] Make the naming of private member variables consistent and enforce it through readability-identifier-naming 2022-09-02 21:36:36 +02:00
span [NFC][libc++] Moves transitive includes location. 2022-09-03 10:06:16 +02:00
sstream [libc++][NFC] Enable modernize-use-override 2022-08-25 20:55:08 +02:00
stack [NFC][libc++] Moves transitive includes location. 2022-09-03 10:06:16 +02:00
stdatomic.h [libc++] Remove overly conservative error in <stdatomic.h> 2022-05-16 15:30:01 -04:00
stdbool.h [libc++] Ensure that all public C++ headers include <__assert> 2022-03-30 15:05:31 -04:00
stddef.h [libc++] Remove the ability to use the std::nullptr_t emulation in C++03 mode 2022-02-07 17:51:05 -05:00
stdexcept [libc++][NFC] Enable modernize-use-override 2022-08-25 20:55:08 +02:00
stdint.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
stdio.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
stdlib.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
streambuf [libc++] Towards a simpler extern template story in libc++ 2022-06-08 22:05:07 -04:00
string [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
string.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
string_view [NFC][libc++] Moves transitive includes location. 2022-09-03 10:06:16 +02:00
strstream [libc++][NFC] Enable modernize-use-override 2022-08-25 20:55:08 +02:00
system_error [libc++][NFC] Enable modernize-use-override 2022-08-25 20:55:08 +02:00
tgmath.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00
thread [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
tuple [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
type_traits [libc++] Granularize the rest of type_traits 2022-08-14 10:30:48 +02:00
typeindex [NFC][libc++] Moves transitive includes location. 2022-09-03 10:06:16 +02:00
typeinfo [libc++][NFC] Enable modernize-use-override 2022-08-25 20:55:08 +02:00
uchar.h [libc++][cuchar] Declare std::c8rtomb and std::mbrtoc8 in <cuchar> if available. 2022-09-10 21:10:33 -04:00
unordered_map [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
unordered_set [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
utility [libc++] Granularize __tuple 2022-09-05 16:36:24 +02:00
valarray [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
variant [libc++] Avoid instantiating type_trait classes 2022-09-06 19:09:42 +02:00
vector [libc++] Granularize the rest of memory 2022-09-05 12:36:41 +02:00
version [libc++][format] Updates feature-test macros. 2022-09-07 18:39:39 +02:00
wchar.h [libc++] Make parameter names consistent and enforce the naming style using readability-identifier-naming 2022-07-08 18:17:47 +02:00
wctype.h [libc++] Normalize all our '#pragma GCC system_header', and regression-test. 2022-02-04 12:27:19 -05:00