[libc++] Add a CMake option to control whether the debug mode is supported

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
This commit is contained in:
Louis Dionne
2020-10-06 16:46:58 -04:00
parent 602c193e2a
commit ce1365f8f7
138 changed files with 182 additions and 296 deletions

View 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.")

View 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 "")

View File

@@ -0,0 +1 @@
set(LIBCXX_ENABLE_DEBUG_MODE OFF CACHE BOOL "")

View 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

View 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

View 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@

View 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.

View 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.

View 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.

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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))

View 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

View File

@@ -10,10 +10,9 @@
// 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

View 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

View 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

View 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

Some files were not shown because too many files have changed in this diff Show More