15f757f3fSDimitry Andric// -*- C++ -*- 25f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 35f757f3fSDimitry Andric// 45f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 55f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 65f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 75f757f3fSDimitry Andric// 85f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 95f757f3fSDimitry Andric 105f757f3fSDimitry Andric// WARNING, this entire header is generated by 115f757f3fSDimitry Andric// utils/generate_libcxx_cppm_in.py 125f757f3fSDimitry Andric// DO NOT MODIFY! 135f757f3fSDimitry Andric 145f757f3fSDimitry Andricmodule; 155f757f3fSDimitry Andric 165f757f3fSDimitry Andric#include <__config> 175f757f3fSDimitry Andric 185f757f3fSDimitry Andric// The headers of Table 24: C++ library headers [tab:headers.cpp] 195f757f3fSDimitry Andric// and the headers of Table 25: C++ headers for C library facilities [tab:headers.cpp.c] 205f757f3fSDimitry Andric#include <cassert> 215f757f3fSDimitry Andric#include <cctype> 225f757f3fSDimitry Andric#include <cerrno> 235f757f3fSDimitry Andric#include <cfenv> 245f757f3fSDimitry Andric#include <cfloat> 255f757f3fSDimitry Andric#include <cinttypes> 265f757f3fSDimitry Andric#include <climits> 275f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_LOCALIZATION) 285f757f3fSDimitry Andric# include <clocale> 295f757f3fSDimitry Andric#endif 305f757f3fSDimitry Andric#include <cmath> 315f757f3fSDimitry Andric#include <csetjmp> 325f757f3fSDimitry Andric#include <csignal> 335f757f3fSDimitry Andric#include <cstdarg> 345f757f3fSDimitry Andric#include <cstddef> 355f757f3fSDimitry Andric#include <cstdint> 365f757f3fSDimitry Andric#include <cstdio> 375f757f3fSDimitry Andric#include <cstdlib> 385f757f3fSDimitry Andric#include <cstring> 395f757f3fSDimitry Andric#include <ctime> 405f757f3fSDimitry Andric#include <cuchar> 415f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) 425f757f3fSDimitry Andric# include <cwchar> 435f757f3fSDimitry Andric#endif 445f757f3fSDimitry Andric#if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) 455f757f3fSDimitry Andric# include <cwctype> 465f757f3fSDimitry Andric#endif 475f757f3fSDimitry Andric 485f757f3fSDimitry Andric// *** Headers not yet available *** 49*0fca6ea1SDimitry Andric// 50*0fca6ea1SDimitry Andric// This validation is mainly to catch when a new header is added but adding the 51*0fca6ea1SDimitry Andric// corresponding .inc file is forgotten. However, the check based on __has_include 52*0fca6ea1SDimitry Andric// alone doesn't work on Windows because the Windows SDK is on the include path, 53*0fca6ea1SDimitry Andric// and that means the MSVC STL headers can be found as well, tricking __has_include 54*0fca6ea1SDimitry Andric// into thinking that libc++ provides the header. 55*0fca6ea1SDimitry Andric// 56*0fca6ea1SDimitry Andric#ifndef _WIN32 575f757f3fSDimitry Andric# if __has_include(<debugging>) 585f757f3fSDimitry Andric# error "please update the header information for <debugging> in headers_not_available in utils/libcxx/header_information.py" 595f757f3fSDimitry Andric# endif // __has_include(<debugging>) 605f757f3fSDimitry Andric# if __has_include(<flat_map>) 615f757f3fSDimitry Andric# error "please update the header information for <flat_map> in headers_not_available in utils/libcxx/header_information.py" 625f757f3fSDimitry Andric# endif // __has_include(<flat_map>) 635f757f3fSDimitry Andric# if __has_include(<flat_set>) 645f757f3fSDimitry Andric# error "please update the header information for <flat_set> in headers_not_available in utils/libcxx/header_information.py" 655f757f3fSDimitry Andric# endif // __has_include(<flat_set>) 665f757f3fSDimitry Andric# if __has_include(<generator>) 675f757f3fSDimitry Andric# error "please update the header information for <generator> in headers_not_available in utils/libcxx/header_information.py" 685f757f3fSDimitry Andric# endif // __has_include(<generator>) 695f757f3fSDimitry Andric# if __has_include(<hazard_pointer>) 705f757f3fSDimitry Andric# error "please update the header information for <hazard_pointer> in headers_not_available in utils/libcxx/header_information.py" 715f757f3fSDimitry Andric# endif // __has_include(<hazard_pointer>) 72*0fca6ea1SDimitry Andric# if __has_include(<inplace_vector>) 73*0fca6ea1SDimitry Andric# error "please update the header information for <inplace_vector> in headers_not_available in utils/libcxx/header_information.py" 74*0fca6ea1SDimitry Andric# endif // __has_include(<inplace_vector>) 755f757f3fSDimitry Andric# if __has_include(<linalg>) 765f757f3fSDimitry Andric# error "please update the header information for <linalg> in headers_not_available in utils/libcxx/header_information.py" 775f757f3fSDimitry Andric# endif // __has_include(<linalg>) 785f757f3fSDimitry Andric# if __has_include(<rcu>) 795f757f3fSDimitry Andric# error "please update the header information for <rcu> in headers_not_available in utils/libcxx/header_information.py" 805f757f3fSDimitry Andric# endif // __has_include(<rcu>) 815f757f3fSDimitry Andric# if __has_include(<spanstream>) 825f757f3fSDimitry Andric# error "please update the header information for <spanstream> in headers_not_available in utils/libcxx/header_information.py" 835f757f3fSDimitry Andric# endif // __has_include(<spanstream>) 845f757f3fSDimitry Andric# if __has_include(<stacktrace>) 855f757f3fSDimitry Andric# error "please update the header information for <stacktrace> in headers_not_available in utils/libcxx/header_information.py" 865f757f3fSDimitry Andric# endif // __has_include(<stacktrace>) 875f757f3fSDimitry Andric# if __has_include(<stdfloat>) 885f757f3fSDimitry Andric# error "please update the header information for <stdfloat> in headers_not_available in utils/libcxx/header_information.py" 895f757f3fSDimitry Andric# endif // __has_include(<stdfloat>) 905f757f3fSDimitry Andric# if __has_include(<text_encoding>) 915f757f3fSDimitry Andric# error "please update the header information for <text_encoding> in headers_not_available in utils/libcxx/header_information.py" 925f757f3fSDimitry Andric# endif // __has_include(<text_encoding>) 93*0fca6ea1SDimitry Andric#endif // _WIN32 945f757f3fSDimitry Andric 955f757f3fSDimitry Andricexport module std.compat; 967a6dacacSDimitry Andricexport import std; 975f757f3fSDimitry Andric 987a6dacacSDimitry Andric 995f757f3fSDimitry Andric@LIBCXX_MODULE_STD_COMPAT_INCLUDE_SOURCES@