[all-commits] [llvm/llvm-project] ed61d6: [libc++] Use the stdlib=<LIB> Lit feature instead ...

Louis Dionne via All-commits all-commits at lists.llvm.org
Thu Mar 30 03:58:17 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ed61d6a46611cfb144b260e0dd0fb1b5783562d9
      https://github.com/llvm/llvm-project/commit/ed61d6a46611cfb144b260e0dd0fb1b5783562d9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

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

  Log Message:
  -----------
  [libc++] Use the stdlib=<LIB> Lit feature instead of use_system_cxx_lib

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.

Differential Revision: https://reviews.llvm.org/D146366




More information about the All-commits mailing list