gn build: libcxx: Sync file list and always define _LIBCPP_ABI_VERSION.

The CMake side always defines _LIBCPP_ABI_VERSION. If we do not, we will
at least get -Wundef warnings in the test suite (upgraded to errors)
and it looks like we will end up building the library incorrectly as well.

With that, most of the libc++ test suite passes (with a manually written
lit.site.cfg) aside from some parts related to C++ modules which we
don't support yet.

Reviewers: nico, aeubanks

Reviewed By: aeubanks

Pull Request: https://github.com/llvm/llvm-project/pull/132135
This commit is contained in:
Peter Collingbourne 2025-03-20 10:50:49 -07:00 committed by GitHub
parent 0489447b07
commit 909bff82b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -18,6 +18,7 @@ if (current_toolchain == default_toolchain) {
values = [
"_LIBCPP_ABI_FORCE_ITANIUM=",
"_LIBCPP_ABI_FORCE_MICROSOFT=",
"_LIBCPP_ABI_VERSION=$libcxx_abi_version",
"_LIBCPP_EXTRA_SITE_DEFINES=",
"_LIBCPP_HAS_FILESYSTEM=1",
"_LIBCPP_HAS_THREADS=1",
@ -43,11 +44,6 @@ if (current_toolchain == default_toolchain) {
"_LIBCPP_PSTL_BACKEND_SERIAL=1",
"_LIBCPP_PSTL_BACKEND_STD_THREAD=",
]
if (libcxx_abi_version != 1) {
values += [ "_LIBCPP_ABI_VERSION=$libcxx_abi_version" ]
} else {
values += [ "_LIBCPP_ABI_VERSION=" ]
}
if (libcxx_abi_namespace != "") {
values += [ "_LIBCPP_ABI_NAMESPACE=$libcxx_abi_namespace" ]
} else {
@ -610,6 +606,7 @@ if (current_toolchain == default_toolchain) {
"__cxx03/__algorithm/unwrap_iter.h",
"__cxx03/__algorithm/unwrap_range.h",
"__cxx03/__algorithm/upper_bound.h",
"__cxx03/__assert",
"__cxx03/__atomic/aliases.h",
"__cxx03/__atomic/atomic.h",
"__cxx03/__atomic/atomic_base.h",
@ -640,6 +637,7 @@ if (current_toolchain == default_toolchain) {
"__cxx03/__bit/invert_if.h",
"__cxx03/__bit/popcount.h",
"__cxx03/__bit/rotate.h",
"__cxx03/__bit_reference",
"__cxx03/__charconv/chars_format.h",
"__cxx03/__charconv/from_chars_integral.h",
"__cxx03/__charconv/from_chars_result.h",
@ -720,6 +718,7 @@ if (current_toolchain == default_toolchain) {
"__cxx03/__concepts/swappable.h",
"__cxx03/__concepts/totally_ordered.h",
"__cxx03/__condition_variable/condition_variable.h",
"__cxx03/__config",
"__cxx03/__configuration/abi.h",
"__cxx03/__configuration/availability.h",
"__cxx03/__configuration/compiler.h",
@ -841,6 +840,7 @@ if (current_toolchain == default_toolchain) {
"__cxx03/__fwd/subrange.h",
"__cxx03/__fwd/tuple.h",
"__cxx03/__fwd/vector.h",
"__cxx03/__hash_table",
"__cxx03/__ios/fpos.h",
"__cxx03/__iterator/access.h",
"__cxx03/__iterator/advance.h",
@ -885,6 +885,7 @@ if (current_toolchain == default_toolchain) {
"__cxx03/__iterator/sortable.h",
"__cxx03/__iterator/unreachable_sentinel.h",
"__cxx03/__iterator/wrap_iter.h",
"__cxx03/__locale",
"__cxx03/__locale_dir/locale_base_api.h",
"__cxx03/__locale_dir/locale_base_api/android.h",
"__cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h",
@ -965,6 +966,7 @@ if (current_toolchain == default_toolchain) {
"__cxx03/__mutex/once_flag.h",
"__cxx03/__mutex/tag_types.h",
"__cxx03/__mutex/unique_lock.h",
"__cxx03/__node_handle",
"__cxx03/__numeric/accumulate.h",
"__cxx03/__numeric/adjacent_difference.h",
"__cxx03/__numeric/exclusive_scan.h",
@ -1079,6 +1081,8 @@ if (current_toolchain == default_toolchain) {
"__cxx03/__ranges/view_interface.h",
"__cxx03/__ranges/views.h",
"__cxx03/__ranges/zip_view.h",
"__cxx03/__split_buffer",
"__cxx03/__std_clang_module",
"__cxx03/__std_mbstate_t.h",
"__cxx03/__stop_token/atomic_unique_lock.h",
"__cxx03/__stop_token/intrusive_list_view.h",
@ -1113,6 +1117,7 @@ if (current_toolchain == default_toolchain) {
"__cxx03/__thread/this_thread.h",
"__cxx03/__thread/thread.h",
"__cxx03/__thread/timed_backoff_policy.h",
"__cxx03/__tree",
"__cxx03/__tuple/find_index.h",
"__cxx03/__tuple/ignore.h",
"__cxx03/__tuple/make_tuple_types.h",
@ -1243,6 +1248,7 @@ if (current_toolchain == default_toolchain) {
"__cxx03/__type_traits/underlying_type.h",
"__cxx03/__type_traits/unwrap_ref.h",
"__cxx03/__type_traits/void_t.h",
"__cxx03/__undef_macros",
"__cxx03/__utility/as_const.h",
"__cxx03/__utility/as_lvalue.h",
"__cxx03/__utility/auto_cast.h",
@ -1270,9 +1276,55 @@ if (current_toolchain == default_toolchain) {
"__cxx03/__utility/to_underlying.h",
"__cxx03/__utility/unreachable.h",
"__cxx03/__variant/monostate.h",
"__cxx03/__verbose_abort",
"__cxx03/algorithm",
"__cxx03/any",
"__cxx03/array",
"__cxx03/atomic",
"__cxx03/barrier",
"__cxx03/bit",
"__cxx03/bitset",
"__cxx03/cassert",
"__cxx03/ccomplex",
"__cxx03/cctype",
"__cxx03/cerrno",
"__cxx03/cfenv",
"__cxx03/cfloat",
"__cxx03/charconv",
"__cxx03/chrono",
"__cxx03/cinttypes",
"__cxx03/ciso646",
"__cxx03/climits",
"__cxx03/clocale",
"__cxx03/cmath",
"__cxx03/codecvt",
"__cxx03/compare",
"__cxx03/complex",
"__cxx03/complex.h",
"__cxx03/concepts",
"__cxx03/condition_variable",
"__cxx03/coroutine",
"__cxx03/csetjmp",
"__cxx03/csignal",
"__cxx03/cstdarg",
"__cxx03/cstdbool",
"__cxx03/cstddef",
"__cxx03/cstdint",
"__cxx03/cstdio",
"__cxx03/cstdlib",
"__cxx03/cstring",
"__cxx03/ctgmath",
"__cxx03/ctime",
"__cxx03/ctype.h",
"__cxx03/cuchar",
"__cxx03/cwchar",
"__cxx03/cwctype",
"__cxx03/deque",
"__cxx03/errno.h",
"__cxx03/exception",
"__cxx03/execution",
"__cxx03/expected",
"__cxx03/experimental/__config",
"__cxx03/experimental/__simd/aligned_tag.h",
"__cxx03/experimental/__simd/declaration.h",
"__cxx03/experimental/__simd/reference.h",
@ -1282,20 +1334,91 @@ if (current_toolchain == default_toolchain) {
"__cxx03/experimental/__simd/traits.h",
"__cxx03/experimental/__simd/utility.h",
"__cxx03/experimental/__simd/vec_ext.h",
"__cxx03/experimental/iterator",
"__cxx03/experimental/memory",
"__cxx03/experimental/propagate_const",
"__cxx03/experimental/simd",
"__cxx03/experimental/type_traits",
"__cxx03/experimental/utility",
"__cxx03/ext/__hash",
"__cxx03/ext/hash_map",
"__cxx03/ext/hash_set",
"__cxx03/fenv.h",
"__cxx03/filesystem",
"__cxx03/float.h",
"__cxx03/format",
"__cxx03/forward_list",
"__cxx03/fstream",
"__cxx03/functional",
"__cxx03/future",
"__cxx03/initializer_list",
"__cxx03/inttypes.h",
"__cxx03/iomanip",
"__cxx03/ios",
"__cxx03/iosfwd",
"__cxx03/iostream",
"__cxx03/istream",
"__cxx03/iterator",
"__cxx03/latch",
"__cxx03/limits",
"__cxx03/list",
"__cxx03/locale",
"__cxx03/locale.h",
"__cxx03/map",
"__cxx03/math.h",
"__cxx03/mdspan",
"__cxx03/memory",
"__cxx03/memory_resource",
"__cxx03/module.modulemap",
"__cxx03/mutex",
"__cxx03/new",
"__cxx03/numbers",
"__cxx03/numeric",
"__cxx03/optional",
"__cxx03/ostream",
"__cxx03/print",
"__cxx03/queue",
"__cxx03/random",
"__cxx03/ranges",
"__cxx03/ratio",
"__cxx03/regex",
"__cxx03/scoped_allocator",
"__cxx03/semaphore",
"__cxx03/set",
"__cxx03/shared_mutex",
"__cxx03/source_location",
"__cxx03/span",
"__cxx03/sstream",
"__cxx03/stack",
"__cxx03/stdatomic.h",
"__cxx03/stdbool.h",
"__cxx03/stddef.h",
"__cxx03/stdexcept",
"__cxx03/stdint.h",
"__cxx03/stdio.h",
"__cxx03/stdlib.h",
"__cxx03/stop_token",
"__cxx03/streambuf",
"__cxx03/string",
"__cxx03/string.h",
"__cxx03/string_view",
"__cxx03/strstream",
"__cxx03/syncstream",
"__cxx03/system_error",
"__cxx03/tgmath.h",
"__cxx03/thread",
"__cxx03/tuple",
"__cxx03/type_traits",
"__cxx03/typeindex",
"__cxx03/typeinfo",
"__cxx03/uchar.h",
"__cxx03/unordered_map",
"__cxx03/unordered_set",
"__cxx03/utility",
"__cxx03/valarray",
"__cxx03/variant",
"__cxx03/vector",
"__cxx03/version",
"__cxx03/wchar.h",
"__cxx03/wctype.h",
"__debug_utils/randomize_range.h",
@ -1955,6 +2078,7 @@ if (current_toolchain == default_toolchain) {
"ext/hash_set",
"fenv.h",
"filesystem",
"flat_map",
"float.h",
"format",
"forward_list",