2 //===----------------------------------------------------------------------===//
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
10 // WARNING, this entire header is generated by
11 // utils/generate_libcxx_cppm_in.py
18 // The headers of Table 24: C++ library headers [tab:headers.cpp]
19 // and the headers of Table 25: C++ headers for C library facilities [tab:headers.cpp.c]
27 #if _LIBCPP_HAS_LOCALIZATION
44 // *** Headers not yet available ***
46 // This validation is mainly to catch when a new header is added but adding the
47 // corresponding .inc file is forgotten. However, the check based on __has_include
48 // alone doesn't work on Windows because the Windows SDK is on the include path,
49 // and that means the MSVC STL headers can be found as well, tricking __has_include
50 // into thinking that libc++ provides the header.
53 # if __has_include(<debugging>)
54 # error "please update the header information for <debugging> in headers_not_available in utils/libcxx/header_information.py"
55 # endif // __has_include(<debugging>)
56 # if __has_include(<flat_set>)
57 # error "please update the header information for <flat_set> in headers_not_available in utils/libcxx/header_information.py"
58 # endif // __has_include(<flat_set>)
59 # if __has_include(<generator>)
60 # error "please update the header information for <generator> in headers_not_available in utils/libcxx/header_information.py"
61 # endif // __has_include(<generator>)
62 # if __has_include(<hazard_pointer>)
63 # error "please update the header information for <hazard_pointer> in headers_not_available in utils/libcxx/header_information.py"
64 # endif // __has_include(<hazard_pointer>)
65 # if __has_include(<inplace_vector>)
66 # error "please update the header information for <inplace_vector> in headers_not_available in utils/libcxx/header_information.py"
67 # endif // __has_include(<inplace_vector>)
68 # if __has_include(<linalg>)
69 # error "please update the header information for <linalg> in headers_not_available in utils/libcxx/header_information.py"
70 # endif // __has_include(<linalg>)
71 # if __has_include(<rcu>)
72 # error "please update the header information for <rcu> in headers_not_available in utils/libcxx/header_information.py"
73 # endif // __has_include(<rcu>)
74 # if __has_include(<spanstream>)
75 # error "please update the header information for <spanstream> in headers_not_available in utils/libcxx/header_information.py"
76 # endif // __has_include(<spanstream>)
77 # if __has_include(<stacktrace>)
78 # error "please update the header information for <stacktrace> in headers_not_available in utils/libcxx/header_information.py"
79 # endif // __has_include(<stacktrace>)
80 # if __has_include(<stdfloat>)
81 # error "please update the header information for <stdfloat> in headers_not_available in utils/libcxx/header_information.py"
82 # endif // __has_include(<stdfloat>)
83 # if __has_include(<text_encoding>)
84 # error "please update the header information for <text_encoding> in headers_not_available in utils/libcxx/header_information.py"
85 # endif // __has_include(<text_encoding>)
88 export module std.compat;
92 @LIBCXX_MODULE_STD_COMPAT_INCLUDE_SOURCES@