[libcxx-commits] [PATCH] D146366: [libc++] Use the stdlib=<LIB> Lit feature instead of use_system_cxx_lib

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat Mar 18 13:31:05 PDT 2023


ldionne created this revision.
Herald added subscribers: libcxx-commits, mikhail.ramalho, jdoerfert, arichardson.
Herald added projects: libunwind, All.
Herald added a reviewer: libunwind.
ldionne requested review of this revision.
Herald added projects: libc++, libc++abi.
Herald added a reviewer: libc++.
Herald added a reviewer: libc++abi.

The use_system_cxx_lib Lit feature was only used for back-deployment
testing. However, one immense hole in that setup was that we didn't
have a proper way to test Apple's own libc++ outside of back-deployment,
which was embodied by the fact that we needed to define _LIBCPP_DISABLE_AVAILABILITY
when testing (see change in libcxx/utils/libcxx/test/params.py).

This led to the apple-system testing configuration not checking for
availability markup, which is obviously quite bad since the library
we ship actually has availability markup.

Using stdlib=<VENDOR>-libc++ instead to encode back-deployment restrictions
on tests is simpler and it makes it possible to naturally support tests
such as availability markup checking even in the tip-of-trunk Apple-libc++
configuration.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D146366

Files:
  libcxx/test/libcxx/language.support/cxa_deleted_virtual.pass.cpp
  libcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp
  libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
  libcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp
  libcxx/test/std/depr/depr.c.headers/stdlib_h.aligned_alloc.compile.pass.cpp
  libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
  libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
  libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
  libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
  libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
  libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp
  libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp
  libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minmax_showbase.pass.cpp
  libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp
  libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.multiple.pass.cpp
  libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.pass.cpp
  libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp
  libcxx/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp
  libcxx/test/std/language.support/support.runtime/cstdlib.aligned_alloc.compile.pass.cpp
  libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
  libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/table_size.pass.cpp
  libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp
  libcxx/test/std/numerics/rand/rand.device/ctor.pass.cpp
  libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
  libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp
  libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp
  libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit_lwg3343.pass.cpp
  libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp
  libcxx/utils/ci/apple-install-libcxx.sh
  libcxx/utils/ci/run-buildbot
  libcxx/utils/libcxx/test/features.py
  libcxx/utils/libcxx/test/params.py
  libcxxabi/test/catch_function_01.pass.cpp
  libcxxabi/test/catch_function_03.pass.cpp
  libcxxabi/test/catch_member_data_pointer_01.pass.cpp
  libcxxabi/test/catch_member_function_pointer_02.pass.cpp
  libcxxabi/test/catch_member_pointer_nullptr.pass.cpp
  libcxxabi/test/catch_multi_level_pointer.pass.cpp
  libcxxabi/test/catch_pointer_nullptr.pass.cpp
  libcxxabi/test/catch_ptr_02.pass.cpp
  libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp
  libcxxabi/test/dynamic_cast.pass.cpp
  libcxxabi/test/exception_object_alignment.pass.cpp
  libcxxabi/test/forced_unwind1.pass.cpp
  libcxxabi/test/forced_unwind2.pass.cpp
  libcxxabi/test/incomplete_type.sh.cpp
  libcxxabi/test/test_aux_runtime_op_array_new.pass.cpp
  libcxxabi/test/test_demangle.pass.cpp
  libcxxabi/test/test_exception_address_alignment.pass.cpp
  libcxxabi/test/uncaught_exceptions.pass.cpp
  libunwind/test/libunwind_01.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146366.506315.patch
Type: text/x-patch
Size: 66717 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230318/e5a4229d/attachment-0001.bin>


More information about the libcxx-commits mailing list