2003-07-24 Doug Gregor * docs/html/debug.html: Document libstdc++ debug mode. * docs/html/17_intro/howto.html: Document debug-mode macros. * include/Makefile.am: Install debug-mode headers. * src/Makefile.am: Include debug.cc. * include/bits/basic_string.tcc: (basic_string::_S_construct): Fix NULL pointer check. (__is_null_pointer): New. * include/bits/deque.tcc: Prefix class name with _Release_ when in debug mode. Mark the class as a release-mode class. * include/bits/istream.tcc: Ditto. * include/bits/list.tcc: Ditto. * include/bits/ostream.tcc: Ditto. * include/bits/stl_bvector.h: Ditto. * include/bits/stl_deque.h: Ditto. * include/bits/stl_list.h: Ditto. * include/bits/stl_map.h: Ditto. * include/bits/stl_multimap.h: Ditto. * include/bits/stl_multiset.h: Ditto. * include/bits/stl_set.h: Ditto. * include/bits/stl_vector.h: Ditto. * include/bits/vector.tcc: Ditto. * include/ext/hash_map: Ditto. * include/ext/hash_set: Ditto. * include/std/std_bitset.h: Ditto. * include/bits/stream_iterator.h (istream_iterator, ostream_iterator): Added precondition annotations. * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto. * include/bits/stl_queue.h (queue, priority_queue): Ditto. * include/bits/stl_stack.h (stack): Ditto. * include/bits/basic_string.h (basic_string): Ditto. * include/bits/basic_string.tcc (basic_string): Ditto. * include/std/std_memory.h (auto_ptr): Ditto. * include/std/std_valarray.h (valarray): Ditto. * include/bits/stl_algo.h: Added algorithm precondition annotations. (__is_sorted): Added here with code from __gnu_cxx::is_sorted. * include/bits/stl_algobase.h: Added algorithm precondition annotations. * include/bits/stl_numeric.h: Ditto. * include/ext/algorithm: Added algorithm precondition annotations. (__is_heap): Moved away from here. (is_sorted): Forward to std::__is_sorted. * include/bits/stl_heap.h: Added algorithm precondition annotations. (__is_heap): Moved to the top of this file. (__is_heap): Added iterator range overloads. * testsuite/Makefile.am: Build a debug version of the testing support library. * testsuite/lib/libstdc++-v3-dg.exp: When compiling with -D_GLIBCXX_DEBUG, link against debug version of testing support library. * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up with changes in std_memory.h. * testsuite/23_containers/list_operators.cc: Don't verify performance guarantees when in debug mode. * testsuite/23_containers/bitset_inval.cc: New. * testsuite/23_containers/deque_inval.cc: New. * testsuite/23_containers/list_inval.cc: New. * testsuite/23_containers/map_inval.cc: New. * testsuite/23_containers/multimap_inval.cc: New. * testsuite/23_containers/multiset_inval.cc: New. * testsuite/23_containers/set_inval.cc: New. * testsuite/23_containers/vector_inval.cc: New. * testsuite/25_algorithms/heap.cc: Don't verify performance guarantees when in debug mode. * include/debug/bitset: New. * include/debug/dbg_bitset.h: New. * include/debug/dbg_deque.h: New. * include/debug/dbg_hash_map.h: New. * include/debug/dbg_hash_multimap.h: New. * include/debug/dbg_hash_multiset.h: New. * include/debug/dbg_hash_set.h: New. * include/debug/dbg_list.h: New. * include/debug/dbg_map.h: New. * include/debug/dbg_multimap.h: New. * include/debug/dbg_multiset.h: New. * include/debug/dbg_set.h: New. * include/debug/dbg_vector.h: New. * include/debug/debug.h: New. * include/debug/deque: New. * include/debug/formatter.h: New. * include/debug/hash_map: New. * include/debug/hash_set: New. * include/debug/list: New. * include/debug/map: New. * include/debug/safe_base.h: New. * include/debug/safe_iterator.h: New. * include/debug/safe_iterator.tcc: New. * include/debug/safe_sequence.h: New. * include/debug/set: New. * include/debug/string: New. * include/debug/support.h: New. * include/debug/vector: New. * src/debug.cc: New.