llvm-project/libcxx
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
..
cmake http://llvm.org/bugs/show_bug.cgi?id=9399 fixed by Ryuta Suzuki 2011-05-24 12:54:00 +00:00
include Debug mode for unordered_set. I believe this to be fairly complete for 2013-07-23 22:01:58 +00:00
lib Implement full support for non-pointer types in custom allocators. This is for the unordered containers only. This work still needs to be done on the sequence containers. 2013-06-22 15:21:29 +00:00
src Add some friendly messages to libcxx calls to abort(). 2013-07-23 16:05:56 +00:00
test Debug mode for unordered_set. I believe this to be fairly complete for 2013-07-23 22:01:58 +00:00
www I believe this finishes up debug mode for list. The testing is a little weak, but I believe all of the functionality is there. Certainly enough for people to checkout and start beating up on. 2013-04-16 21:42:36 +00:00
.arcconfig Add a simple .arcconfig to make using the 'arc' commandline tool and the 2012-12-31 05:59:45 +00:00
CMakeLists.txt The cmake script is failing to copy cxxabi.h to the right place because it was generating to destination path like so /include// and dstdir can legally be blank from my interpretation of the script, and this would then generate a path like libcxx/include// which is illegal. 2013-04-02 21:33:01 +00:00
CREDITS.TXT Updated CREDITS.TXT 2013-07-02 19:00:29 +00:00
LICENSE.TXT Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
Makefile Change makefile comment to refer to libc++ instead of libcpp. 2013-04-23 19:26:55 +00:00