[libc++][C++03] Use __cxx03/ headers in C++03 mode (#109002)

This patch implements the forwarding to frozen C++03 headers as
discussed in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In the
RFC, we initially proposed selecting the right headers from the Clang
driver, however consensus seemed to steer towards handling this in the
library itself. This patch implements that direction.

At a high level, the changes basically amount to making each public
header look like this:

```
// inside <vector>
#ifdef _LIBCPP_CXX03_LANG
#  include <__cxx03/vector>
#else
  // normal <vector> content
#endif
```

In most cases, public headers are simple umbrella headers so there isn't
much code in the #else branch. In other cases, the #else branch contains
the actual implementation of the header.
This commit is contained in:
Nikolas Klauser 2024-12-21 13:01:48 +01:00 committed by GitHub
parent c361fd5a7a
commit b9a2658a3e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
247 changed files with 2889 additions and 2506 deletions

View File

@ -43,6 +43,7 @@ jobs:
fail-fast: false
matrix:
config: [
'frozen-cxx03-headers',
'generic-cxx03',
'generic-cxx26',
'generic-modules'

View File

@ -0,0 +1,2 @@
set(LIBCXX_TEST_PARAMS "std=c++03;test_frozen_cxx03_headers=True" CACHE STRING "")
set(LIBCXXABI_TEST_PARAMS "${LIBCXX_TEST_PARAMS}" CACHE STRING "")

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -10,10 +10,10 @@
#ifndef _LIBCPP___CXX03___CONFIG
#define _LIBCPP___CXX03___CONFIG
#include <__config_site>
#include <__cxx03/__configuration/abi.h>
#include <__cxx03/__configuration/availability.h>
#include <__cxx03/__configuration/compiler.h>
#include <__cxx03/__configuration/config_site_shim.h>
#include <__cxx03/__configuration/platform.h>
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER

View File

@ -10,8 +10,8 @@
#ifndef _LIBCPP___CXX03___CONFIGURATION_ABI_H
#define _LIBCPP___CXX03___CONFIGURATION_ABI_H
#include <__config_site>
#include <__cxx03/__configuration/compiler.h>
#include <__cxx03/__configuration/config_site_shim.h>
#include <__cxx03/__configuration/platform.h>
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER

View File

@ -10,7 +10,7 @@
#ifndef _LIBCPP___CXX03___CONFIGURATION_COMPILER_H
#define _LIBCPP___CXX03___CONFIGURATION_COMPILER_H
#include <__config_site>
#include <__cxx03/__configuration/config_site_shim.h>
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
# pragma GCC system_header

View File

@ -0,0 +1,80 @@
//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP___CXX03___CONFIGURATION_CONFIG_SITE_SHIM_H
#define _LIBCPP___CXX03___CONFIGURATION_CONFIG_SITE_SHIM_H
#include <__config_site>
#if !_LIBCPP_ABI_FORCE_ITANIUM
# undef _LIBCPP_ABI_FORCE_ITANIUM
#endif
#if !_LIBCPP_ABI_FORCE_MICROSOFT
# undef _LIBCPP_ABI_FORCE_MICROSOFT
#endif
#if !_LIBCPP_HAS_THREADS
# define _LIBCPP_HAS_NO_THREADS
#endif
#if !_LIBCPP_HAS_MONOTONIC_CLOCK
# define _LIBCPP_HAS_NO_MONOTONIC_CLOCK
#endif
#if !_LIBCPP_HAS_MUSL_LIBC
# undef _LIBCPP_HAS_MUSL_LIBC
#endif
#if !_LIBCPP_HAS_THREAD_API_PTHREAD
# undef _LIBCPP_HAS_THREAD_API_PTHREAD
#endif
#if !_LIBCPP_HAS_THREAD_API_EXTERNAL
# undef _LIBCPP_HAS_THREAD_API_EXTERNAL
#endif
#if !_LIBCPP_HAS_THREAD_API_WIN32
# undef _LIBCPP_HAS_THREAD_API_WIN32
#endif
#undef _LIBCPP_HAS_THREAD_API_C11
#if !_LIBCPP_HAS_VENDOR_AVAILABILITY_ANNOTATIONS
# define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
#endif
#if !_LIBCPP_HAS_FILESYSTEM
# define _LIBCPP_HAS_NO_FILESYSTEM
#endif
#if !_LIBCPP_HAS_RANDOM_DEVICE
# define _LIBCPP_HAS_NO_RANDOM_DEVICE
#endif
#if !_LIBCPP_HAS_LOCALIZATION
# define _LIBCPP_HAS_NO_LOCALIZATION
#endif
#if !_LIBCPP_HAS_UNICODE
# define _LIBCPP_HAS_NO_UNICODE
#endif
#if !_LIBCPP_HAS_WIDE_CHARACTERS
# define _LIBCPP_HAS_NO_WIDE_CHARACTERS
#endif
#if !_LIBCPP_HAS_TIME_ZONE_DATABASE
# define _LIBCPP_HAS_NO_TIME_ZONE_DATABASE
#endif
#if !_LIBCPP_INSTRUMENTED_WITH_ASAN
# undef _LIBCPP_INSTRUMENTED_WITH_ASAN
#endif
#endif // _LIBCPP___CXX03___CONFIGURATION_CONFIG_SITE_SHIM_H

View File

@ -10,7 +10,7 @@
#ifndef _LIBCPP___CXX03___CONFIGURATION_LANGUAGE_H
#define _LIBCPP___CXX03___CONFIGURATION_LANGUAGE_H
#include <__config_site>
#include <__cxx03/__configuration/config_site_shim.h>
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
# pragma GCC system_header

View File

@ -10,7 +10,7 @@
#ifndef _LIBCPP___CXX03___CONFIGURATION_PLATFORM_H
#define _LIBCPP___CXX03___CONFIGURATION_PLATFORM_H
#include <__config_site>
#include <__cxx03/__configuration/config_site_shim.h>
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
# pragma GCC system_header

View File

@ -15,8 +15,8 @@
#include <__cxx03/__locale_dir/locale_base_api/locale_guard.h>
#include <__cxx03/cstdio>
#include <__cxx03/stdarg.h>
#include <__cxx03/stdlib.h>
#include <stdarg.h>
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
# include <__cxx03/cwchar>

View File

@ -15,8 +15,8 @@
#include <__cxx03/__config>
#include <__cxx03/ctime>
#include <__cxx03/errno.h>
#include <__cxx03/pthread.h>
#include <__cxx03/sched.h>
#include <pthread.h>
#include <sched.h>
#ifdef __MVS__
# include <__cxx03/__support/ibm/nanosleep.h>

View File

@ -39,7 +39,7 @@ Macros:
#include <__cxx03/__config>
#include <__cxx03/limits.h>
#include <limits.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header

View File

@ -222,7 +222,7 @@ template <class charT> class messages_byname;
// Most unix variants have catopen. These are the specific ones that don't.
# if !defined(__BIONIC__) && !defined(_NEWLIB_VERSION) && !defined(__EMSCRIPTEN__)
# define _LIBCPP_HAS_CATOPEN 1
# include <__cxx03/nl_types.h>
# include <nl_types.h>
# endif
# endif

File diff suppressed because it is too large Load Diff

View File

@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
#ifndef _LIBCPP_VERSIONH
#define _LIBCPP_VERSIONH
#ifndef _LIBCPP___CXX03_VERSIONH
#define _LIBCPP___CXX03_VERSIONH
/*
version synopsis
@ -563,4 +563,4 @@ __cpp_lib_void_t 201411L <type_traits>
// clang-format on
#endif // _LIBCPP_VERSIONH
#endif // _LIBCPP___CXX03_VERSIONH

View File

@ -1827,8 +1827,9 @@ template <class BidirectionalIterator, class Compare>
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/algorithm>
#else
# include <__config>
# include <__algorithm/adjacent_find.h>
@ -2056,6 +2057,6 @@ template <class BidirectionalIterator, class Compare>
# include <type_traits>
# include <utility>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ALGORITHM

View File

@ -80,8 +80,9 @@ namespace std {
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/any>
#else
# include <__config>
# include <__memory/allocator.h>
# include <__memory/allocator_destructor.h>
@ -611,6 +612,6 @@ _LIBCPP_POP_MACROS
# include <type_traits>
# include <variant>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ANY

View File

@ -111,8 +111,9 @@ template <size_t I, class T, size_t N> const T&& get(const array<T, N>&&) noexce
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/array>
#else
# include <__algorithm/equal.h>
# include <__algorithm/fill_n.h>
# include <__algorithm/lexicographical_compare.h>
@ -567,6 +568,6 @@ _LIBCPP_POP_MACROS
# include <type_traits>
# include <utility>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ARRAY

View File

@ -587,8 +587,9 @@ template <class T>
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/atomic>
#else
# include <__config>
# include <__atomic/aliases.h>
@ -625,6 +626,6 @@ template <class T>
# include <cstring>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ATOMIC

View File

@ -45,8 +45,9 @@ namespace std
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/barrier>
#else
# include <__config>
# if _LIBCPP_HAS_THREADS
@ -306,6 +307,6 @@ _LIBCPP_POP_MACROS
# include <stdexcept>
# include <variant>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_BARRIER

View File

@ -61,8 +61,9 @@ namespace std {
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/bit>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 20
@ -95,6 +96,6 @@ namespace std {
# include <limits>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_BIT

View File

@ -126,8 +126,9 @@ template <size_t N> struct hash<std::bitset<N>>;
// clang-format on
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/bitset>
#else
# include <__algorithm/count.h>
# include <__algorithm/fill.h>
# include <__algorithm/fill_n.h>
@ -971,6 +972,6 @@ _LIBCPP_POP_MACROS
# include <cstdlib>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_BITSET

View File

@ -16,8 +16,9 @@ Macros:
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cassert>
#else
# include <__config>
// <assert.h> is not provided by libc++
@ -31,4 +32,4 @@ Macros:
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)

View File

@ -17,8 +17,9 @@
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/ccomplex>
#else
# include <complex>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -36,6 +37,6 @@ using __standard_header_ccomplex _LIBCPP_DEPRECATED_("Include <complex> instead.
using __use_standard_header_ccomplex = __standard_header_ccomplex;
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CCOMPLEX

View File

@ -34,8 +34,9 @@ int toupper(int c);
} // std
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cctype>
#else
# include <__config>
# include <ctype.h>
@ -125,6 +126,6 @@ using ::tolower _LIBCPP_USING_IF_EXISTS;
using ::toupper _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CCTYPE

View File

@ -22,8 +22,9 @@ Macros:
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cerrno>
#else
# include <__config>
# include <errno.h>
@ -46,6 +47,6 @@ Macros:
// deprecated in libc++ in https://github.com/llvm/llvm-project/pull/80542.
// Based on the post commit feedback the macro are no longer deprecated.
// Instead libc++ leaves the deprecation to the provider of errno.h.
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CERRNO

View File

@ -52,8 +52,9 @@ int feupdateenv(const fenv_t* envp);
} // std
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cfenv>
#else
# include <__config>
# include <fenv.h>
@ -86,8 +87,9 @@ using ::fegetenv _LIBCPP_USING_IF_EXISTS;
using ::feholdexcept _LIBCPP_USING_IF_EXISTS;
using ::fesetenv _LIBCPP_USING_IF_EXISTS;
using ::feupdateenv _LIBCPP_USING_IF_EXISTS;
#endif // 0
_LIBCPP_END_NAMESPACE_STD
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CFENV

View File

@ -69,8 +69,9 @@ Macros:
LDBL_TRUE_MIN // C11
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cfloat>
#else
# include <__config>
# include <float.h>
@ -86,6 +87,6 @@ Macros:
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CFLOAT

View File

@ -75,8 +75,9 @@ namespace std {
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/charconv>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 17
@ -115,6 +116,6 @@ _LIBCPP_END_NAMESPACE_STD
# include <new>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CHARCONV

View File

@ -939,8 +939,9 @@ constexpr chrono::year operator ""y(unsigned lo
// clang-format on
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/chrono>
#else
# include <__config>
# include <__chrono/duration.h>
@ -1019,6 +1020,6 @@ constexpr chrono::year operator ""y(unsigned lo
# include <ostream>
# endif
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CHRONO

View File

@ -234,8 +234,9 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
} // std
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cinttypes>
#else
# include <__config>
// standard-mandated includes
@ -269,6 +270,6 @@ using ::wcstoumax _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CINTTYPES

View File

@ -15,8 +15,9 @@
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/ciso646>
#else
# include <__config>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -29,6 +30,6 @@ using __standard_header_ciso646 _LIBCPP_DEPRECATED_("removed in C++20. Include <
using __use_standard_header_ciso646 = __standard_header_ciso646;
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CISO646

View File

@ -37,8 +37,9 @@ Macros:
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/climits>
#else
# include <__config>
# include <limits.h>
@ -47,6 +48,6 @@ Macros:
# pragma GCC system_header
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CLIMITS

View File

@ -34,8 +34,9 @@ lconv* localeconv();
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/clocale>
#else
# include <__config>
# if __has_include(<locale.h>)
@ -54,6 +55,6 @@ using ::localeconv _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CLOCALE

View File

@ -312,8 +312,9 @@ constexpr long double lerp(long double a, long double b, long double t) noexcept
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cmath>
#else
# include <__config>
# include <__math/hypot.h>
# include <__type_traits/enable_if.h>
@ -616,6 +617,6 @@ _LIBCPP_POP_MACROS
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CMATH

View File

@ -54,8 +54,9 @@ class codecvt_utf8_utf16
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/codecvt>
#else
# include <__config>
# include <__locale>
# include <version>
@ -595,6 +596,6 @@ _LIBCPP_END_NAMESPACE_STD
# include <type_traits>
# include <typeinfo>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CODECVT

View File

@ -140,8 +140,9 @@ namespace std {
}
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/compare>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 20
@ -171,6 +172,6 @@ namespace std {
# include <cstddef>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_COMPARE

View File

@ -256,8 +256,9 @@ template<class T> complex<T> tanh (const complex<T>&);
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/complex>
#else
# include <__config>
# include <__fwd/complex.h>
# include <__fwd/tuple.h>
@ -1476,6 +1477,6 @@ _LIBCPP_POP_MACROS
# include <stdexcept>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_COMPLEX

View File

@ -17,8 +17,9 @@
*/
#if 0
#else // 0
#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/complex.h>
#else
# include <__config>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -30,6 +31,6 @@
# elif __has_include_next(<complex.h>)
# include_next <complex.h>
# endif
#endif // 0
#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_COMPLEX_H

View File

@ -129,8 +129,9 @@ namespace std {
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/concepts>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 20
@ -168,6 +169,6 @@ namespace std {
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CONCEPTS

View File

@ -118,8 +118,9 @@ public:
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/condition_variable>
#else
# include <__chrono/duration.h>
# include <__chrono/steady_clock.h>
# include <__chrono/time_point.h>
@ -367,6 +368,6 @@ _LIBCPP_POP_MACROS
# include <type_traits>
# include <typeinfo>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CONDITION_VARIABLE

View File

@ -38,8 +38,9 @@ struct suspend_always;
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/coroutine>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 20
@ -66,6 +67,6 @@ struct suspend_always;
# include <limits>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_COROUTINE

View File

@ -30,8 +30,9 @@ void longjmp(jmp_buf env, int val);
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/csetjmp>
#else
# include <__config>
// <setjmp.h> is not provided by libc++
@ -53,6 +54,6 @@ using ::longjmp _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSETJMP

View File

@ -39,8 +39,9 @@ int raise(int sig);
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/csignal>
#else
# include <__config>
// <signal.h> is not provided by libc++
@ -63,6 +64,6 @@ using ::raise _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSIGNAL

View File

@ -20,8 +20,9 @@ Macros:
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/__config>
#else
# include <__config>
// <stdalign.h> is not provided by libc++
@ -53,6 +54,6 @@ using __standard_header_cstdalign _LIBCPP_DEPRECATED = void;
using __use_standard_header_cstdalign = __standard_header_cstdalign;
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTDALIGN

View File

@ -31,8 +31,9 @@ Types:
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cstdarg>
#else
# include <__config>
// <stdarg.h> is not provided by libc++
@ -53,6 +54,6 @@ using ::va_list _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTDARG

View File

@ -19,8 +19,9 @@ Macros:
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cstdbool>
#else
# include <__config>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -41,6 +42,6 @@ using __standard_header_cstdbool _LIBCPP_DEPRECATED = void;
using __use_standard_header_cstdbool = __standard_header_cstdbool;
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTDBOOL

View File

@ -33,8 +33,9 @@ Types:
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cstddef>
#else
# include <__config>
# include <version>
@ -57,6 +58,6 @@ Types:
# include <__cstddef/nullptr_t.h>
# include <__cstddef/ptrdiff_t.h>
# include <__cstddef/size_t.h>
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTDDEF

View File

@ -140,8 +140,9 @@ Types:
} // std
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cstdint>
#else
# include <__config>
# if __has_include(<stdint.h>)
@ -192,6 +193,6 @@ using ::uintmax_t _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTDINT

View File

@ -95,8 +95,9 @@ void perror(const char* s);
} // std
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cstdio>
#else
# include <__config>
# include <__cstddef/size_t.h>
@ -173,6 +174,6 @@ using ::vprintf _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTDIO

View File

@ -81,8 +81,9 @@ void *aligned_alloc(size_t alignment, size_t size); // C11
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cstdlib>
#else
# include <__config>
# include <__cstddef/size_t.h>
@ -153,6 +154,6 @@ using ::aligned_alloc _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTDLIB

View File

@ -56,8 +56,9 @@ size_t strlen(const char* s);
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cstring>
#else
# include <__config>
# include <__cstddef/size_t.h>
# include <__type_traits/is_constant_evaluated.h>
@ -103,6 +104,6 @@ using ::strlen _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTRING

View File

@ -18,8 +18,9 @@
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/ctgmath>
#else
# include <cmath>
# include <complex>
@ -39,6 +40,6 @@ using __use_standard_header_ctgmath = __standard_header_ctgmath;
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CTGMATH

View File

@ -45,8 +45,9 @@ int timespec_get( struct timespec *ts, int base); // C++17
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/ctime>
#else
# include <__config>
# include <__cstddef/size_t.h>
@ -85,6 +86,6 @@ using ::timespec_get _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CTIME

View File

@ -29,8 +29,9 @@ int tolower(int c);
int toupper(int c);
*/
#if 0
#else // 0
#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/ctype.h>
#else
# include <__config>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -59,6 +60,6 @@ int toupper(int c);
# undef toupper
# endif
#endif // 0
#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CTYPE_H

View File

@ -36,8 +36,9 @@ size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cuchar>
#else
# include <__config>
# include <__cstddef/size_t.h>
@ -71,8 +72,9 @@ using ::mbrtoc32 _LIBCPP_USING_IF_EXISTS;
using ::c32rtomb _LIBCPP_USING_IF_EXISTS;
# endif // _LIBCPP_CXX03_LANG
#endif // 0
_LIBCPP_END_NAMESPACE_STD
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CUCHAR

View File

@ -102,8 +102,9 @@ size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cwchar>
#else
# include <__config>
# include <__cstddef/size_t.h>
# include <__type_traits/copy_cv.h>
@ -259,6 +260,6 @@ _LIBCPP_END_NAMESPACE_STD
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <cstddef>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CWCHAR

View File

@ -49,8 +49,9 @@ wctrans_t wctrans(const char* property);
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/cwctype>
#else
# include <__config>
# include <cctype>
@ -96,6 +97,6 @@ using ::wctrans _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CWCTYPE

View File

@ -177,8 +177,9 @@ template <class T, class Allocator, class Predicate>
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/deque>
#else
# include <__algorithm/copy.h>
# include <__algorithm/copy_backward.h>
# include <__algorithm/copy_n.h>
@ -2648,6 +2649,6 @@ _LIBCPP_POP_MACROS
# include <type_traits>
# include <typeinfo>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_DEQUE

View File

@ -22,8 +22,9 @@ Macros:
*/
#if 0
#else // 0
#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/errno.h>
#else
# include <__config>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -397,6 +398,6 @@ static const int __elast2 = 105;
# endif
# endif // __cplusplus
#endif // 0
#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ERRNO_H

View File

@ -76,8 +76,9 @@ template <class E> void rethrow_if_nested(const E& e);
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/exception>
#else
# include <__config>
# include <__exception/exception.h>
# include <__exception/exception_ptr.h>
@ -96,6 +97,6 @@ template <class E> void rethrow_if_nested(const E& e);
# include <new>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_EXCEPTION

View File

@ -32,8 +32,9 @@ namespace std {
}
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/execution>
#else
# include <__config>
# include <__type_traits/is_execution_policy.h>
# include <__type_traits/is_same.h>
@ -147,6 +148,6 @@ _LIBCPP_END_NAMESPACE_STD
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <cstddef>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_EXECUTION

View File

@ -38,8 +38,9 @@ namespace std {
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/expected>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 23
@ -54,6 +55,6 @@ namespace std {
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_EXPECTED

View File

@ -52,8 +52,9 @@ namespace std {
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/experimental/iterator>
#else
# include <__config>
# include <__memory/addressof.h>
# include <__ostream/basic_ostream.h>
@ -128,6 +129,6 @@ _LIBCPP_POP_MACROS
# include <iosfwd>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_EXPERIMENTAL_ITERATOR

View File

@ -49,8 +49,9 @@ public:
}
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/experimental/memory>
#else
# include <__config>
# include <__cstddef/nullptr_t.h>
# include <__cstddef/size_t.h>
@ -199,6 +200,6 @@ _LIBCPP_END_NAMESPACE_STD
# include <cstddef>
# include <limits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif /* _LIBCPP_EXPERIMENTAL_MEMORY */

View File

@ -107,8 +107,9 @@
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/experimental/propagate_const>
#else
# include <__config>
# include <__cstddef/nullptr_t.h>
# include <__cstddef/size_t.h>
@ -491,6 +492,6 @@ _LIBCPP_POP_MACROS
# include <cstddef>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_EXPERIMENTAL_PROPAGATE_CONST

View File

@ -75,8 +75,9 @@ inline namespace parallelism_v2 {
# pragma GCC system_header
#endif
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/experimental/simd>
#else
# include <__config>
# include <experimental/__simd/aligned_tag.h>
# include <experimental/__simd/declaration.h>
@ -90,6 +91,6 @@ inline namespace parallelism_v2 {
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <cstddef>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif /* _LIBCPP_EXPERIMENTAL_SIMD */

View File

@ -68,8 +68,9 @@ inline namespace fundamentals_v1 {
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/experimental/type_traits>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 14
@ -155,6 +156,6 @@ _LIBCPP_END_NAMESPACE_LFTS
# endif
# endif /* _LIBCPP_STD_VER >= 14 */
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif /* _LIBCPP_EXPERIMENTAL_TYPE_TRAITS */

View File

@ -30,8 +30,9 @@ inline namespace fundamentals_v1 {
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/experimental/utility>
#else
# include <__config>
# include <utility>
@ -48,6 +49,6 @@ _LIBCPP_END_NAMESPACE_LFTS
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <cstddef>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif /* _LIBCPP_EXPERIMENTAL_UTILITY */

View File

@ -201,8 +201,9 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/ext/hash_map>
#else
# include <__config>
# include <__hash_table>
# include <algorithm>
@ -870,6 +871,6 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const hash_multimap<_Key, _Tp, _Has
# include <iterator>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_HASH_MAP

View File

@ -192,8 +192,9 @@ template <class Value, class Hash, class Pred, class Alloc>
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/ext/hash_set>
#else
# include <__config>
# include <__hash_table>
# include <algorithm>
@ -582,6 +583,6 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const hash_multiset<_Value, _Hash,
# include <iterator>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_HASH_SET

View File

@ -49,8 +49,9 @@ int feupdateenv(const fenv_t* envp);
*/
#if 0
#else // 0
#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/fenv.h>
#else
# include <__config>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -112,6 +113,6 @@ extern "C++" {
} // extern "C++"
# endif // defined(__cplusplus)
#endif // 0
#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FENV_H

View File

@ -533,8 +533,9 @@ inline constexpr bool std::ranges::enable_view<std::filesystem::recursive_direct
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/filesystem>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 17
@ -575,6 +576,6 @@ inline constexpr bool std::ranges::enable_view<std::filesystem::recursive_direct
# include <new>
# include <system_error>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FILESYSTEM

View File

@ -37,8 +37,9 @@ namespace std {
erase_if(flat_map<Key, T, Compare, KeyContainer, MappedContainer>& c, Predicate pred);
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/__config>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 23
@ -56,6 +57,6 @@ namespace std {
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FLAT_MAP

View File

@ -70,8 +70,9 @@ Macros:
*/
#if 0
#else // 0
#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/float.h>
#else
# include <__config>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -93,6 +94,6 @@ Macros:
# endif
# endif // __cplusplus
#endif // 0
#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FLOAT_H

View File

@ -191,8 +191,9 @@ namespace std {
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/format>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 20
@ -258,6 +259,6 @@ namespace std {
# include <cwchar>
# endif
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FORMAT

View File

@ -195,8 +195,9 @@ template <class T, class Allocator, class Predicate>
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/forward_list>
#else
# include <__algorithm/comp.h>
# include <__algorithm/lexicographical_compare.h>
# include <__algorithm/lexicographical_compare_three_way.h>
@ -1586,6 +1587,6 @@ _LIBCPP_POP_MACROS
# include <type_traits>
# include <typeinfo>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FORWARD_LIST

View File

@ -186,8 +186,9 @@ typedef basic_fstream<wchar_t> wfstream;
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/fstream>
#else
# include <__algorithm/max.h>
# include <__assert>
# include <__config>
@ -1585,6 +1586,6 @@ _LIBCPP_POP_MACROS
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 23
# include <filesystem>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FSTREAM

View File

@ -527,8 +527,9 @@ POLICY: For non-variadic implementations, the number of arguments is limited
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/functional>
#else
# include <__config>
# include <__functional/binary_function.h>
@ -596,6 +597,6 @@ POLICY: For non-variadic implementations, the number of arguments is limited
# include <utility>
# include <vector>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FUNCTIONAL

View File

@ -362,8 +362,9 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/future>
#else
# include <__config>
# if _LIBCPP_HAS_THREADS
@ -2084,6 +2085,6 @@ _LIBCPP_POP_MACROS
# include <system_error>
# include <thread>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FUTURE

View File

@ -42,8 +42,9 @@ template<class E> const E* end(initializer_list<E> il) noexcept; // constexpr in
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/initializer_list>
#else
# include <__config>
# include <__cstddef/size_t.h>
# include <version>
@ -101,6 +102,6 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const _Ep* end(initia
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <cstddef>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_INITIALIZER_LIST

View File

@ -235,8 +235,9 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
*/
#if 0
#else // 0
#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/inttypes.h>
#else
# include <__config>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -262,6 +263,6 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
# undef imaxdiv
# endif // __cplusplus
#endif // 0
#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_INTTYPES_H

View File

@ -42,8 +42,9 @@ template <class charT, class traits, class Allocator>
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/iomanip>
#else
# include <__config>
# if _LIBCPP_HAS_LOCALIZATION
@ -563,6 +564,6 @@ _LIBCPP_END_NAMESPACE_STD
# include <unordered_map>
# include <vector>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_IOMANIP

View File

@ -211,8 +211,9 @@ storage-class-specifier const error_category& iostream_category() noexcept;
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/ios>
#else
# include <__config>
# if _LIBCPP_HAS_LOCALIZATION
@ -891,6 +892,6 @@ _LIBCPP_POP_MACROS
# include <type_traits>
# include <typeinfo>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_IOS

View File

@ -105,8 +105,9 @@ using wosyncstream = basic_osyncstream<wchar_t>; // C++20
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/iosfwd>
#else
# include <__config>
# include <__fwd/fstream.h>
# include <__fwd/ios.h>
@ -185,6 +186,6 @@ public:
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_IOSFWD

View File

@ -33,8 +33,9 @@ extern wostream wclog;
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/iostream>
#else
# include <__config>
# include <version>
@ -66,6 +67,6 @@ extern _LIBCPP_EXPORTED_FROM_ABI wostream wclog;
_LIBCPP_END_NAMESPACE_STD
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_IOSTREAM

View File

@ -158,8 +158,9 @@ template <class Stream, class T>
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/istream>
#else
# include <__config>
# if _LIBCPP_HAS_LOCALIZATION
@ -1383,6 +1384,6 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ISTREAM

View File

@ -679,8 +679,9 @@ template <class E> constexpr const E* data(initializer_list<E> il) noexcept;
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/iterator>
#else
# include <__config>
# include <__iterator/access.h>
# include <__iterator/advance.h>
@ -753,6 +754,6 @@ template <class E> constexpr const E* data(initializer_list<E> il) noexcept;
# include <typeinfo>
# include <utility>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ITERATOR

View File

@ -40,8 +40,9 @@ namespace std
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/latch>
#else
# include <__config>
# if _LIBCPP_HAS_THREADS
@ -129,6 +130,6 @@ _LIBCPP_POP_MACROS
# include <atomic>
# include <cstddef>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_LATCH

View File

@ -102,8 +102,9 @@ template<> class numeric_limits<cv long double>;
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/limits>
#else
# include <__config>
# include <__type_traits/is_arithmetic.h>
# include <__type_traits/is_signed.h>
@ -535,6 +536,6 @@ _LIBCPP_POP_MACROS
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_LIMITS

View File

@ -197,8 +197,9 @@ template <class T, class Allocator, class Predicate>
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/list>
#else
# include <__algorithm/comp.h>
# include <__algorithm/equal.h>
# include <__algorithm/lexicographical_compare.h>
@ -1749,6 +1750,6 @@ _LIBCPP_POP_MACROS
# include <type_traits>
# include <typeinfo>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_LIST

View File

@ -187,8 +187,9 @@ template <class charT> class messages_byname;
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/locale>
#else
# include <__config>
# if _LIBCPP_HAS_LOCALIZATION
@ -3700,6 +3701,6 @@ _LIBCPP_POP_MACROS
# include <type_traits>
# include <typeinfo>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_LOCALE

View File

@ -571,8 +571,9 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/map>
#else
# include <__algorithm/equal.h>
# include <__algorithm/lexicographical_compare.h>
# include <__algorithm/lexicographical_compare_three_way.h>
@ -2203,6 +2204,6 @@ _LIBCPP_POP_MACROS
# include <type_traits>
# include <utility>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_MAP

View File

@ -291,8 +291,9 @@ long double truncl(long double x);
*/
# if 0
# else // 0
# if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/math.h>
# else
# include <__config>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@ -504,7 +505,7 @@ using std::__math::trunc;
} // extern "C++"
# endif // __cplusplus
# endif // 0
# endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#else // _LIBCPP_MATH_H

View File

@ -408,8 +408,9 @@ namespace std {
#ifndef _LIBCPP_MDSPAN
#define _LIBCPP_MDSPAN
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/mdspan>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 23
@ -427,6 +428,6 @@ namespace std {
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_MDSPAN

View File

@ -934,8 +934,9 @@ template<class Pointer = void, class Smart, class... Args>
// clang-format on
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/memory>
#else
# include <__config>
# include <__memory/addressof.h>
# include <__memory/align.h>
@ -996,6 +997,6 @@ template<class Pointer = void, class Smart, class... Args>
# include <typeinfo>
# include <utility>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_MEMORY

View File

@ -49,8 +49,9 @@ namespace std::pmr {
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/memory_resource>
#else
# include <__config>
# if _LIBCPP_STD_VER >= 17
@ -75,6 +76,6 @@ namespace std::pmr {
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <stdexcept>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif /* _LIBCPP_MEMORY_RESOURCE */

View File

@ -186,8 +186,9 @@ template<class Callable, class ...Args>
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/mutex>
#else
# include <__chrono/steady_clock.h>
# include <__chrono/time_point.h>
# include <__condition_variable/condition_variable.h>
@ -512,6 +513,6 @@ _LIBCPP_POP_MACROS
# include <type_traits>
# include <typeinfo>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_MUTEX

View File

@ -86,8 +86,9 @@ void operator delete[](void* ptr, void*) noexcept;
*/
#if 0
#else // 0
#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
# include <__cxx03/new>
#else
# include <__config>
# include <__new/align_val_t.h>
# include <__new/allocate.h>
@ -118,6 +119,6 @@ void operator delete[](void* ptr, void*) noexcept;
# include <cstdlib>
# include <type_traits>
# endif
#endif // 0
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_NEW

Some files were not shown because too many files have changed in this diff Show More