llvm-project/libcxx/include
Louis Dionne c06a8f9caa [libc++] Include <__config_site> from <__config>
Prior to this patch, we would generate a fancy <__config> header by
concatenating <__config_site> and <__config>. This complexifies the
build system and also increases the difference between what's tested
and what's actually installed.

This patch removes that complexity and instead simply installs <__config_site>
alongside the libc++ headers. <__config_site> is then included by <__config>,
which is much simpler. Doing this also opens the door to having different
<__config_site> headers depending on the target, which was impossible before.

It does change the workflow for testing header-only changes to libc++.
Previously, we would run `lit` against the headers in libcxx/include.
After this patch, we run it against a fake installation root of the
headers (containing a proper <__config_site> header). This makes use
closer to testing what we actually install, which is good, however it
does mean that we have to update that root before testing header changes.
Thus, we now need to run `ninja check-cxx-deps` before running `lit` by
hand.

Differential Revision: https://reviews.llvm.org/D97572
2021-03-30 14:06:11 -07:00
..
__memory [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter(). 2021-02-03 16:28:38 -05:00
__support [libc++][AIX] Initial patch to unblock the libc++ build on AIX 2021-03-24 22:13:20 +00:00
experimental [libc++] Update and normalize the "all the headers" tests. 2020-12-03 15:01:38 -05:00
ext [libc++] Remove workarounds for missing rvalue references 2020-08-12 12:02:28 -04:00
CMakeLists.txt [libc++] Include <__config_site> from <__config> 2021-03-30 14:06:11 -07:00
__availability [libc++] Make feature-test macros consistent with availability macros 2021-02-04 11:40:22 -05:00
__bit_reference [libc++] Introduce __bits 2021-01-22 21:20:23 +01:00
__bits [NFC][libc++] Fix _LIBCPP_HAS_BITSCAN64 usage. 2021-02-23 08:13:49 +01:00
__bsd_locale_defaults.h
__bsd_locale_fallbacks.h
__config [libc++] Include <__config_site> from <__config> 2021-03-30 14:06:11 -07:00
__config_site.in [libc++] Make LIBCXX_ENABLE_FILESYSTEM fully consistent 2021-01-19 14:15:48 -05:00
__debug [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
__errc
__functional_03 [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
__functional_base [libc++] [LWG2993] reference_wrapper<T> conversion from U&& 2021-02-09 15:50:25 -05:00
__functional_base_03 [libc++] ADL-proof <functional> by adding _VSTD:: qualification on calls. 2020-12-14 12:08:34 -05:00
__hash_table [libc++] Fix some one-off typos in comments. NFCI. 2020-12-14 09:54:58 -05:00
__libcpp_version [libcxx] Update include/__libcpp_version to match include/__config 2021-01-27 15:16:55 +00:00
__locale [libc++] Rename include/support to include/__support 2021-02-04 10:16:33 -05:00
__mutex_base [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
__node_handle Avoid name conflict with kernel headers 2019-04-24 09:43:44 +00:00
__nullptr
__split_buffer Add noreturn attribute to non-returning functions 2021-03-10 14:35:50 -08:00
__sso_allocator [libc++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05:00
__std_stream
__string [libc++] [C++20] [P0482] Add missing tests and synopses for char8_t. 2021-03-23 18:45:31 +01:00
__threading_support [libcxx] Implement semaphores for windows 2021-03-05 10:48:59 +02:00
__tree [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
__tuple Refactor default constructor SFINAE in pair and tuple. 2019-09-30 20:55:30 +00:00
__undef_macros
algorithm [libc++] Further improve the contiguous-iterator story, and fix some bugs. 2021-02-05 15:18:04 -05:00
any [libc++] Include <__config> first in all standard headers. 2021-03-22 19:01:18 -04:00
array [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
atomic [libc++] Fix for the Bug 41784 2021-02-01 10:14:22 -05:00
barrier [libc++] [docs] Mark P1865 as complete since 11.0 as it was implemented together with P1135. Fix synopses in <barrier> and <latch>. 2020-12-06 15:36:52 +01:00
bit [libc++] Rename include/support to include/__support 2021-02-04 10:16:33 -05:00
bitset [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
cassert
ccomplex
cctype
cerrno
cfenv
cfloat
charconv [libc++] Include C++ headers, not C headers, in <charconv>. 2020-12-10 22:03:12 -05:00
chrono [libc++] Change `std::numeric_limits` to just `numeric_limits` in <chrono>. 2021-02-15 16:12:10 -05:00
cinttypes
ciso646
climits
clocale
cmath [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
codecvt [libc++] [P0482] [C++20] Implement missing bits for codecvt and codecvt_byname. 2020-12-02 09:01:58 +01:00
compare [libc++] Eliminate <compare>'s dependency on <array>. 2021-03-25 10:34:35 -04:00
complex [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
complex.h
concepts [libcxx] adds concept std::regular 2021-03-12 08:54:03 -08:00
condition_variable
csetjmp
csignal
cstdarg
cstdbool
cstddef Avoid using std::max_align_t in pre-C++11 mode 2020-04-04 01:38:41 +02:00
cstdint
cstdio Reland: Don't expose unavailable cstdio functions. 2020-04-16 12:51:08 -07:00
cstdlib Fix _LIBCPP_HAS_ definitions for Android. 2019-11-18 12:19:58 -08:00
cstring
ctgmath
ctime [libc++] Avoid including <sys/cdefs.h> on non-Apple platforms in <ctime> 2020-09-02 18:11:26 -04:00
ctype.h
cwchar
cwctype
deque [libc++] Use _EnableIf and __iter_value_type consistently. NFCI. 2021-03-29 09:22:52 -04:00
errno.h
exception [libc++] Split allocator_traits and pointer_traits out of <memory> 2020-12-14 16:13:57 -05:00
execution [pstl][libc++] Provide uglified header names for interface headers 2019-08-06 21:11:24 +00:00
fenv.h Mark fenv.h as a system header before the #include_next directive 2019-03-29 16:03:57 +00:00
filesystem [libcxx] Avoid intermediate string objects for substrings in windows operator/= 2021-03-11 19:34:59 +02:00
float.h
format [libc++][format] Enable format_error on older compilers. 2021-02-11 19:11:20 +01:00
forward_list [libc++] Use _EnableIf and __iter_value_type consistently. NFCI. 2021-03-29 09:22:52 -04:00
fstream [libc++] Make LIBCXX_ENABLE_FILESYSTEM fully consistent 2021-01-19 14:15:48 -05:00
functional [libcxx] adds std::identity to <functional> 2021-03-29 16:16:05 +00:00
future [libc++] Match declaration for non-member function std::swap(std::packaged_task) with what standard specify 2021-03-24 22:33:32 +00:00
initializer_list [NFC][libcxx] Remove trailing whitespace 2019-05-29 16:01:36 +00:00
inttypes.h AIX system headers need stdint.h and inttypes.h to be re-enterable 2019-06-20 15:36:32 +00:00
iomanip [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
ios [libc++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05:00
iosfwd [libc++] [C++20] [P0482] Add missing tests and synopses for char8_t. 2021-03-23 18:45:31 +01:00
iostream
istream [libc++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05:00
iterator [libc++] [P1032] Misc constexpr bits in <iterator>, <string_view>, <tuple>, <utility>. 2021-03-25 10:34:35 -04:00
latch [libc++] [docs] Mark P1865 as complete since 11.0 as it was implemented together with P1135. Fix synopses in <barrier> and <latch>. 2020-12-06 15:36:52 +01:00
limits [libc++] Rename include/support to include/__support 2021-02-04 10:16:33 -05:00
limits.h
list [libc++] Use _EnableIf and __iter_value_type consistently. NFCI. 2021-03-29 09:22:52 -04:00
locale [libcxx] Check return value for asprintf() 2021-01-21 19:43:11 -05:00
locale.h [libc++] Move the #error message for no localization to <locale.h> 2020-10-28 09:49:37 -04:00
map [libc++] Move __libcpp_erase_if_container into <iterator>, and ADL-proof it. 2021-03-22 11:13:33 -04:00
math.h [libc++] Use builtins in more math.h functions. 2021-02-10 15:17:42 -05:00
memory [libc++] NFC: Normalize links to bug reports 2021-03-03 13:45:29 -05:00
module.modulemap [libc++] Implement format_error. 2021-01-28 18:02:53 +01:00
mutex [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
new [NFC][libc++] Suppress "warning: ignoring return value" 2021-02-26 14:32:54 -08:00
numbers [libcxx] cleans up __cpp_concepts mess 2021-02-26 18:43:40 +00:00
numeric [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
optional [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
ostream [libc++] Drop old workaround for iostreams instantiations missing from the dylib 2020-10-22 14:51:25 -04:00
queue [libc++] Use _EnableIf and __iter_value_type consistently. NFCI. 2021-03-29 09:22:52 -04:00
random [libcxx] cleans up __cpp_concepts mess 2021-02-26 18:43:40 +00:00
ratio
regex [libc++] [P0935] [C++20] Eradicating unnecessarily explicit default constructors from the standard library. 2021-01-19 08:22:06 +01:00
scoped_allocator
semaphore [libc++] Fix some one-off typos in comments. NFCI. 2020-12-14 09:54:58 -05:00
set [libc++] Use _EnableIf and __iter_value_type consistently. NFCI. 2021-03-29 09:22:52 -04:00
setjmp.h
shared_mutex [libc++] Rework the whole availability markup implementation 2020-11-05 12:28:52 -05:00
span [libc++] Consistently unparenthesize `numeric_limits<T>::max`. NFCI. 2020-11-27 17:27:36 -05:00
sstream [libc++] [P0935] [C++20] Eradicating unnecessarily explicit default constructors from the standard library. 2021-01-19 08:22:06 +01:00
stack [libc++] Use _EnableIf and __iter_value_type consistently. NFCI. 2021-03-29 09:22:52 -04:00
stdbool.h
stddef.h Avoid using std::max_align_t in pre-C++11 mode 2020-04-04 01:38:41 +02:00
stdexcept [libc++] NFC: Simplify incude of <cstdlib> 2020-11-11 17:04:32 -05:00
stdint.h AIX system headers need stdint.h and inttypes.h to be re-enterable 2019-06-20 15:36:32 +00:00
stdio.h
stdlib.h Reland [libc++] Move abs and div into stdlib.h to fix header cycle. 2020-05-08 21:52:27 +02:00
streambuf [libc++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05:00
string [libc++] Use _EnableIf and __iter_value_type consistently. NFCI. 2021-03-29 09:22:52 -04:00
string.h
string_view [libc++] [P1032] Misc constexpr bits in <iterator>, <string_view>, <tuple>, <utility>. 2021-03-25 10:34:35 -04:00
strstream [libc++] [P0935] [C++20] Eradicating unnecessarily explicit default constructors from the standard library. 2021-01-19 08:22:06 +01:00
system_error [libc++] Include <__config> first in all standard headers. 2021-03-22 19:01:18 -04:00
tgmath.h
thread [libc++] ADL-proof <thread>, and eliminate `using namespace chrono`. 2020-12-01 22:13:39 -05:00
tuple [libc++] [P1032] Misc constexpr bits in <iterator>, <string_view>, <tuple>, <utility>. 2021-03-25 10:34:35 -04:00
type_traits [libc++] Consistency on _LIBCPP_CLANG_VER tests in <type_traits>. 2021-03-19 10:49:00 -04:00
typeindex
typeinfo [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
unordered_map [libc++] Move __libcpp_erase_if_container into <iterator>, and ADL-proof it. 2021-03-22 11:13:33 -04:00
unordered_set [libc++] Move __libcpp_erase_if_container into <iterator>, and ADL-proof it. 2021-03-22 11:13:33 -04:00
utility [libc++] [P1032] Misc constexpr bits in <iterator>, <string_view>, <tuple>, <utility>. 2021-03-25 10:34:35 -04:00
valarray [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
variant [libc++] [C++2b] [P2162] Allow inheritance from std::variant. 2021-03-25 18:20:50 +01:00
vector [libc++] Use _EnableIf and __iter_value_type consistently. NFCI. 2021-03-29 09:22:52 -04:00
version [libc++] [C++2b] [P2162] Allow inheritance from std::variant. 2021-03-25 18:20:50 +01:00
wchar.h [libc++] Revert "[SystemZ][z/OS] Missing wchar functions libc++" 2021-03-22 17:35:43 -04:00
wctype.h [libc++] Only include_next <wctype.h> if it exists 2020-11-17 13:14:36 -05:00