[libcxx-commits] [PATCH] D88923: [libc++] Add a CMake option to control whether the debug mode is supported

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Oct 6 13:56:26 PDT 2020


ldionne created this revision.
Herald added subscribers: libcxx-commits, arphaman, dexonsmith, jkorous, mgorny.
Herald added a project: libc++.
Herald added a reviewer: libc++.
ldionne requested review of this revision.

Some libc++ builds may want to disable support for the debug mode,
for example to reduce code size or because the current implementation
of the debug mode requires a global map. This commit adds the
LIBCXX_ENABLE_DEBUG_MODE CMake option and ties it into the test
suite.

It also adds a CI job to test this configuration going forward.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D88923

Files:
  libcxx/CMakeLists.txt
  libcxx/cmake/caches/Apple.cmake
  libcxx/cmake/caches/Generic-nodebug.cmake
  libcxx/src/CMakeLists.txt
  libcxx/test/CMakeLists.txt
  libcxx/test/configs/legacy.cfg.in
  libcxx/test/libcxx/containers/sequences/array/array.zero/db_back.pass.cpp
  libcxx/test/libcxx/containers/sequences/array/array.zero/db_front.pass.cpp
  libcxx/test/libcxx/containers/sequences/array/array.zero/db_indexing.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/emplace_db1.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_iter_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_size_value_db1.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_value_db1.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/pop_back_db1.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_back.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_cback.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_cfront.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_cindex.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_front.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_index.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_2.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_3.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_4.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_5.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_6.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/pop_back_empty.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_bucket.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_insert_hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_insert_hint_rvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_move.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_db2.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db2.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db3.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db4.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/unord.map.swap/db_swap_1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_insert_hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_insert_hint_rvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_move.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db2.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db2.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db3.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db4.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.swap/db_swap_1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_insert_hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_move.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_db2.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db2.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db3.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db4.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/unord.multiset.swap/db_swap_1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_insert_hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_move.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/erase_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/erase_iter_db2.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db2.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db3.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db4.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/unord.set.swap/db_swap_1.pass.cpp
  libcxx/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
  libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp
  libcxx/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
  libcxx/test/libcxx/debug/containers/db_string.pass.cpp
  libcxx/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
  libcxx/test/libcxx/debug/db_string_view.pass.cpp
  libcxx/test/libcxx/debug/debug_abort.pass.cpp
  libcxx/test/libcxx/debug/debug_helper_test.pass.cpp
  libcxx/test/libcxx/debug/debug_register.pass.cpp
  libcxx/test/libcxx/input.output/filesystems/class.path/path.itr/iterator_db.pass.cpp
  libcxx/test/libcxx/iterators/advance.debug1.pass.cpp
  libcxx/test/libcxx/iterators/next.debug1.pass.cpp
  libcxx/test/libcxx/iterators/prev.debug1.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_back.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_cback.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_cfront.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_cindex.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_front.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_index.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_2.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_3.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_4.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_5.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_6.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_7.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_8.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/clear_and_shrink_db1.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db1.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db2.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db1.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db2.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db3.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db4.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/erase_pop_back_db1.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_char_db1.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_iter_iter_db1.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_size_char_db1.pass.cpp
  libcxx/test/libcxx/thread/futures/futures.promise/set_exception.pass.cpp
  libcxx/test/libcxx/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
  libcxx/utils/ci/buildkite-pipeline.yml
  libcxx/utils/ci/macos-backdeployment.sh
  libcxx/utils/ci/run-buildbot.sh
  libcxx/utils/libcxx/test/params.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D88923.296539.patch
Type: text/x-patch
Size: 90647 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20201006/acaf01bb/attachment-0001.bin>


More information about the libcxx-commits mailing list