[libcxx-commits] [PATCH] D100866: [WIP] Add a buildkite for _LIBCPP_DEBUG=1.

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Apr 20 10:01:40 PDT 2021


Quuxplusone created this revision.
Quuxplusone added reviewers: ldionne, krisb, curdeius, Mordante.
Quuxplusone added a project: libc++.
Herald added subscribers: arichardson, mgorny.
Quuxplusone requested review of this revision.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

Add a debug-mode CI step. For now, this is still a work-in-progress.
My general roadmap is intended to be:

- Land the fix to support N3644 "Null Forward Iterators" in debug mode.
- Land the changes to Generic-debug.cmake, run-buildbot, and buildkite-pipeline.yml, plus marking all offending tests as `UNSUPPORTED: LIBCXX-DEBUG-FIXME`.
- Land a fix to `<span>` (IMHO just turning the iterators into raw pointers), and unmark those now-passing tests.
- Investigate and fix other failures, unmarking tests that pass, and changing others from `UNSUPPORTED: LIBCXX-DEBUG-FIXME` to `UNSUPPORTED: debug_level_0, debug_level_1` as appropriate.
- Don't leave any `LIBCXX-DEBUG-FIXME` tests in master at the end of this whole process.
- Remove the `LIBCXX-DEBUG-FIXME` feature from Generic-debug.cmake.

To run llvm-lit manually from the command line:

      
  ./bin/llvm-lit -sv --param std=c++20 --param cxx_under_test=`pwd`/bin/clang \
      --param debug_level=1 ../libcxx/test/


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D100866

Files:
  libcxx/cmake/caches/Generic-debug.cmake
  libcxx/src/debug.cpp
  libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp
  libcxx/test/libcxx/diagnostics/nodiscard_extensions.pass.cpp
  libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
  libcxx/test/std/containers/unord/unord.set/insert_hint_const_lvalue.pass.cpp
  libcxx/test/std/containers/views/span.cons/deduct.pass.cpp
  libcxx/test/std/containers/views/span.iterators/begin.pass.cpp
  libcxx/test/std/containers/views/span.iterators/end.pass.cpp
  libcxx/test/std/containers/views/span.iterators/rbegin.pass.cpp
  libcxx/test/std/containers/views/span.iterators/rend.pass.cpp
  libcxx/test/std/containers/views/span.sub/first.pass.cpp
  libcxx/test/std/containers/views/span.sub/last.pass.cpp
  libcxx/test/std/containers/views/span.sub/subspan.pass.cpp
  libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
  libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
  libcxx/test/std/iterators/iterator.primitives/iterator.operations/robust_against_adl.pass.cpp
  libcxx/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan.pass.cpp
  libcxx/test/std/numerics/numeric.ops/exclusive.scan/exclusive_scan_init_op.pass.cpp
  libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan.pass.cpp
  libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op.pass.cpp
  libcxx/test/std/numerics/numeric.ops/inclusive.scan/inclusive_scan_op_init.pass.cpp
  libcxx/test/std/numerics/numeric.ops/transform.exclusive.scan/transform_exclusive_scan_init_bop_uop.pass.cpp
  libcxx/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop.pass.cpp
  libcxx/test/std/numerics/numeric.ops/transform.inclusive.scan/transform_inclusive_scan_bop_uop_init.pass.cpp
  libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
  libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/copy.pass.cpp
  libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/copy.pass.cpp
  libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/copy.pass.cpp
  libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp
  libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/copy.pass.cpp
  libcxx/test/std/strings/string.view/string.view.ops/copy.pass.cpp
  libcxx/utils/ci/buildkite-pipeline.yml
  libcxx/utils/ci/run-buildbot
  libcxx/utils/libcxx/test/config.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100866.338909.patch
Type: text/x-patch
Size: 29018 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210420/a4c1a2c9/attachment-0001.bin>


More information about the libcxx-commits mailing list