diff options
author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-14 00:15:00 +0000 |
---|---|---|
committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-14 00:15:00 +0000 |
commit | 28aa9e3ec8f13b49d7812db97aa4f21cd91c4497 (patch) | |
tree | 917d0c8c22795ee44263851c5ad26805d48a6fa9 /libstdc++-v3/docs | |
parent | fad557f319eebd695a4c4e9f212f08954c264394 (diff) | |
download | gcc-28aa9e3ec8f13b49d7812db97aa4f21cd91c4497.tar.gz |
2003-11-13 Douglas Gregor <gregod@cs.rpi.edu>
* docs/html/debug.html: Users are allowed to specialize in
namespace __gnu_debug, unlike in the Apple version of the debug
mode. Clear up a confusing double-negative. Note that
std::basic_string does provide extra debugging capabilities, but
not safe iterators.
* include/bits/basic_string.tcc: Make sure there's never an
ambiguity when calling __is_null_pointer.
* include/debug/deque: (deque::erase) Properly handle invalidation
when erasing at the end of the deque.
* include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
(vector::clear): Set the guaranteed capacity to 0.
* testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
iterator invalidation when erasing at the end of the deque.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73564 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/docs')
-rw-r--r-- | libstdc++-v3/docs/html/debug.html | 8 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/debug_mode.html | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/libstdc++-v3/docs/html/debug.html b/libstdc++-v3/docs/html/debug.html index be4a8614b0d..91e13c14429 100644 --- a/libstdc++-v3/docs/html/debug.html +++ b/libstdc++-v3/docs/html/debug.html @@ -145,8 +145,7 @@ functionally equivalent to the standard drop-in containers used in debug mode, but they are available in a separate namespace as GNU extensions and may be used in programs compiled with either release - mode or with debug mode. However, unlike the containers in namespace - <code>std</code>, these containers may not be specialized. The + mode or with debug mode. The following table provides the names and headers of the debugging containers: @@ -250,7 +249,7 @@ </table> <h4 class="left">Debug mode semantics</h4> -<p>A program that does not use the C++ standard library incorrectly +<p>A program that uses the C++ standard library correctly will maintain the same semantics under debug mode as it had with the normal (release) library. All functional and exception-handling guarantees made by the normal library also hold for the debug mode @@ -276,7 +275,7 @@ library, and is therefore somewhat hazardous. For this reason, the libstdc++ debug mode offers a "pedantic" mode (similar to GCC's <code>-pedantic</code> compiler flag) that attempts to emulate - the semantics guaranteed by the C++ standard. In pedantic mode, for + the semantics guaranteed by the C++ standard. For instance, constructing a <code>std::basic_string</code> with a NULL character pointer would result in an exception under normal mode or non-pedantic debug mode (this is a libstdc++ extension), whereas @@ -288,6 +287,7 @@ <p>The following library components provide extra debugging capabilities in debug mode:</p> <ul> + <li><code>std::basic_string</code> (no safe iterators)</li> <li><code>std::bitset</code></li> <li><code>std::deque</code></li> <li><code>__gnu_cxx::hash_map</code></li> diff --git a/libstdc++-v3/docs/html/debug_mode.html b/libstdc++-v3/docs/html/debug_mode.html index cc42dd25ef1..b62ad8f5572 100644 --- a/libstdc++-v3/docs/html/debug_mode.html +++ b/libstdc++-v3/docs/html/debug_mode.html @@ -330,7 +330,7 @@ template<typename _Tp, typename _Allocator = allocator<_Tp> <p>In release mode, we define only the release-mode version of the component with its standard name and do not include the debugging component at all. The release mode version is defined within the - namespace <code>__gnu_nom</code>, and then associated with namespace + namespace <code>__gnu_norm</code>, and then associated with namespace <code>std</code> via a "strong using" directive. Minus the namespace associations, this method leaves the behavior of release mode completely unchanged from its behavior prior to the |