[libcxx-commits] [PATCH] D155906: [libc++][hardening][NFC] Rework the Lit feature for detecting the hardening mode.

Konstantin Varlamov via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jul 20 18:06:12 PDT 2023


var-const created this revision.
Herald added subscribers: arphaman, arichardson.
Herald added a project: All.
var-const requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

Make it a multichoice string to closer mirror the CMake variable. This
allows writing `UNSUPPORTED: libcpp-hardening-mode=unchecked` rather
than `UNSUPPORTED: !libcpp-has-hardened-mode && !libcpp-has-debug-mode`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D155906

Files:
  libcxx/test/libcxx/algorithms/alg.sorting/assert.min.max.pass.cpp
  libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator.pass.cpp
  libcxx/test/libcxx/assertions/modes/debug.pass.cpp
  libcxx/test/libcxx/assertions/modes/debug_mode_disabled_in_tu.pass.cpp
  libcxx/test/libcxx/assertions/modes/debug_mode_enabled_in_tu.pass.cpp
  libcxx/test/libcxx/assertions/modes/debug_mode_not_1_or_0.verify.cpp
  libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_hardened_mode.pass.cpp
  libcxx/test/libcxx/assertions/modes/hardened.pass.cpp
  libcxx/test/libcxx/assertions/modes/hardened_mode_disabled_in_tu.pass.cpp
  libcxx/test/libcxx/assertions/modes/hardened_mode_enabled_in_tu.pass.cpp
  libcxx/test/libcxx/assertions/modes/hardened_mode_not_1_or_0.verify.cpp
  libcxx/test/libcxx/assertions/modes/unchecked.pass.cpp
  libcxx/test/libcxx/containers/sequences/array/array.zero/assert.back.pass.cpp
  libcxx/test/libcxx/containers/sequences/array/array.zero/assert.front.pass.cpp
  libcxx/test/libcxx/containers/sequences/array/array.zero/assert.subscript.pass.cpp
  libcxx/test/libcxx/containers/sequences/deque/assert.pop_back.empty.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.erase_iter.end.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.pop_back.empty.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/assert.back.empty.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/assert.cback.empty.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/assert.cfront.empty.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/assert.cindex.oob.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/assert.front.empty.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/assert.index.oob.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/assert.pop_back.empty.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/assert.bucket.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/assert.bucket_size.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/assert.max_load_factor.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket_size.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/assert.max_load_factor.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket_size.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/assert.max_load_factor.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/assert.bucket.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/assert.bucket_size.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/assert.max_load_factor.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_size.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.elem/assert.back.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.elem/assert.front.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.elem/assert.op_idx.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.sub/assert.first.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.sub/assert.last.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.sub/assert.subspan.pass.cpp
  libcxx/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/assert.deallocate.pass.cpp
  libcxx/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/assert.deallocate.pass.cpp
  libcxx/test/libcxx/input.output/filesystems/class.path/path.itr/assert.iterator.pass.cpp
  libcxx/test/libcxx/iterators/assert.advance.pass.cpp
  libcxx/test/libcxx/iterators/assert.next.pass.cpp
  libcxx/test/libcxx/iterators/assert.prev.pass.cpp
  libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.drop.while/assert.begin.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/assert.equal.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/assert.equal.pass.cpp
  libcxx/test/libcxx/ranges/range.factories/range.repeat.view/ctor.piecewise.pass.cpp
  libcxx/test/libcxx/ranges/range.factories/range.repeat.view/ctor.value.bound.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/assert.back.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/assert.cback.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/assert.cfront.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/assert.cindex.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/assert.front.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/assert.index.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.erase_iter.null.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.pop_back.pass.cpp
  libcxx/test/libcxx/strings/string.view/assert.ctor.length.pass.cpp
  libcxx/test/libcxx/strings/string.view/assert.ctor.pointer.pass.cpp
  libcxx/test/libcxx/thread/futures/futures.promise/assert.set_exception.pass.cpp
  libcxx/test/libcxx/thread/futures/futures.promise/assert.set_exception_at_thread_exit.pass.cpp
  libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
  libcxx/test/libcxx/thread/thread.barrier/assert.ctor.pass.cpp
  libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
  libcxx/test/libcxx/thread/thread.latch/assert.count_down.pass.cpp
  libcxx/test/libcxx/thread/thread.latch/assert.ctor.pass.cpp
  libcxx/test/libcxx/thread/thread.semaphore/assert.ctor.pass.cpp
  libcxx/test/libcxx/thread/thread.semaphore/assert.release.pass.cpp
  libcxx/test/libcxx/utilities/assert.exception_guard.no_exceptions.pass.cpp
  libcxx/test/libcxx/utilities/expected/expected.expected/assert.arrow.pass.cpp
  libcxx/test/libcxx/utilities/expected/expected.expected/assert.deref.pass.cpp
  libcxx/test/libcxx/utilities/expected/expected.expected/assert.error.pass.cpp
  libcxx/test/libcxx/utilities/expected/expected.void/assert.deref.pass.cpp
  libcxx/test/libcxx/utilities/expected/expected.void/assert.error.pass.cpp
  libcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.dereference.pass.cpp
  libcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.op_arrow.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.clamp/assert.ranges_clamp.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.pop_heap.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.ranges_pop_heap.pass.cpp
  libcxx/test/std/containers/views/mdspan/extents/assert.conversion.pass.cpp
  libcxx/test/std/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
  libcxx/test/std/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp
  libcxx/test/std/containers/views/mdspan/extents/assert.ctor_from_span.pass.cpp
  libcxx/test/std/containers/views/mdspan/extents/assert.obs.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_left/assert.stride.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp
  libcxx/test/std/containers/views/mdspan/layout_right/assert.stride.pass.cpp
  libcxx/test/std/utilities/utility/utility.unreachable/assert.unreachable.pass.cpp
  libcxx/test/support/test.support/test_check_assertion.pass.cpp
  libcxx/utils/libcxx/test/params.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D155906.542731.patch
Type: text/x-patch
Size: 66833 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230721/e178d9c9/attachment-0001.bin>


More information about the libcxx-commits mailing list