llvm-project/libcxx/test
Howard Hinnant b24c802489 Debug mode for unordered_set. I believe this to be fairly complete for
unordered_set, however it is not complete yet for unordered_multiset,
unordered_map or unordered_multimap.  There has been a lot of work done
for these other three containers, however that work was done just to
keep all of the tests passing.

You can try this out with -D_LIBCPP_DEBUG2.  You will have to link to a
libc++.dylib that has been compiled with src/debug.cpp.  So far, vector
(but not vector<bool>), list, and unordered_set are treated.  I hope to
get the other three unordered containers up fairly quickly now that
unordered_set is done.

The flag _LIBCPP_DEBUG2 will eventually be changed to _LIBCPP_DEBUG, but
not today.  This is my second effort at getting debug mode going for
libc++, and I'm not quite yet ready to throw all of the work under the
first attempt away.

The basic design is that all of the debug information is kept in a
central database, instead of in the containers.  This has been done as
an attempt to have debug mode and non-debug mode be ABI compatible with
each other.  There are some circumstances where if you construct a
container in an environment without debug mode and pass it into debug
mode, the checking will get confused and let you know with a readable
error message.  Passing containers the other way: from debug mode out to
a non-debugging mode container should be 100% safe (at least that is the
goal).

llvm-svn: 186991
2013-07-23 22:01:58 +00:00
..
algorithms Fix a bug in std::fill_n where memset would end up being called in cases when it shouldn’t. 2013-07-22 21:08:00 +00:00
atomics Stephan Tolksdorf: fixes the issue in the <atomic> header and adds corresponding tests. I've used macros to fall back to a user-provided default constructor if _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS (though I suspect that there won't be many users defining that macro). 2013-05-02 20:18:43 +00:00
containers Debug mode for unordered_set. I believe this to be fairly complete for 2013-07-23 22:01:58 +00:00
depr [tests] XFAIL a few things that require libc (?) support missing on Darwin. 2013-02-05 22:10:25 +00:00
diagnostics Fix http://llvm.org/bugs/show_bug.cgi?id=11428. Fix provided by Alberto Ganesh Barbati 2011-12-02 19:36:40 +00:00
input.output Add pointer format test for Windows. 2013-07-16 23:50:06 +00:00
iterators Move common header files into a 'support' directory; make 'testit' include -I to that directory; rename 'iterators.h' to 'iterator_test.h'; remove hard-coded paths to include files from more than 350 source files 2013-01-05 03:21:01 +00:00
language.support A few fixes to tests for Windows port. 2013-07-15 18:09:11 +00:00
localization Windows port for __codecvt_utf8<wchar_t>. 2013-07-08 19:03:07 +00:00
numerics Fix a couple of bugs in linear_congruential_engine::seed. Regression test added. 2013-05-21 21:05:12 +00:00
re Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ignoring capture groups inside lookahead assertions. 2013-07-23 16:18:04 +00:00
strings Implement string suffixes from N3642 2013-07-23 17:05:24 +00:00
support War on tabs. 2013-07-08 21:06:38 +00:00
thread Constrain launch ~ operator to defined bits. 2013-07-02 18:01:41 +00:00
utilities Make tuple's constructor and std::get<>(tuple) constexpr. Final stage of fixing bug #16599. Thanks to Howard for the review and updates. 2013-07-22 16:02:19 +00:00
CMakeLists.txt Allow libc++ to be built with CMake from within the LLVM tree. The libc++ part is just some renaming as the variable was already in use, conflicting with something else in the LLVM tree. Contributed by Ruben Van Boxem. 2012-03-19 15:40:23 +00:00
lit.cfg [tests] Add support for a link_flags lit parameter. 2013-02-12 19:28:51 +00:00
lit.site.cfg.in Add CMake build and fix major Linux blockers. 2010-12-10 19:47:54 +00:00
nothing_to_do.pass.cpp license change 2010-11-16 22:09:02 +00:00
testit Fix bashism. 2013-07-04 15:11:10 +00:00