[libc++] Add a CMake option to control whether the debug mode is supported
authorLouis Dionne <ldionne@apple.com>
Tue, 6 Oct 2020 20:46:58 +0000 (16:46 -0400)
committerLouis Dionne <ldionne@apple.com>
Wed, 7 Oct 2020 13:20:59 +0000 (09:20 -0400)
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.

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

138 files changed:
libcxx/CMakeLists.txt
libcxx/cmake/caches/Apple.cmake
libcxx/cmake/caches/Generic-nodebug.cmake [new file with mode: 0644]
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

index 8e7df5d..8599e5d 100644 (file)
@@ -94,6 +94,11 @@ option(LIBCXX_ENABLE_FILESYSTEM "Build filesystem as part of the main libc++ lib
     ${ENABLE_FILESYSTEM_DEFAULT})
 option(LIBCXX_INCLUDE_TESTS "Build the libc++ tests." ${LLVM_INCLUDE_TESTS})
 option(LIBCXX_ENABLE_PARALLEL_ALGORITHMS "Enable the parallel algorithms library. This requires the PSTL to be available." OFF)
+option(LIBCXX_ENABLE_DEBUG_MODE
+  "Whether to include support for libc++'s debugging mode in the library.
+   By default, this is turned on. If you turn it off and try to enable the
+   debug mode when compiling a program against libc++, it will fail to link
+   since the required support isn't provided in the library." ON)
 option(LIBCXX_TEST_GDB_PRETTY_PRINTERS "Test gdb pretty printers." OFF)
 set(LIBCXX_TEST_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/test/configs/legacy.cfg.in" CACHE STRING
     "The Lit testing configuration to use when running the tests.")
index 622a3af..cab7c14 100644 (file)
@@ -11,6 +11,7 @@ set(LIBCXX_TYPEINFO_COMPARISON_IMPLEMENTATION "1" CACHE STRING "")
 set(LIBCXX_CXX_ABI libcxxabi CACHE STRING "")
 set(LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS OFF CACHE BOOL "")
 set(LIBCXX_HIDE_FROM_ABI_PER_TU_BY_DEFAULT ON CACHE BOOL "")
+set(LIBCXX_ENABLE_DEBUG_MODE OFF CACHE BOOL "")
 
 set(LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS ON CACHE BOOL "")
 set(LIBCXXABI_ENABLE_PIC OFF CACHE BOOL "")
diff --git a/libcxx/cmake/caches/Generic-nodebug.cmake b/libcxx/cmake/caches/Generic-nodebug.cmake
new file mode 100644 (file)
index 0000000..b301b2e
--- /dev/null
@@ -0,0 +1 @@
+set(LIBCXX_ENABLE_DEBUG_MODE OFF CACHE BOOL "")
index 0e68193..97e6e22 100644 (file)
@@ -11,7 +11,6 @@ set(LIBCXX_SOURCES
   chrono.cpp
   condition_variable.cpp
   condition_variable_destructor.cpp
-  debug.cpp
   exception.cpp
   functional.cpp
   future.cpp
@@ -56,6 +55,10 @@ set(LIBCXX_SOURCES
   vector.cpp
   )
 
+if (LIBCXX_ENABLE_DEBUG_MODE)
+  list(APPEND LIBCXX_SOURCES debug.cpp)
+endif()
+
 if(WIN32)
   list(APPEND LIBCXX_SOURCES
     support/win32/locale_win32.cpp
index b06984f..e2e3382 100644 (file)
@@ -70,6 +70,7 @@ pythonize_bool(LIBCXX_HAS_ATOMIC_LIB)
 pythonize_bool(LIBCXX_HAVE_CXX_ATOMICS_WITH_LIB)
 pythonize_bool(LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY)
 pythonize_bool(LIBCXX_DEBUG_BUILD)
+pythonize_bool(LIBCXX_ENABLE_DEBUG_MODE)
 pythonize_bool(LIBCXX_ENABLE_PARALLEL_ALGORITHMS)
 
 # By default, for non-standalone builds, libcxx and libcxxabi share a library
index efb41a9..4bfc9bc 100644 (file)
@@ -9,6 +9,7 @@ config.libcxx_src_root          = "@LIBCXX_SOURCE_DIR@"
 config.libcxx_obj_root          = "@LIBCXX_BINARY_DIR@"
 config.cxx_library_root         = "@LIBCXX_LIBRARY_DIR@"
 config.enable_exceptions        = @LIBCXX_ENABLE_EXCEPTIONS@
+config.enable_debug_tests       = @LIBCXX_ENABLE_DEBUG_MODE@
 config.enable_experimental      = @LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY@
 config.enable_filesystem        = @LIBCXX_ENABLE_FILESYSTEM@
 config.enable_rtti              = @LIBCXX_ENABLE_RTTI@
index 8c50962..2461038 100644 (file)
@@ -9,9 +9,7 @@
 // UNSUPPORTED: windows
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
-
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // test array<T, 0>::front() raises a debug error.
 
index 22c766f..48715b6 100644 (file)
@@ -9,9 +9,7 @@
 // UNSUPPORTED: windows
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
-
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // test array<T, 0>::front() raises a debug error.
 
index 26bbea7..a8eda01 100644 (file)
@@ -9,9 +9,7 @@
 // UNSUPPORTED: windows
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
-
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // test array<T, 0>::operator[] raises a debug error.
 
index ae4964f..aaf3760 100644 (file)
@@ -7,11 +7,11 @@
 //===----------------------------------------------------------------------===//
 
 // <list>
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
 
 // list(list&& c);
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index 3592c86..08cd297 100644 (file)
@@ -6,15 +6,13 @@
 //
 //===----------------------------------------------------------------------===//
 
-// UNSUPPORTED: c++03
-
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // list(list&& c);
 
+// UNSUPPORTED: c++03
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(1))
 
index 00e3e7d..6b9cb48 100644 (file)
@@ -6,15 +6,13 @@
 //
 //===----------------------------------------------------------------------===//
 
-// UNSUPPORTED: c++03
-
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // template <class... Args> void emplace(const_iterator p, Args&&... args);
 
+// UNSUPPORTED: c++03
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index 63a6a44..65f99f7 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // Call erase(const_iterator position) with end()
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index 8a785e2..915f25a 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // Call erase(const_iterator position) with iterator from another container
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index 3c0188f..e39d735 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // Call erase(const_iterator first, const_iterator last); with first iterator from another container
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index 24026d5..adaac38 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // Call erase(const_iterator first, const_iterator last); with second iterator from another container
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index fc7088f..76113d5 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // Call erase(const_iterator first, const_iterator last); with both iterators from another container
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index feca2d0..5254865 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // Call erase(const_iterator first, const_iterator last); with a bad range
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index aa63556..a4d2077 100644 (file)
@@ -6,14 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // template <InputIterator Iter>
 //   iterator insert(const_iterator position, Iter first, Iter last);
 
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 71e43cd..9f126b0 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // iterator insert(const_iterator position, value_type&& x);
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index 10e9ceb..c5b4c66 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // iterator insert(const_iterator position, size_type n, const value_type& x);
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index 9a2c989..083dbc5 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // iterator insert(const_iterator position, const value_type& x);
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index 4b7e177..34e5f40 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // void pop_back();
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index a32364f..6dcfa60 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // void splice(const_iterator position, list& x);
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index de0c6ce..1e1ab73 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // void splice(const_iterator position, list<T,Allocator>& x, iterator i);
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index d4da6d5..4e0c440 100644 (file)
@@ -6,13 +6,12 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <list>
 
 // void splice(const_iterator position, list& x, iterator first, iterator last);
 
+// UNSUPPORTED: libcxx-no-debug-mode
+
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index 60056d9..3213878 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call back() on empty container.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index d038e29..91bb982 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call back() on empty const container.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 7175a09..aa3c890 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call front() on empty const container.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 9c094b9..066961c 100644 (file)
@@ -10,8 +10,7 @@
 
 // Index const vector out of bounds.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index b68fdf8..a8300b0 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call front() on empty container.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 3796969..69e9c12 100644 (file)
@@ -10,8 +10,7 @@
 
 // Index vector out of bounds.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index b1a1c5a..91e1cf8 100644 (file)
@@ -10,8 +10,7 @@
 
 // Compare iterators from different containers with <.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 45e6b26..91701c7 100644 (file)
@@ -10,8 +10,7 @@
 
 // Subtract iterators from different containers.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index ae62fab..bb2a127 100644 (file)
@@ -10,8 +10,7 @@
 
 // Index iterator out of bounds.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 330e8dd..cca03c4 100644 (file)
@@ -10,8 +10,7 @@
 
 // Add to iterator out of bounds.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 97b406f..bbc28e9 100644 (file)
@@ -10,8 +10,7 @@
 
 // Decrement iterator prior to begin.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 7dbee21..eaeb4e1 100644 (file)
@@ -10,8 +10,7 @@
 
 // Increment iterator past end.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 0754aae..e390018 100644 (file)
@@ -10,8 +10,7 @@
 
 // Dereference non-dereferenceable iterator.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 32ab5f6..e1afe30 100644 (file)
@@ -10,8 +10,7 @@
 
 // pop_back() more than the number of elements in a vector
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 242b439..fc14f0e 100644 (file)
@@ -10,8 +10,7 @@
 
 // size_type bucket(const key_type& __k) const;
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 5c6c51f..6abe0e7 100644 (file)
@@ -10,8 +10,7 @@
 
 // iterator insert(const_iterator p, const value_type& x);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 83ac379..09c9ce3 100644 (file)
@@ -14,8 +14,7 @@
 //           class = typename enable_if<is_convertible<P, value_type>::value>::type>
 //     iterator insert(const_iterator p, P&& x);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 513c560..814d8bb 100644 (file)
@@ -10,8 +10,7 @@
 
 // Increment iterator past end.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index f12ba00..2ef8fd6 100644 (file)
@@ -10,8 +10,7 @@
 
 // Dereference non-dereferenceable iterator.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 19b0ee7..9902f19 100644 (file)
@@ -10,8 +10,7 @@
 
 // Increment local_iterator past end.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index d696d54..8495931 100644 (file)
@@ -10,8 +10,7 @@
 
 // Dereference non-dereferenceable iterator.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 5ae9a14..5ccd7aa 100644 (file)
@@ -11,9 +11,7 @@
 // unordered_map(unordered_map&& u);
 
 // UNSUPPORTED: c++03
-
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index a3873ec..df3e838 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator position) with end()
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 7aa39f2..47c7b5c 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator position) with iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 841b900..3f7fd66 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with first iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index b124a94..f2a3b4b 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with second iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index c61cfde..7b39a33 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with both iterators from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 4a485c3..e120deb 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with a bad range
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 3e01d65..1985f25 100644 (file)
@@ -14,8 +14,7 @@
 
 // void swap(unordered_map& x, unordered_map& y);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index de8b504..08c244c 100644 (file)
@@ -10,8 +10,7 @@
 
 // iterator insert(const_iterator p, const value_type& x);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 47bfb4b..cf3cfec 100644 (file)
@@ -14,8 +14,7 @@
 //           class = typename enable_if<is_convertible<P, value_type>::value>::type>
 //     iterator insert(const_iterator p, P&& x);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 1178830..1192e1f 100644 (file)
@@ -10,8 +10,7 @@
 
 // Increment iterator past end.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index a5861fb..846028d 100644 (file)
@@ -10,8 +10,7 @@
 
 // Dereference non-dereferenceable iterator.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index a817f81..c14e171 100644 (file)
@@ -10,8 +10,7 @@
 
 // Increment local_iterator past end.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 9ac363e..46e91db 100644 (file)
@@ -10,8 +10,7 @@
 
 // Dereference non-dereferenceable iterator.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 3b1f23a..a4fb6e5 100644 (file)
@@ -12,8 +12,7 @@
 
 // unordered_multimap(unordered_multimap&& u);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index da93622..36867de 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator position) with end()
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 0e99ca4..47a3c0d 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator position) with iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index f8412d9..5e8a6ce 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with first iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index a028e11..1865c79 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with second iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 5506af5..44c0bef 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with both iterators from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 97119b8..1c3dca4 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with a bad range
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 73d9dc3..d2627f0 100644 (file)
@@ -14,8 +14,7 @@
 
 // void swap(unordered_multimap& x, unordered_multimap& y);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index de604c1..29bc62e 100644 (file)
@@ -10,8 +10,7 @@
 
 // iterator insert(const_iterator p, const value_type& x);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 89d3a57..a813c23 100644 (file)
@@ -10,8 +10,7 @@
 
 // Increment iterator past end.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 579bd84..5bdab4d 100644 (file)
@@ -10,8 +10,7 @@
 
 // Dereference non-dereferenceable iterator.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index c85ed1d..4ad003f 100644 (file)
@@ -10,8 +10,7 @@
 
 // Increment local_iterator past end.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 597edd0..512912d 100644 (file)
@@ -10,8 +10,7 @@
 
 // Dereference non-dereferenceable iterator.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 41da7ea..bc72a3b 100644 (file)
@@ -12,8 +12,7 @@
 
 // unordered_multiset(unordered_multiset&& u);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index b967c59..2aa2059 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator position) with end()
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index d704dca..fd09b2a 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator position) with iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 1a183e6..7b68007 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with first iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index de3ebaa..a320245 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with second iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 9d36b53..b28abfb 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with both iterators from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index a68f312..e8234cd 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with a bad range
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 2feba5c..a0f23ae 100644 (file)
@@ -14,8 +14,7 @@
 
 // void swap(unordered_multiset& x, unordered_multiset& y);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 3303d08..70b096c 100644 (file)
@@ -10,8 +10,7 @@
 
 // iterator insert(const_iterator p, const value_type& x);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 12e56ea..90221a7 100644 (file)
@@ -10,8 +10,7 @@
 
 // Increment iterator past end.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 3333be8..3fb1c86 100644 (file)
@@ -10,8 +10,7 @@
 
 // Dereference non-dereferenceable iterator.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index f003c2b..f506f42 100644 (file)
@@ -10,8 +10,7 @@
 
 // Increment local_iterator past end.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 999ec8b..fe998c5 100644 (file)
@@ -10,8 +10,7 @@
 
 // Dereference non-dereferenceable iterator.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 02f8368..5737270 100644 (file)
@@ -7,14 +7,12 @@
 //===----------------------------------------------------------------------===//
 
 // UNSUPPORTED: c++03
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // <unordered_set>
 
 // unordered_set(unordered_set&& u);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
 
index b5ddd8c..9131483 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator position) with end()
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index bd14a3c..3763f01 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator position) with iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 70a1afb..40824dd 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with first iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 88f33d5..c492eee 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with second iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 8aa1b5a..a9e21fc 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with both iterators from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 0922c65..666e9b4 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with a bad range
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index b65cc69..d66e7e3 100644 (file)
@@ -14,8 +14,7 @@
 
 // void swap(unordered_set& x, unordered_set& y);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index d64daad..afda15e 100644 (file)
@@ -9,10 +9,9 @@
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
 // UNSUPPORTED: libcpp-no-if-constexpr
-// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // test container debugging
 
index bdfe311..954fb1f 100644 (file)
 // UNSUPPORTED: windows
 // UNSUPPORTED: libcpp-has-no-threads
 // UNSUPPORTED: libcpp-no-if-constexpr
-// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // test multihtreaded container debugging
 
index adfd2d8..74a4ea5 100644 (file)
@@ -9,10 +9,9 @@
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
 // UNSUPPORTED: libcpp-no-if-constexpr
-// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // test container debugging
 
index 46e484b..293a37c 100644 (file)
@@ -9,10 +9,9 @@
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
 // UNSUPPORTED: libcpp-no-if-constexpr
-// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // test container debugging
 
index 3e57641..6d4809a 100644 (file)
@@ -9,10 +9,9 @@
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
 // UNSUPPORTED: libcpp-no-if-constexpr
-// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // test container debugging
 
index 4fca18f..c2285f0 100644 (file)
@@ -9,10 +9,9 @@
 // UNSUPPORTED: c++03, c++11, c++14
 // UNSUPPORTED: windows
 // UNSUPPORTED: libcpp-no-if-constexpr
-// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // test container debugging
 
index 5d3c612..277628f 100644 (file)
@@ -8,9 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=0
-
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // Test that the default debug handler aborts the program.
 
index 01f42a9..f6153b2 100644 (file)
 // UNSUPPORTED: c++03
 // UNSUPPORTED: windows
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #include <__debug>
 #include "test_macros.h"
index d8d8021..829f354 100644 (file)
@@ -8,9 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=1
-
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #include <cstdlib>
 #include <string>
index 559b875..8e25ac8 100644 (file)
@@ -8,12 +8,10 @@
 
 // UNSUPPORTED: c++03
 // UNSUPPORTED: windows
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=0
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <filesystem>
 
 // class path
index 9c180da..3b71f7f 100644 (file)
@@ -6,11 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
 // UNSUPPORTED: c++03
 // UNSUPPORTED: windows
-// UNSUPPORTED: with_system_cxx_lib=macosx
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=0
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // <list>
 
index cf272a0..e2eaf58 100644 (file)
@@ -6,11 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
 // UNSUPPORTED: c++03
 // UNSUPPORTED: windows
-// UNSUPPORTED: with_system_cxx_lib=macosx
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=0
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // <list>
 
index e929164..35d5449 100644 (file)
@@ -6,12 +6,10 @@
 //
 //===----------------------------------------------------------------------===//
 
-// Can't test the system lib because this test enables debug mode
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // UNSUPPORTED: c++03
 // UNSUPPORTED: windows
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=0
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // <list>
 
index 31000d0..ad85e74 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call back() on empty container.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 61d504f..2a68809 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call back() on empty const container.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 654c575..3ec6f14 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call front() on empty const container.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 2a5267e..826a36b 100644 (file)
@@ -10,8 +10,7 @@
 
 // Index const string out of bounds.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index c73c536..b37a42b 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call front() on empty container.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index ef250b0..d47fe54 100644 (file)
@@ -10,8 +10,7 @@
 
 // Index string out of bounds.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index df165b7..969f324 100644 (file)
@@ -10,8 +10,7 @@
 
 // Compare iterators from different containers with <.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 9f51466..cd6bdce 100644 (file)
@@ -10,8 +10,7 @@
 
 // Subtract iterators from different containers with <.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 28aa876..89a4f0d 100644 (file)
@@ -10,8 +10,7 @@
 
 // Index iterator out of bounds.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 9fd4dec..a109867 100644 (file)
@@ -10,8 +10,7 @@
 
 // Add to iterator out of bounds.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 802d6b4..cbc14c1 100644 (file)
@@ -10,8 +10,7 @@
 
 // Decrement iterator prior to begin.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 86b175f..156f537 100644 (file)
@@ -10,8 +10,7 @@
 
 // Increment iterator past end.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index ca3521d..f308a75 100644 (file)
@@ -10,8 +10,7 @@
 
 // Dereference non-dereferenceable iterator.
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 5369a82..345ad46 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call __clear_and_shrink() and ensure string invariants hold
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index f9dd19c..501db8a 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator position) with end()
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 3e1b5fc..58b2c65 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator position) with iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index ce0690f..e0f229a 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with first iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 87e2f50..c5faed8 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with second iterator from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 848f344..5b0179c 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with both iterators from another container
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index cb87f1f..827ddde 100644 (file)
@@ -10,8 +10,7 @@
 
 // Call erase(const_iterator first, const_iterator last); with a bad range
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index af93f57..88fcccf 100644 (file)
@@ -10,8 +10,7 @@
 
 // void pop_back();
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index e581488..5364da5 100644 (file)
@@ -10,8 +10,7 @@
 
 // iterator insert(const_iterator p, charT c);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 5bbe146..87e7fb6 100644 (file)
@@ -11,8 +11,7 @@
 // template<class InputIterator>
 //   iterator insert(const_iterator p, InputIterator first, InputIterator last);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index 2be5b08..eff9fe5 100644 (file)
@@ -10,8 +10,7 @@
 
 // iterator insert(const_iterator p, size_type n, charT c);
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
+// UNSUPPORTED: libcxx-no-debug-mode
 
 #define _LIBCPP_DEBUG 1
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
index efa62f5..a79fdab 100644 (file)
@@ -9,12 +9,10 @@
 // UNSUPPORTED: windows
 // UNSUPPORTED: libcpp-has-no-threads
 // UNSUPPORTED: c++03
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=0
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <future>
 
 // class promise<R>
index a72c4bc..407b69f 100644 (file)
@@ -9,12 +9,10 @@
 // UNSUPPORTED: windows
 // UNSUPPORTED: libcpp-has-no-threads
 // UNSUPPORTED: c++03
+// UNSUPPORTED: libcxx-no-debug-mode
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DEBUG=0
 
-// This test requires debug mode, which the library on macOS doesn't have.
-// UNSUPPORTED: with_system_cxx_lib=macosx
-
 // <future>
 
 // class promise<R>
index 63fb5d5..929ee98 100644 (file)
@@ -75,6 +75,11 @@ steps:
     agents:
       queue: "libcxx-builders"
 
+  - label: "No debug mode"
+    command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-nodebug | libcxx/utils/ci/phabricator-report"
+    agents:
+      queue: "libcxx-builders"
+
   - label: "MacOS C++20"
     command: "set -o pipefail && libcxx/utils/ci/run-buildbot.sh generic-cxx2a | libcxx/utils/ci/phabricator-report"
     agents:
index 04549aa..f91d719 100755 (executable)
@@ -131,6 +131,7 @@ fi
 echo "@@@ Running tests for libc++ @@@"
 "${LLVM_BUILD_DIR}/bin/llvm-lit" -sv "${MONOREPO_ROOT}/libcxx/test" \
                                  --param=enable_experimental=false \
+                                 --param=enable_debug_tests=false \
                                  ${ENABLE_FILESYSTEM} \
                                  --param=cxx_headers="${LLVM_INSTALL_DIR}/include/c++/v1" \
                                  --param=std="${STD}" \
index 0dee6ae..c62b1a9 100755 (executable)
@@ -102,6 +102,12 @@ generic-singlethreaded)
     args+=("-DLIBCXXABI_ENABLE_THREADS=OFF")
     args+=("-DLIBCXX_ENABLE_MONOTONIC_CLOCK=OFF")
 ;;
+generic-nodebug)
+    export CC=clang
+    export CXX=clang++
+    args+=("-DLLVM_LIT_ARGS=-sv --show-unsupported")
+    args+=("-DLIBCXX_ENABLE_DEBUG_MODE=OFF")
+;;
 x86_64-apple-system)
     export CC=clang
     export CXX=clang++
index 175074a..94686a6 100644 (file)
@@ -45,6 +45,10 @@ DEFAULT_PARAMETERS = [
             Feature(name='c++experimental', linkFlag='-lc++experimental')),
 
   Parameter(name='long_tests', choices=[True, False], type=bool, default=True,
-            help="Whether to tests that take longer to run. This can be useful when running on a very slow device.",
+            help="Whether to enable tests that take longer to run. This can be useful when running on a very slow device.",
             feature=lambda enabled: Feature(name='long_tests') if enabled else None),
+
+  Parameter(name='enable_debug_tests', choices=[True, False], type=bool, default=True,
+            help="Whether to enable tests that exercise the libc++ debugging mode.",
+            feature=lambda enabled: None if enabled else Feature(name='libcxx-no-debug-mode')),
 ]