diff options
author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-12-19 00:56:05 +0000 |
---|---|---|
committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-12-19 00:56:05 +0000 |
commit | 1069247db128b23a7b0c830626c61a51ca10649a (patch) | |
tree | 827ba3eb885e93b2a058124da8547cb937b19a27 /libstdc++-v3/docs | |
parent | 02b41f5da1f8fc0294adc6a297d9618a10c90ef5 (diff) | |
download | gcc-1069247db128b23a7b0c830626c61a51ca10649a.tar.gz |
2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config: Add in revised namespace associations.
_GLIBCXX_BEGIN_NAMESPACE: New macro.
_GLIBCXX_END_NAMESPACE: Same.
_GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
_GLIBCXX_END_NESTED_NAMESPACE: Same.
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
* configure: Regenerated.
* config.h.in: Same.
* config/abi/pre/gnu-versioned-namespace.ver: New.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
debug mode items.
* include/Makefile.am (${host_builddir}/c++config.h): Fill in
values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
* include/Makefile.in: Regnerate.
* src/compatibility.cc: Alias new, nested definitions to exported
symbols from non-nested __gnu_debug.
* src/Makefile.am: Add in ENABLE_SYMVERS_GNU_NAMESPACE.
* src/Makefile.in: Regenerate.
* docs/html/debug_mode.html: Revise for nested design.
* docs/html/debug.html: Use debug qualifications instead of
__gnu_debug.
* docs/html/configopts.html: Revise documentation for
--enable-symvers.
* include/debug/formatter: Simplify namespace qualifications for
current, nested-only reality. Add top-level namespace alias,
namespace debug, for debug-mode containers.
* include/debug/safe_iterator.h: Same.
* include/debug/set.h: Same.
* include/debug/hash_multimap.h: Same.
* include/debug/hash_set.h: Same.
* include/debug/bitset
* include/debug/safe_sequence.h: Same.
* include/debug/multiset.h: Same.
* include/debug/safe_base.h: Same.
* include/debug/functions.h: Same.
* include/debug/safe_iterator.tcc
* include/debug/hash_multiset.h: Same.
* include/debug/vector
* include/debug/map.h: Same.
* include/debug/deque
* include/debug/hash_map.h: Same.
* include/debug/string
* include/debug/macros.h: Same.
* include/debug/list
* include/debug/debug.h: Same.
* include/debug/multimap.h: Same.
* src/debug.cc: Same.
* testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
* testsuite/23_containers/vector/invalidation/2.cc: Same.
* testsuite/23_containers/vector/invalidation/3.cc: Same.
* testsuite/23_containers/vector/invalidation/4.cc: Same.
* testsuite/23_containers/deque/invalidation/1.cc: Same.
* testsuite/23_containers/deque/invalidation/2.cc: Same.
* testsuite/23_containers/deque/invalidation/3.cc: Same.
* testsuite/23_containers/deque/invalidation/4.cc: Same.
* testsuite/23_containers/multiset/invalidation/1.cc: Same.
* testsuite/23_containers/multiset/invalidation/2.cc: Same.
* testsuite/23_containers/multimap/invalidation/1.cc: Same.
* testsuite/23_containers/multimap/invalidation/2.cc: Same.
* testsuite/23_containers/bitset/invalidation/1.cc: Same.
* testsuite/23_containers/bitset/cons/16020.cc: Same.
* testsuite/23_containers/bitset/operations/13838.cc: Same.
* testsuite/23_containers/list/invalidation/1.cc: Same.
* testsuite/23_containers/list/invalidation/2.cc: Same.
* testsuite/23_containers/list/invalidation/3.cc: Same.
* testsuite/23_containers/list/invalidation/4.cc: Same.
* testsuite/23_containers/set/invalidation/1.cc: Same.
* testsuite/23_containers/set/invalidation/2.cc: Same.
* testsuite/23_containers/map/invalidation/1.cc: Same.
* testsuite/23_containers/map/invalidation/2.cc: Same.
* testsuite/23_containers/map/insert/16813.cc: Same.
* include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
friends.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_algobase.h: Same.
* include/bits/localefwd.h: Same.
* include/bits/valarray_array.tcc: Same.
* include/bits/valarray_after.h: Same.
* include/bits/gslice_array.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/gslice.h: Same.
* include/bits/locale_facets.tcc: Same.
* include/bits/locale_classes.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_iterator_base_types.h: Same.
* include/bits/stl_heap.h: Same.
* include/bits/indirect_array.h: Same.
* include/bits/atomicity.h: Same.
* include/bits/stream_iterator.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_pair.h: Same.
* include/bits/basic_ios.tcc: Same.
* include/bits/stl_raw_storage_iter.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_numeric.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/istream.tcc: Same.
* include/bits/postypes.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/mask_array.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/ostream.tcc: Same.
* include/bits/slice_array.h: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/sstream.tcc: Same.
* include/bits/stl_iterator_base_funcs.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stringfwd.h: Same.
* include/bits/c++config
* include/bits/stl_iterator.h: Same.
* include/bits/valarray_array.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/vector.tcc: Same.
* include/bits/deque.tcc: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/basic_string.tcc: Same.
* include/bits/list.tcc: Same.
* include/bits/streambuf_iterator.h: Same.
* include/bits/valarray_before.h: Same.
* include/bits/stl_construct.h: Same.
* include/bits/stl_function.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/bits/streambuf.tcc: Same.
* include/bits/allocator.h: Same.
* include/bits/stl_tree.h: Same.
* include/bits/fstream.tcc: Same.
* include/bits/stl_relops.h: Same.
* include/bits/functexcept.h: Same.
* include/std/std_valarray.h: Same.
* include/std/std_iostream.h: Same.
* include/std/std_streambuf.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_iosfwd.h: Same.
* include/std/std_iomanip.h: Same.
* include/std/std_fstream.h: Same.
* include/std/std_limits.h: Same.
* include/std/std_stdexcept.h: Same.
* include/std/std_istream.h: Same.
* include/std/std_complex.h: Same.
* include/std/std_memory.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_sstream.h: Same.
* include/c_std/std_csignal.h: Same.
* include/c_std/std_cstdlib.h: Same.
* include/c_std/std_cstdio.h: Same.
* include/c_std/std_cstdarg.h: Same.
* include/c_std/std_cctype.h: Same.
* include/c_std/std_cmath.h: Same.
* include/c_std/std_ctime.h: Same.
* include/c_std/std_clocale.h: Same.
* include/c_std/std_csetjmp.h: Same.
* include/c_std/std_cwchar.h: Same.
* include/c_std/std_cstring.h: Same.
* include/c_std/std_cstddef.h: Same.
* include/c_std/std_cwctype.h: Same.
* include/backward/iterator.h: Same.
* include/backward/set.h: Same.
* include/backward/hashtable.h: Same.
* include/backward/fstream.h: Same.
* include/backward/tempbuf.h: Same.
* include/backward/istream.h: Same.
* include/backward/bvector.h: Same.
* include/backward/stack.h: Same.
* include/backward/rope.h: Same.
* include/backward/complex.h: Same.
* include/backward/ostream.h: Same.
* include/backward/heap.h: Same.
* include/backward/iostream.h: Same.
* include/backward/function.h: Same.
* include/backward/multimap.h: Same.
* include/backward/pair.h: Same.
* include/backward/stream.h: Same.
* include/backward/iomanip.h: Same.
* include/backward/strstream
* include/backward/slist.h: Same.
* include/backward/tree.h: Same.
* include/backward/vector.h: Same.
* include/backward/deque.h: Same.
* include/backward/multiset.h: Same.
* include/backward/list.h: Same.
* include/backward/map.h: Same.
* include/backward/algobase.h: Same.
* include/backward/hash_map.h: Same.
* include/backward/algo.h: Same.
* include/backward/queue.h: Same.
* include/backward/streambuf.h: Same.
* src/allocator-inst.cc: Same.
* src/complex_io.cc: Same.
* src/localename.cc: Same.
* src/limits.cc: Same.
* src/ios_failure.cc: Same.
* src/locale-misc-inst.cc: Same.
* src/streambuf-inst.cc: Same.
* src/misc-inst.cc: Same.
* src/concept-inst.cc: Same.
* src/ios_locale.cc: Same.
* src/pool_allocator.cc: Same.
* src/fstream-inst.cc: Same.
* src/istream-inst.cc: Same.
* src/string-inst.cc: Same.
* src/locale_init.cc: Same.
* src/ctype.cc: Same.
* src/strstream.cc: Same.
* src/ostream-inst.cc: Same.
* src/functexcept.cc: Same.
* src/streambuf.cc: Same.
* src/sstream-inst.cc: Same.
* src/ios.cc: Same.
* src/valarray-inst.cc: Same.
* src/locale.cc: Same.
* src/tree.cc: Same.
* src/stdexcept.cc: Same.
* src/istream.cc: Same.
* src/compatibility.cc: Same.
* src/locale-inst.cc: Same.
* src/globals_io.cc: Same.
* src/list.cc: Same.
* src/ios_init.cc: Same.
* src/locale_facets.cc: Same.
* src/codecvt.cc: Same.
* include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
* include/tr1/boost_shared_ptr.h: Same.
* include/tr1/tuple
* include/tr1/hashtable
* include/tr1/type_traits_fwd.h: Same.
* include/tr1/unordered_set
* include/tr1/functional
* include/tr1/ref_fwd.h: Same.
* include/tr1/utility
* include/tr1/type_traits
* include/tr1/array
* include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
* include/ext/typelist.h: Same.
* include/ext/hash_map: Same.
* include/ext/rc_string_base.h: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/iterator: Same.
* include/ext/rb_tree: Same.
* include/ext/numeric: Same.
* include/ext/vstring.tcc: Same.
* include/ext/sso_string_base.h: Same.
* include/ext/stdio_filebuf.h: Same.
* include/ext/algorithm: Same.
* include/ext/codecvt_specializations.h: Same.
* include/ext/new_allocator.h: Same.
* include/ext/array_allocator.h: Same.
* include/ext/vstring_util.h: Same.
* include/ext/vstring_fwd.h: Same.
* include/ext/mt_allocator.h: Same.
* include/ext/debug_allocator.h: Same.
* include/ext/slist: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/ext/hash_fun.h: Same.
* include/ext/malloc_allocator.h: Same.
* include/ext/functional: Same.
* include/ext/bitmap_allocator.h: Same.
* include/ext/pod_char_traits.h: Same.
* include/ext/vstring.h: Same.
* include/ext/ropeimpl.h: Same.
* include/ext/hash_set: Same.
* include/ext/memory: Same.
* include/ext/rope: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/bits/concurrence.h: Same.
* include/bits/atomicity.h: Same.
* config/locale/gnu/numeric_members.cc: Same.
* config/locale/gnu/collate_members.cc: Same.
* config/locale/gnu/ctype_members.cc: Same.
* config/locale/gnu/c_locale.cc: Same.
* config/locale/gnu/codecvt_members.cc: Same.
* config/locale/gnu/messages_members.cc: Same.
* config/locale/gnu/c_locale.h: Same.
* config/locale/gnu/monetary_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.h: Same.
* config/locale/generic/numeric_members.cc: Same.
* config/locale/generic/collate_members.cc: Same.
* config/locale/generic/ctype_members.cc: Same.
* config/locale/generic/c_locale.cc: Same.
* config/locale/generic/codecvt_members.cc: Same.
* config/locale/generic/messages_members.cc: Same.
* config/locale/generic/c_locale.h: Same.
* config/locale/generic/monetary_members.cc: Same.
* config/locale/generic/time_members.cc: Same.
* config/os/aix/atomicity.h: Same.
* config/os/irix/atomicity.h: Same.
* config/cpu/powerpc/atomicity.h: Same.
* config/cpu/cris/atomicity.h: Same.
* config/cpu/ia64/atomicity.h: Same.
* config/cpu/alpha/atomicity.h: Same.
* config/cpu/m68k/atomicity.h: Same.
* config/cpu/hppa/atomicity.h: Same.
* config/cpu/mips/atomicity.h: Same.
* config/cpu/sparc/atomicity.h: Same.
* config/cpu/i386/atomicity.h: Same.
* config/cpu/i486/atomicity.h: Same.
* config/cpu/sh/atomicity.h: Same.
* config/cpu/generic/atomicity.h: Same.
* config/cpu/s390/atomicity.h: Same.
* config/io/c_io_stdio.h: Same.
* config/io/basic_file_stdio.cc: Same.
* config/io/basic_file_stdio.h: Same.
* src/misc-inst.cc: Same.
* src/concept-inst.cc: Same.
* src/ext-inst.cc: Same.
* src/string-inst.cc: Same.
* src/pool_allocator.cc: Same.
* src/bitmap_allocator.cc: Same.
* src/mt_allocator.cc: Same.
* libsupc++/exception: Same.
* libsupc++/vterminate.cc: Same.
* testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
* testsuite/ext/hash_map/14648.cc: Same.
* libsupc++/eh_alloc.cc: Correct comment line spacing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108775 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/docs')
-rw-r--r-- | libstdc++-v3/docs/html/configopts.html | 16 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/debug.html | 38 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/debug_mode.html | 82 |
3 files changed, 64 insertions, 72 deletions
diff --git a/libstdc++-v3/docs/html/configopts.html b/libstdc++-v3/docs/html/configopts.html index b396a2d1822..a027c658c37 100644 --- a/libstdc++-v3/docs/html/configopts.html +++ b/libstdc++-v3/docs/html/configopts.html @@ -277,14 +277,18 @@ options</a></h1> </dd> <dt><code>--enable-symvers[=style] </code></dt> + <dd><p>In 3.1 and later, tries to turn on symbol versioning in the - shared library (if a shared library has been requested). The - only 'style' currently supported is 'gnu' which requires that - a recent version of the GNU linker be in use. With no style - given, the configure script will try to guess if the 'gnu' - style can be used, and if so, will turn it on. Hopefully - people will volunteer to do other 'style' options. + shared library (if a shared library has been + requested). Values for 'style' that are currently supported + are 'gnu', 'gnu-versioned-namespace', 'darwin', and + 'darwin-export'. Both gnu- options require that a recent + version of the GNU linker be in use. Both darwin options are + equivalent. With no style given, the configure script will try + to guess if the 'gnu' style can be used, and if so, will turn + it on. </p> + </dd> <dt><code>--enable-libstdcxx-pch </code></dt> diff --git a/libstdc++-v3/docs/html/debug.html b/libstdc++-v3/docs/html/debug.html index 0242d4363e3..6bea7f41e7a 100644 --- a/libstdc++-v3/docs/html/debug.html +++ b/libstdc++-v3/docs/html/debug.html @@ -163,91 +163,91 @@ <tr> <td>std::bitset</td> <td><bitset></td> - <td>__gnu_debug::bitset</td> + <td>debug::bitset</td> <td><debug/bitset></td> </tr> <tr> <td>std::deque</td> <td><deque></td> - <td>__gnu_debug::deque</td> + <td>debug::deque</td> <td><debug/deque></td> </tr> <tr> <td>std::list</td> <td><list></td> - <td>__gnu_debug::list</td> + <td>debug::list</td> <td><debug/list></td> </tr> <tr> <td>std::map</td> <td><map></td> - <td>__gnu_debug::map</td> + <td>debug::map</td> <td><debug/map></td> </tr> <tr> <td>std::multimap</td> <td><map></td> - <td>__gnu_debug::multimap</td> + <td>debug::multimap</td> <td><debug/map></td> </tr> <tr> <td>std::multiset</td> <td><set></td> - <td>__gnu_debug::multiset</td> + <td>debug::multiset</td> <td><debug/set></td> </tr> <tr> <td>std::set</td> <td><set></td> - <td>__gnu_debug::set</td> + <td>debug::set</td> <td><debug/set></td> </tr> <tr> <td>std::string</td> <td><string></td> - <td>__gnu_debug::string</td> + <td>debug::string</td> <td><debug/string></td> </tr> <tr> <td>std::wstring</td> <td><string></td> - <td>__gnu_debug::wstring</td> + <td>debug::wstring</td> <td><debug/string></td> </tr> <tr> <td>std::basic_string</td> <td><string></td> - <td>__gnu_debug::basic_string</td> + <td>debug::basic_string</td> <td><debug/string></td> </tr> <tr> <td>std::vector</td> <td><vector></td> - <td>__gnu_debug::vector</td> + <td>debug::vector</td> <td><debug/vector></td> </tr> <tr> <td>__gnu_cxx::hash_map</td> <td><ext/hash_map></td> - <td>__gnu_debug::hash_map</td> + <td>debug::hash_map</td> <td><debug/hash_map></td> </tr> <tr> <td>__gnu_cxx::hash_multimap</td> <td><ext/hash_map></td> - <td>__gnu_debug::hash_multimap</td> + <td>debug::hash_multimap</td> <td><debug/hash_map></td> </tr> <tr> <td>__gnu_cxx::hash_set</td> <td><ext/hash_set></td> - <td>__gnu_debug::hash_set</td> + <td>debug::hash_set</td> <td><debug/hash_set></td> </tr> <tr> <td>__gnu_cxx::hash_multiset</td> <td><ext/hash_set></td> - <td>__gnu_debug::hash_multiset</td> + <td>debug::hash_multiset</td> <td><debug/hash_set></td> </tr> </table> @@ -297,16 +297,16 @@ <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> - <li><code>__gnu_cxx::hash_multimap</code></li> - <li><code>__gnu_cxx::hash_multiset</code></li> - <li><code>__gnu_cxx::hash_set</code></li> <li><code>std::list</code></li> <li><code>std::map</code></li> <li><code>std::multimap</code></li> <li><code>std::multiset</code></li> <li><code>std::set</code></li> <li><code>std::vector</code></li> + <li><code>__gnu_cxx::hash_map</code></li> + <li><code>__gnu_cxx::hash_multimap</code></li> + <li><code>__gnu_cxx::hash_multiset</code></li> + <li><code>__gnu_cxx::hash_set</code></li> </ul> diff --git a/libstdc++-v3/docs/html/debug_mode.html b/libstdc++-v3/docs/html/debug_mode.html index b62ad8f5572..e531fd3fa26 100644 --- a/libstdc++-v3/docs/html/debug_mode.html +++ b/libstdc++-v3/docs/html/debug_mode.html @@ -330,68 +330,56 @@ 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_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 - introduction of the libstdc++ debug mode. Here's an example of what - this ends up looking like, in C++.</p> + namespace <code>std</code>. Minus the namespace associations, this + method leaves the behavior of release mode completely unchanged from + its behavior prior to the introduction of the libstdc++ debug + mode. Here's an example of what this ends up looking like, in + C++.</p> <pre> -namespace __gnu_norm +namespace std { - using namespace std; - template<typename _Tp, typename _Alloc = allocator<_Tp> > class list { // ... - }; -} // namespace __gnu_norm - -namespace std -{ - using namespace __gnu_norm __attribute__ ((strong)); -} + }; +} // namespace std </pre> -<p>In debug mode we include the release-mode container and also the -debug-mode container. The release mode version is defined exactly as -before, and the debug-mode container is defined within the namespace -<code>__gnu_debug</code>, which is associated with namespace +<p>In debug mode we include the release-mode container (which is now +defined in in the namespace <code>__gnu_norm</code>) and also the +debug-mode container. The debug-mode container is defined within the +namespace <code>__gnu_debug</code>, which is associated with namespace <code>std</code> via a "strong using" directive. This method allows the debug- and release-mode versions of the same component to coexist -at compile-time without causing an unreasonable maintenance burden, -while minimizing confusion. Again, this boils down to C++ code as -follows:</p> +at compile-time and link-time without causing an unreasonable +maintenance burden, while minimizing confusion. Again, this boils down +to C++ code as follows:</p> <pre> -namespace __gnu_norm -{ - using namespace std; - - template<typename _Tp, typename _Alloc = allocator<_Tp> > - class list - { - // ... - }; -} // namespace __gnu_norm - -namespace __gnu_debug -{ - using namespace std; - - template<typename _Tp, typename _Alloc = allocator<_Tp> > - class list - : public __gnu_norm::list<_Tp, _Alloc>, - public __gnu_debug::_Safe_sequence<list<_Tp, _Alloc> > - { - // ... - }; -} // namespace __gnu_norm - namespace std { + namespace __gnu_norm + { + template<typename _Tp, typename _Alloc = allocator<_Tp> > + class list + { + // ... + }; + } // namespace __gnu_norm + + namespace __gnu_debug + { + template<typename _Tp, typename _Alloc = allocator<_Tp> > + class list + : public __gnu_norm::list<_Tp, _Alloc>, + public __gnu_debug::_Safe_sequence<list<_Tp, _Alloc> > + { + // ... + }; + } // namespace __gnu_norm + using namespace __gnu_debug __attribute__ ((strong)); } </pre> |