mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-12 12:48:59 +00:00
[libc++] Use the new .gen tests to implement __verbose_abort tests
This reduces the amount of boilerplate that we need to generate for each commit. It also resolves a problem where the modular CI would run extremely slow on this test because we'd define a macro before including the standard library, defeating the module cache. Differential Revision: https://reviews.llvm.org/D151156
This commit is contained in:
parent
638112737e
commit
1ee839d0ce
@ -0,0 +1,35 @@
|
||||
#===----------------------------------------------------------------------===##
|
||||
#
|
||||
# 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
|
||||
#
|
||||
#===----------------------------------------------------------------------===##
|
||||
|
||||
# Test that all public C++ headers define the verbose termination function, which
|
||||
# is required for users to be able to include any public header and then override
|
||||
# the function using a strong definition.
|
||||
|
||||
# RUN: %{python} %s %{libcxx}/utils
|
||||
|
||||
import sys
|
||||
sys.path.append(sys.argv[1])
|
||||
from libcxx.test.header_information import header_restrictions, public_headers
|
||||
|
||||
for header in public_headers:
|
||||
# Skip C compatibility headers.
|
||||
if header.endswith('.h'):
|
||||
continue
|
||||
|
||||
test_condition_begin = f'#if {header_restrictions[header]}' if header in header_restrictions else ''
|
||||
test_condition_end = '#endif' if header in header_restrictions else ''
|
||||
XFAIL = 'XFAIL' # Make sure Lit doesn't think we are XFAILing this test
|
||||
print(f"""\
|
||||
//--- {header}.compile.pass.cpp
|
||||
// {XFAIL}: availability-verbose_abort-missing
|
||||
#include <__config>
|
||||
{test_condition_begin}
|
||||
#include <{header}>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
{test_condition_end}
|
||||
""")
|
@ -1,755 +0,0 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// 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
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// Test that all public C++ headers define the verbose termination function, which
|
||||
// is required for users to be able to include any public header and then override
|
||||
// the function using a strong definition.
|
||||
|
||||
// XFAIL: availability-verbose_abort-missing
|
||||
|
||||
/*
|
||||
BEGIN-SCRIPT
|
||||
|
||||
for i, header in enumerate(public_headers):
|
||||
# Skip C compatibility headers.
|
||||
if header.endswith('.h'):
|
||||
continue
|
||||
|
||||
vars = {
|
||||
'run': 'RUN',
|
||||
'i': i,
|
||||
'restrictions': ' && ' + header_restrictions[header] if header in header_restrictions else '',
|
||||
'header': header
|
||||
}
|
||||
|
||||
print("""\
|
||||
// {run}: %{{build}} -DTEST_{i}
|
||||
#if defined(TEST_{i}){restrictions}
|
||||
# include <{header}>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
""".format(**vars))
|
||||
|
||||
END-SCRIPT
|
||||
*/
|
||||
|
||||
#include <__config>
|
||||
|
||||
int main(int, char**) { return 0; }
|
||||
|
||||
// DO NOT MANUALLY EDIT ANYTHING BETWEEN THE MARKERS BELOW
|
||||
// GENERATED-MARKER
|
||||
// RUN: %{build} -DTEST_0
|
||||
#if defined(TEST_0)
|
||||
# include <algorithm>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_1
|
||||
#if defined(TEST_1)
|
||||
# include <any>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_2
|
||||
#if defined(TEST_2)
|
||||
# include <array>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_3
|
||||
#if defined(TEST_3)
|
||||
# include <atomic>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_4
|
||||
#if defined(TEST_4) && !defined(_LIBCPP_HAS_NO_THREADS)
|
||||
# include <barrier>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_5
|
||||
#if defined(TEST_5)
|
||||
# include <bit>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_6
|
||||
#if defined(TEST_6)
|
||||
# include <bitset>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_7
|
||||
#if defined(TEST_7)
|
||||
# include <cassert>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_8
|
||||
#if defined(TEST_8)
|
||||
# include <ccomplex>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_9
|
||||
#if defined(TEST_9)
|
||||
# include <cctype>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_10
|
||||
#if defined(TEST_10)
|
||||
# include <cerrno>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_11
|
||||
#if defined(TEST_11)
|
||||
# include <cfenv>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_12
|
||||
#if defined(TEST_12)
|
||||
# include <cfloat>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_13
|
||||
#if defined(TEST_13)
|
||||
# include <charconv>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_14
|
||||
#if defined(TEST_14)
|
||||
# include <chrono>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_15
|
||||
#if defined(TEST_15)
|
||||
# include <cinttypes>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_16
|
||||
#if defined(TEST_16)
|
||||
# include <ciso646>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_17
|
||||
#if defined(TEST_17)
|
||||
# include <climits>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_18
|
||||
#if defined(TEST_18) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <clocale>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_19
|
||||
#if defined(TEST_19)
|
||||
# include <cmath>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_20
|
||||
#if defined(TEST_20) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <codecvt>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_21
|
||||
#if defined(TEST_21)
|
||||
# include <compare>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_22
|
||||
#if defined(TEST_22)
|
||||
# include <complex>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_24
|
||||
#if defined(TEST_24)
|
||||
# include <concepts>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_25
|
||||
#if defined(TEST_25)
|
||||
# include <condition_variable>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_26
|
||||
#if defined(TEST_26) && (defined(__cpp_impl_coroutine) && __cpp_impl_coroutine >= 201902L) || (defined(__cpp_coroutines) && __cpp_coroutines >= 201703L)
|
||||
# include <coroutine>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_27
|
||||
#if defined(TEST_27)
|
||||
# include <csetjmp>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_28
|
||||
#if defined(TEST_28)
|
||||
# include <csignal>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_29
|
||||
#if defined(TEST_29)
|
||||
# include <cstdarg>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_30
|
||||
#if defined(TEST_30)
|
||||
# include <cstdbool>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_31
|
||||
#if defined(TEST_31)
|
||||
# include <cstddef>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_32
|
||||
#if defined(TEST_32)
|
||||
# include <cstdint>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_33
|
||||
#if defined(TEST_33)
|
||||
# include <cstdio>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_34
|
||||
#if defined(TEST_34)
|
||||
# include <cstdlib>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_35
|
||||
#if defined(TEST_35)
|
||||
# include <cstring>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_36
|
||||
#if defined(TEST_36)
|
||||
# include <ctgmath>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_37
|
||||
#if defined(TEST_37)
|
||||
# include <ctime>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_39
|
||||
#if defined(TEST_39)
|
||||
# include <cuchar>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_40
|
||||
#if defined(TEST_40) && !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)
|
||||
# include <cwchar>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_41
|
||||
#if defined(TEST_41) && !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)
|
||||
# include <cwctype>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_42
|
||||
#if defined(TEST_42)
|
||||
# include <deque>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_44
|
||||
#if defined(TEST_44)
|
||||
# include <exception>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_45
|
||||
#if defined(TEST_45)
|
||||
# include <execution>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_46
|
||||
#if defined(TEST_46)
|
||||
# include <expected>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_48
|
||||
#if defined(TEST_48) && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
|
||||
# include <filesystem>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_50
|
||||
#if defined(TEST_50)
|
||||
# include <format>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_51
|
||||
#if defined(TEST_51)
|
||||
# include <forward_list>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_52
|
||||
#if defined(TEST_52) && !defined(_LIBCPP_HAS_NO_LOCALIZATION) && !defined(_LIBCPP_HAS_NO_FSTREAM)
|
||||
# include <fstream>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_53
|
||||
#if defined(TEST_53)
|
||||
# include <functional>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_54
|
||||
#if defined(TEST_54) && !defined(_LIBCPP_HAS_NO_THREADS)
|
||||
# include <future>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_55
|
||||
#if defined(TEST_55)
|
||||
# include <initializer_list>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_57
|
||||
#if defined(TEST_57) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <iomanip>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_58
|
||||
#if defined(TEST_58) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <ios>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_59
|
||||
#if defined(TEST_59)
|
||||
# include <iosfwd>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_60
|
||||
#if defined(TEST_60) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <iostream>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_61
|
||||
#if defined(TEST_61) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <istream>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_62
|
||||
#if defined(TEST_62)
|
||||
# include <iterator>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_63
|
||||
#if defined(TEST_63) && !defined(_LIBCPP_HAS_NO_THREADS)
|
||||
# include <latch>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_64
|
||||
#if defined(TEST_64)
|
||||
# include <limits>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_66
|
||||
#if defined(TEST_66)
|
||||
# include <list>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_67
|
||||
#if defined(TEST_67) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <locale>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_69
|
||||
#if defined(TEST_69)
|
||||
# include <map>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_71
|
||||
#if defined(TEST_71)
|
||||
# include <mdspan>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_72
|
||||
#if defined(TEST_72)
|
||||
# include <memory>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_73
|
||||
#if defined(TEST_73)
|
||||
# include <memory_resource>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_74
|
||||
#if defined(TEST_74) && !defined(_LIBCPP_HAS_NO_THREADS)
|
||||
# include <mutex>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_75
|
||||
#if defined(TEST_75)
|
||||
# include <new>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_76
|
||||
#if defined(TEST_76)
|
||||
# include <numbers>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_77
|
||||
#if defined(TEST_77)
|
||||
# include <numeric>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_78
|
||||
#if defined(TEST_78)
|
||||
# include <optional>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_79
|
||||
#if defined(TEST_79) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <ostream>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_80
|
||||
#if defined(TEST_80)
|
||||
# include <queue>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_81
|
||||
#if defined(TEST_81)
|
||||
# include <random>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_82
|
||||
#if defined(TEST_82)
|
||||
# include <ranges>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_83
|
||||
#if defined(TEST_83)
|
||||
# include <ratio>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_84
|
||||
#if defined(TEST_84) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <regex>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_85
|
||||
#if defined(TEST_85)
|
||||
# include <scoped_allocator>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_86
|
||||
#if defined(TEST_86) && !defined(_LIBCPP_HAS_NO_THREADS)
|
||||
# include <semaphore>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_87
|
||||
#if defined(TEST_87)
|
||||
# include <set>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_89
|
||||
#if defined(TEST_89) && !defined(_LIBCPP_HAS_NO_THREADS)
|
||||
# include <shared_mutex>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_90
|
||||
#if defined(TEST_90)
|
||||
# include <source_location>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_91
|
||||
#if defined(TEST_91)
|
||||
# include <span>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_92
|
||||
#if defined(TEST_92) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <sstream>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_93
|
||||
#if defined(TEST_93)
|
||||
# include <stack>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_97
|
||||
#if defined(TEST_97)
|
||||
# include <stdexcept>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_101
|
||||
#if defined(TEST_101) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <streambuf>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_102
|
||||
#if defined(TEST_102)
|
||||
# include <string>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_104
|
||||
#if defined(TEST_104)
|
||||
# include <string_view>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_105
|
||||
#if defined(TEST_105) && !defined(_LIBCPP_HAS_NO_LOCALIZATION)
|
||||
# include <strstream>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_106
|
||||
#if defined(TEST_106)
|
||||
# include <system_error>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_108
|
||||
#if defined(TEST_108) && !defined(_LIBCPP_HAS_NO_THREADS)
|
||||
# include <thread>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_109
|
||||
#if defined(TEST_109)
|
||||
# include <tuple>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_110
|
||||
#if defined(TEST_110)
|
||||
# include <type_traits>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_111
|
||||
#if defined(TEST_111)
|
||||
# include <typeindex>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_112
|
||||
#if defined(TEST_112)
|
||||
# include <typeinfo>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_114
|
||||
#if defined(TEST_114)
|
||||
# include <unordered_map>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_115
|
||||
#if defined(TEST_115)
|
||||
# include <unordered_set>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_116
|
||||
#if defined(TEST_116)
|
||||
# include <utility>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_117
|
||||
#if defined(TEST_117)
|
||||
# include <valarray>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_118
|
||||
#if defined(TEST_118)
|
||||
# include <variant>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_119
|
||||
#if defined(TEST_119)
|
||||
# include <vector>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_120
|
||||
#if defined(TEST_120)
|
||||
# include <version>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_123
|
||||
#if defined(TEST_123) && __cplusplus >= 201103L
|
||||
# include <experimental/deque>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_124
|
||||
#if defined(TEST_124) && __cplusplus >= 201103L
|
||||
# include <experimental/forward_list>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_125
|
||||
#if defined(TEST_125) && __cplusplus >= 201103L
|
||||
# include <experimental/iterator>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_126
|
||||
#if defined(TEST_126) && __cplusplus >= 201103L
|
||||
# include <experimental/list>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_127
|
||||
#if defined(TEST_127) && __cplusplus >= 201103L
|
||||
# include <experimental/map>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_128
|
||||
#if defined(TEST_128) && __cplusplus >= 201103L
|
||||
# include <experimental/memory_resource>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_129
|
||||
#if defined(TEST_129) && __cplusplus >= 201103L
|
||||
# include <experimental/propagate_const>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_130
|
||||
#if defined(TEST_130) && !defined(_LIBCPP_HAS_NO_LOCALIZATION) && __cplusplus >= 201103L
|
||||
# include <experimental/regex>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_131
|
||||
#if defined(TEST_131) && __cplusplus >= 201103L
|
||||
# include <experimental/set>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_132
|
||||
#if defined(TEST_132) && __cplusplus >= 201103L
|
||||
# include <experimental/simd>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_133
|
||||
#if defined(TEST_133) && __cplusplus >= 201103L
|
||||
# include <experimental/string>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_134
|
||||
#if defined(TEST_134) && __cplusplus >= 201103L
|
||||
# include <experimental/type_traits>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_135
|
||||
#if defined(TEST_135) && __cplusplus >= 201103L
|
||||
# include <experimental/unordered_map>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_136
|
||||
#if defined(TEST_136) && __cplusplus >= 201103L
|
||||
# include <experimental/unordered_set>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_137
|
||||
#if defined(TEST_137) && __cplusplus >= 201103L
|
||||
# include <experimental/utility>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// RUN: %{build} -DTEST_138
|
||||
#if defined(TEST_138) && __cplusplus >= 201103L
|
||||
# include <experimental/vector>
|
||||
using HandlerType = decltype(std::__libcpp_verbose_abort);
|
||||
#endif
|
||||
|
||||
// GENERATED-MARKER
|
@ -7,68 +7,7 @@ import os
|
||||
import pathlib
|
||||
import re
|
||||
|
||||
header_restrictions = {
|
||||
"barrier": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"future": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"latch": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"mutex": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"semaphore": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"shared_mutex": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"stdatomic.h": "__cplusplus > 202002L && !defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"thread": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"filesystem": "!defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)",
|
||||
# TODO(LLVM-17): simplify this to __cplusplus >= 202002L
|
||||
"coroutine": "(defined(__cpp_impl_coroutine) && __cpp_impl_coroutine >= 201902L) || (defined(__cpp_coroutines) && __cpp_coroutines >= 201703L)",
|
||||
"clocale": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"codecvt": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"fstream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION) && !defined(_LIBCPP_HAS_NO_FSTREAM)",
|
||||
"iomanip": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"ios": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"iostream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"istream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"locale.h": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"locale": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"ostream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"regex": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"sstream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"streambuf": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"strstream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"wctype.h": "!defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)",
|
||||
"cwctype": "!defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)",
|
||||
"cwchar": "!defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)",
|
||||
"wchar.h": "!defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)",
|
||||
"experimental/algorithm": "__cplusplus >= 201103L",
|
||||
"experimental/deque": "__cplusplus >= 201103L",
|
||||
"experimental/forward_list": "__cplusplus >= 201103L",
|
||||
"experimental/functional": "__cplusplus >= 201103L",
|
||||
"experimental/iterator": "__cplusplus >= 201103L",
|
||||
"experimental/list": "__cplusplus >= 201103L",
|
||||
"experimental/map": "__cplusplus >= 201103L",
|
||||
"experimental/memory_resource": "__cplusplus >= 201103L",
|
||||
"experimental/propagate_const": "__cplusplus >= 201103L",
|
||||
"experimental/regex": "!defined(_LIBCPP_HAS_NO_LOCALIZATION) && __cplusplus >= 201103L",
|
||||
"experimental/set": "__cplusplus >= 201103L",
|
||||
"experimental/simd": "__cplusplus >= 201103L",
|
||||
"experimental/span": "__cplusplus >= 201103L",
|
||||
"experimental/string": "__cplusplus >= 201103L",
|
||||
"experimental/type_traits": "__cplusplus >= 201103L",
|
||||
"experimental/unordered_map": "__cplusplus >= 201103L",
|
||||
"experimental/unordered_set": "__cplusplus >= 201103L",
|
||||
"experimental/utility": "__cplusplus >= 201103L",
|
||||
"experimental/vector": "__cplusplus >= 201103L",
|
||||
}
|
||||
|
||||
private_headers_still_public_in_modules = [
|
||||
"__assert",
|
||||
"__config",
|
||||
"__config_site.in",
|
||||
"__debug",
|
||||
"__hash_table",
|
||||
"__threading_support",
|
||||
"__tree",
|
||||
"__undef_macros",
|
||||
"__verbose_abort",
|
||||
]
|
||||
import libcxx.test.header_information
|
||||
|
||||
|
||||
def find_script(file):
|
||||
@ -131,60 +70,21 @@ def produce(test_file, variables):
|
||||
f.write(new_content)
|
||||
|
||||
|
||||
def is_header(file):
|
||||
"""Returns whether the given file is a header (i.e. not a directory or the modulemap file)."""
|
||||
return (
|
||||
not file.is_dir()
|
||||
and not file.name == "module.modulemap.in"
|
||||
and file.name != "libcxx.imp"
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
monorepo_root = pathlib.Path(
|
||||
os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
)
|
||||
include = pathlib.Path(os.path.join(monorepo_root, "libcxx", "include"))
|
||||
test = pathlib.Path(os.path.join(monorepo_root, "libcxx", "test"))
|
||||
assert monorepo_root.exists()
|
||||
|
||||
toplevel_headers = sorted(
|
||||
str(p.relative_to(include)) for p in include.glob("[a-z]*") if is_header(p)
|
||||
)
|
||||
experimental_headers = sorted(
|
||||
str(p.relative_to(include))
|
||||
for p in include.glob("experimental/[a-z]*")
|
||||
if is_header(p)
|
||||
)
|
||||
public_headers = toplevel_headers + experimental_headers
|
||||
private_headers = sorted(
|
||||
str(p.relative_to(include))
|
||||
for p in include.rglob("*")
|
||||
if is_header(p)
|
||||
and str(p.relative_to(include)).startswith("__")
|
||||
and not p.name.startswith("pstl")
|
||||
)
|
||||
variables = {
|
||||
"toplevel_headers": toplevel_headers,
|
||||
"experimental_headers": experimental_headers,
|
||||
"public_headers": public_headers,
|
||||
"private_headers": private_headers,
|
||||
"header_restrictions": header_restrictions,
|
||||
"private_headers_still_public_in_modules": private_headers_still_public_in_modules,
|
||||
}
|
||||
|
||||
produce(
|
||||
test.joinpath("libcxx/assertions/headers_declare_verbose_abort.sh.cpp"),
|
||||
variables,
|
||||
)
|
||||
produce(test.joinpath("libcxx/clang_tidy.sh.cpp"), variables)
|
||||
produce(test.joinpath("libcxx/double_include.sh.cpp"), variables)
|
||||
produce(test.joinpath("libcxx/min_max_macros.compile.pass.cpp"), variables)
|
||||
produce(test.joinpath("libcxx/modules_include.sh.cpp"), variables)
|
||||
produce(test.joinpath("libcxx/nasty_macros.compile.pass.cpp"), variables)
|
||||
produce(test.joinpath("libcxx/no_assert_include.compile.pass.cpp"), variables)
|
||||
produce(test.joinpath("libcxx/private_headers.verify.cpp"), variables)
|
||||
produce(test.joinpath("libcxx/transitive_includes.sh.cpp"), variables)
|
||||
produce(test.joinpath("libcxx/clang_tidy.sh.cpp"), libcxx.test.header_information.variables)
|
||||
produce(test.joinpath("libcxx/double_include.sh.cpp"), libcxx.test.header_information.variables)
|
||||
produce(test.joinpath("libcxx/min_max_macros.compile.pass.cpp"), libcxx.test.header_information.variables)
|
||||
produce(test.joinpath("libcxx/modules_include.sh.cpp"), libcxx.test.header_information.variables)
|
||||
produce(test.joinpath("libcxx/nasty_macros.compile.pass.cpp"), libcxx.test.header_information.variables)
|
||||
produce(test.joinpath("libcxx/no_assert_include.compile.pass.cpp"), libcxx.test.header_information.variables)
|
||||
produce(test.joinpath("libcxx/private_headers.verify.cpp"), libcxx.test.header_information.variables)
|
||||
produce(test.joinpath("libcxx/transitive_includes.sh.cpp"), libcxx.test.header_information.variables)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
113
libcxx/utils/libcxx/test/header_information.py
Normal file
113
libcxx/utils/libcxx/test/header_information.py
Normal file
@ -0,0 +1,113 @@
|
||||
# ===----------------------------------------------------------------------===##
|
||||
#
|
||||
# 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
|
||||
#
|
||||
# ===----------------------------------------------------------------------===##
|
||||
|
||||
import os, pathlib
|
||||
|
||||
header_restrictions = {
|
||||
"barrier": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"future": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"latch": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"mutex": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"semaphore": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"shared_mutex": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"stdatomic.h": "__cplusplus > 202002L && !defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"thread": "!defined(_LIBCPP_HAS_NO_THREADS)",
|
||||
"filesystem": "!defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)",
|
||||
# TODO(LLVM-17): simplify this to __cplusplus >= 202002L
|
||||
"coroutine": "(defined(__cpp_impl_coroutine) && __cpp_impl_coroutine >= 201902L) || (defined(__cpp_coroutines) && __cpp_coroutines >= 201703L)",
|
||||
"clocale": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"codecvt": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"fstream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION) && !defined(_LIBCPP_HAS_NO_FSTREAM)",
|
||||
"iomanip": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"ios": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"iostream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"istream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"locale.h": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"locale": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"ostream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"regex": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"sstream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"streambuf": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"strstream": "!defined(_LIBCPP_HAS_NO_LOCALIZATION)",
|
||||
"wctype.h": "!defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)",
|
||||
"cwctype": "!defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)",
|
||||
"cwchar": "!defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)",
|
||||
"wchar.h": "!defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)",
|
||||
"experimental/algorithm": "__cplusplus >= 201103L",
|
||||
"experimental/deque": "__cplusplus >= 201103L",
|
||||
"experimental/forward_list": "__cplusplus >= 201103L",
|
||||
"experimental/functional": "__cplusplus >= 201103L",
|
||||
"experimental/iterator": "__cplusplus >= 201103L",
|
||||
"experimental/list": "__cplusplus >= 201103L",
|
||||
"experimental/map": "__cplusplus >= 201103L",
|
||||
"experimental/memory_resource": "__cplusplus >= 201103L",
|
||||
"experimental/propagate_const": "__cplusplus >= 201103L",
|
||||
"experimental/regex": "!defined(_LIBCPP_HAS_NO_LOCALIZATION) && __cplusplus >= 201103L",
|
||||
"experimental/set": "__cplusplus >= 201103L",
|
||||
"experimental/simd": "__cplusplus >= 201103L",
|
||||
"experimental/span": "__cplusplus >= 201103L",
|
||||
"experimental/string": "__cplusplus >= 201103L",
|
||||
"experimental/type_traits": "__cplusplus >= 201103L",
|
||||
"experimental/unordered_map": "__cplusplus >= 201103L",
|
||||
"experimental/unordered_set": "__cplusplus >= 201103L",
|
||||
"experimental/utility": "__cplusplus >= 201103L",
|
||||
"experimental/vector": "__cplusplus >= 201103L",
|
||||
}
|
||||
|
||||
private_headers_still_public_in_modules = [
|
||||
"__assert",
|
||||
"__config",
|
||||
"__config_site.in",
|
||||
"__debug",
|
||||
"__hash_table",
|
||||
"__threading_support",
|
||||
"__tree",
|
||||
"__undef_macros",
|
||||
"__verbose_abort",
|
||||
]
|
||||
|
||||
def is_header(file):
|
||||
"""Returns whether the given file is a header (i.e. not a directory or the modulemap file)."""
|
||||
return (
|
||||
not file.is_dir()
|
||||
and not file.name == "module.modulemap.in"
|
||||
and not file.name == "CMakeLists.txt"
|
||||
and file.name != "libcxx.imp"
|
||||
)
|
||||
|
||||
monorepo_root = pathlib.Path(
|
||||
os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))))
|
||||
)
|
||||
include = pathlib.Path(os.path.join(monorepo_root, "libcxx", "include"))
|
||||
test = pathlib.Path(os.path.join(monorepo_root, "libcxx", "test"))
|
||||
assert monorepo_root.exists()
|
||||
|
||||
toplevel_headers = sorted(
|
||||
str(p.relative_to(include)) for p in include.glob("[a-z]*") if is_header(p)
|
||||
)
|
||||
experimental_headers = sorted(
|
||||
str(p.relative_to(include))
|
||||
for p in include.glob("experimental/[a-z]*")
|
||||
if is_header(p)
|
||||
)
|
||||
public_headers = toplevel_headers + experimental_headers
|
||||
private_headers = sorted(
|
||||
str(p.relative_to(include))
|
||||
for p in include.rglob("*")
|
||||
if is_header(p)
|
||||
and str(p.relative_to(include)).startswith("__")
|
||||
and not p.name.startswith("pstl")
|
||||
)
|
||||
variables = {
|
||||
"toplevel_headers": toplevel_headers,
|
||||
"experimental_headers": experimental_headers,
|
||||
"public_headers": public_headers,
|
||||
"private_headers": private_headers,
|
||||
"header_restrictions": header_restrictions,
|
||||
"private_headers_still_public_in_modules": private_headers_still_public_in_modules,
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user