From 1069247db128b23a7b0c830626c61a51ca10649a Mon Sep 17 00:00:00 2001 From: bkoz Date: Mon, 19 Dec 2005 00:56:05 +0000 Subject: [PATCH] 2005-12-18 Benjamin Kosnik * 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 --- libstdc++-v3/ChangeLog | 333 +++++++++++++++++++++ libstdc++-v3/Makefile.in | 2 + libstdc++-v3/acinclude.m4 | 10 +- libstdc++-v3/config.h.in | 3 + .../config/abi/pre/gnu-versioned-namespace.ver | 202 +++++++++++++ libstdc++-v3/config/abi/pre/gnu.ver | 55 +++- libstdc++-v3/config/abi/pre/none.ver | 8 +- libstdc++-v3/config/cpu/alpha/atomicity.h | 7 +- libstdc++-v3/config/cpu/cris/atomicity.h | 7 +- libstdc++-v3/config/cpu/generic/atomicity.h | 10 +- libstdc++-v3/config/cpu/hppa/atomicity.h | 9 +- libstdc++-v3/config/cpu/i386/atomicity.h | 9 +- libstdc++-v3/config/cpu/i486/atomicity.h | 9 +- libstdc++-v3/config/cpu/ia64/atomicity.h | 7 +- libstdc++-v3/config/cpu/m68k/atomicity.h | 9 +- libstdc++-v3/config/cpu/mips/atomicity.h | 9 +- libstdc++-v3/config/cpu/powerpc/atomicity.h | 7 +- libstdc++-v3/config/cpu/s390/atomicity.h | 9 +- libstdc++-v3/config/cpu/sh/atomicity.h | 9 +- libstdc++-v3/config/cpu/sparc/atomicity.h | 10 +- libstdc++-v3/config/io/basic_file_stdio.cc | 9 +- libstdc++-v3/config/io/basic_file_stdio.h | 10 +- libstdc++-v3/config/io/c_io_stdio.h | 12 +- libstdc++-v3/config/locale/generic/c_locale.cc | 21 +- libstdc++-v3/config/locale/generic/c_locale.h | 9 +- .../config/locale/generic/codecvt_members.cc | 9 +- .../config/locale/generic/collate_members.cc | 9 +- .../config/locale/generic/ctype_members.cc | 9 +- .../config/locale/generic/messages_members.cc | 9 +- .../config/locale/generic/monetary_members.cc | 9 +- .../config/locale/generic/numeric_members.cc | 10 +- libstdc++-v3/config/locale/generic/time_members.cc | 9 +- libstdc++-v3/config/locale/gnu/c_locale.cc | 21 +- libstdc++-v3/config/locale/gnu/c_locale.h | 14 +- libstdc++-v3/config/locale/gnu/codecvt_members.cc | 9 +- libstdc++-v3/config/locale/gnu/collate_members.cc | 9 +- libstdc++-v3/config/locale/gnu/ctype_members.cc | 9 +- libstdc++-v3/config/locale/gnu/messages_members.cc | 9 +- libstdc++-v3/config/locale/gnu/monetary_members.cc | 9 +- libstdc++-v3/config/locale/gnu/numeric_members.cc | 9 +- libstdc++-v3/config/locale/gnu/time_members.cc | 9 +- .../config/locale/ieee_1003.1-2001/c_locale.h | 10 +- libstdc++-v3/config/os/aix/atomicity.h | 9 +- libstdc++-v3/config/os/irix/atomicity.h | 9 +- libstdc++-v3/configure | 35 ++- libstdc++-v3/docs/html/configopts.html | 16 +- libstdc++-v3/docs/html/debug.html | 38 +-- libstdc++-v3/docs/html/debug_mode.html | 82 +++-- libstdc++-v3/include/Makefile.am | 27 +- libstdc++-v3/include/Makefile.in | 26 +- libstdc++-v3/include/backward/algo.h | 4 - libstdc++-v3/include/backward/algobase.h | 4 - libstdc++-v3/include/backward/bvector.h | 4 - libstdc++-v3/include/backward/complex.h | 4 - libstdc++-v3/include/backward/deque.h | 4 - libstdc++-v3/include/backward/fstream.h | 4 - libstdc++-v3/include/backward/function.h | 4 - libstdc++-v3/include/backward/hash_map.h | 4 - libstdc++-v3/include/backward/hashtable.h | 4 - libstdc++-v3/include/backward/heap.h | 4 - libstdc++-v3/include/backward/iomanip.h | 4 - libstdc++-v3/include/backward/iostream.h | 4 - libstdc++-v3/include/backward/istream.h | 9 - libstdc++-v3/include/backward/iterator.h | 4 - libstdc++-v3/include/backward/list.h | 4 - libstdc++-v3/include/backward/map.h | 4 - libstdc++-v3/include/backward/multimap.h | 4 - libstdc++-v3/include/backward/multiset.h | 4 - libstdc++-v3/include/backward/ostream.h | 4 - libstdc++-v3/include/backward/pair.h | 4 - libstdc++-v3/include/backward/queue.h | 4 - libstdc++-v3/include/backward/rope.h | 4 - libstdc++-v3/include/backward/set.h | 4 - libstdc++-v3/include/backward/slist.h | 4 - libstdc++-v3/include/backward/stack.h | 4 - libstdc++-v3/include/backward/stream.h | 4 - libstdc++-v3/include/backward/streambuf.h | 4 - libstdc++-v3/include/backward/strstream | 10 +- libstdc++-v3/include/backward/tempbuf.h | 4 - libstdc++-v3/include/backward/tree.h | 3 - libstdc++-v3/include/backward/vector.h | 4 - libstdc++-v3/include/bits/allocator.h | 7 +- libstdc++-v3/include/bits/atomicity.h | 12 +- libstdc++-v3/include/bits/basic_ios.h | 9 +- libstdc++-v3/include/bits/basic_ios.tcc | 10 +- libstdc++-v3/include/bits/basic_string.h | 7 +- libstdc++-v3/include/bits/basic_string.tcc | 7 +- libstdc++-v3/include/bits/boost_concept_check.h | 9 +- libstdc++-v3/include/bits/c++config | 88 +++++- libstdc++-v3/include/bits/char_traits.h | 13 +- libstdc++-v3/include/bits/concurrence.h | 9 +- libstdc++-v3/include/bits/cpp_type_traits.h | 13 +- libstdc++-v3/include/bits/deque.tcc | 7 +- libstdc++-v3/include/bits/fstream.tcc | 7 +- libstdc++-v3/include/bits/functexcept.h | 8 +- libstdc++-v3/include/bits/gslice.h | 12 +- libstdc++-v3/include/bits/gslice_array.h | 12 +- libstdc++-v3/include/bits/indirect_array.h | 12 +- libstdc++-v3/include/bits/ios_base.h | 9 +- libstdc++-v3/include/bits/istream.tcc | 7 +- libstdc++-v3/include/bits/list.tcc | 7 +- libstdc++-v3/include/bits/locale_classes.h | 9 +- libstdc++-v3/include/bits/locale_facets.h | 7 +- libstdc++-v3/include/bits/locale_facets.tcc | 7 +- libstdc++-v3/include/bits/localefwd.h | 9 +- libstdc++-v3/include/bits/mask_array.h | 12 +- libstdc++-v3/include/bits/ostream.tcc | 7 +- libstdc++-v3/include/bits/postypes.h | 9 +- libstdc++-v3/include/bits/slice_array.h | 12 +- libstdc++-v3/include/bits/sstream.tcc | 9 +- libstdc++-v3/include/bits/stl_algo.h | 6 +- libstdc++-v3/include/bits/stl_algobase.h | 5 +- libstdc++-v3/include/bits/stl_bvector.h | 14 +- libstdc++-v3/include/bits/stl_construct.h | 7 +- libstdc++-v3/include/bits/stl_deque.h | 7 +- libstdc++-v3/include/bits/stl_function.h | 10 +- libstdc++-v3/include/bits/stl_heap.h | 12 +- libstdc++-v3/include/bits/stl_iterator.h | 18 +- .../include/bits/stl_iterator_base_funcs.h | 9 +- .../include/bits/stl_iterator_base_types.h | 8 +- libstdc++-v3/include/bits/stl_list.h | 7 +- libstdc++-v3/include/bits/stl_map.h | 7 +- libstdc++-v3/include/bits/stl_multimap.h | 7 +- libstdc++-v3/include/bits/stl_multiset.h | 5 +- libstdc++-v3/include/bits/stl_numeric.h | 7 +- libstdc++-v3/include/bits/stl_pair.h | 9 +- libstdc++-v3/include/bits/stl_queue.h | 10 +- libstdc++-v3/include/bits/stl_raw_storage_iter.h | 13 +- libstdc++-v3/include/bits/stl_relops.h | 9 +- libstdc++-v3/include/bits/stl_set.h | 6 +- libstdc++-v3/include/bits/stl_stack.h | 9 +- libstdc++-v3/include/bits/stl_tempbuf.h | 7 +- libstdc++-v3/include/bits/stl_tree.h | 7 +- libstdc++-v3/include/bits/stl_uninitialized.h | 6 +- libstdc++-v3/include/bits/stl_vector.h | 7 +- libstdc++-v3/include/bits/stream_iterator.h | 10 +- libstdc++-v3/include/bits/streambuf.tcc | 7 +- libstdc++-v3/include/bits/streambuf_iterator.h | 10 +- libstdc++-v3/include/bits/stringfwd.h | 9 +- libstdc++-v3/include/bits/valarray_after.h | 12 +- libstdc++-v3/include/bits/valarray_array.h | 7 +- libstdc++-v3/include/bits/valarray_array.tcc | 9 +- libstdc++-v3/include/bits/valarray_before.h | 12 +- libstdc++-v3/include/bits/vector.tcc | 7 +- libstdc++-v3/include/c_std/std_cctype.h | 7 +- libstdc++-v3/include/c_std/std_clocale.h | 8 +- libstdc++-v3/include/c_std/std_cmath.h | 46 +-- libstdc++-v3/include/c_std/std_csetjmp.h | 8 +- libstdc++-v3/include/c_std/std_csignal.h | 8 +- libstdc++-v3/include/c_std/std_cstdarg.h | 8 +- libstdc++-v3/include/c_std/std_cstddef.h | 8 +- libstdc++-v3/include/c_std/std_cstdio.h | 34 ++- libstdc++-v3/include/c_std/std_cstdlib.h | 28 +- libstdc++-v3/include/c_std/std_cstring.h | 9 +- libstdc++-v3/include/c_std/std_ctime.h | 8 +- libstdc++-v3/include/c_std/std_cwchar.h | 36 ++- libstdc++-v3/include/c_std/std_cwctype.h | 9 +- libstdc++-v3/include/debug/bitset | 15 +- libstdc++-v3/include/debug/debug.h | 22 +- libstdc++-v3/include/debug/deque | 3 + libstdc++-v3/include/debug/formatter.h | 5 +- libstdc++-v3/include/debug/functions.h | 16 +- libstdc++-v3/include/debug/hash_map.h | 5 +- libstdc++-v3/include/debug/hash_multimap.h | 5 +- libstdc++-v3/include/debug/hash_multiset.h | 5 +- libstdc++-v3/include/debug/hash_set.h | 5 +- libstdc++-v3/include/debug/list | 17 +- libstdc++-v3/include/debug/macros.h | 50 ++-- libstdc++-v3/include/debug/map.h | 3 + libstdc++-v3/include/debug/multimap.h | 3 + libstdc++-v3/include/debug/multiset.h | 3 + libstdc++-v3/include/debug/safe_base.h | 5 +- libstdc++-v3/include/debug/safe_iterator.h | 6 +- libstdc++-v3/include/debug/safe_iterator.tcc | 5 +- libstdc++-v3/include/debug/safe_sequence.h | 3 + libstdc++-v3/include/debug/set.h | 3 + libstdc++-v3/include/debug/string | 9 +- libstdc++-v3/include/debug/vector | 3 + libstdc++-v3/include/ext/algorithm | 9 +- libstdc++-v3/include/ext/array_allocator.h | 7 +- libstdc++-v3/include/ext/bitmap_allocator.h | 7 +- libstdc++-v3/include/ext/codecvt_specializations.h | 15 +- libstdc++-v3/include/ext/debug_allocator.h | 9 +- libstdc++-v3/include/ext/functional | 20 +- libstdc++-v3/include/ext/hash_fun.h | 9 +- libstdc++-v3/include/ext/hash_map | 20 +- libstdc++-v3/include/ext/hash_set | 13 +- libstdc++-v3/include/ext/hashtable.h | 9 +- libstdc++-v3/include/ext/iterator | 9 +- libstdc++-v3/include/ext/malloc_allocator.h | 9 +- libstdc++-v3/include/ext/memory | 9 +- libstdc++-v3/include/ext/mt_allocator.h | 7 +- libstdc++-v3/include/ext/new_allocator.h | 9 +- libstdc++-v3/include/ext/numeric | 9 +- libstdc++-v3/include/ext/pod_char_traits.h | 14 +- libstdc++-v3/include/ext/pool_allocator.h | 9 +- libstdc++-v3/include/ext/rb_tree | 9 +- libstdc++-v3/include/ext/rc_string_base.h | 7 +- libstdc++-v3/include/ext/rope | 6 +- libstdc++-v3/include/ext/ropeimpl.h | 12 +- libstdc++-v3/include/ext/slist | 16 +- libstdc++-v3/include/ext/sso_string_base.h | 7 +- libstdc++-v3/include/ext/stdio_filebuf.h | 9 +- libstdc++-v3/include/ext/stdio_sync_filebuf.h | 9 +- libstdc++-v3/include/ext/typelist.h | 21 +- libstdc++-v3/include/ext/vstring.h | 12 +- libstdc++-v3/include/ext/vstring.tcc | 12 +- libstdc++-v3/include/ext/vstring_fwd.h | 7 +- libstdc++-v3/include/ext/vstring_util.h | 7 +- libstdc++-v3/include/std/std_bitset.h | 7 +- libstdc++-v3/include/std/std_complex.h | 7 +- libstdc++-v3/include/std/std_fstream.h | 7 +- libstdc++-v3/include/std/std_iomanip.h | 9 +- libstdc++-v3/include/std/std_iosfwd.h | 9 +- libstdc++-v3/include/std/std_iostream.h | 10 +- libstdc++-v3/include/std/std_istream.h | 7 +- libstdc++-v3/include/std/std_limits.h | 8 +- libstdc++-v3/include/std/std_memory.h | 9 +- libstdc++-v3/include/std/std_ostream.h | 8 +- libstdc++-v3/include/std/std_sstream.h | 7 +- libstdc++-v3/include/std/std_stdexcept.h | 9 +- libstdc++-v3/include/std/std_streambuf.h | 7 +- libstdc++-v3/include/std/std_valarray.h | 21 +- libstdc++-v3/include/tr1/array | 7 +- libstdc++-v3/include/tr1/boost_shared_ptr.h | 5 +- libstdc++-v3/include/tr1/functional | 7 +- libstdc++-v3/include/tr1/hashtable | 7 +- libstdc++-v3/include/tr1/ref_fwd.h | 6 +- libstdc++-v3/include/tr1/tuple | 7 +- libstdc++-v3/include/tr1/type_traits | 6 +- libstdc++-v3/include/tr1/type_traits_fwd.h | 7 +- libstdc++-v3/include/tr1/unordered_map | 6 +- libstdc++-v3/include/tr1/unordered_set | 5 +- libstdc++-v3/include/tr1/utility | 7 +- libstdc++-v3/libmath/Makefile.in | 2 + libstdc++-v3/libsupc++/Makefile.in | 2 + libstdc++-v3/libsupc++/eh_alloc.cc | 4 +- libstdc++-v3/libsupc++/exception | 11 +- libstdc++-v3/libsupc++/vterminate.cc | 11 +- libstdc++-v3/po/Makefile.in | 2 + libstdc++-v3/src/Makefile.am | 4 + libstdc++-v3/src/Makefile.in | 4 + libstdc++-v3/src/allocator-inst.cc | 10 +- libstdc++-v3/src/bitmap_allocator.cc | 7 +- libstdc++-v3/src/codecvt.cc | 7 +- libstdc++-v3/src/compatibility.cc | 142 +++++++-- libstdc++-v3/src/complex_io.cc | 9 +- libstdc++-v3/src/concept-inst.cc | 7 +- libstdc++-v3/src/ctype.cc | 8 +- libstdc++-v3/src/debug.cc | 7 +- libstdc++-v3/src/ext-inst.cc | 7 +- libstdc++-v3/src/fstream-inst.cc | 29 +- libstdc++-v3/src/functexcept.cc | 10 +- libstdc++-v3/src/globals_io.cc | 9 +- libstdc++-v3/src/ios-inst.cc | 7 +- libstdc++-v3/src/ios.cc | 9 +- libstdc++-v3/src/ios_failure.cc | 9 +- libstdc++-v3/src/ios_init.cc | 9 +- libstdc++-v3/src/ios_locale.cc | 9 +- libstdc++-v3/src/iostream-inst.cc | 7 +- libstdc++-v3/src/istream-inst.cc | 10 +- libstdc++-v3/src/istream.cc | 7 +- libstdc++-v3/src/limits.cc | 9 +- libstdc++-v3/src/list.cc | 8 +- libstdc++-v3/src/locale-inst.cc | 9 +- libstdc++-v3/src/locale-misc-inst.cc | 10 +- libstdc++-v3/src/locale.cc | 9 +- libstdc++-v3/src/locale_facets.cc | 9 +- libstdc++-v3/src/locale_init.cc | 7 +- libstdc++-v3/src/localename.cc | 9 +- libstdc++-v3/src/misc-inst.cc | 14 +- libstdc++-v3/src/mt_allocator.cc | 7 +- libstdc++-v3/src/ostream-inst.cc | 9 +- libstdc++-v3/src/pool_allocator.cc | 7 +- libstdc++-v3/src/sstream-inst.cc | 29 +- libstdc++-v3/src/stdexcept.cc | 9 +- libstdc++-v3/src/streambuf-inst.cc | 22 +- libstdc++-v3/src/streambuf.cc | 7 +- libstdc++-v3/src/string-inst.cc | 13 +- libstdc++-v3/src/strstream.cc | 9 +- libstdc++-v3/src/tree.cc | 9 +- libstdc++-v3/src/valarray-inst.cc | 9 +- .../20_util/memory/auto_ptr/assign_neg.cc | 2 +- .../testsuite/21_strings/basic_string/2.cc | 4 +- .../testsuite/23_containers/bitset/cons/16020.cc | 2 +- .../23_containers/bitset/invalidation/1.cc | 2 +- .../23_containers/bitset/operations/13838.cc | 2 +- .../23_containers/deque/invalidation/1.cc | 2 +- .../23_containers/deque/invalidation/2.cc | 2 +- .../23_containers/deque/invalidation/3.cc | 2 +- .../23_containers/deque/invalidation/4.cc | 2 +- .../testsuite/23_containers/list/invalidation/1.cc | 2 +- .../testsuite/23_containers/list/invalidation/2.cc | 2 +- .../testsuite/23_containers/list/invalidation/3.cc | 2 +- .../testsuite/23_containers/list/invalidation/4.cc | 2 +- .../testsuite/23_containers/map/insert/16813.cc | 2 +- .../testsuite/23_containers/map/invalidation/1.cc | 2 +- .../testsuite/23_containers/map/invalidation/2.cc | 2 +- .../23_containers/multimap/invalidation/1.cc | 2 +- .../23_containers/multimap/invalidation/2.cc | 2 +- .../23_containers/multiset/invalidation/1.cc | 2 +- .../23_containers/multiset/invalidation/2.cc | 2 +- .../testsuite/23_containers/set/invalidation/1.cc | 2 +- .../testsuite/23_containers/set/invalidation/2.cc | 2 +- .../23_containers/vector/invalidation/1.cc | 2 +- .../23_containers/vector/invalidation/2.cc | 2 +- .../23_containers/vector/invalidation/3.cc | 2 +- .../23_containers/vector/invalidation/4.cc | 2 +- libstdc++-v3/testsuite/Makefile.in | 2 + libstdc++-v3/testsuite/ext/hash_map/1.cc | 20 +- libstdc++-v3/testsuite/ext/hash_map/14648.cc | 7 +- libstdc++-v3/testsuite/testsuite_character.h | 3 +- 312 files changed, 2234 insertions(+), 1329 deletions(-) create mode 100644 libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0f9c90f..90bfc9f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,336 @@ +2005-12-18 Benjamin Kosnik + + * 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. + 2005-12-18 Paolo Carlini * include/bits/stl_algobase.h (__copy_normal::copy_n): Uglify diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in index f7d0f70..44686de 100644 --- a/libstdc++-v3/Makefile.in +++ b/libstdc++-v3/Makefile.in @@ -135,6 +135,8 @@ ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@ ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@ ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@ ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@ ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@ EXEEXT = @EXEEXT@ diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index d32c799..716dab5 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -1685,7 +1685,7 @@ AC_DEFUN([GLIBCXX_ENABLE_SYMVERS], [ GLIBCXX_ENABLE(symvers,$1,[=STYLE], [enables symbol versioning of the shared library], - [permit yes|no|gnu|darwin|darwin-export]) + [permit yes|no|gnu|gnu-versioned-namespace|darwin|darwin-export]) # If we never went through the GLIBCXX_CHECK_LINKER_FEATURES macro, then we # don't know enough about $LD to do tricks... @@ -1715,7 +1715,7 @@ if test x$enable_symvers = xdarwin-export ; then fi # Check to see if 'gnu' can win. -if test $enable_symvers = gnu; then +if test $enable_symvers = gnu || test $enable_symvers = gnu-versioned-namespace; then # Check to see if libgcc_s exists, indicating that shared libgcc is possible. AC_MSG_CHECKING([for shared libgcc]) ac_save_CFLAGS="$CFLAGS" @@ -1778,6 +1778,11 @@ case $enable_symvers in AC_DEFINE(_GLIBCXX_SYMVER_GNU, 1, [Define to use GNU versioning in the shared library.]) ;; + gnu-versioned-namespace) + SYMVER_FILE=config/abi/pre/gnu-versioned-namespace.ver + AC_DEFINE(_GLIBCXX_SYMVER_GNU_NAMESPACE, 1, + [Define to use GNU namespace versioning in the shared library.]) + ;; darwin) SYMVER_FILE=config/abi/pre/gnu.ver AC_DEFINE(_GLIBCXX_SYMVER_DARWIN, 1, @@ -1794,6 +1799,7 @@ AC_SUBST(SYMVER_FILE) AC_SUBST(port_specific_symbol_files) GLIBCXX_CONDITIONAL(ENABLE_SYMVERS, test $enable_symvers != no) GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_GNU, test $enable_symvers = gnu) +GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_GNU_NAMESPACE, test $enable_symvers = gnu-versioned-namespace) GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_DARWIN, test $enable_symvers = darwin) AC_MSG_NOTICE(versioning on shared library symbols is $enable_symvers) diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in index 124ce6e..0077a59 100644 --- a/libstdc++-v3/config.h.in +++ b/libstdc++-v3/config.h.in @@ -679,6 +679,9 @@ /* Define to use GNU versioning in the shared library. */ #undef _GLIBCXX_SYMVER_GNU +/* Define to use GNU namespace versioning in the shared library. */ +#undef _GLIBCXX_SYMVER_GNU_NAMESPACE + /* Define if C99 functions or macros from , , , , and can be used or exposed. */ #undef _GLIBCXX_USE_C99 diff --git a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver new file mode 100644 index 0000000..3b9b475 --- /dev/null +++ b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver @@ -0,0 +1,202 @@ +## Linker script for GNU namespace versioning. +## +## Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +## +## This file is part of the libstdc++ version 3 distribution. +## +## This file is part of the GNU ISO C++ Library. This library is free +## software; you can redistribute it and/or modify it under the +## terms of the GNU General Public License as published by the +## Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License along +## with this library; see the file COPYING. If not, write to the Free +## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +## USA. + +GLIBCXX_3.7 { + + global: + + # Names inside the 'extern' block are demangled names. + extern "C++" + { + std::_6::*; + std::* + }; + + # operator new(size_t) + _Znw[jm]; + # operator new(size_t, std::nothrow_t const&) + _Znw[jm]RKSt9nothrow_t; + + # operator delete(void*) + _ZdlPv; + # operator delete(void*, std::nothrow_t const&) + _ZdlPvRKSt9nothrow_t; + + # operator new[](size_t) + _Zna[jm]; + # operator new[](size_t, std::nothrow_t const&) + _Zna[jm]RKSt9nothrow_t; + + # operator delete[](void*) + _ZdaPv; + # operator delete[](void*, std::nothrow_t const&) + _ZdaPvRKSt9nothrow_t; + + # function-scope static objects requires a guard variable. + _ZGVNSt*; + + _ZTT*; + _ZTV*; + + _ZTI*; + _ZTS*; + + _ZTv0_n*; + + # std::__convert_to_v + _ZNSt2_614__convert_to_v*; + + # std::__copy_streambufs + _ZNSt2_617__copy_streambufsI[cw]NS_11char_traitsI[cw]EEEEiPNS_15basic_streambufIT_T0_EES7_; + + # __gnu_cxx::__atomic_add + # __gnu_cxx::__exchange_and_add + _ZN9__gnu_cxx2_612__atomic_addEPV[il][il]; + _ZN9__gnu_cxx2_618__exchange_and_addEPV[li][il]; + + # __gnu_cxx::__pool + _ZN9__gnu_cxx2_66__poolILb[01]EE13_M_initializeEv; + _ZN9__gnu_cxx2_66__poolILb[01]EE16_M_reserve_blockE[jm][jm]; + _ZN9__gnu_cxx2_66__poolILb[01]EE16_M_reclaim_blockEPc[jm]; + _ZN9__gnu_cxx2_66__poolILb[01]EE10_M_destroyEv; + _ZN9__gnu_cxx2_66__poolILb1EE16_M_get_thread_idEv; + + _ZN9__gnu_cxx2_617__pool_alloc_base9_M_refillE[jm]; + _ZN9__gnu_cxx2_617__pool_alloc_base16_M_get_free_listE[jm]; + _ZN9__gnu_cxx2_617__pool_alloc_base12_M_get_mutexEv; + + _ZN9__gnu_cxx2_69free_list6_M_getE[jm]; + _ZN9__gnu_cxx2_69free_list8_M_clearEv; + + local: + *; +}; + + +# Symbols in the support library (libsupc++) have their own tag. +CXXABI_1.7 { + + global: + __cxa_allocate_exception; + __cxa_bad_cast; + __cxa_bad_typeid; + __cxa_begin_catch; + __cxa_begin_cleanup; + __cxa_call_unexpected; + __cxa_current_exception_type; + __cxa_demangle; + __cxa_end_catch; + __cxa_end_cleanup; + __cxa_free_exception; + __cxa_get_exception_ptr; + __cxa_get_globals; + __cxa_get_globals_fast; + __cxa_guard_abort; + __cxa_guard_acquire; + __cxa_guard_release; + __cxa_pure_virtual; + __cxa_rethrow; + __cxa_throw; + __cxa_type_match; + __cxa_vec_cctor; + __cxa_vec_cleanup; + __cxa_vec_ctor; + __cxa_vec_delete2; + __cxa_vec_delete3; + __cxa_vec_delete; + __cxa_vec_dtor; + __cxa_vec_new2; + __cxa_vec_new3; + __cxa_vec_new; + __gxx_personality_v0; + __gxx_personality_sj0; + __dynamic_cast; + + # *_type_info classes, ctor and dtor + _ZN10__cxxabiv117__array_type_info*; + _ZN10__cxxabiv117__class_type_info*; + _ZN10__cxxabiv116__enum_type_info*; + _ZN10__cxxabiv120__function_type_info*; + _ZN10__cxxabiv123__fundamental_type_info*; + _ZN10__cxxabiv117__pbase_type_info*; + _ZN10__cxxabiv129__pointer_to_member_type_info*; + _ZN10__cxxabiv119__pointer_type_info*; + _ZN10__cxxabiv120__si_class_type_info*; + _ZN10__cxxabiv121__vmi_class_type_info*; + + # *_type_info classes, member functions + _ZNK10__cxxabiv117__class_type_info*; + _ZNK10__cxxabiv120__function_type_info*; + _ZNK10__cxxabiv117__pbase_type_info*; + _ZNK10__cxxabiv129__pointer_to_member_type_info*; + _ZNK10__cxxabiv119__pointer_type_info*; + _ZNK10__cxxabiv120__si_class_type_info*; + _ZNK10__cxxabiv121__vmi_class_type_info*; + + # virtual table + _ZTVN10__cxxabiv117__array_type_infoE; + _ZTVN10__cxxabiv117__class_type_infoE; + _ZTVN10__cxxabiv116__enum_type_infoE; + _ZTVN10__cxxabiv120__function_type_infoE; + _ZTVN10__cxxabiv123__fundamental_type_infoE; + _ZTVN10__cxxabiv117__pbase_type_infoE; + _ZTVN10__cxxabiv129__pointer_to_member_type_infoE; + _ZTVN10__cxxabiv119__pointer_type_infoE; + _ZTVN10__cxxabiv120__si_class_type_infoE; + _ZTVN10__cxxabiv121__vmi_class_type_infoE; + + # typeinfo structure (and some names) + _ZTI[a-z]; + _ZTIP[a-z]; + _ZTIPK[a-z]; + _ZTIN10__cxxabiv117__array_type_infoE; + _ZTIN10__cxxabiv117__class_type_infoE; + _ZTIN10__cxxabiv116__enum_type_infoE; + _ZTIN10__cxxabiv120__function_type_infoE; + _ZTIN10__cxxabiv123__fundamental_type_infoE; + _ZTIN10__cxxabiv117__pbase_type_infoE; + _ZTIN10__cxxabiv129__pointer_to_member_type_infoE; + _ZTIN10__cxxabiv119__pointer_type_infoE; + _ZTIN10__cxxabiv120__si_class_type_infoE; + _ZTIN10__cxxabiv121__vmi_class_type_infoE; + + # typeinfo name + _ZTS[a-z]; + _ZTSP[a-z]; + _ZTSPK[a-z]; + _ZTSN10__cxxabiv117__array_type_infoE; + _ZTSN10__cxxabiv117__class_type_infoE; + _ZTSN10__cxxabiv116__enum_type_infoE; + _ZTSN10__cxxabiv120__function_type_infoE; + _ZTSN10__cxxabiv123__fundamental_type_infoE; + _ZTSN10__cxxabiv117__pbase_type_infoE; + _ZTSN10__cxxabiv129__pointer_to_member_type_infoE; + _ZTSN10__cxxabiv119__pointer_type_infoE; + _ZTSN10__cxxabiv120__si_class_type_infoE; + _ZTSN10__cxxabiv121__vmi_class_type_infoE; + + # __gnu_cxx::_verbose_terminate_handler() + _ZN9__gnu_cxx2_627__verbose_terminate_handlerEv; + + local: + *; +}; diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index fa13a61..c76bdf9 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -1,9 +1,7 @@ -## Linker script for GNU ld 2.13.91+ only. +## Linker script for GNU versioning (GNU ld 2.13.91+ only.) ## ## Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ## -## This file is part of the libstdc++ version 3 distribution. -## ## This file is part of the GNU ISO C++ Library. This library is free ## software; you can redistribute it and/or modify it under the ## terms of the GNU General Public License as published by the @@ -110,15 +108,7 @@ GLIBCXX_3.4 { std::__num_base::_S_atoms_out; std::__moneypunct_cache*; std::__numpunct_cache*; - std::__timepunct_cache*; - __gnu_debug::_Safe_iterator_base*; - __gnu_debug::_Safe_sequence_base*; - __gnu_debug::_Error_formatter*; - __gnu_norm::_List_node_base::hook*; - __gnu_norm::_List_node_base::swap*; - __gnu_norm::_List_node_base::unhook*; - __gnu_norm::_List_node_base::reverse*; - __gnu_norm::_List_node_base::transfer* + std::__timepunct_cache* }; # Names not in an 'extern' block are mangled names. @@ -337,6 +327,27 @@ GLIBCXX_3.4 { _ZN9__gnu_cxx12__atomic_add*; _ZN9__gnu_cxx18__exchange_and_add*; + # __gnu_debug +_ZN10__gnu_norm15_List_node_base4hookEPS0_; +_ZN10__gnu_norm15_List_node_base4swapERS0_S1_; +_ZN10__gnu_norm15_List_node_base6unhookEv; +_ZN10__gnu_norm15_List_node_base7reverseEv; +_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_; +_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb; +_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv; +_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv; +_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_; +_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv; +_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv; +_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv; +_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_; +_ZNK11__gnu_debug16_Error_formatter8_M_errorEv; +_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE; +_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc; +_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_; +_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc; +_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc; + # operator new(size_t) _Znw[jm]; # operator new(size_t, std::nothrow_t const&) @@ -585,6 +596,26 @@ GLIBCXX_3.4.7 { _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetE[jm]; +_ZNSt10__gnu_norm15_List_node_base4hookEPS0_; +_ZNSt10__gnu_norm15_List_node_base4swapERS0_S1_; +_ZNSt10__gnu_norm15_List_node_base6unhookEv; +_ZNSt10__gnu_norm15_List_node_base7reverseEv; +_ZNSt10__gnu_norm15_List_node_base8transferEPS0_S1_; +_ZNKSt11__gnu_debug16_Error_formatter8_M_errorEv; +_ZNKSt11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE; +_ZNKSt11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc; +_ZNKSt11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_; +_ZNKSt11__gnu_debug16_Error_formatter13_M_print_wordEPKc; +_ZNKSt11__gnu_debug16_Error_formatter15_M_print_stringEPKc; +_ZNKSt11__gnu_debug19_Safe_iterator_base11_M_singularEv; +_ZNKSt11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_; +_ZNSt11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb; +_ZNSt11__gnu_debug19_Safe_iterator_base9_M_detachEv; +_ZNSt11__gnu_debug19_Safe_sequence_base13_M_detach_allEv; +_ZNSt11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv; +_ZNSt11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv; +_ZNSt11__gnu_debug19_Safe_sequence_base7_M_swapERS0_; + } GLIBCXX_3.4.6; # Symbols in the support library (libsupc++) have their own tag. diff --git a/libstdc++-v3/config/abi/pre/none.ver b/libstdc++-v3/config/abi/pre/none.ver index 58e1413..39cb10d 100644 --- a/libstdc++-v3/config/abi/pre/none.ver +++ b/libstdc++-v3/config/abi/pre/none.ver @@ -1,7 +1,7 @@ # # This is a placeholder file. It does nothing and is not used. # -# If you are seeing this file as your linker script (named linker.map), then -# either 1) the configuration process determined that symbol versioning should -# not be done, or 2) you specifically turned it off. -# +# If you are seeing this file as your linker script (named +# libstdc++-symbols.ver), then either 1) the configuration process +# determined that symbol versioning should not be done, or 2) you +# specifically turned it off. (ie, --disable-symvers). diff --git a/libstdc++-v3/config/cpu/alpha/atomicity.h b/libstdc++-v3/config/cpu/alpha/atomicity.h index f45b92b..d288483 100644 --- a/libstdc++-v3/config/cpu/alpha/atomicity.h +++ b/libstdc++-v3/config/cpu/alpha/atomicity.h @@ -30,8 +30,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __attribute__ ((__unused__)) __exchange_and_add(volatile _Atomic_word* __mem, int __val) @@ -41,5 +41,6 @@ namespace __gnu_cxx __attribute__ ((__unused__)) __atomic_add(volatile _Atomic_word* __mem, int __val) { __sync_fetch_and_add(__mem, __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/cris/atomicity.h b/libstdc++-v3/config/cpu/cris/atomicity.h index f0d8f02..0384b42 100644 --- a/libstdc++-v3/config/cpu/cris/atomicity.h +++ b/libstdc++-v3/config/cpu/cris/atomicity.h @@ -29,8 +29,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __exchange_and_add(volatile _Atomic_word* __mem, int __val) { @@ -74,4 +74,5 @@ namespace __gnu_cxx void __atomic_add(volatile _Atomic_word* __mem, int __val) { __exchange_and_add(__mem, __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/generic/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity.h index ddeea4a..5ecb465 100644 --- a/libstdc++-v3/config/cpu/generic/atomicity.h +++ b/libstdc++-v3/config/cpu/generic/atomicity.h @@ -1,6 +1,7 @@ // Low-level functions for atomic operations: Generic version -*- C++ -*- -// Copyright (C) 1999, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -35,8 +36,8 @@ namespace __gnu_internal __glibcxx_mutex_define_initialized(atomic_mutex); } // namespace __gnu_internal -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __attribute__ ((__unused__)) __exchange_and_add(volatile _Atomic_word* __mem, int __val) @@ -53,4 +54,5 @@ namespace __gnu_cxx __attribute__ ((__unused__)) __atomic_add(volatile _Atomic_word* __mem, int __val) { __exchange_and_add(__mem, __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/hppa/atomicity.h b/libstdc++-v3/config/cpu/hppa/atomicity.h index 721dd03..1b1c883 100644 --- a/libstdc++-v3/config/cpu/hppa/atomicity.h +++ b/libstdc++-v3/config/cpu/hppa/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: PA-RISC version -*- C++ -*- -// Copyright (C) 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -30,8 +30,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + template struct _Atomicity_lock { @@ -94,4 +94,5 @@ namespace __gnu_cxx __asm__ __volatile__ ("stw,ma %1,0(%0)" : : "r" (&lock), "r" (tmp) : "memory"); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h index b670509..1b31c2d 100644 --- a/libstdc++-v3/config/cpu/i386/atomicity.h +++ b/libstdc++-v3/config/cpu/i386/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: x86, x >= 3 version -*- C++ -*- -// Copyright (C) 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -29,8 +29,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + template struct _Atomicity_lock { @@ -71,4 +71,5 @@ namespace __gnu_cxx __attribute__ ((__unused__)) __atomic_add(volatile _Atomic_word* __mem, int __val) { __exchange_and_add(__mem, __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/i486/atomicity.h b/libstdc++-v3/config/cpu/i486/atomicity.h index 977070d..c2cf509 100644 --- a/libstdc++-v3/config/cpu/i486/atomicity.h +++ b/libstdc++-v3/config/cpu/i486/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: x86, x >= 4 version -*- C++ -*- -// Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation, Inc. +// Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -29,8 +29,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __attribute__ ((__unused__)) __exchange_and_add(volatile _Atomic_word* __mem, int __val) @@ -49,5 +49,6 @@ namespace __gnu_cxx __asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}" : "=m" (*__mem) : "ir" (__val), "m" (*__mem)); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/ia64/atomicity.h b/libstdc++-v3/config/cpu/ia64/atomicity.h index 0fd9b3b..baabedd 100644 --- a/libstdc++-v3/config/cpu/ia64/atomicity.h +++ b/libstdc++-v3/config/cpu/ia64/atomicity.h @@ -30,8 +30,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __attribute__ ((__unused__)) __exchange_and_add(volatile _Atomic_word* __mem, int __val) @@ -41,4 +41,5 @@ namespace __gnu_cxx __attribute__ ((__unused__)) __atomic_add(volatile _Atomic_word* __mem, int __val) { __sync_fetch_and_add(__mem, __val); } -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/m68k/atomicity.h b/libstdc++-v3/config/cpu/m68k/atomicity.h index 880a371..370d77f 100644 --- a/libstdc++-v3/config/cpu/m68k/atomicity.h +++ b/libstdc++-v3/config/cpu/m68k/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: m68k version -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -29,8 +29,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + #if ( defined(__mc68020__) || defined(__mc68030__) \ || defined(__mc68040__) || defined(__mc68060__) ) \ && !defined(__mcpu32__) @@ -130,4 +130,5 @@ namespace __gnu_cxx // architecturally guaranteed to be atomic. __exchange_and_add(__mem, __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/mips/atomicity.h b/libstdc++-v3/config/cpu/mips/atomicity.h index 561cd35..aae70df 100644 --- a/libstdc++-v3/config/cpu/mips/atomicity.h +++ b/libstdc++-v3/config/cpu/mips/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: MIPS version -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -29,8 +29,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __attribute__ ((__unused__)) __exchange_and_add(volatile _Atomic_word* __mem, int __val) @@ -80,4 +80,5 @@ namespace __gnu_cxx : "r"(__mem), "r"(__val) : "memory" ); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/powerpc/atomicity.h b/libstdc++-v3/config/cpu/powerpc/atomicity.h index 49ad718..dbd8592 100644 --- a/libstdc++-v3/config/cpu/powerpc/atomicity.h +++ b/libstdc++-v3/config/cpu/powerpc/atomicity.h @@ -30,8 +30,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __attribute__ ((__unused__)) __exchange_and_add(volatile _Atomic_word* __mem, int __val) @@ -41,4 +41,5 @@ namespace __gnu_cxx __attribute__ ((__unused__)) __atomic_add(volatile _Atomic_word* __mem, int __val) { __sync_fetch_and_add(__mem, __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/s390/atomicity.h b/libstdc++-v3/config/cpu/s390/atomicity.h index 1332012..631795e 100644 --- a/libstdc++-v3/config/cpu/s390/atomicity.h +++ b/libstdc++-v3/config/cpu/s390/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: S/390 version -*- C++ -*- -// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -29,8 +29,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __attribute__ ((__unused__)) __exchange_and_add(volatile _Atomic_word* __mem, int __val) @@ -40,4 +40,5 @@ namespace __gnu_cxx __attribute__ ((__unused__)) __atomic_add(volatile _Atomic_word* __mem, int __val) { __sync_fetch_and_add(__mem, __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/sh/atomicity.h b/libstdc++-v3/config/cpu/sh/atomicity.h index 8760c8b..7a15beb 100644 --- a/libstdc++-v3/config/cpu/sh/atomicity.h +++ b/libstdc++-v3/config/cpu/sh/atomicity.h @@ -1,4 +1,4 @@ -// Low-level functions for atomic operations: Generic version -*- C++ -*- +// Low-level functions for atomic operations: sh version -*- C++ -*- // Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. @@ -82,8 +82,8 @@ namespace __gnu_internal __glibcxx_mutex_define_initialized(atomic_mutex); } // namespace __gnu_internal -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __attribute__ ((__unused__)) __exchange_and_add(volatile _Atomic_word* __mem, int __val) @@ -100,7 +100,8 @@ namespace __gnu_cxx __attribute__ ((__unused__)) __atomic_add(volatile _Atomic_word* __mem, int __val) { __exchange_and_add(__mem, __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif /* !__SH4A__ */ diff --git a/libstdc++-v3/config/cpu/sparc/atomicity.h b/libstdc++-v3/config/cpu/sparc/atomicity.h index e49db77..ad43760 100644 --- a/libstdc++-v3/config/cpu/sparc/atomicity.h +++ b/libstdc++-v3/config/cpu/sparc/atomicity.h @@ -1,6 +1,7 @@ // Low-level functions for atomic operations: Sparc version -*- C++ -*- -// Copyright (C) 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -29,8 +30,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + #ifdef __arch64__ _Atomic_word __attribute__ ((__unused__)) @@ -122,4 +123,5 @@ namespace __gnu_cxx : "memory"); } #endif /* __arch32__ */ -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/io/basic_file_stdio.cc b/libstdc++-v3/config/io/basic_file_stdio.cc index 071d0b3..3f4914b 100644 --- a/libstdc++-v3/config/io/basic_file_stdio.cc +++ b/libstdc++-v3/config/io/basic_file_stdio.cc @@ -174,8 +174,9 @@ namespace __gnu_internal #endif } // namespace __gnu_internal -namespace std -{ + +_GLIBCXX_BEGIN_NAMESPACE(std) + // Definitions for __basic_file. __basic_file::__basic_file(__c_lock* /*__lock*/) : _M_cfile(NULL), _M_cfile_created(false) { } @@ -370,4 +371,6 @@ namespace std #endif return 0; } -} // namespace std + +_GLIBCXX_END_NAMESPACE + diff --git a/libstdc++-v3/config/io/basic_file_stdio.h b/libstdc++-v3/config/io/basic_file_stdio.h index 7264f03..75468e0 100644 --- a/libstdc++-v3/config/io/basic_file_stdio.h +++ b/libstdc++-v3/config/io/basic_file_stdio.h @@ -1,6 +1,7 @@ // Wrapper of C-language FILE struct -*- C++ -*- -// Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -44,8 +45,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Generic declaration. template class __basic_file; @@ -105,6 +106,7 @@ namespace std streamsize showmanyc(); }; -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/config/io/c_io_stdio.h b/libstdc++-v3/config/io/c_io_stdio.h index b756ebd..a1ed94a 100644 --- a/libstdc++-v3/config/io/c_io_stdio.h +++ b/libstdc++-v3/config/io/c_io_stdio.h @@ -1,6 +1,7 @@ -// underlying io library -*- C++ -*- +// Underlying io library details -*- C++ -*- -// Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,8 +37,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + typedef __gthread_mutex_t __c_lock; // for basic_file.h @@ -81,6 +82,7 @@ namespace std static const __int_type _S_out = 0x10; static const __int_type _S_trunc = 0x20; }; -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc index d6f67ee..68c3e76 100644 --- a/libstdc++-v3/config/locale/generic/c_locale.cc +++ b/libstdc++-v3/config/locale/generic/c_locale.cc @@ -43,8 +43,8 @@ #include #endif -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Specializations for all types used in num_get. template<> void @@ -149,10 +149,11 @@ namespace std __c_locale locale::facet::_S_clone_c_locale(__c_locale&) { return __c_locale(); } -} // namespace std -namespace __gnu_cxx -{ +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] = { "LC_CTYPE", @@ -162,9 +163,11 @@ namespace __gnu_cxx "LC_MONETARY", "LC_MESSAGES" }; -} -namespace std -{ +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) + const char* const* const locale::_S_categories = __gnu_cxx::category_names; -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h index cf636ae..d6e2f65 100644 --- a/libstdc++-v3/config/locale/generic/c_locale.h +++ b/libstdc++-v3/config/locale/generic/c_locale.h @@ -1,6 +1,6 @@ // Wrapper for underlying C-language localization -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -44,8 +44,8 @@ #define _GLIBCXX_NUM_CATEGORIES 0 -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + typedef int* __c_locale; // Convert numeric value of type _Tv to string and return length of @@ -81,6 +81,7 @@ namespace std } return __ret; } -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/config/locale/generic/codecvt_members.cc b/libstdc++-v3/config/locale/generic/codecvt_members.cc index 3cd35ac..555c3b3 100644 --- a/libstdc++-v3/config/locale/generic/codecvt_members.cc +++ b/libstdc++-v3/config/locale/generic/codecvt_members.cc @@ -1,6 +1,6 @@ // std::codecvt implementation details, generic version -*- C++ -*- -// Copyright (C) 2002 Free Software Foundation, Inc. +// Copyright (C) 2002, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -35,8 +35,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Specializations. #ifdef _GLIBCXX_USE_WCHAR_T codecvt_base::result @@ -214,4 +214,5 @@ namespace std return __ret; } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/generic/collate_members.cc b/libstdc++-v3/config/locale/generic/collate_members.cc index d94599e..f614037 100644 --- a/libstdc++-v3/config/locale/generic/collate_members.cc +++ b/libstdc++-v3/config/locale/generic/collate_members.cc @@ -1,6 +1,6 @@ // std::collate implementation details, generic version -*- C++ -*- -// Copyright (C) 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -35,8 +35,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // These are basically extensions to char_traits, and perhaps should // be put there instead of here. template<> @@ -69,4 +69,5 @@ namespace std size_t __n) const { return wcsxfrm(__to, __from, __n); } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/generic/ctype_members.cc b/libstdc++-v3/config/locale/generic/ctype_members.cc index 2468617..3af4440 100644 --- a/libstdc++-v3/config/locale/generic/ctype_members.cc +++ b/libstdc++-v3/config/locale/generic/ctype_members.cc @@ -1,6 +1,6 @@ // std::ctype implementation details, generic version -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -35,8 +35,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // NB: The other ctype specializations are in src/locale.cc and // various /config/os/* files. template<> @@ -264,4 +264,5 @@ namespace std } } #endif // _GLIBCXX_USE_WCHAR_T -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/generic/messages_members.cc b/libstdc++-v3/config/locale/generic/messages_members.cc index 96e55c1..2980ed9 100644 --- a/libstdc++-v3/config/locale/generic/messages_members.cc +++ b/libstdc++-v3/config/locale/generic/messages_members.cc @@ -1,6 +1,6 @@ // std::messages implementation details, generic version -*- C++ -*- -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 2001, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -35,8 +35,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Specializations template<> string @@ -49,4 +49,5 @@ namespace std messages::do_get(catalog, int, int, const wstring& __dfault) const { return __dfault; } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/generic/monetary_members.cc b/libstdc++-v3/config/locale/generic/monetary_members.cc index 3a98458..3abcf33 100644 --- a/libstdc++-v3/config/locale/generic/monetary_members.cc +++ b/libstdc++-v3/config/locale/generic/monetary_members.cc @@ -1,6 +1,6 @@ // std::moneypunct implementation details, generic version -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -35,8 +35,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Construct and return valid pattern consisting of some combination of: // space none symbol sign value money_base::pattern @@ -168,4 +168,5 @@ namespace std moneypunct::~moneypunct() { delete _M_data; } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/generic/numeric_members.cc b/libstdc++-v3/config/locale/generic/numeric_members.cc index cc2fc78..ce4f648 100644 --- a/libstdc++-v3/config/locale/generic/numeric_members.cc +++ b/libstdc++-v3/config/locale/generic/numeric_members.cc @@ -1,6 +1,6 @@ // std::numpunct implementation details, generic version -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -35,8 +35,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template<> void numpunct::_M_initialize_numpunct(__c_locale) @@ -103,4 +103,6 @@ namespace std numpunct::~numpunct() { delete _M_data; } #endif -} + +_GLIBCXX_END_NAMESPACE + diff --git a/libstdc++-v3/config/locale/generic/time_members.cc b/libstdc++-v3/config/locale/generic/time_members.cc index f13ea19..dbb12ae 100644 --- a/libstdc++-v3/config/locale/generic/time_members.cc +++ b/libstdc++-v3/config/locale/generic/time_members.cc @@ -1,6 +1,6 @@ // std::time_get, std::time_put implementation, generic version -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,8 +36,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template<> void __timepunct:: @@ -201,4 +201,5 @@ namespace std _M_data->_M_amonth12 = L"Dec"; } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/gnu/c_locale.cc b/libstdc++-v3/config/locale/gnu/c_locale.cc index 7a45a6e..4025fb1 100644 --- a/libstdc++-v3/config/locale/gnu/c_locale.cc +++ b/libstdc++-v3/config/locale/gnu/c_locale.cc @@ -40,8 +40,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template<> void __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err, @@ -107,10 +107,11 @@ namespace std __c_locale locale::facet::_S_clone_c_locale(__c_locale& __cloc) { return __duplocale(__cloc); } -} // namespace std -namespace __gnu_cxx -{ +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] = { "LC_CTYPE", @@ -126,9 +127,11 @@ namespace __gnu_cxx "LC_MEASUREMENT", "LC_IDENTIFICATION" }; -} -namespace std -{ +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) + const char* const* const locale::_S_categories = __gnu_cxx::category_names; -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/gnu/c_locale.h b/libstdc++-v3/config/locale/gnu/c_locale.h index d28caf8..55e160e 100644 --- a/libstdc++-v3/config/locale/gnu/c_locale.h +++ b/libstdc++-v3/config/locale/gnu/c_locale.h @@ -50,14 +50,15 @@ #define _GLIBCXX_NUM_CATEGORIES 6 #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + extern "C" __typeof(uselocale) __uselocale; -} + +_GLIBCXX_END_NAMESPACE #endif -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + typedef __locale_t __c_locale; // Convert numeric value of type _Tv to string and return length of @@ -96,6 +97,7 @@ namespace std #endif return __ret; } -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/config/locale/gnu/codecvt_members.cc b/libstdc++-v3/config/locale/gnu/codecvt_members.cc index ae2bc77..bc45422 100644 --- a/libstdc++-v3/config/locale/gnu/codecvt_members.cc +++ b/libstdc++-v3/config/locale/gnu/codecvt_members.cc @@ -1,6 +1,6 @@ // std::codecvt implementation details, GNU version -*- C++ -*- -// Copyright (C) 2002, 2003 Free Software Foundation, Inc. +// Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,8 +36,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Specializations. #ifdef _GLIBCXX_USE_WCHAR_T codecvt_base::result @@ -303,4 +303,5 @@ namespace std return __ret; } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/gnu/collate_members.cc b/libstdc++-v3/config/locale/gnu/collate_members.cc index a0a0877..6f6b758 100644 --- a/libstdc++-v3/config/locale/gnu/collate_members.cc +++ b/libstdc++-v3/config/locale/gnu/collate_members.cc @@ -1,6 +1,6 @@ // std::collate implementation details, GNU version -*- C++ -*- -// Copyright (C) 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,8 +36,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // These are basically extensions to char_traits, and perhaps should // be put there instead of here. template<> @@ -70,4 +70,5 @@ namespace std size_t __n) const { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/gnu/ctype_members.cc b/libstdc++-v3/config/locale/gnu/ctype_members.cc index 3082b41..cb2887d 100644 --- a/libstdc++-v3/config/locale/gnu/ctype_members.cc +++ b/libstdc++-v3/config/locale/gnu/ctype_members.cc @@ -1,6 +1,6 @@ // std::ctype implementation details, GNU version -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,8 +36,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // NB: The other ctype specializations are in src/locale.cc and // various /config/os/* files. template<> @@ -300,4 +300,5 @@ namespace std #endif } #endif // _GLIBCXX_USE_WCHAR_T -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/gnu/messages_members.cc b/libstdc++-v3/config/locale/gnu/messages_members.cc index c3fc4b5..f206e44 100644 --- a/libstdc++-v3/config/locale/gnu/messages_members.cc +++ b/libstdc++-v3/config/locale/gnu/messages_members.cc @@ -1,6 +1,6 @@ // std::messages implementation details, GNU version -*- C++ -*- -// Copyright (C) 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,8 +36,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Specializations. template<> string @@ -78,4 +78,5 @@ namespace std # endif } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/gnu/monetary_members.cc b/libstdc++-v3/config/locale/gnu/monetary_members.cc index ba7e242..b3cd05d 100644 --- a/libstdc++-v3/config/locale/gnu/monetary_members.cc +++ b/libstdc++-v3/config/locale/gnu/monetary_members.cc @@ -1,6 +1,6 @@ // std::moneypunct implementation details, GNU version -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,8 +36,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Construct and return valid pattern consisting of some combination of: // space none symbol sign value money_base::pattern @@ -652,4 +652,5 @@ namespace std delete _M_data; } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/gnu/numeric_members.cc b/libstdc++-v3/config/locale/gnu/numeric_members.cc index 8e580f5..7a0400b 100644 --- a/libstdc++-v3/config/locale/gnu/numeric_members.cc +++ b/libstdc++-v3/config/locale/gnu/numeric_members.cc @@ -1,6 +1,6 @@ // std::numpunct implementation details, GNU version -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,8 +36,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template<> void numpunct::_M_initialize_numpunct(__c_locale __cloc) @@ -148,4 +148,5 @@ namespace std numpunct::~numpunct() { delete _M_data; } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/gnu/time_members.cc b/libstdc++-v3/config/locale/gnu/time_members.cc index bd91dc4..10faa8f 100644 --- a/libstdc++-v3/config/locale/gnu/time_members.cc +++ b/libstdc++-v3/config/locale/gnu/time_members.cc @@ -1,6 +1,6 @@ // std::time_get, std::time_put implementation, GNU version -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -37,8 +37,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template<> void __timepunct:: @@ -392,4 +392,5 @@ namespace std } } #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h index 1be2d0a..af5dc31 100644 --- a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h +++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h @@ -1,6 +1,6 @@ // Wrapper for underlying C-language localization -*- C++ -*- -// Copyright (C) 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -38,7 +38,9 @@ #include // For codecvt using iconv, iconv_t #include // For messages -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + typedef int* __c_locale; -} + +_GLIBCXX_END_NAMESPACE + diff --git a/libstdc++-v3/config/os/aix/atomicity.h b/libstdc++-v3/config/os/aix/atomicity.h index 123766c..b44e630 100644 --- a/libstdc++-v3/config/os/aix/atomicity.h +++ b/libstdc++-v3/config/os/aix/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: AIX version -*- C++ -*- -// Copyright (C) 2000, 2001, 2004 Free Software Foundation, Inc. +// Copyright (C) 2000, 2001, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -43,8 +43,8 @@ extern "C" #include } -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __attribute__ ((__unused__)) __exchange_and_add (volatile _Atomic_word* __mem, int __val) @@ -58,4 +58,5 @@ namespace __gnu_cxx { (void) ::fetch_and_add (const_cast(__mem), __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/os/irix/atomicity.h b/libstdc++-v3/config/os/irix/atomicity.h index 24b17c9..9261d26 100644 --- a/libstdc++-v3/config/os/irix/atomicity.h +++ b/libstdc++-v3/config/os/irix/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations: IRIX version -*- C++ -*- -// Copyright (C) 2001, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -30,8 +30,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __exchange_and_add(volatile _Atomic_word* __mem, int __val) { return (_Atomic_word) test_then_add((unsigned long*) const_cast<_Atomic_word*>(__mem), __val); } @@ -39,4 +39,5 @@ namespace __gnu_cxx void __atomic_add(volatile _Atomic_word* __mem, int __val) { __exchange_and_add(__mem, __val); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 246e520..b5fbb5b 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -309,7 +309,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS glibcxx_thread_h WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV SYMVER_FILE port_specific_symbol_files ENABLE_SYMVERS_TRUE ENABLE_SYMVERS_FALSE ENABLE_SYMVERS_GNU_TRUE ENABLE_SYMVERS_GNU_FALSE ENABLE_SYMVERS_DARWIN_TRUE ENABLE_SYMVERS_DARWIN_FALSE baseline_dir ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR CPU_DEFINES_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libtool_VERSION multi_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar glibcxx_builddir glibcxx_srcdir toplevel_srcdir CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LN_S AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBTOOL CXXCPP CPPFLAGS enable_shared enable_static GLIBCXX_HOSTED_TRUE GLIBCXX_HOSTED_FALSE GLIBCXX_BUILD_PCH_TRUE GLIBCXX_BUILD_PCH_FALSE glibcxx_PCHFLAGS CSTDIO_H BASIC_FILE_H BASIC_FILE_CC CPP EGREP check_msgfmt glibcxx_MOFILES glibcxx_POFILES glibcxx_localedir USE_NLS CLOCALE_H CMESSAGES_H CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_H CTIME_CC CLOCALE_CC CLOCALE_INTERNAL_H ALLOCATOR_H ALLOCATOR_NAME C_INCLUDE_DIR GLIBCXX_C_HEADERS_C_TRUE GLIBCXX_C_HEADERS_C_FALSE GLIBCXX_C_HEADERS_C_STD_TRUE GLIBCXX_C_HEADERS_C_STD_FALSE GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE DEBUG_FLAGS GLIBCXX_BUILD_DEBUG_TRUE GLIBCXX_BUILD_DEBUG_FALSE EXTRA_CXX_FLAGS glibcxx_thread_h WERROR SECTION_FLAGS SECTION_LDFLAGS OPT_LDFLAGS LIBMATHOBJS LIBICONV SYMVER_FILE port_specific_symbol_files ENABLE_SYMVERS_TRUE ENABLE_SYMVERS_FALSE ENABLE_SYMVERS_GNU_TRUE ENABLE_SYMVERS_GNU_FALSE ENABLE_SYMVERS_GNU_NAMESPACE_TRUE ENABLE_SYMVERS_GNU_NAMESPACE_FALSE ENABLE_SYMVERS_DARWIN_TRUE ENABLE_SYMVERS_DARWIN_FALSE baseline_dir ATOMICITY_SRCDIR ATOMIC_WORD_SRCDIR CPU_DEFINES_SRCDIR ABI_TWEAKS_SRCDIR OS_INC_SRCDIR glibcxx_prefixdir gxx_include_dir glibcxx_toolexecdir glibcxx_toolexeclibdir GLIBCXX_INCLUDES TOPLEVEL_INCLUDES OPTIMIZE_CXXFLAGS WARN_FLAGS LIBSUPCXX_PICFLAGS LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -87368,7 +87368,7 @@ if test "${enable_symvers+set}" = set; then enableval="$enable_symvers" case "$enableval" in - yes|no|gnu|darwin|darwin-export) ;; + yes|no|gnu|gnu-versioned-namespace|darwin|darwin-export) ;; *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable symvers" >&5 echo "$as_me: error: Unknown argument to enable/disable symvers" >&2;} { (exit 1); exit 1; }; } ;; @@ -87407,7 +87407,7 @@ if test x$enable_symvers = xdarwin-export ; then fi # Check to see if 'gnu' can win. -if test $enable_symvers = gnu; then +if test $enable_symvers = gnu || test $enable_symvers = gnu-versioned-namespace; then # Check to see if libgcc_s exists, indicating that shared libgcc is possible. echo "$as_me:$LINENO: checking for shared libgcc" >&5 echo $ECHO_N "checking for shared libgcc... $ECHO_C" >&6 @@ -87583,6 +87583,14 @@ cat >>confdefs.h <<\_ACEOF _ACEOF ;; + gnu-versioned-namespace) + SYMVER_FILE=config/abi/pre/gnu-versioned-namespace.ver + +cat >>confdefs.h <<\_ACEOF +#define _GLIBCXX_SYMVER_GNU_NAMESPACE 1 +_ACEOF + + ;; darwin) SYMVER_FILE=config/abi/pre/gnu.ver @@ -87606,6 +87614,7 @@ fi + { echo "$as_me:$LINENO: versioning on shared library symbols is $enable_symvers" >&5 echo "$as_me: versioning on shared library symbols is $enable_symvers" >&6;} @@ -88586,6 +88595,17 @@ fi +if test $enable_symvers = gnu-versioned-namespace; then + ENABLE_SYMVERS_GNU_NAMESPACE_TRUE= + ENABLE_SYMVERS_GNU_NAMESPACE_FALSE='#' +else + ENABLE_SYMVERS_GNU_NAMESPACE_TRUE='#' + ENABLE_SYMVERS_GNU_NAMESPACE_FALSE= +fi + + + + if test $enable_symvers = darwin; then ENABLE_SYMVERS_DARWIN_TRUE= ENABLE_SYMVERS_DARWIN_FALSE='#' @@ -88952,6 +88972,13 @@ echo "$as_me: error: conditional \"ENABLE_SYMVERS_GNU\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${ENABLE_SYMVERS_GNU_NAMESPACE_TRUE}" && test -z "${ENABLE_SYMVERS_GNU_NAMESPACE_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SYMVERS_GNU_NAMESPACE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"ENABLE_SYMVERS_GNU_NAMESPACE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${ENABLE_SYMVERS_DARWIN_TRUE}" && test -z "${ENABLE_SYMVERS_DARWIN_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SYMVERS_DARWIN\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -89629,6 +89656,8 @@ s,@ENABLE_SYMVERS_TRUE@,$ENABLE_SYMVERS_TRUE,;t t s,@ENABLE_SYMVERS_FALSE@,$ENABLE_SYMVERS_FALSE,;t t s,@ENABLE_SYMVERS_GNU_TRUE@,$ENABLE_SYMVERS_GNU_TRUE,;t t s,@ENABLE_SYMVERS_GNU_FALSE@,$ENABLE_SYMVERS_GNU_FALSE,;t t +s,@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@,$ENABLE_SYMVERS_GNU_NAMESPACE_TRUE,;t t +s,@ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@,$ENABLE_SYMVERS_GNU_NAMESPACE_FALSE,;t t s,@ENABLE_SYMVERS_DARWIN_TRUE@,$ENABLE_SYMVERS_DARWIN_TRUE,;t t s,@ENABLE_SYMVERS_DARWIN_FALSE@,$ENABLE_SYMVERS_DARWIN_FALSE,;t t s,@baseline_dir@,$baseline_dir,;t t diff --git a/libstdc++-v3/docs/html/configopts.html b/libstdc++-v3/docs/html/configopts.html index b396a2d..a027c65 100644 --- a/libstdc++-v3/docs/html/configopts.html +++ b/libstdc++-v3/docs/html/configopts.html @@ -277,14 +277,18 @@ options
--enable-symvers[=style]
+

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.

+
--enable-libstdcxx-pch
diff --git a/libstdc++-v3/docs/html/debug.html b/libstdc++-v3/docs/html/debug.html index 0242d43..6bea7f4 100644 --- a/libstdc++-v3/docs/html/debug.html +++ b/libstdc++-v3/docs/html/debug.html @@ -163,91 +163,91 @@ std::bitset <bitset> - __gnu_debug::bitset + debug::bitset <debug/bitset> std::deque <deque> - __gnu_debug::deque + debug::deque <debug/deque> std::list <list> - __gnu_debug::list + debug::list <debug/list> std::map <map> - __gnu_debug::map + debug::map <debug/map> std::multimap <map> - __gnu_debug::multimap + debug::multimap <debug/map> std::multiset <set> - __gnu_debug::multiset + debug::multiset <debug/set> std::set <set> - __gnu_debug::set + debug::set <debug/set> std::string <string> - __gnu_debug::string + debug::string <debug/string> std::wstring <string> - __gnu_debug::wstring + debug::wstring <debug/string> std::basic_string <string> - __gnu_debug::basic_string + debug::basic_string <debug/string> std::vector <vector> - __gnu_debug::vector + debug::vector <debug/vector> __gnu_cxx::hash_map <ext/hash_map> - __gnu_debug::hash_map + debug::hash_map <debug/hash_map> __gnu_cxx::hash_multimap <ext/hash_map> - __gnu_debug::hash_multimap + debug::hash_multimap <debug/hash_map> __gnu_cxx::hash_set <ext/hash_set> - __gnu_debug::hash_set + debug::hash_set <debug/hash_set> __gnu_cxx::hash_multiset <ext/hash_set> - __gnu_debug::hash_multiset + debug::hash_multiset <debug/hash_set> @@ -297,16 +297,16 @@
  • std::basic_string (no safe iterators)
  • std::bitset
  • std::deque
  • -
  • __gnu_cxx::hash_map
  • -
  • __gnu_cxx::hash_multimap
  • -
  • __gnu_cxx::hash_multiset
  • -
  • __gnu_cxx::hash_set
  • std::list
  • std::map
  • std::multimap
  • std::multiset
  • std::set
  • std::vector
  • +
  • __gnu_cxx::hash_map
  • +
  • __gnu_cxx::hash_multimap
  • +
  • __gnu_cxx::hash_multiset
  • +
  • __gnu_cxx::hash_set
  • diff --git a/libstdc++-v3/docs/html/debug_mode.html b/libstdc++-v3/docs/html/debug_mode.html index b62ad8f..e531fd3 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>

    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 __gnu_norm, and then associated with namespace - std 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++.

    + namespace std. 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++.

    -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
     
    -

    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 -__gnu_debug, which is associated with namespace +

    In debug mode we include the release-mode container (which is now +defined in in the namespace __gnu_norm) and also the +debug-mode container. The debug-mode container is defined within the +namespace __gnu_debug, which is associated with namespace std 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:

    +at compile-time and link-time without causing an unreasonable +maintenance burden, while minimizing confusion. Again, this boils down +to C++ code as follows:

    -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));
     }
     
    diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am index 0120543..e71b76a 100644 --- a/libstdc++-v3/include/Makefile.am +++ b/libstdc++-v3/include/Makefile.am @@ -821,19 +821,30 @@ stamp-host: ${host_headers} ${host_headers_noinst} stamp-${host_alias} $(STAMP) stamp-host # Host includes dynamic. -${host_builddir}/c++config.h: ${top_builddir}/config.h \ - ${glibcxx_srcdir}/include/bits/c++config \ - stamp-${host_alias} \ - ${toplevel_srcdir}/gcc/DATESTAMP - @cat ${glibcxx_srcdir}/include/bits/c++config > $@ ;\ - sed -e 's/^/#define __GLIBCXX__ /' \ - < ${toplevel_srcdir}/gcc/DATESTAMP >> $@ ;\ +if ENABLE_SYMVERS_GNU_NAMESPACE +stamp-namespace-version: + echo 1 > stamp-namespace-version +else +stamp-namespace-version: + echo 0 > stamp-namespace-version +endif +${host_builddir}/c++config.h: ${CONFIG_HEADER} \ + ${glibcxx_srcdir}/include/bits/c++config \ + stamp-${host_alias} \ + ${toplevel_srcdir}/gcc/DATESTAMP \ + stamp-namespace-version + @date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\ + nsa_version=`cat stamp-namespace-version` ;\ + sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \ + -e "s,define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION, define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION $$nsa_version," \ + < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\ sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \ -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \ -e 's/VERSION/_GLIBCXX_VERSION/g' \ -e 's/WORDS_/_GLIBCXX_WORDS_/g' \ < ${CONFIG_HEADER} >> $@ ;\ - echo "#endif // _CXXCONFIG_" >>$@ + echo "" >> $@ ;\ + echo "#endif // _CXXCONFIG_" >> $@ # Host includes for threads uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_] diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index 590a107..6c97c63 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -103,6 +103,8 @@ ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@ ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@ ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@ ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@ ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@ EXEEXT = @EXEEXT@ @@ -1201,19 +1203,27 @@ stamp-host: ${host_headers} ${host_headers_noinst} stamp-${host_alias} $(STAMP) stamp-host # Host includes dynamic. -${host_builddir}/c++config.h: ${top_builddir}/config.h \ - ${glibcxx_srcdir}/include/bits/c++config \ - stamp-${host_alias} \ - ${toplevel_srcdir}/gcc/DATESTAMP - @cat ${glibcxx_srcdir}/include/bits/c++config > $@ ;\ - sed -e 's/^/#define __GLIBCXX__ /' \ - < ${toplevel_srcdir}/gcc/DATESTAMP >> $@ ;\ +@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@stamp-namespace-version: +@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ echo 1 > stamp-namespace-version +@ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@stamp-namespace-version: +@ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ echo 0 > stamp-namespace-version +${host_builddir}/c++config.h: ${CONFIG_HEADER} \ + ${glibcxx_srcdir}/include/bits/c++config \ + stamp-${host_alias} \ + ${toplevel_srcdir}/gcc/DATESTAMP \ + stamp-namespace-version + @date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\ + nsa_version=`cat stamp-namespace-version` ;\ + sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \ + -e "s,define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION, define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION $$nsa_version," \ + < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\ sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \ -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \ -e 's/VERSION/_GLIBCXX_VERSION/g' \ -e 's/WORDS_/_GLIBCXX_WORDS_/g' \ < ${CONFIG_HEADER} >> $@ ;\ - echo "#endif // _CXXCONFIG_" >>$@ + echo "" >> $@ ;\ + echo "#endif // _CXXCONFIG_" >> $@ ${host_builddir}/gthr.h: ${toplevel_srcdir}/gcc/gthr.h stamp-${host_alias} sed -e '/^#pragma/b' \ diff --git a/libstdc++-v3/include/backward/algo.h b/libstdc++-v3/include/backward/algo.h index aaa8cdd..2474601 100644 --- a/libstdc++-v3/include/backward/algo.h +++ b/libstdc++-v3/include/backward/algo.h @@ -143,7 +143,3 @@ using __gnu_cxx::power; using __gnu_cxx::iota; #endif /* _BACKWARD_ALGO_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/algobase.h b/libstdc++-v3/include/backward/algobase.h index 19bdcad..289e988 100644 --- a/libstdc++-v3/include/backward/algobase.h +++ b/libstdc++-v3/include/backward/algobase.h @@ -89,7 +89,3 @@ using __gnu_cxx::lexicographical_compare_3way; using __gnu_cxx::uninitialized_copy_n; #endif /* _BACKWARD_ALGOBASE_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/bvector.h b/libstdc++-v3/include/backward/bvector.h index 10bafc8..9a2c44d 100644 --- a/libstdc++-v3/include/backward/bvector.h +++ b/libstdc++-v3/include/backward/bvector.h @@ -62,7 +62,3 @@ typedef std::vector > bit_vector; #endif /* _BACKWARD_BVECTOR_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/complex.h b/libstdc++-v3/include/backward/complex.h index b03072e..7972cf7 100644 --- a/libstdc++-v3/include/backward/complex.h +++ b/libstdc++-v3/include/backward/complex.h @@ -37,7 +37,3 @@ typedef complex double_complex; typedef complex long_double_complex; #endif - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/deque.h b/libstdc++-v3/include/backward/deque.h index 54b65ec..a4a6b41 100644 --- a/libstdc++-v3/include/backward/deque.h +++ b/libstdc++-v3/include/backward/deque.h @@ -64,7 +64,3 @@ using std::deque; #endif /* _BACKWARD_DEQUE_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/fstream.h b/libstdc++-v3/include/backward/fstream.h index c721ca5..92835f9 100644 --- a/libstdc++-v3/include/backward/fstream.h +++ b/libstdc++-v3/include/backward/fstream.h @@ -46,7 +46,3 @@ using std::wstreampos; #endif #endif - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/function.h b/libstdc++-v3/include/backward/function.h index e7f29a6..b5be371 100644 --- a/libstdc++-v3/include/backward/function.h +++ b/libstdc++-v3/include/backward/function.h @@ -124,7 +124,3 @@ using __gnu_cxx::mem_fun1; using __gnu_cxx::mem_fun1_ref; #endif /* _BACKWARD_FUNCTION_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/hash_map.h b/libstdc++-v3/include/backward/hash_map.h index cbeed99..aa14522 100644 --- a/libstdc++-v3/include/backward/hash_map.h +++ b/libstdc++-v3/include/backward/hash_map.h @@ -66,7 +66,3 @@ using __gnu_cxx::hash_map; using __gnu_cxx::hash_multimap; #endif /* _BACKWARD_HASH_MAP_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/hashtable.h b/libstdc++-v3/include/backward/hashtable.h index 72fd281..7b7511b 100644 --- a/libstdc++-v3/include/backward/hashtable.h +++ b/libstdc++-v3/include/backward/hashtable.h @@ -70,7 +70,3 @@ using __gnu_cxx::hash; using __gnu_cxx::hashtable; #endif /* _BACKWARD_HASHTABLE_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/heap.h b/libstdc++-v3/include/backward/heap.h index 6e02c35..ef2e684 100644 --- a/libstdc++-v3/include/backward/heap.h +++ b/libstdc++-v3/include/backward/heap.h @@ -65,7 +65,3 @@ using std::make_heap; using std::sort_heap; #endif /* _BACKWARD_HEAP_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/iomanip.h b/libstdc++-v3/include/backward/iomanip.h index aeb7b1f..a4099a7 100644 --- a/libstdc++-v3/include/backward/iomanip.h +++ b/libstdc++-v3/include/backward/iomanip.h @@ -64,7 +64,3 @@ using std::setprecision; using std::setw; #endif - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/iostream.h b/libstdc++-v3/include/backward/iostream.h index e22d113..ed275ff 100644 --- a/libstdc++-v3/include/backward/iostream.h +++ b/libstdc++-v3/include/backward/iostream.h @@ -54,7 +54,3 @@ using std::ends; using std::flush; #endif - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/istream.h b/libstdc++-v3/include/backward/istream.h index 7db8f41..b1c55d1 100644 --- a/libstdc++-v3/include/backward/istream.h +++ b/libstdc++-v3/include/backward/istream.h @@ -32,12 +32,3 @@ #include "iostream.h" #endif - -// Local Variables: -// mode:C++ -// End: - - - - - diff --git a/libstdc++-v3/include/backward/iterator.h b/libstdc++-v3/include/backward/iterator.h index 815bd15..89496fb 100644 --- a/libstdc++-v3/include/backward/iterator.h +++ b/libstdc++-v3/include/backward/iterator.h @@ -185,7 +185,3 @@ template using std::raw_storage_iterator; #endif /* _BACKWARD_ITERATOR_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/list.h b/libstdc++-v3/include/backward/list.h index f8f85e1..d70a6e4 100644 --- a/libstdc++-v3/include/backward/list.h +++ b/libstdc++-v3/include/backward/list.h @@ -64,7 +64,3 @@ using std::list; #endif /* _BACKWARD_LIST_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/map.h b/libstdc++-v3/include/backward/map.h index 0b5051d..2ff3cec 100644 --- a/libstdc++-v3/include/backward/map.h +++ b/libstdc++-v3/include/backward/map.h @@ -63,7 +63,3 @@ using std::map; #endif /* _BACKWARD_MAP_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/multimap.h b/libstdc++-v3/include/backward/multimap.h index 534d1c9..515d299 100644 --- a/libstdc++-v3/include/backward/multimap.h +++ b/libstdc++-v3/include/backward/multimap.h @@ -63,7 +63,3 @@ using std::multimap; #endif /* _BACKWARD_MULTIMAP_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/multiset.h b/libstdc++-v3/include/backward/multiset.h index 47af815..1f857ae 100644 --- a/libstdc++-v3/include/backward/multiset.h +++ b/libstdc++-v3/include/backward/multiset.h @@ -63,7 +63,3 @@ using std::multiset; #endif /* _BACKWARD_MULTISET_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/ostream.h b/libstdc++-v3/include/backward/ostream.h index f30ebe4..07ef9b0 100644 --- a/libstdc++-v3/include/backward/ostream.h +++ b/libstdc++-v3/include/backward/ostream.h @@ -32,7 +32,3 @@ #include "iostream.h" #endif - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/pair.h b/libstdc++-v3/include/backward/pair.h index fa89efe..4985bcb 100644 --- a/libstdc++-v3/include/backward/pair.h +++ b/libstdc++-v3/include/backward/pair.h @@ -64,7 +64,3 @@ using std::pair; using std::make_pair; #endif /* _BACKWARD_PAIR_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/queue.h b/libstdc++-v3/include/backward/queue.h index 1da475c..da7505c 100644 --- a/libstdc++-v3/include/backward/queue.h +++ b/libstdc++-v3/include/backward/queue.h @@ -35,7 +35,3 @@ using std::queue; using std::priority_queue; #endif - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/rope.h b/libstdc++-v3/include/backward/rope.h index 6745c48..71e8815 100644 --- a/libstdc++-v3/include/backward/rope.h +++ b/libstdc++-v3/include/backward/rope.h @@ -54,7 +54,3 @@ using __gnu_cxx::crope; using __gnu_cxx::wrope; #endif /* _BACKWARD_ROPE_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/set.h b/libstdc++-v3/include/backward/set.h index 0043494..3c6a390 100644 --- a/libstdc++-v3/include/backward/set.h +++ b/libstdc++-v3/include/backward/set.h @@ -63,7 +63,3 @@ using std::set; #endif /* _BACKWARD_SET_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/slist.h b/libstdc++-v3/include/backward/slist.h index 3764a77..9b9a43d 100644 --- a/libstdc++-v3/include/backward/slist.h +++ b/libstdc++-v3/include/backward/slist.h @@ -50,7 +50,3 @@ using __gnu_cxx::slist; #endif /* _BACKWARD_SLIST_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/stack.h b/libstdc++-v3/include/backward/stack.h index a4c586a..07df417 100644 --- a/libstdc++-v3/include/backward/stack.h +++ b/libstdc++-v3/include/backward/stack.h @@ -66,7 +66,3 @@ using std::stack; #endif /* _BACKWARD_STACK_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/stream.h b/libstdc++-v3/include/backward/stream.h index ab27241..c137601 100644 --- a/libstdc++-v3/include/backward/stream.h +++ b/libstdc++-v3/include/backward/stream.h @@ -32,7 +32,3 @@ #include "iostream.h" #endif - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/streambuf.h b/libstdc++-v3/include/backward/streambuf.h index 86730ec..bac2449 100644 --- a/libstdc++-v3/include/backward/streambuf.h +++ b/libstdc++-v3/include/backward/streambuf.h @@ -34,7 +34,3 @@ using std::streambuf; #endif - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/strstream b/libstdc++-v3/include/backward/strstream index a8d94f4..d0d5a13 100644 --- a/libstdc++-v3/include/backward/strstream +++ b/libstdc++-v3/include/backward/strstream @@ -1,6 +1,6 @@ // Backward-compat support -*- C++ -*- -// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -55,8 +55,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Class strstreambuf, a streambuf class that manages an array of char. // Note that this class is not a template. class strstreambuf : public basic_streambuf > @@ -175,5 +175,7 @@ namespace std private: strstreambuf _M_buf; }; -} // namespace std + +_GLIBCXX_END_NAMESPACE + #endif diff --git a/libstdc++-v3/include/backward/tempbuf.h b/libstdc++-v3/include/backward/tempbuf.h index c42db03..af6e57d 100644 --- a/libstdc++-v3/include/backward/tempbuf.h +++ b/libstdc++-v3/include/backward/tempbuf.h @@ -72,7 +72,3 @@ using std::return_temporary_buffer; using __gnu_cxx::temporary_buffer; #endif /* _BACKWARD_TEMPBUF_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/tree.h b/libstdc++-v3/include/backward/tree.h index 25e4956..88a2f1d 100644 --- a/libstdc++-v3/include/backward/tree.h +++ b/libstdc++-v3/include/backward/tree.h @@ -50,6 +50,3 @@ using __gnu_cxx::rb_tree; #endif -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/backward/vector.h b/libstdc++-v3/include/backward/vector.h index f4ab069..8cd8dd0 100644 --- a/libstdc++-v3/include/backward/vector.h +++ b/libstdc++-v3/include/backward/vector.h @@ -64,7 +64,3 @@ using std::vector; #endif /* _BACKWARD_VECTOR_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h index 5bba2a9..18bfd5f 100644 --- a/libstdc++-v3/include/bits/allocator.h +++ b/libstdc++-v3/include/bits/allocator.h @@ -51,8 +51,8 @@ // Define the base class to std::allocator. #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template class allocator; @@ -127,6 +127,7 @@ namespace std // Undefine. #undef __glibcxx_base_allocator -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/atomicity.h b/libstdc++-v3/include/bits/atomicity.h index aa73736..f436e0b 100644 --- a/libstdc++-v3/include/bits/atomicity.h +++ b/libstdc++-v3/include/bits/atomicity.h @@ -1,6 +1,6 @@ // Low-level functions for atomic operations -*- C++ -*- -// Copyright (C) 2004 Free Software Foundation, Inc. +// Copyright (C) 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -35,10 +35,11 @@ #ifndef _GLIBCXX_ATOMICITY_H #define _GLIBCXX_ATOMICITY_H 1 +#include #include - -namespace __gnu_cxx -{ + +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + _Atomic_word __attribute__ ((__unused__)) __exchange_and_add(volatile _Atomic_word* __mem, int __val); @@ -46,7 +47,8 @@ namespace __gnu_cxx void __attribute__ ((__unused__)) __atomic_add(volatile _Atomic_word* __mem, int __val); -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE /* Even if the CPU doesn't need a memory barrier, we need to ensure that the compiler doesn't reorder memory accesses across the barriers. */ diff --git a/libstdc++-v3/include/bits/basic_ios.h b/libstdc++-v3/include/bits/basic_ios.h index 9088671..d078431 100644 --- a/libstdc++-v3/include/bits/basic_ios.h +++ b/libstdc++-v3/include/bits/basic_ios.h @@ -1,6 +1,6 @@ // Iostreams base classes -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -43,8 +43,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // 27.4.5 Template class basic_ios /** * @brief Virtual base class for all stream classes. @@ -458,7 +458,8 @@ namespace std void _M_cache_locale(const locale& __loc); }; -} // namespace std + +_GLIBCXX_END_NAMESPACE #ifndef _GLIBCXX_EXPORT_TEMPLATE #include diff --git a/libstdc++-v3/include/bits/basic_ios.tcc b/libstdc++-v3/include/bits/basic_ios.tcc index b536a0d..e8434a5 100644 --- a/libstdc++-v3/include/bits/basic_ios.tcc +++ b/libstdc++-v3/include/bits/basic_ios.tcc @@ -1,6 +1,7 @@ // basic_ios member functions -*- C++ -*- -// Copyright (C) 1999, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -37,8 +38,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template void basic_ios<_CharT, _Traits>::clear(iostate __state) @@ -195,6 +196,7 @@ namespace std extern template class basic_ios; #endif #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 0ff2e54..acd2f14 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -45,8 +45,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @class basic_string basic_string.h * @brief Managing sequences of characters and character-like objects. @@ -2443,6 +2443,7 @@ namespace std getline(basic_istream& __in, basic_string& __str, wchar_t __delim); #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _BASIC_STRING_H */ diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index f8f9f3e..6b21d83 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -45,8 +45,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template inline bool __is_null_pointer(_Type* __ptr) @@ -993,6 +993,7 @@ namespace std getline(basic_istream&, wstring&); #endif #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/boost_concept_check.h b/libstdc++-v3/include/bits/boost_concept_check.h index 24160ed..38380b7 100644 --- a/libstdc++-v3/include/bits/boost_concept_check.h +++ b/libstdc++-v3/include/bits/boost_concept_check.h @@ -1,4 +1,6 @@ -// Copyright (C) 2004 Free Software Foundation, Inc. +// -*- C++ -*- + +// Copyright (C) 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -48,8 +50,7 @@ #include // for traits and tags #include // for pair<> -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #define _IsUnused __attribute__ ((__unused__)) @@ -923,7 +924,7 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; }; // HashedAssociativeContainer -} // namespace __gnu_cxx +_GLIBCXX_END_NAMESPACE #undef _IsUnused diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index eb8dc79..31a60a7 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -37,33 +37,98 @@ // Pick up any CPU-specific definitions. #include -// Debug mode support. Debug mode basic_string is not allowed to be -// associated with std, because of locale and exception link -// dependence. -namespace __gnu_debug_def { } +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ -namespace __gnu_debug +// Macros for various namespace association schemes and modes. +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Macros for namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +#else +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X { +# define _GLIBCXX_END_NAMESPACE } +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +# else +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# endif +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + namespace _6 { } + using namespace _6 __attribute__ ((strong)); +} + +// In addition, other supported namespace configurations. +namespace __gnu_cxx { - using namespace __gnu_debug_def; + namespace _6 { } + using namespace _6 __attribute__ ((strong)); } -#ifdef _GLIBCXX_DEBUG -# define _GLIBCXX_STD __gnu_norm -# define _GLIBCXX_EXTERN_TEMPLATE 0 -namespace __gnu_norm +namespace __gnu_ext { - using namespace std; + namespace _6 { } + using namespace _6 __attribute__ ((strong)); } + namespace std { + namespace tr1 + { + namespace _6 { } + using namespace _6 __attribute__ ((strong)); + } +} +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +namespace std +{ + namespace __gnu_norm { } + +#if 1 + namespace __gnu_debug_def { } + namespace __gnu_debug { using namespace __gnu_debug_def; } using namespace __gnu_debug_def __attribute__ ((strong)); +#else + namespace __gnu_debug { namespace detail { } } + using namespace __gnu_debug __attribute__ ((strong)); +#endif } + +# define _GLIBCXX_STD __gnu_norm +# define _GLIBCXX_EXTERN_TEMPLATE 0 # if __NO_INLINE__ && !__GXX_WEAK__ # warning debug mode without inlining may fail due to lack of weak symbols # endif #else +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_STD _6 +#else # define _GLIBCXX_STD std #endif +#endif + // Allow use of "export template." This is currently not a feature // that g++ supports. @@ -79,6 +144,7 @@ namespace std # define _GLIBCXX_EXTERN_TEMPLATE 1 #endif + // Certain function definitions that are meant to be overridable from // user code are decorated with this macro. For some targets, this // macro causes these definitions to be weak. diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h index 6b4c916..410e01b 100644 --- a/libstdc++-v3/include/bits/char_traits.h +++ b/libstdc++-v3/include/bits/char_traits.h @@ -46,8 +46,8 @@ #include // For copy, lexicographical_compare, fill_n #include // For streampos -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /** * @brief Mapping from character type to associated types. * @@ -204,10 +204,11 @@ namespace __gnu_cxx std::fill_n(__s, __n, __a); return __s; } -} -namespace std -{ +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) + // 21.1 /** * @brief Basis for explicit traits specializations. @@ -361,6 +362,6 @@ namespace std }; #endif //_GLIBCXX_USE_WCHAR_T -} // namespace std +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/concurrence.h b/libstdc++-v3/include/bits/concurrence.h index 5f1b682..81bf2a6 100644 --- a/libstdc++-v3/include/bits/concurrence.h +++ b/libstdc++-v3/include/bits/concurrence.h @@ -1,6 +1,6 @@ // Support for concurrent programing -*- C++ -*- -// Copyright (C) 2003, 2004 +// Copyright (C) 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -72,8 +72,8 @@ __gthread_mutex_lock(&NAME) #endif -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + typedef __glibcxx_mutex_type mutex_type; /// @brief Scoped lock idiom. @@ -95,6 +95,7 @@ namespace __gnu_cxx lock(const lock&); lock& operator=(const lock&); }; -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/cpp_type_traits.h b/libstdc++-v3/include/bits/cpp_type_traits.h index 5ac9c98..e75bf47 100644 --- a/libstdc++-v3/include/bits/cpp_type_traits.h +++ b/libstdc++-v3/include/bits/cpp_type_traits.h @@ -84,17 +84,18 @@ namespace __gnu_internal } // namespace __gnu_internal // Forward declaration hack, should really include this from somewhere. -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + template class __normal_iterator; -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE struct __true_type { }; struct __false_type { }; -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template struct __truth_type { typedef __false_type __type; }; @@ -384,6 +385,6 @@ namespace std }; }; -} // namespace std +_GLIBCXX_END_NAMESPACE #endif //_CPP_TYPE_TRAITS_H diff --git a/libstdc++-v3/include/bits/deque.tcc b/libstdc++-v3/include/bits/deque.tcc index d8f5ef6..2f45593 100644 --- a/libstdc++-v3/include/bits/deque.tcc +++ b/libstdc++-v3/include/bits/deque.tcc @@ -61,8 +61,8 @@ #ifndef _DEQUE_TCC #define _DEQUE_TCC 1 -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + template deque<_Tp, _Alloc>& deque<_Tp, _Alloc>:: @@ -744,6 +744,7 @@ namespace _GLIBCXX_STD this->_M_impl._M_start._M_set_node(__new_nstart); this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1); } -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index 652c54d..08fcdbe 100644 --- a/libstdc++-v3/include/bits/fstream.tcc +++ b/libstdc++-v3/include/bits/fstream.tcc @@ -42,8 +42,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template void basic_filebuf<_CharT, _Traits>:: @@ -899,6 +899,7 @@ namespace std extern template class basic_fstream; #endif #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/functexcept.h b/libstdc++-v3/include/bits/functexcept.h index 3e2ce2c..59358c4 100644 --- a/libstdc++-v3/include/bits/functexcept.h +++ b/libstdc++-v3/include/bits/functexcept.h @@ -38,10 +38,11 @@ #ifndef _FUNCTEXCEPT_H #define _FUNCTEXCEPT_H 1 +#include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Helper for exception objects in void __throw_bad_exception(void) __attribute__((__noreturn__)); @@ -88,6 +89,7 @@ namespace std // Helpers for exception objects in basic_ios void __throw_ios_failure(const char*) __attribute__((__noreturn__)); -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/gslice.h b/libstdc++-v3/include/bits/gslice.h index 31cb102..560aeb5 100644 --- a/libstdc++-v3/include/bits/gslice.h +++ b/libstdc++-v3/include/bits/gslice.h @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- gslice class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,8 +40,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @brief Class defining multi-dimensional subset of an array. * @@ -165,10 +165,6 @@ namespace std return *this; } -} // std:: +_GLIBCXX_END_NAMESPACE #endif /* _GSLICE_H */ - -// Local Variables: -// mode:c++ -// End: diff --git a/libstdc++-v3/include/bits/gslice_array.h b/libstdc++-v3/include/bits/gslice_array.h index 2904efe..0b12207 100644 --- a/libstdc++-v3/include/bits/gslice_array.h +++ b/libstdc++-v3/include/bits/gslice_array.h @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- gslice_array class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,8 +40,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @brief Reference to multi-dimensional subset of an array. * @@ -209,10 +209,6 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR -} // std:: +_GLIBCXX_END_NAMESPACE #endif /* _GSLICE_ARRAY_H */ - -// Local Variables: -// mode:c++ -// End: diff --git a/libstdc++-v3/include/bits/indirect_array.h b/libstdc++-v3/include/bits/indirect_array.h index aca2fe3..c6038e3 100644 --- a/libstdc++-v3/include/bits/indirect_array.h +++ b/libstdc++-v3/include/bits/indirect_array.h @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- indirect_array class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,8 +40,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @brief Reference to arbitrary subset of an array. * @@ -203,10 +203,6 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR -} // std:: +_GLIBCXX_END_NAMESPACE #endif /* _INDIRECT_ARRAY_H */ - -// Local Variables: -// mode:c++ -// End: diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h index 644c655..cc88f40 100644 --- a/libstdc++-v3/include/bits/ios_base.h +++ b/libstdc++-v3/include/bits/ios_base.h @@ -1,6 +1,6 @@ // Iostreams base classes -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -46,8 +46,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // The following definitions of bitmask types are enums, not ints, // as permitted (but not required) in the standard, in order to provide // better type safety in iostream calls. A side effect is that @@ -961,7 +961,8 @@ namespace std __base.setf(ios_base::scientific, ios_base::floatfield); return __base; } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _IOS_BASE_H */ diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc index 21299e6..541e75a 100644 --- a/libstdc++-v3/include/bits/istream.tcc +++ b/libstdc++-v3/include/bits/istream.tcc @@ -45,8 +45,8 @@ #include #include // For flush() -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template basic_istream<_CharT, _Traits>::sentry:: sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) @@ -1281,6 +1281,7 @@ namespace std extern template class basic_iostream; #endif #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/list.tcc b/libstdc++-v3/include/bits/list.tcc index ece0430..355ec75 100644 --- a/libstdc++-v3/include/bits/list.tcc +++ b/libstdc++-v3/include/bits/list.tcc @@ -61,8 +61,8 @@ #ifndef _LIST_TCC #define _LIST_TCC 1 -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + template void _List_base<_Tp, _Alloc>:: @@ -373,7 +373,8 @@ namespace _GLIBCXX_STD swap(*(__fill - 1)); } } -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE #endif /* _LIST_TCC */ diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h index aed938d..3abe415 100644 --- a/libstdc++-v3/include/bits/locale_classes.h +++ b/libstdc++-v3/include/bits/locale_classes.h @@ -1,6 +1,6 @@ // Locale support -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -48,8 +48,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // 22.1.1 Class locale /** * @brief Container class for localization functionality. @@ -577,6 +577,7 @@ namespace std delete [] _M_impl->_M_names[0]; _M_impl->_M_names[0] = 0; // Unnamed. } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h index b4cd513..339bb53 100644 --- a/libstdc++-v3/include/bits/locale_facets.h +++ b/libstdc++-v3/include/bits/locale_facets.h @@ -48,8 +48,8 @@ #include // For ios_base, ios_base::iostate #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // NB: Don't instantiate required wchar_t facets if no wchar_t support. #ifdef _GLIBCXX_USE_WCHAR_T # define _GLIBCXX_NUM_FACETS 28 @@ -4573,6 +4573,7 @@ namespace std inline _CharT tolower(_CharT __c, const locale& __loc) { return use_facet >(__loc).tolower(__c); } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc index eb4a352..9d337e9 100644 --- a/libstdc++-v3/include/bits/locale_facets.tcc +++ b/libstdc++-v3/include/bits/locale_facets.tcc @@ -42,8 +42,8 @@ #include // For bad_cast. #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template locale locale::combine(const locale& __other) const @@ -2761,6 +2761,7 @@ namespace std has_facet >(const locale&); #endif #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/localefwd.h b/libstdc++-v3/include/bits/localefwd.h index 258fcc1..94cafb2 100644 --- a/libstdc++-v3/include/bits/localefwd.h +++ b/libstdc++-v3/include/bits/localefwd.h @@ -1,6 +1,6 @@ // Locale support -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -47,8 +47,8 @@ #include // For ostreambuf_iterator, istreambuf_iterator #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // 22.1.1 Locale class locale; @@ -187,6 +187,7 @@ namespace std __throw_bad_cast(); return *__f; } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/mask_array.h b/libstdc++-v3/include/bits/mask_array.h index 592aad7..f2c6661 100644 --- a/libstdc++-v3/include/bits/mask_array.h +++ b/libstdc++-v3/include/bits/mask_array.h @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- mask_array class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,8 +40,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @brief Reference to selected subset of an array. * @@ -199,10 +199,6 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR -} // std:: +_GLIBCXX_END_NAMESPACE #endif /* _MASK_ARRAY_H */ - -// Local Variables: -// mode:c++ -// End: diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc index e26ad50..1642583 100644 --- a/libstdc++-v3/include/bits/ostream.tcc +++ b/libstdc++-v3/include/bits/ostream.tcc @@ -44,8 +44,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template basic_ostream<_CharT, _Traits>::sentry:: sentry(basic_ostream<_CharT, _Traits>& __os) @@ -818,6 +818,7 @@ namespace std extern template wostream& operator<<(wostream&, const char*); #endif #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/postypes.h b/libstdc++-v3/include/bits/postypes.h index 6df0ef9..97ab8d1 100644 --- a/libstdc++-v3/include/bits/postypes.h +++ b/libstdc++-v3/include/bits/postypes.h @@ -1,6 +1,6 @@ // Position types -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -49,8 +49,8 @@ #include // For int64_t #endif -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // The types streamoff, streampos and wstreampos and the class // template fpos<> are described in clauses 21.1.2, 21.1.3, 27.1.2, // 27.2, 27.4.1, 27.4.3 and D.6. Despite all this verbage, the @@ -210,6 +210,7 @@ namespace std typedef fpos streampos; /// File position for wchar_t streams. typedef fpos wstreampos; -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/slice_array.h b/libstdc++-v3/include/bits/slice_array.h index bde07d5..41debfe 100644 --- a/libstdc++-v3/include/bits/slice_array.h +++ b/libstdc++-v3/include/bits/slice_array.h @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- slice_array class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,8 +40,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @brief Class defining one-dimensional subset of an array. * @@ -264,10 +264,6 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right) #undef _DEFINE_VALARRAY_OPERATOR -} // std:: +_GLIBCXX_END_NAMESPACE #endif /* _SLICE_ARRAY_H */ - -// Local Variables: -// mode:c++ -// End: diff --git a/libstdc++-v3/include/bits/sstream.tcc b/libstdc++-v3/include/bits/sstream.tcc index 28fb195..eb12ca4 100644 --- a/libstdc++-v3/include/bits/sstream.tcc +++ b/libstdc++-v3/include/bits/sstream.tcc @@ -1,6 +1,6 @@ // String based streams -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -44,8 +44,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type basic_stringbuf<_CharT, _Traits, _Alloc>:: @@ -233,6 +233,7 @@ namespace std extern template class basic_stringstream; #endif #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index 6cb9c0b..355d859 100644 --- a/libstdc++-v3/include/bits/stl_algo.h +++ b/libstdc++-v3/include/bits/stl_algo.h @@ -67,8 +67,8 @@ // See concept_check.h for the __glibcxx_*_requires macros. -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @brief Find the median of three values. * @param a A value. @@ -5337,6 +5337,6 @@ namespace std __comp); } -} // namespace std +_GLIBCXX_END_NAMESPACE #endif /* _ALGO_H */ diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h index c339832..7306996 100644 --- a/libstdc++-v3/include/bits/stl_algobase.h +++ b/libstdc++-v3/include/bits/stl_algobase.h @@ -75,8 +75,7 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) /** * @brief Swaps two values. @@ -909,6 +908,6 @@ namespace std #endif /* CHAR_MAX == SCHAR_MAX */ } -} // namespace std +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h index 05c7e09..0779ea6 100644 --- a/libstdc++-v3/include/bits/stl_bvector.h +++ b/libstdc++-v3/include/bits/stl_bvector.h @@ -61,8 +61,8 @@ #ifndef _BVECTOR_H #define _BVECTOR_H 1 -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + typedef unsigned long _Bit_type; enum { _S_word_bit = int(CHAR_BIT * sizeof(_Bit_type)) }; @@ -397,13 +397,14 @@ namespace _GLIBCXX_STD _M_impl._M_end_of_storage - _M_impl._M_start._M_p); } }; -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE // Declare a partial specialization of vector. #include -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + /** * @brief A specialization of vector for booleans which offers fixed time * access to individual elements in any order. @@ -953,6 +954,7 @@ template clear() { erase(begin(), end()); } }; -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/stl_construct.h b/libstdc++-v3/include/bits/stl_construct.h index 8f78d8c..0a03fb7 100644 --- a/libstdc++-v3/include/bits/stl_construct.h +++ b/libstdc++-v3/include/bits/stl_construct.h @@ -64,8 +64,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @if maint * Constructs an object in existing memory by invoking an allocated @@ -181,9 +181,8 @@ namespace std { _Destroy(__first, __last); } - -} // namespace std +_GLIBCXX_END_NAMESPACE #endif /* _STL_CONSTRUCT_H */ diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h index 15401ba..107bbfe 100644 --- a/libstdc++-v3/include/bits/stl_deque.h +++ b/libstdc++-v3/include/bits/stl_deque.h @@ -65,8 +65,8 @@ #include #include -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + /** * @if maint * @brief This function controls the size of memory nodes. @@ -1580,6 +1580,7 @@ namespace _GLIBCXX_STD inline void swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y) { __x.swap(__y); } -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE #endif /* _DEQUE_H */ diff --git a/libstdc++-v3/include/bits/stl_function.h b/libstdc++-v3/include/bits/stl_function.h index dac19c8..db213dc 100644 --- a/libstdc++-v3/include/bits/stl_function.h +++ b/libstdc++-v3/include/bits/stl_function.h @@ -61,8 +61,8 @@ #ifndef _FUNCTION_H #define _FUNCTION_H 1 -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // 20.3.1 base classes /** @defgroup s20_3_1_base Functor Base Classes * Function objects, or @e functors, are objects with an @c operator() @@ -750,10 +750,6 @@ namespace std /** @} */ -} // namespace std +_GLIBCXX_END_NAMESPACE #endif /* _FUNCTION_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/bits/stl_heap.h b/libstdc++-v3/include/bits/stl_heap.h index 3dd0001..f9e337f 100644 --- a/libstdc++-v3/include/bits/stl_heap.h +++ b/libstdc++-v3/include/bits/stl_heap.h @@ -1,6 +1,6 @@ // Heap implementation -*- C++ -*- -// Copyright (C) 2001, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -62,8 +62,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // is_heap, a predicate testing whether or not a range is // a heap. This function is an extension, not part of the C++ // standard. @@ -458,10 +458,6 @@ namespace std std::pop_heap(__first, __last--, __comp); } -} // namespace std +_GLIBCXX_END_NAMESPACE #endif /* _STL_HEAP_H */ - -// Local Variables: -// mode:C++ -// End: diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h index 12b2e9c..7746aa2 100644 --- a/libstdc++-v3/include/bits/stl_iterator.h +++ b/libstdc++-v3/include/bits/stl_iterator.h @@ -67,8 +67,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // 24.4.1 Reverse iterators /** * "Bidirectional and random access iterators have corresponding reverse @@ -616,10 +616,11 @@ namespace std return insert_iterator<_Container>(__x, typename _Container::iterator(__i)); } -} // namespace std -namespace __gnu_cxx -{ +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + // This iterator adapter is 'normal' in the sense that it does not // change the semantics of any of the operators of its iterator // parameter. Its primary purpose is to convert an iterator that is @@ -819,10 +820,7 @@ namespace __gnu_cxx operator+(typename __normal_iterator<_Iterator, _Container>::difference_type __n, const __normal_iterator<_Iterator, _Container>& __i) { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } -} // namespace __gnu_cxx -#endif +_GLIBCXX_END_NAMESPACE -// Local Variables: -// mode:C++ -// End: +#endif diff --git a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h index 6e550fa..82bf040 100644 --- a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h +++ b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h @@ -1,6 +1,6 @@ // Functions used by iterators -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -67,8 +67,8 @@ #pragma GCC system_header #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template inline typename iterator_traits<_InputIterator>::difference_type __distance(_InputIterator __first, _InputIterator __last, @@ -174,6 +174,7 @@ namespace std // concept requirements -- taken care of in __advance std::__advance(__i, __n, std::__iterator_category(__i)); } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _ITERATOR_BASE_FUNCS_H */ diff --git a/libstdc++-v3/include/bits/stl_iterator_base_types.h b/libstdc++-v3/include/bits/stl_iterator_base_types.h index 2161f2a..c02cd26 100644 --- a/libstdc++-v3/include/bits/stl_iterator_base_types.h +++ b/libstdc++-v3/include/bits/stl_iterator_base_types.h @@ -1,6 +1,6 @@ // Types used in iterator implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -66,8 +66,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + //@{ /** * @defgroup iterator_tags Iterator Tags @@ -164,7 +164,7 @@ namespace std __iterator_category(const _Iter&) { return typename iterator_traits<_Iter>::iterator_category(); } -} // namespace std +_GLIBCXX_END_NAMESPACE #endif /* _ITERATOR_BASE_TYPES_H */ diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h index f93a032..03b70a3 100644 --- a/libstdc++-v3/include/bits/stl_list.h +++ b/libstdc++-v3/include/bits/stl_list.h @@ -63,8 +63,8 @@ #include -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + // Supporting structures are split into common and templated types; the // latter publicly inherits from the former in an effort to reduce code // duplication. This results in some "needless" static_cast'ing later on, @@ -1221,7 +1221,8 @@ namespace _GLIBCXX_STD inline void swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) { __x.swap(__y); } -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE #endif /* _LIST_H */ diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h index 4d4dd7e..a1cfafb 100644 --- a/libstdc++-v3/include/bits/stl_map.h +++ b/libstdc++-v3/include/bits/stl_map.h @@ -64,8 +64,8 @@ #include #include -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + /** * @brief A standard container made up of (key,value) pairs, which can be * retrieved based on a key, in logarithmic time. @@ -726,6 +726,7 @@ namespace _GLIBCXX_STD swap(map<_Key, _Tp, _Compare, _Alloc>& __x, map<_Key, _Tp, _Compare, _Alloc>& __y) { __x.swap(__y); } -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE #endif /* _MAP_H */ diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h index 5c66227..4adf65b 100644 --- a/libstdc++-v3/include/bits/stl_multimap.h +++ b/libstdc++-v3/include/bits/stl_multimap.h @@ -63,8 +63,8 @@ #include -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + // Forward declaration of operators < and ==, needed for friend declaration. template & __x, multimap<_Key, _Tp, _Compare, _Alloc>& __y) { __x.swap(__y); } -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE #endif /* _MULTIMAP_H */ diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h index 185f51c..f685b4f 100644 --- a/libstdc++-v3/include/bits/stl_multiset.h +++ b/libstdc++-v3/include/bits/stl_multiset.h @@ -63,8 +63,7 @@ #include -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) // Forward declaration of operators < and ==, needed for friend declaration. template , @@ -575,6 +574,6 @@ namespace _GLIBCXX_STD multiset<_Key, _Compare, _Alloc>& __y) { __x.swap(__y); } -} // namespace std +_GLIBCXX_END_NESTED_NAMESPACE #endif /* _MULTISET_H */ diff --git a/libstdc++-v3/include/bits/stl_numeric.h b/libstdc++-v3/include/bits/stl_numeric.h index 7970680..82bee21 100644 --- a/libstdc++-v3/include/bits/stl_numeric.h +++ b/libstdc++-v3/include/bits/stl_numeric.h @@ -1,6 +1,6 @@ // Numeric functions implementation -*- C++ -*- -// Copyright (C) 2001, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -63,8 +63,7 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) /** * @brief Accumulate values in a range. @@ -335,6 +334,6 @@ namespace std return ++__result; } -} // namespace std +_GLIBCXX_END_NAMESPACE #endif /* _STL_NUMERIC_H */ diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h index b97de33..b4bb00c 100644 --- a/libstdc++-v3/include/bits/stl_pair.h +++ b/libstdc++-v3/include/bits/stl_pair.h @@ -1,6 +1,6 @@ // Pair implementation -*- C++ -*- -// Copyright (C) 2001, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -61,8 +61,8 @@ #ifndef _PAIR_H #define _PAIR_H 1 -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /// pair holds two objects of arbitrary type. template struct pair @@ -143,6 +143,7 @@ namespace std inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y) { return pair<_T1, _T2>(__x, __y); } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _PAIR_H */ diff --git a/libstdc++-v3/include/bits/stl_queue.h b/libstdc++-v3/include/bits/stl_queue.h index b7d03b8..e0da22f 100644 --- a/libstdc++-v3/include/bits/stl_queue.h +++ b/libstdc++-v3/include/bits/stl_queue.h @@ -1,6 +1,7 @@ // Queue implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -64,8 +65,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Forward declarations of operators < and ==, needed for friend declaration. template > class queue; @@ -465,6 +466,7 @@ namespace std }; // No equality/comparison operators are provided for priority_queue. -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _QUEUE_H */ diff --git a/libstdc++-v3/include/bits/stl_raw_storage_iter.h b/libstdc++-v3/include/bits/stl_raw_storage_iter.h index 4057765..615da28 100644 --- a/libstdc++-v3/include/bits/stl_raw_storage_iter.h +++ b/libstdc++-v3/include/bits/stl_raw_storage_iter.h @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2001, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -61,8 +61,8 @@ #ifndef _STL_RAW_STORAGE_ITERATOR_H #define _STL_RAW_STORAGE_ITERATOR_H 1 -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * This iterator class lets algorithms store their results into * uninitialized memory. @@ -104,10 +104,7 @@ namespace std return __tmp; } }; -} // namespace std -#endif +_GLIBCXX_END_NAMESPACE -// Local Variables: -// mode:C++ -// End: +#endif diff --git a/libstdc++-v3/include/bits/stl_relops.h b/libstdc++-v3/include/bits/stl_relops.h index 1395472..11fc30d 100644 --- a/libstdc++-v3/include/bits/stl_relops.h +++ b/libstdc++-v3/include/bits/stl_relops.h @@ -1,6 +1,6 @@ // std::rel_ops implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -71,8 +71,8 @@ #ifndef _STL_RELOPS_H #define _STL_RELOPS_H 1 -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + namespace rel_ops { /** @namespace std::rel_ops @@ -132,6 +132,7 @@ namespace std { return !(__x < __y); } } // namespace rel_ops -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _STL_RELOPS_H */ diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h index 1172e50..042e95f 100644 --- a/libstdc++-v3/include/bits/stl_set.h +++ b/libstdc++-v3/include/bits/stl_set.h @@ -63,8 +63,8 @@ #include -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + // Forward declarations of operators < and ==, needed for friend declaration. template, class _Alloc = std::allocator<_Key> > @@ -587,6 +587,6 @@ namespace _GLIBCXX_STD swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y) { __x.swap(__y); } -} // namespace std +_GLIBCXX_END_NESTED_NAMESPACE #endif /* _SET_H */ diff --git a/libstdc++-v3/include/bits/stl_stack.h b/libstdc++-v3/include/bits/stl_stack.h index c3a5275..22e5660 100644 --- a/libstdc++-v3/include/bits/stl_stack.h +++ b/libstdc++-v3/include/bits/stl_stack.h @@ -1,6 +1,6 @@ // Stack implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -64,8 +64,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Forward declarations of operators == and <, needed for friend // declaration. template > @@ -267,6 +267,7 @@ namespace std inline bool operator>=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y) { return !(__x < __y); } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _STACK_H */ diff --git a/libstdc++-v3/include/bits/stl_tempbuf.h b/libstdc++-v3/include/bits/stl_tempbuf.h index 7263099..970af45 100644 --- a/libstdc++-v3/include/bits/stl_tempbuf.h +++ b/libstdc++-v3/include/bits/stl_tempbuf.h @@ -63,8 +63,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @if maint * This class is used in two places: stl_algo.h and ext/memory, @@ -164,7 +164,8 @@ namespace std __throw_exception_again; } } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _TEMPBUF_H */ diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h index 13088ca..ad0e68d 100644 --- a/libstdc++-v3/include/bits/stl_tree.h +++ b/libstdc++-v3/include/bits/stl_tree.h @@ -69,8 +69,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Red-black tree class, designed for use in implementing STL // associative containers (set, multiset, map, and multimap). The // insertion and deletion algorithms are based on those in Cormen, @@ -1492,6 +1492,7 @@ namespace std return false; return true; } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/stl_uninitialized.h b/libstdc++-v3/include/bits/stl_uninitialized.h index 6b06ad0..c5748fc 100644 --- a/libstdc++-v3/include/bits/stl_uninitialized.h +++ b/libstdc++-v3/include/bits/stl_uninitialized.h @@ -63,8 +63,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // uninitialized_copy template inline _ForwardIterator @@ -392,6 +392,6 @@ namespace std } } -} // namespace std +_GLIBCXX_END_NAMESPACE #endif /* _STL_UNINITIALIZED_H */ diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h index 731806b..c4107fa 100644 --- a/libstdc++-v3/include/bits/stl_vector.h +++ b/libstdc++-v3/include/bits/stl_vector.h @@ -65,8 +65,8 @@ #include #include -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + /** * @if maint * See bits/stl_deque.h's _Deque_base for an explanation. @@ -985,6 +985,7 @@ namespace _GLIBCXX_STD inline void swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) { __x.swap(__y); } -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE #endif /* _VECTOR_H */ diff --git a/libstdc++-v3/include/bits/stream_iterator.h b/libstdc++-v3/include/bits/stream_iterator.h index c247868..dabb9ce 100644 --- a/libstdc++-v3/include/bits/stream_iterator.h +++ b/libstdc++-v3/include/bits/stream_iterator.h @@ -1,6 +1,6 @@ // Stream iterators -// Copyright (C) 2001, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -39,8 +39,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /// Provides input iterator semantics for streams. template, typename _Dist = ptrdiff_t> @@ -210,5 +210,7 @@ namespace std operator++(int) { return *this; } }; -} // namespace std + +_GLIBCXX_END_NAMESPACE + #endif diff --git a/libstdc++-v3/include/bits/streambuf.tcc b/libstdc++-v3/include/bits/streambuf.tcc index e6c54ed..b1a4876 100644 --- a/libstdc++-v3/include/bits/streambuf.tcc +++ b/libstdc++-v3/include/bits/streambuf.tcc @@ -42,8 +42,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template streamsize basic_streambuf<_CharT, _Traits>:: @@ -149,6 +149,7 @@ namespace std __copy_streambufs(basic_streambuf*, basic_streambuf*); #endif #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h index 0de5922..e3b5a3b 100644 --- a/libstdc++-v3/include/bits/streambuf_iterator.h +++ b/libstdc++-v3/include/bits/streambuf_iterator.h @@ -1,6 +1,6 @@ // Streambuf iterators -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -43,8 +43,8 @@ // NB: Should specialize copy, find algorithms for streambuf iterators. -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // 24.5.3 Template class istreambuf_iterator /// Provides input iterator semantics for streambufs. template @@ -254,5 +254,7 @@ namespace std return *this; } }; -} // namespace std + +_GLIBCXX_END_NAMESPACE + #endif diff --git a/libstdc++-v3/include/bits/stringfwd.h b/libstdc++-v3/include/bits/stringfwd.h index 8bb59d9..8158e85 100644 --- a/libstdc++-v3/include/bits/stringfwd.h +++ b/libstdc++-v3/include/bits/stringfwd.h @@ -1,6 +1,6 @@ // String support -*- C++ -*- -// Copyright (C) 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -43,8 +43,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template class allocator; @@ -64,6 +64,7 @@ namespace std typedef basic_string wstring; #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif // _STRINGFWD_H diff --git a/libstdc++-v3/include/bits/valarray_after.h b/libstdc++-v3/include/bits/valarray_after.h index 8d73d42..62d9853 100644 --- a/libstdc++-v3/include/bits/valarray_after.h +++ b/libstdc++-v3/include/bits/valarray_after.h @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- internal _Meta class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -40,8 +40,8 @@ #pragma GCC system_header -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // // gslice_array closure. // @@ -549,10 +549,6 @@ _DEFINE_EXPR_BINARY_FUNCTION(pow) #undef _DEFINE_EXPR_BINARY_FUNCTION -} // std:: +_GLIBCXX_END_NAMESPACE #endif /* _CPP_VALARRAY_AFTER_H */ - -// Local Variables: -// mode:c++ -// End: diff --git a/libstdc++-v3/include/bits/valarray_array.h b/libstdc++-v3/include/bits/valarray_array.h index 940d886..490384f 100644 --- a/libstdc++-v3/include/bits/valarray_array.h +++ b/libstdc++-v3/include/bits/valarray_array.h @@ -46,8 +46,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // // Helper functions on raw pointers // @@ -682,7 +682,8 @@ namespace std _DEFINE_ARRAY_FUNCTION(>>, __shift_right) #undef _DEFINE_VALARRAY_FUNCTION -} // namespace std + +_GLIBCXX_END_NAMESPACE #ifndef _GLIBCXX_EXPORT_TEMPLATE # include diff --git a/libstdc++-v3/include/bits/valarray_array.tcc b/libstdc++-v3/include/bits/valarray_array.tcc index b4be2c7..f00ffb4 100644 --- a/libstdc++-v3/include/bits/valarray_array.tcc +++ b/libstdc++-v3/include/bits/valarray_array.tcc @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- internal _Array helper class. -// Copyright (C) 1997, 1998, 1999, 2003 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 2003, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -37,8 +37,8 @@ #ifndef _VALARRAY_ARRAY_TCC #define _VALARRAY_ARRAY_TCC 1 -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template void __valarray_fill(_Array<_Tp> __a, size_t __n, _Array __m, @@ -240,6 +240,7 @@ namespace std new (__q) _Tp(*__p); } } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _VALARRAY_ARRAY_TCC */ diff --git a/libstdc++-v3/include/bits/valarray_before.h b/libstdc++-v3/include/bits/valarray_before.h index 2f1a64f..5a294af 100644 --- a/libstdc++-v3/include/bits/valarray_before.h +++ b/libstdc++-v3/include/bits/valarray_before.h @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- internal _Meta class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -42,8 +42,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // // Implementing a loosened valarray return value is tricky. // First we need to meet 26.3.1/3: we should not add more than @@ -730,10 +730,6 @@ namespace std _SClos (_Array<_Tp> __a, const slice& __s) : _Base (__a, __s) {} }; -} // std:: +_GLIBCXX_END_NAMESPACE #endif /* _CPP_VALARRAY_BEFORE_H */ - -// Local Variables: -// mode:c++ -// End: diff --git a/libstdc++-v3/include/bits/vector.tcc b/libstdc++-v3/include/bits/vector.tcc index 9213057..f476c46 100644 --- a/libstdc++-v3/include/bits/vector.tcc +++ b/libstdc++-v3/include/bits/vector.tcc @@ -61,8 +61,8 @@ #ifndef _VECTOR_TCC #define _VECTOR_TCC 1 -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + template void vector<_Tp, _Alloc>:: @@ -490,6 +490,7 @@ namespace _GLIBCXX_STD } } } -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE #endif /* _VECTOR_TCC */ diff --git a/libstdc++-v3/include/c_std/std_cctype.h b/libstdc++-v3/include/c_std/std_cctype.h index 008f706..9247398 100644 --- a/libstdc++-v3/include/c_std/std_cctype.h +++ b/libstdc++-v3/include/c_std/std_cctype.h @@ -65,8 +65,8 @@ #undef tolower #undef toupper -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::isalnum; using ::isalpha; using ::iscntrl; @@ -80,6 +80,7 @@ namespace std using ::isxdigit; using ::tolower; using ::toupper; -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/c_std/std_clocale.h b/libstdc++-v3/include/c_std/std_clocale.h index 9a3e516..2ec904c 100644 --- a/libstdc++-v3/include/c_std/std_clocale.h +++ b/libstdc++-v3/include/c_std/std_clocale.h @@ -47,17 +47,19 @@ #pragma GCC system_header +#include #include // Get rid of those macros defined in in lieu of real functions. #undef setlocale #undef localeconv -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::lconv; using ::setlocale; using ::localeconv; -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/c_std/std_cmath.h b/libstdc++-v3/include/c_std/std_cmath.h index 115fe47..7728faf 100644 --- a/libstdc++-v3/include/c_std/std_cmath.h +++ b/libstdc++-v3/include/c_std/std_cmath.h @@ -78,9 +78,8 @@ #undef tan #undef tanh +_GLIBCXX_BEGIN_NAMESPACE(std) -namespace std -{ // Forward declaration of a helper function. This really should be // an `exported' forward declaration. template _Tp __cmath_power(_Tp, unsigned int); @@ -435,15 +434,17 @@ namespace std inline typename __enable_if::__value>::__type tanh(_Tp __x) { return __builtin_tanh(__x); } -} + +_GLIBCXX_END_NAMESPACE #if _GLIBCXX_USE_C99_MATH #if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC // These are possible macros imported from C99-land. For strict // conformance, remove possible C99-injected names from the global // namespace, and sequester them in the __gnu_cxx extension namespace. -namespace __gnu_cxx -{ + +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + template inline int __capture_fpclassify(_Tp __f) { return fpclassify(__f); } @@ -496,7 +497,8 @@ namespace __gnu_cxx inline int __capture_isunordered(_Tp __f1, _Tp __f2) { return isunordered(__f1, __f2); } -} + +_GLIBCXX_END_NAMESPACE // Only undefine the C99 FP macros, if actually captured for namespace movement #undef fpclassify @@ -512,62 +514,64 @@ namespace __gnu_cxx #undef islessgreater #undef isunordered -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template inline int - fpclassify(_Tp __f) { return __gnu_cxx::__capture_fpclassify(__f); } + fpclassify(_Tp __f) { return ::__gnu_cxx::__capture_fpclassify(__f); } template inline int - isfinite(_Tp __f) { return __gnu_cxx::__capture_isfinite(__f); } + isfinite(_Tp __f) { return ::__gnu_cxx::__capture_isfinite(__f); } template inline int - isinf(_Tp __f) { return __gnu_cxx::__capture_isinf(__f); } + isinf(_Tp __f) { return ::__gnu_cxx::__capture_isinf(__f); } template inline int - isnan(_Tp __f) { return __gnu_cxx::__capture_isnan(__f); } + isnan(_Tp __f) { return ::__gnu_cxx::__capture_isnan(__f); } template inline int - isnormal(_Tp __f) { return __gnu_cxx::__capture_isnormal(__f); } + isnormal(_Tp __f) { return ::__gnu_cxx::__capture_isnormal(__f); } template inline int - signbit(_Tp __f) { return __gnu_cxx::__capture_signbit(__f); } + signbit(_Tp __f) { return ::__gnu_cxx::__capture_signbit(__f); } template inline int isgreater(_Tp __f1, _Tp __f2) - { return __gnu_cxx::__capture_isgreater(__f1, __f2); } + { return ::__gnu_cxx::__capture_isgreater(__f1, __f2); } template inline int isgreaterequal(_Tp __f1, _Tp __f2) - { return __gnu_cxx::__capture_isgreaterequal(__f1, __f2); } + { return ::__gnu_cxx::__capture_isgreaterequal(__f1, __f2); } template inline int isless(_Tp __f1, _Tp __f2) - { return __gnu_cxx::__capture_isless(__f1, __f2); } + { return ::__gnu_cxx::__capture_isless(__f1, __f2); } template inline int islessequal(_Tp __f1, _Tp __f2) - { return __gnu_cxx::__capture_islessequal(__f1, __f2); } + { return ::__gnu_cxx::__capture_islessequal(__f1, __f2); } template inline int islessgreater(_Tp __f1, _Tp __f2) - { return __gnu_cxx::__capture_islessgreater(__f1, __f2); } + { return ::__gnu_cxx::__capture_islessgreater(__f1, __f2); } template inline int isunordered(_Tp __f1, _Tp __f2) - { return __gnu_cxx::__capture_isunordered(__f1, __f2); } -} + { return ::__gnu_cxx::__capture_isunordered(__f1, __f2); } + +_GLIBCXX_END_NAMESPACE + #endif /* _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC */ #endif diff --git a/libstdc++-v3/include/c_std/std_csetjmp.h b/libstdc++-v3/include/c_std/std_csetjmp.h index 290f2e9..5d664eb 100644 --- a/libstdc++-v3/include/c_std/std_csetjmp.h +++ b/libstdc++-v3/include/c_std/std_csetjmp.h @@ -47,6 +47,7 @@ #pragma GCC system_header +#include #include // Get rid of those macros defined in in lieu of real functions. @@ -57,10 +58,11 @@ #define setjmp(env) setjmp (env) #endif -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::jmp_buf; using ::longjmp; -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/c_std/std_csignal.h b/libstdc++-v3/include/c_std/std_csignal.h index 0db1c11..4202b77 100644 --- a/libstdc++-v3/include/c_std/std_csignal.h +++ b/libstdc++-v3/include/c_std/std_csignal.h @@ -47,16 +47,18 @@ #pragma GCC system_header +#include #include // Get rid of those macros defined in in lieu of real functions. #undef raise -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::sig_atomic_t; using ::signal; using ::raise; -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/c_std/std_cstdarg.h b/libstdc++-v3/include/c_std/std_cstdarg.h index c98b5db..bbc3b33 100644 --- a/libstdc++-v3/include/c_std/std_cstdarg.h +++ b/libstdc++-v3/include/c_std/std_cstdarg.h @@ -47,6 +47,7 @@ #pragma GCC system_header +#include #include // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998 @@ -54,9 +55,10 @@ #define va_end(ap) va_end (ap) #endif -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::va_list; -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/c_std/std_cstddef.h b/libstdc++-v3/include/c_std/std_cstddef.h index f1860a7..ad529d5 100644 --- a/libstdc++-v3/include/c_std/std_cstddef.h +++ b/libstdc++-v3/include/c_std/std_cstddef.h @@ -47,12 +47,14 @@ #pragma GCC system_header +#include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::ptrdiff_t; using ::size_t; -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/c_std/std_cstdio.h b/libstdc++-v3/include/c_std/std_cstdio.h index 9f5f7dd..c8109c0 100644 --- a/libstdc++-v3/include/c_std/std_cstdio.h +++ b/libstdc++-v3/include/c_std/std_cstdio.h @@ -95,8 +95,8 @@ #undef vprintf #undef vsprintf -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::FILE; using ::fpos_t; @@ -141,7 +141,8 @@ namespace std using ::vfprintf; using ::vprintf; using ::vsprintf; -} + +_GLIBCXX_END_NAMESPACE #if _GLIBCXX_USE_C99 @@ -151,8 +152,8 @@ namespace std #undef vsnprintf #undef vsscanf -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC extern "C" int (snprintf)(char * restrict, size_t, const char * restrict, ...); @@ -172,16 +173,19 @@ namespace __gnu_cxx using ::vsnprintf; using ::vsscanf; #endif -} - -namespace std -{ - using __gnu_cxx::snprintf; - using __gnu_cxx::vfscanf; - using __gnu_cxx::vscanf; - using __gnu_cxx::vsnprintf; - using __gnu_cxx::vsscanf; -} + +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) + + using ::__gnu_cxx::snprintf; + using ::__gnu_cxx::vfscanf; + using ::__gnu_cxx::vscanf; + using ::__gnu_cxx::vsnprintf; + using ::__gnu_cxx::vsscanf; + +_GLIBCXX_END_NAMESPACE + #endif #endif diff --git a/libstdc++-v3/include/c_std/std_cstdlib.h b/libstdc++-v3/include/c_std/std_cstdlib.h index 2139092..cc2a8cf 100644 --- a/libstdc++-v3/include/c_std/std_cstdlib.h +++ b/libstdc++-v3/include/c_std/std_cstdlib.h @@ -59,12 +59,13 @@ #define EXIT_SUCCESS 0 #define EXIT_FAILURE 1 -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + extern "C" void abort(void); extern "C" int atexit(void (*)()); extern "C" void exit(int); -} // namespace std + +_GLIBCXX_END_NAMESPACE #else @@ -100,8 +101,8 @@ namespace std #undef wcstombs #undef wctomb -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::div_t; using ::ldiv_t; @@ -143,7 +144,8 @@ namespace std inline ldiv_t div(long __i, long __j) { return ldiv(__i, __j); } -} // namespace std + +_GLIBCXX_END_NAMESPACE #if _GLIBCXX_USE_C99 @@ -156,8 +158,8 @@ namespace std #undef strtof #undef strtold -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC using ::lldiv_t; #endif @@ -195,10 +197,11 @@ namespace __gnu_cxx #endif using ::strtof; using ::strtold; -} -namespace std -{ +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) + #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC using ::__gnu_cxx::lldiv_t; #endif @@ -214,7 +217,8 @@ namespace std using ::__gnu_cxx::strtoll; using ::__gnu_cxx::strtoull; using ::__gnu_cxx::strtold; -} + +_GLIBCXX_END_NAMESPACE #endif // _GLIBCXX_USE_C99 diff --git a/libstdc++-v3/include/c_std/std_cstring.h b/libstdc++-v3/include/c_std/std_cstring.h index 7efbf8f..a77e7c2 100644 --- a/libstdc++-v3/include/c_std/std_cstring.h +++ b/libstdc++-v3/include/c_std/std_cstring.h @@ -47,8 +47,8 @@ #pragma GCC system_header +#include #include - #include // Get rid of those macros defined in in lieu of real functions. @@ -75,8 +75,8 @@ #undef strerror #undef strlen -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::memcpy; using ::memmove; using ::strcpy; @@ -124,6 +124,7 @@ namespace std inline char* strstr(char* __s1, const char* __s2) { return __builtin_strstr(const_cast(__s1), __s2); } -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/c_std/std_ctime.h b/libstdc++-v3/include/c_std/std_ctime.h index ef3307e..05295cf 100644 --- a/libstdc++-v3/include/c_std/std_ctime.h +++ b/libstdc++-v3/include/c_std/std_ctime.h @@ -48,7 +48,6 @@ #pragma GCC system_header #include - #include // Get rid of those macros defined in in lieu of real functions. @@ -62,8 +61,8 @@ #undef localtime #undef strftime -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::clock_t; using ::time_t; using ::tm; @@ -77,6 +76,7 @@ namespace std using ::gmtime; using ::localtime; using ::strftime; -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/c_std/std_cwchar.h b/libstdc++-v3/include/c_std/std_cwchar.h index 5e3ab90..8f03a41 100644 --- a/libstdc++-v3/include/c_std/std_cwchar.h +++ b/libstdc++-v3/include/c_std/std_cwchar.h @@ -67,10 +67,11 @@ extern "C" } #endif -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::mbstate_t; -} + +_GLIBCXX_END_NAMESPACE // Get rid of those macros defined in in lieu of real functions. #undef btowc @@ -139,8 +140,9 @@ namespace std #undef wscanf #if _GLIBCXX_USE_WCHAR_T -namespace std -{ + +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::wint_t; using ::btowc; @@ -232,7 +234,8 @@ namespace std inline wchar_t* wmemchr(wchar_t* __p, wchar_t __c, size_t __n) { return wmemchr(const_cast(__p), __c, __n); } -} + +_GLIBCXX_END_NAMESPACE #if _GLIBCXX_USE_C99 @@ -240,8 +243,8 @@ namespace std #undef wcstoll #undef wcstoull -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC extern "C" long double (wcstold)(const wchar_t * restrict, wchar_t ** restrict); @@ -259,14 +262,17 @@ namespace __gnu_cxx using ::wcstoll; using ::wcstoull; #endif -} -namespace std -{ - using __gnu_cxx::wcstold; - using __gnu_cxx::wcstoll; - using __gnu_cxx::wcstoull; -} +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) + + using ::__gnu_cxx::wcstold; + using ::__gnu_cxx::wcstoll; + using ::__gnu_cxx::wcstoull; + +_GLIBCXX_END_NAMESPACE + #endif #endif //_GLIBCXX_USE_WCHAR_T diff --git a/libstdc++-v3/include/c_std/std_cwctype.h b/libstdc++-v3/include/c_std/std_cwctype.h index 9f297c4..ba699b7 100644 --- a/libstdc++-v3/include/c_std/std_cwctype.h +++ b/libstdc++-v3/include/c_std/std_cwctype.h @@ -76,8 +76,9 @@ #undef wctype #if _GLIBCXX_USE_WCHAR_T -namespace std -{ + +_GLIBCXX_BEGIN_NAMESPACE(std) + using ::wint_t; // cwchar using ::wctype_t; @@ -103,7 +104,9 @@ namespace std using ::towupper; using ::wctrans; using ::wctype; -} + +_GLIBCXX_END_NAMESPACE + #endif //_GLIBCXX_USE_WCHAR_T #endif diff --git a/libstdc++-v3/include/debug/bitset b/libstdc++-v3/include/debug/bitset index 2bdca18..11970c6 100644 --- a/libstdc++-v3/include/debug/bitset +++ b/libstdc++-v3/include/debug/bitset @@ -35,6 +35,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template @@ -68,7 +70,7 @@ namespace __gnu_debug_def operator=(bool __x) { _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(), - _M_message(::__gnu_debug::__msg_bad_bitset_write) + _M_message(__gnu_debug::__msg_bad_bitset_write) ._M_iterator(*this)); *static_cast<_Base_ref*>(this) = __x; return *this; @@ -78,10 +80,10 @@ namespace __gnu_debug_def operator=(const reference& __x) { _GLIBCXX_DEBUG_VERIFY(! __x._M_singular(), - _M_message(::__gnu_debug::__msg_bad_bitset_read) + _M_message(__gnu_debug::__msg_bad_bitset_read) ._M_iterator(__x)); _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(), - _M_message(::__gnu_debug::__msg_bad_bitset_write) + _M_message(__gnu_debug::__msg_bad_bitset_write) ._M_iterator(*this)); *static_cast<_Base_ref*>(this) = __x; return *this; @@ -91,7 +93,7 @@ namespace __gnu_debug_def operator~() const { _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(), - _M_message(::__gnu_debug::__msg_bad_bitset_read) + _M_message(__gnu_debug::__msg_bad_bitset_read) ._M_iterator(*this)); return ~(*static_cast(this)); } @@ -99,7 +101,7 @@ namespace __gnu_debug_def operator bool() const { _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(), - _M_message(::__gnu_debug::__msg_bad_bitset_read) + _M_message(__gnu_debug::__msg_bad_bitset_read) ._M_iterator(*this)); return *static_cast(this); } @@ -108,7 +110,7 @@ namespace __gnu_debug_def flip() { _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(), - _M_message(::__gnu_debug::__msg_bad_bitset_flip) + _M_message(__gnu_debug::__msg_bad_bitset_flip) ._M_iterator(*this)); _Base_ref::flip(); return *this; @@ -317,5 +319,6 @@ namespace __gnu_debug_def const bitset<_Nb>& __x) { return __os << __x._M_base(); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/debug.h b/libstdc++-v3/include/debug/debug.h index c291096..4eff05b 100644 --- a/libstdc++-v3/include/debug/debug.h +++ b/libstdc++-v3/include/debug/debug.h @@ -39,16 +39,27 @@ * standard library algorithms. */ + +namespace std +{ + namespace __gnu_debug_def { } + namespace __gnu_debug { using namespace __gnu_debug_def; } +} + +namespace debug = std::__gnu_debug; + #ifdef _GLIBCXX_DEBUG -# include # include # include +# include -// Avoid the use of assert, because we're trying to keep the -// include out of the mix. +namespace std +{ namespace __gnu_debug { + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. inline void __replacement_assert(const char* __file, int __line, const char* __function, const char* __condition) @@ -57,12 +68,13 @@ namespace __gnu_debug __function, __condition); std::abort(); } -} +} // namespace __gnu_debug +} // namespace std #define _GLIBCXX_DEBUG_ASSERT(_Condition) \ do { \ if (! (_Condition)) \ - ::__gnu_debug::__replacement_assert(__FILE__, __LINE__, \ + std::__gnu_debug::__replacement_assert(__FILE__, __LINE__, \ __PRETTY_FUNCTION__, \ #_Condition); \ } while (false) diff --git a/libstdc++-v3/include/debug/deque b/libstdc++-v3/include/debug/deque index a69ce62..48cbe1a 100644 --- a/libstdc++-v3/include/debug/deque +++ b/libstdc++-v3/include/debug/deque @@ -35,6 +35,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template > @@ -382,5 +384,6 @@ namespace __gnu_debug_def swap(deque<_Tp, _Alloc>& __lhs, deque<_Tp, _Alloc>& __rhs) { __lhs.swap(__rhs); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/formatter.h b/libstdc++-v3/include/debug/formatter.h index 2c2035e..b37ee8c 100644 --- a/libstdc++-v3/include/debug/formatter.h +++ b/libstdc++-v3/include/debug/formatter.h @@ -33,10 +33,10 @@ #include #include +namespace std +{ namespace __gnu_debug { - using std::type_info; - /** Determine if the two types are the same. */ template struct __is_same @@ -386,5 +386,6 @@ namespace __gnu_debug { return _Error_formatter(__file, __line); } }; } // namespace __gnu_debug +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/functions.h b/libstdc++-v3/include/debug/functions.h index 7440711..1abe163 100644 --- a/libstdc++-v3/include/debug/functions.h +++ b/libstdc++-v3/include/debug/functions.h @@ -31,10 +31,13 @@ #ifndef _GLIBCXX_DEBUG_FUNCTIONS_H #define _GLIBCXX_DEBUG_FUNCTIONS_H 1 +#include #include // for ptrdiff_t #include // for iterator_traits, categories #include // for __is_integer +namespace std +{ namespace __gnu_debug { template @@ -49,7 +52,7 @@ namespace __gnu_debug template inline bool __check_singular(_Iterator& __x) - { return __gnu_debug::__check_singular_aux(&__x); } + { return __check_singular_aux(&__x); } /** Non-NULL pointers are nonsingular. */ template @@ -121,7 +124,7 @@ namespace __gnu_debug { typedef typename std::iterator_traits<_InputIterator>::iterator_category _Category; - return __gnu_debug::__valid_range_aux2(__first, __last, _Category()); + return __valid_range_aux2(__first, __last, _Category()); } /** Don't know what these iterators are, or if they are even @@ -134,7 +137,7 @@ namespace __gnu_debug __valid_range(const _InputIterator& __first, const _InputIterator& __last) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; - return __gnu_debug::__valid_range_aux(__first, __last, _Integral()); + return __valid_range_aux(__first, __last, _Integral()); } /** Safe iterators know how to check if they form a valid range. */ @@ -153,7 +156,7 @@ namespace __gnu_debug __check_valid_range(const _InputIterator& __first, const _InputIterator& __last) { - _GLIBCXX_DEBUG_ASSERT(__gnu_debug::__valid_range(__first, __last)); + _GLIBCXX_DEBUG_ASSERT(__valid_range(__first, __last)); return __first; } @@ -240,7 +243,7 @@ namespace __gnu_debug { typedef typename std::iterator_traits<_InputIterator>::iterator_category _Category; - return __gnu_debug::__check_sorted_aux(__first, __last, _Category()); + return __check_sorted_aux(__first, __last, _Category()); } template @@ -250,7 +253,7 @@ namespace __gnu_debug { typedef typename std::iterator_traits<_InputIterator>::iterator_category _Category; - return __gnu_debug::__check_sorted_aux(__first, __last, __pred, + return __check_sorted_aux(__first, __last, __pred, _Category()); } @@ -282,5 +285,6 @@ namespace __gnu_debug return __first == __last; } } // namespace __gnu_debug +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/hash_map.h b/libstdc++-v3/include/debug/hash_map.h index a6900b5..e02b747 100644 --- a/libstdc++-v3/include/debug/hash_map.h +++ b/libstdc++-v3/include/debug/hash_map.h @@ -1,6 +1,6 @@ // Debugging hash_map implementation -*- C++ -*- -// Copyright (C) 2003 +// Copyright (C) 2003, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,6 +34,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template& __y) { __x.swap(__y); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/hash_multimap.h b/libstdc++-v3/include/debug/hash_multimap.h index a6db0f2..5cce135 100644 --- a/libstdc++-v3/include/debug/hash_multimap.h +++ b/libstdc++-v3/include/debug/hash_multimap.h @@ -1,6 +1,6 @@ // Debugging hash_multimap implementation -*- C++ -*- -// Copyright (C) 2003 +// Copyright (C) 2003, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,6 +34,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template& __y) { __x.swap(__y); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/hash_multiset.h b/libstdc++-v3/include/debug/hash_multiset.h index a1ad151..83d5619 100644 --- a/libstdc++-v3/include/debug/hash_multiset.h +++ b/libstdc++-v3/include/debug/hash_multiset.h @@ -1,6 +1,6 @@ // Debugging hash_multiset implementation -*- C++ -*- -// Copyright (C) 2003 +// Copyright (C) 2003, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,6 +34,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template& __y) { __x.swap(__y); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/hash_set.h b/libstdc++-v3/include/debug/hash_set.h index aa62a2e..e1dd83b 100644 --- a/libstdc++-v3/include/debug/hash_set.h +++ b/libstdc++-v3/include/debug/hash_set.h @@ -1,6 +1,6 @@ // Debugging hash_set implementation -*- C++ -*- -// Copyright (C) 2003 +// Copyright (C) 2003, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,6 +34,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template& __y) { __x.swap(__y); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/list b/libstdc++-v3/include/debug/list index 2e6d0fa..43dc137 100644 --- a/libstdc++-v3/include/debug/list +++ b/libstdc++-v3/include/debug/list @@ -36,6 +36,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template > @@ -296,7 +298,7 @@ namespace __gnu_debug_def splice(iterator __position, list& __x) { _GLIBCXX_DEBUG_VERIFY(&__x != this, - _M_message(::__gnu_debug::__msg_self_splice) + _M_message(__gnu_debug::__msg_self_splice) ._M_sequence(*this, "this")); this->splice(__position, __x, __x.begin(), __x.end()); } @@ -306,13 +308,13 @@ namespace __gnu_debug_def { __glibcxx_check_insert(__position); _GLIBCXX_DEBUG_VERIFY(__x.get_allocator() == this->get_allocator(), - _M_message(::__gnu_debug::__msg_splice_alloc) + _M_message(__gnu_debug::__msg_splice_alloc) ._M_sequence(*this)._M_sequence(__x, "__x")); _GLIBCXX_DEBUG_VERIFY(__i._M_dereferenceable(), - _M_message(::__gnu_debug::__msg_splice_bad) + _M_message(__gnu_debug::__msg_splice_bad) ._M_iterator(__i, "__i")); _GLIBCXX_DEBUG_VERIFY(__i._M_attached_to(&__x), - _M_message(::__gnu_debug::__msg_splice_other) + _M_message(__gnu_debug::__msg_splice_other) ._M_iterator(__i, "__i")._M_sequence(__x, "__x")); // _GLIBCXX_RESOLVE_LIB_DEFECTS @@ -327,17 +329,17 @@ namespace __gnu_debug_def __glibcxx_check_insert(__position); __glibcxx_check_valid_range(__first, __last); _GLIBCXX_DEBUG_VERIFY(__first._M_attached_to(&__x), - _M_message(::__gnu_debug::__msg_splice_other) + _M_message(__gnu_debug::__msg_splice_other) ._M_sequence(__x, "x") ._M_iterator(__first, "first")); _GLIBCXX_DEBUG_VERIFY(__x.get_allocator() == this->get_allocator(), - _M_message(::__gnu_debug::__msg_splice_alloc) + _M_message(__gnu_debug::__msg_splice_alloc) ._M_sequence(*this)._M_sequence(__x)); for (iterator __tmp = __first; __tmp != __last; ) { _GLIBCXX_DEBUG_VERIFY(&__x != this || __tmp != __position, - _M_message(::__gnu_debug::__msg_splice_overlap) + _M_message(__gnu_debug::__msg_splice_overlap) ._M_iterator(__tmp, "position") ._M_iterator(__first, "first") ._M_iterator(__last, "last")); @@ -501,5 +503,6 @@ namespace __gnu_debug_def swap(list<_Tp, _Alloc>& __lhs, list<_Tp, _Alloc>& __rhs) { __lhs.swap(__rhs); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/macros.h b/libstdc++-v3/include/debug/macros.h index 9b279cb..3e24d99 100644 --- a/libstdc++-v3/include/debug/macros.h +++ b/libstdc++-v3/include/debug/macros.h @@ -43,14 +43,14 @@ #define _GLIBCXX_DEBUG_VERIFY(_Condition,_ErrorMessage) \ do { \ if (! (_Condition)) \ - ::__gnu_debug::_Error_formatter::_M_at(__FILE__, __LINE__) \ + std::__gnu_debug::_Error_formatter::_M_at(__FILE__, __LINE__) \ ._ErrorMessage._M_error(); \ } while (false) // Verify that [_First, _Last) forms a valid iterator range. #define __glibcxx_check_valid_range(_First,_Last) \ -_GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__valid_range(_First, _Last), \ - _M_message(::__gnu_debug::__msg_valid_range) \ +_GLIBCXX_DEBUG_VERIFY(std::__gnu_debug::__valid_range(_First, _Last), \ + _M_message(std::__gnu_debug::__msg_valid_range) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last)) @@ -63,11 +63,11 @@ _GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__valid_range(_First, _Last), \ */ #define __glibcxx_check_insert(_Position) \ _GLIBCXX_DEBUG_VERIFY(!_Position._M_singular(), \ - _M_message(::__gnu_debug::__msg_insert_singular) \ + _M_message(std::__gnu_debug::__msg_insert_singular) \ ._M_sequence(*this, "this") \ ._M_iterator(_Position, #_Position)); \ _GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \ - _M_message(::__gnu_debug::__msg_insert_different) \ + _M_message(std::__gnu_debug::__msg_insert_different) \ ._M_sequence(*this, "this") \ ._M_iterator(_Position, #_Position)) @@ -87,11 +87,11 @@ _GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \ #define __glibcxx_check_insert_range(_Position,_First,_Last) \ __glibcxx_check_valid_range(_First,_Last); \ _GLIBCXX_DEBUG_VERIFY(!_Position._M_singular(), \ - _M_message(::__gnu_debug::__msg_insert_singular) \ + _M_message(std::__gnu_debug::__msg_insert_singular) \ ._M_sequence(*this, "this") \ ._M_iterator(_Position, #_Position)); \ _GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \ - _M_message(::__gnu_debug::__msg_insert_different) \ + _M_message(std::__gnu_debug::__msg_insert_different) \ ._M_sequence(*this, "this") \ ._M_iterator(_Position, #_Position)) @@ -101,11 +101,11 @@ _GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \ */ #define __glibcxx_check_erase(_Position) \ _GLIBCXX_DEBUG_VERIFY(_Position._M_dereferenceable(), \ - _M_message(::__gnu_debug::__msg_erase_bad) \ + _M_message(std::__gnu_debug::__msg_erase_bad) \ ._M_sequence(*this, "this") \ ._M_iterator(_Position, #_Position)); \ _GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \ - _M_message(::__gnu_debug::__msg_erase_different) \ + _M_message(std::__gnu_debug::__msg_erase_different) \ ._M_sequence(*this, "this") \ ._M_iterator(_Position, #_Position)) @@ -116,7 +116,7 @@ _GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \ #define __glibcxx_check_erase_range(_First,_Last) \ __glibcxx_check_valid_range(_First,_Last); \ _GLIBCXX_DEBUG_VERIFY(_First._M_attached_to(this), \ - _M_message(::__gnu_debug::__msg_erase_different) \ + _M_message(std::__gnu_debug::__msg_erase_different) \ ._M_sequence(*this, "this") \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last)) @@ -124,7 +124,7 @@ _GLIBCXX_DEBUG_VERIFY(_First._M_attached_to(this), \ // Verify that the subscript _N is less than the container's size. #define __glibcxx_check_subscript(_N) \ _GLIBCXX_DEBUG_VERIFY(_N < this->size(), \ - _M_message(::__gnu_debug::__msg_subscript_oob) \ + _M_message(std::__gnu_debug::__msg_subscript_oob) \ ._M_sequence(*this, "this") \ ._M_integer(_N, #_N) \ ._M_integer(this->size(), "size")) @@ -132,7 +132,7 @@ _GLIBCXX_DEBUG_VERIFY(_N < this->size(), \ // Verify that the container is nonempty #define __glibcxx_check_nonempty() \ _GLIBCXX_DEBUG_VERIFY(! this->empty(), \ - _M_message(::__gnu_debug::__msg_empty) \ + _M_message(std::__gnu_debug::__msg_empty) \ ._M_sequence(*this, "this")) // Verify that the < operator for elements in the sequence is a @@ -150,8 +150,8 @@ _GLIBCXX_DEBUG_ASSERT(_First == _Last || !_Pred(*_First, *_First)) #define __glibcxx_check_sorted(_First,_Last) \ __glibcxx_check_valid_range(_First,_Last); \ __glibcxx_check_strict_weak_ordering(_First,_Last); \ -_GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_sorted(_First, _Last), \ - _M_message(::__gnu_debug::__msg_unsorted) \ +_GLIBCXX_DEBUG_VERIFY(std::__gnu_debug::__check_sorted(_First, _Last), \ + _M_message(std::__gnu_debug::__msg_unsorted) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last)) @@ -160,8 +160,8 @@ _GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_sorted(_First, _Last), \ #define __glibcxx_check_sorted_pred(_First,_Last,_Pred) \ __glibcxx_check_valid_range(_First,_Last); \ __glibcxx_check_strict_weak_ordering_pred(_First,_Last,_Pred); \ -_GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_sorted(_First, _Last, _Pred), \ - _M_message(::__gnu_debug::__msg_unsorted_pred) \ +_GLIBCXX_DEBUG_VERIFY(std::__gnu_debug::__check_sorted(_First, _Last, _Pred), \ + _M_message(std::__gnu_debug::__msg_unsorted_pred) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ ._M_string(#_Pred)) @@ -170,9 +170,9 @@ _GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_sorted(_First, _Last, _Pred), \ w.r.t. the value _Value. */ #define __glibcxx_check_partitioned(_First,_Last,_Value) \ __glibcxx_check_valid_range(_First,_Last); \ -_GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_partitioned(_First, _Last, \ - _Value), \ - _M_message(::__gnu_debug::__msg_unpartitioned) \ +_GLIBCXX_DEBUG_VERIFY(std::__gnu_debug::__check_partitioned(_First, _Last, \ + _Value), \ + _M_message(std::__gnu_debug::__msg_unpartitioned) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ ._M_string(#_Value)) @@ -181,9 +181,9 @@ _GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_partitioned(_First, _Last, \ w.r.t. the value _Value and predicate _Pred. */ #define __glibcxx_check_partitioned_pred(_First,_Last,_Value,_Pred) \ __glibcxx_check_valid_range(_First,_Last); \ -_GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_partitioned(_First, _Last, \ +_GLIBCXX_DEBUG_VERIFY(std::__gnu_debug::__check_partitioned(_First, _Last, \ _Value, _Pred), \ - _M_message(::__gnu_debug::__msg_unpartitioned_pred) \ + _M_message(std::__gnu_debug::__msg_unpartitioned_pred) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ ._M_string(#_Pred) \ @@ -192,8 +192,8 @@ _GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_partitioned(_First, _Last, \ // Verify that the iterator range [_First, _Last) is a heap #define __glibcxx_check_heap(_First,_Last) \ __glibcxx_check_valid_range(_First,_Last); \ -_GLIBCXX_DEBUG_VERIFY(::std::__is_heap(_First, _Last), \ - _M_message(::__gnu_debug::__msg_not_heap) \ +_GLIBCXX_DEBUG_VERIFY(std::__is_heap(_First, _Last), \ + _M_message(std::__gnu_debug::__msg_not_heap) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last)) @@ -201,8 +201,8 @@ _GLIBCXX_DEBUG_VERIFY(::std::__is_heap(_First, _Last), \ w.r.t. the predicate _Pred. */ #define __glibcxx_check_heap_pred(_First,_Last,_Pred) \ __glibcxx_check_valid_range(_First,_Last); \ -_GLIBCXX_DEBUG_VERIFY(::std::__is_heap(_First, _Last, _Pred), \ - _M_message(::__gnu_debug::__msg_not_heap_pred) \ +_GLIBCXX_DEBUG_VERIFY(std::__is_heap(_First, _Last, _Pred), \ + _M_message(std::__gnu_debug::__msg_not_heap_pred) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ ._M_string(#_Pred)) diff --git a/libstdc++-v3/include/debug/map.h b/libstdc++-v3/include/debug/map.h index e0722db..75dd340 100644 --- a/libstdc++-v3/include/debug/map.h +++ b/libstdc++-v3/include/debug/map.h @@ -35,6 +35,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template, @@ -323,5 +325,6 @@ namespace __gnu_debug_def map<_Key,_Tp,_Compare,_Allocator>& __rhs) { __lhs.swap(__rhs); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/multimap.h b/libstdc++-v3/include/debug/multimap.h index 89f5e87..24f10f5 100644 --- a/libstdc++-v3/include/debug/multimap.h +++ b/libstdc++-v3/include/debug/multimap.h @@ -35,6 +35,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template, @@ -310,5 +312,6 @@ namespace __gnu_debug_def multimap<_Key,_Tp,_Compare,_Allocator>& __rhs) { __lhs.swap(__rhs); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/multiset.h b/libstdc++-v3/include/debug/multiset.h index 7353be9..32ea0b9 100644 --- a/libstdc++-v3/include/debug/multiset.h +++ b/libstdc++-v3/include/debug/multiset.h @@ -35,6 +35,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template, @@ -316,5 +318,6 @@ namespace __gnu_debug_def multiset<_Key,_Compare,_Allocator>& __y) { return __x.swap(__y); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/safe_base.h b/libstdc++-v3/include/debug/safe_base.h index b42a6c9..41ab648 100644 --- a/libstdc++-v3/include/debug/safe_base.h +++ b/libstdc++-v3/include/debug/safe_base.h @@ -1,6 +1,6 @@ // Safe sequence/iterator base implementation -*- C++ -*- -// Copyright (C) 2003, 2004 +// Copyright (C) 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -31,6 +31,8 @@ #ifndef _GLIBCXX_DEBUG_SAFE_BASE_H #define _GLIBCXX_DEBUG_SAFE_BASE_H 1 +namespace std +{ namespace __gnu_debug { class _Safe_sequence_base; @@ -203,5 +205,6 @@ namespace __gnu_debug { if (++_M_version == 0) _M_version = 1; } }; } // namespace __gnu_debug +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/safe_iterator.h b/libstdc++-v3/include/debug/safe_iterator.h index c497c11..bcd7324 100644 --- a/libstdc++-v3/include/debug/safe_iterator.h +++ b/libstdc++-v3/include/debug/safe_iterator.h @@ -39,11 +39,10 @@ #include #include +namespace std +{ namespace __gnu_debug { - using std::iterator_traits; - using std::pair; - /** Iterators that derive from _Safe_iterator_base but that aren't * _Safe_iterators can be determined singular or non-singular via * _Safe_iterator_base. @@ -629,6 +628,7 @@ namespace __gnu_debug const _Safe_iterator<_Iterator, _Sequence>& __i) { return __i + __n; } } // namespace __gnu_debug +} // namespace std #ifndef _GLIBCXX_EXPORT_TEMPLATE # include diff --git a/libstdc++-v3/include/debug/safe_iterator.tcc b/libstdc++-v3/include/debug/safe_iterator.tcc index da4d413..c5d49e0 100644 --- a/libstdc++-v3/include/debug/safe_iterator.tcc +++ b/libstdc++-v3/include/debug/safe_iterator.tcc @@ -1,6 +1,6 @@ // Debugging iterator implementation (out of line) -*- C++ -*- -// Copyright (C) 2003, 2004 +// Copyright (C) 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -36,6 +36,8 @@ #ifndef _GLIBCXX_DEBUG_SAFE_ITERATOR_TCC #define _GLIBCXX_DEBUG_SAFE_ITERATOR_TCC 1 +namespace std +{ namespace __gnu_debug { template @@ -135,6 +137,7 @@ namespace __gnu_debug } } } // namespace __gnu_debug +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/safe_sequence.h b/libstdc++-v3/include/debug/safe_sequence.h index 82c5ae0..23eff2c 100644 --- a/libstdc++-v3/include/debug/safe_sequence.h +++ b/libstdc++-v3/include/debug/safe_sequence.h @@ -36,6 +36,8 @@ #include #include +namespace std +{ namespace __gnu_debug { template @@ -178,5 +180,6 @@ namespace __gnu_debug } } } // namespace __gnu_debug +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/set.h b/libstdc++-v3/include/debug/set.h index d89a165..f9a21c6 100644 --- a/libstdc++-v3/include/debug/set.h +++ b/libstdc++-v3/include/debug/set.h @@ -35,6 +35,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template, @@ -321,5 +323,6 @@ namespace __gnu_debug_def set<_Key,_Compare,_Allocator>& __y) { return __x.swap(__y); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/string b/libstdc++-v3/include/debug/string index 18f90d0..e098d7a 100644 --- a/libstdc++-v3/include/debug/string +++ b/libstdc++-v3/include/debug/string @@ -35,9 +35,11 @@ #include #include +namespace std +{ namespace __gnu_debug { -template, + template, typename _Allocator = std::allocator<_CharT> > class basic_string : public std::basic_string<_CharT, _Traits, _Allocator>, @@ -204,7 +206,7 @@ template, operator[](size_type __pos) const { _GLIBCXX_DEBUG_VERIFY(__pos <= this->size(), - _M_message(::__gnu_debug::__msg_subscript_oob) + _M_message(__gnu_debug::__msg_subscript_oob) ._M_sequence(*this, "this") ._M_integer(__pos, "__pos") ._M_integer(this->size(), "size")); @@ -219,7 +221,7 @@ template, #else // as an extension v3 allows s[s.size()] when s is non-const. _GLIBCXX_DEBUG_VERIFY(__pos <= this->size(), - _M_message(::__gnu_debug::__msg_subscript_oob) + _M_message(__gnu_debug::__msg_subscript_oob) ._M_sequence(*this, "this") ._M_integer(__pos, "__pos") ._M_integer(this->size(), "size")); @@ -1014,5 +1016,6 @@ template, #endif } // namespace __gnu_debug +} // namespace std #endif diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector index f2b3618..5a1fc92 100644 --- a/libstdc++-v3/include/debug/vector +++ b/libstdc++-v3/include/debug/vector @@ -36,6 +36,8 @@ #include #include +namespace std +{ namespace __gnu_debug_def { template& __lhs, vector<_Tp, _Alloc>& __rhs) { __lhs.swap(__rhs); } } // namespace __gnu_debug_def +} // namespace std #endif diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm index 4402620..712a4ed 100644 --- a/libstdc++-v3/include/ext/algorithm +++ b/libstdc++-v3/include/ext/algorithm @@ -1,6 +1,6 @@ // Algorithm extensions -*- C++ -*- -// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -65,8 +65,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::ptrdiff_t; using std::min; using std::pair; @@ -521,6 +521,7 @@ namespace __gnu_cxx return false; return true; } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif /* _EXT_ALGORITHM */ diff --git a/libstdc++-v3/include/ext/array_allocator.h b/libstdc++-v3/include/ext/array_allocator.h index 77f5b5c..02af578 100644 --- a/libstdc++-v3/include/ext/array_allocator.h +++ b/libstdc++-v3/include/ext/array_allocator.h @@ -39,8 +39,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /// @brief Base class. template class array_allocator_base @@ -140,6 +140,7 @@ namespace __gnu_cxx operator!=(const array_allocator<_Tp, _Array>&, const array_allocator<_Tp, _Array>&) { return false; } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h index 7860b6d..6d80c99 100644 --- a/libstdc++-v3/include/ext/bitmap_allocator.h +++ b/libstdc++-v3/include/ext/bitmap_allocator.h @@ -69,8 +69,8 @@ #endif -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + #if defined __GTHREADS namespace { @@ -1286,8 +1286,7 @@ namespace __gnu_cxx bitmap_allocator<_Tp>::_S_mut; #endif - -} +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h index 82a5a7b..a83b747 100644 --- a/libstdc++-v3/include/ext/codecvt_specializations.h +++ b/libstdc++-v3/include/ext/codecvt_specializations.h @@ -42,8 +42,8 @@ // Define this here so codecvt.cc can have _S_max_size definition. #define _GLIBCXX_USE_ENCODING_STATE 1 -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /// @brief Extension to use icov for dealing with character encodings. // This includes conversions and comparisons between various character // sets. This object encapsulates data that may need to be shared between @@ -213,10 +213,12 @@ namespace __gnu_cxx typedef encoding_state state_type; typedef typename std::fpos pos_type; }; -} // namespace __gnu_cxx -namespace std -{ +_GLIBCXX_END_NAMESPACE + + +_GLIBCXX_BEGIN_NAMESPACE(std) + using __gnu_cxx::encoding_state; /// @brief codecvt specialization. @@ -501,5 +503,6 @@ namespace std codecvt<_InternT, _ExternT, encoding_state>:: do_max_length() const throw() { return 1; } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/include/ext/debug_allocator.h b/libstdc++-v3/include/ext/debug_allocator.h index a0187a0..aa96507 100644 --- a/libstdc++-v3/include/ext/debug_allocator.h +++ b/libstdc++-v3/include/ext/debug_allocator.h @@ -1,6 +1,6 @@ // Allocators -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -50,8 +50,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /** * @brief A meta-allocator with debugging bits, as per [20.4]. * @@ -120,6 +120,7 @@ namespace __gnu_cxx throw std::runtime_error("debug_allocator::deallocate null pointer"); } }; -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/functional b/libstdc++-v3/include/ext/functional index 18132c3..c100f59 100644 --- a/libstdc++-v3/include/ext/functional +++ b/libstdc++-v3/include/ext/functional @@ -1,6 +1,6 @@ // Functional extensions -*- C++ -*- -// Copyright (C) 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -65,8 +65,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::unary_function; using std::binary_function; using std::mem_fun1_t; @@ -74,11 +74,11 @@ namespace __gnu_cxx using std::mem_fun1_ref_t; using std::const_mem_fun1_ref_t; - /** The @c identity_element functions are not part of the C++ standard; SGI - * provided them as an extension. Its argument is an operation, and its - * return value is the identity element for that operation. It is overloaded - * for addition and multiplication, and you can overload it for your own - * nefarious operations. + /** The @c identity_element functions are not part of the C++ + * standard; SGI provided them as an extension. Its argument is an + * operation, and its return value is the identity element for that + * operation. It is overloaded for addition and multiplication, + * and you can overload it for your own nefarious operations. * * @addtogroup SGIextensions * @{ @@ -420,6 +420,8 @@ namespace __gnu_cxx inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> mem_fun1_ref(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE + #endif diff --git a/libstdc++-v3/include/ext/hash_fun.h b/libstdc++-v3/include/ext/hash_fun.h index 6933fea..16c0458 100644 --- a/libstdc++-v3/include/ext/hash_fun.h +++ b/libstdc++-v3/include/ext/hash_fun.h @@ -1,6 +1,6 @@ // 'struct hash' from SGI -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -63,8 +63,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::size_t; template @@ -166,6 +166,7 @@ namespace __gnu_cxx operator()(unsigned long __x) const { return __x; } }; -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/hash_map b/libstdc++-v3/include/ext/hash_map index 3340cc3..6e2b5b8 100644 --- a/libstdc++-v3/include/ext/hash_map +++ b/libstdc++-v3/include/ext/hash_map @@ -64,8 +64,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::equal_to; using std::allocator; using std::pair; @@ -438,7 +438,7 @@ namespace __gnu_cxx end() const { return _M_ht.end(); } -public: + public: iterator insert(const value_type& __obj) { return _M_ht.insert_equal(__obj); } @@ -504,7 +504,7 @@ public: size_type elems_in_bucket(size_type __n) const { return _M_ht.elems_in_bucket(__n); } -}; + }; template inline bool @@ -524,13 +524,12 @@ public: hash_multimap<_Key, _Tp, _HashFcn, _EqlKey, _Alloc>& __hm2) { __hm1.swap(__hm2); } -} // namespace __gnu_cxx +_GLIBCXX_END_NAMESPACE -namespace std -{ -// Specialization of insert_iterator so that it will work for hash_map -// and hash_multimap. +_GLIBCXX_BEGIN_NAMESPACE(std) + // Specialization of insert_iterator so that it will work for hash_map + // and hash_multimap. template class insert_iterator<__gnu_cxx::hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc> > @@ -616,7 +615,8 @@ namespace std operator++(int) { return *this; } }; -} // namespace std + +_GLIBCXX_END_NAMESPACE #ifdef _GLIBCXX_DEBUG # include diff --git a/libstdc++-v3/include/ext/hash_set b/libstdc++-v3/include/ext/hash_set index 1179e88..178fb85 100644 --- a/libstdc++-v3/include/ext/hash_set +++ b/libstdc++-v3/include/ext/hash_set @@ -64,8 +64,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::equal_to; using std::allocator; using std::pair; @@ -490,10 +490,10 @@ public: hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs2) { __hs1.swap(__hs2); } -} // namespace __gnu_cxx +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) -namespace std -{ // Specialization of insert_iterator so that it will work for hash_set // and hash_multiset. @@ -582,7 +582,8 @@ namespace std insert_iterator<_Container>& operator++(int) { return *this; } }; -} // namespace std + +_GLIBCXX_END_NAMESPACE #ifdef _GLIBCXX_DEBUG # include diff --git a/libstdc++-v3/include/ext/hashtable.h b/libstdc++-v3/include/ext/hashtable.h index f6e3fd6..3706f80 100644 --- a/libstdc++-v3/include/ext/hashtable.h +++ b/libstdc++-v3/include/ext/hashtable.h @@ -1,6 +1,6 @@ // Hashtable implementation used by containers -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -70,8 +70,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::size_t; using std::ptrdiff_t; using std::forward_iterator_tag; @@ -1125,6 +1125,7 @@ namespace __gnu_cxx __throw_exception_again; } } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/iterator b/libstdc++-v3/include/ext/iterator index e6334ad..b59e5ca 100644 --- a/libstdc++-v3/include/ext/iterator +++ b/libstdc++-v3/include/ext/iterator @@ -1,6 +1,6 @@ // HP/SGI iterator extensions -*- C++ -*- -// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -66,8 +66,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + // There are two signatures for distance. In addition to the one // taking two iterators and returning a result, there is another // taking two iterators and a reference-to-result variable, and @@ -111,7 +111,8 @@ namespace __gnu_cxx // concept requirements -- taken care of in __distance __distance(__first, __last, __n, std::__iterator_category(__first)); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/malloc_allocator.h b/libstdc++-v3/include/ext/malloc_allocator.h index 6d66c26..8143539 100644 --- a/libstdc++-v3/include/ext/malloc_allocator.h +++ b/libstdc++-v3/include/ext/malloc_allocator.h @@ -1,6 +1,6 @@ // Allocator that wraps "C" malloc -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -38,8 +38,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /** * @brief An allocator that uses malloc. * @@ -120,6 +120,7 @@ namespace __gnu_cxx inline bool operator!=(const malloc_allocator<_Tp>&, const malloc_allocator<_Tp>&) { return false; } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory index deb77f8..0755d89 100644 --- a/libstdc++-v3/include/ext/memory +++ b/libstdc++-v3/include/ext/memory @@ -1,6 +1,6 @@ // Memory extensions -*- C++ -*- -// Copyright (C) 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -66,8 +66,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::ptrdiff_t; using std::pair; using std::__iterator_category; @@ -192,7 +192,8 @@ namespace __gnu_cxx /// Destroys objects and frees storage. ~temporary_buffer() { } }; -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h index 014e62a..1b189c3 100644 --- a/libstdc++-v3/include/ext/mt_allocator.h +++ b/libstdc++-v3/include/ext/mt_allocator.h @@ -40,8 +40,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + typedef void (*__destroy_handler)(void*); /// @brief Base class for pool object. @@ -729,6 +729,7 @@ namespace __gnu_cxx { return false; } #undef __thread_default -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/new_allocator.h b/libstdc++-v3/include/ext/new_allocator.h index 40122c2..b761b00 100644 --- a/libstdc++-v3/include/ext/new_allocator.h +++ b/libstdc++-v3/include/ext/new_allocator.h @@ -1,6 +1,6 @@ // Allocator that wraps operator new -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -37,8 +37,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /** * @brief An allocator that uses global new, as per [20.4]. * @@ -116,6 +116,7 @@ namespace __gnu_cxx inline bool operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) { return false; } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/numeric b/libstdc++-v3/include/ext/numeric index 0f112c2..290d032 100644 --- a/libstdc++-v3/include/ext/numeric +++ b/libstdc++-v3/include/ext/numeric @@ -1,6 +1,6 @@ // Numeric extensions -*- C++ -*- -// Copyright (C) 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -68,8 +68,8 @@ #include // For identity_element -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + // Returns __x ** __n, where __n >= 0. _Note that "multiplication" // is required to be associative, but not necessarily commutative. template @@ -144,7 +144,8 @@ namespace __gnu_cxx while (__first != __last) *__first++ = __value++; } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/pod_char_traits.h b/libstdc++-v3/include/ext/pod_char_traits.h index 8b9a568..236e349 100644 --- a/libstdc++-v3/include/ext/pod_char_traits.h +++ b/libstdc++-v3/include/ext/pod_char_traits.h @@ -39,8 +39,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + // POD character abstraction. // NB: The char_type parameter is a subset of int_type, as to allow // int_type to properly hold the full range of char_type values as @@ -83,10 +83,11 @@ namespace __gnu_cxx inline bool operator<(const character& lhs, const character& rhs) { return lhs.value < rhs.value; } -} // namespace __gnu_cxx -namespace std -{ +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) + /// char_traits<__gnu_cxx::character> specialization. template struct char_traits<__gnu_cxx::character > @@ -180,6 +181,7 @@ namespace std not_eof(const int_type& __c) { return eq_int_type(__c, eof()) ? int_type() : __c; } }; -} + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/pool_allocator.h b/libstdc++-v3/include/ext/pool_allocator.h index d8bca1c..e11c166 100644 --- a/libstdc++-v3/include/ext/pool_allocator.h +++ b/libstdc++-v3/include/ext/pool_allocator.h @@ -1,6 +1,6 @@ // Allocators -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -54,8 +54,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /** * @brief Base class for __pool_alloc. * @@ -250,6 +250,7 @@ namespace __gnu_cxx } } } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/rb_tree b/libstdc++-v3/include/ext/rb_tree index 31c8431..22dd7cd 100644 --- a/libstdc++-v3/include/ext/rb_tree +++ b/libstdc++-v3/include/ext/rb_tree @@ -1,6 +1,6 @@ // rb_tree extension -*- C++ -*- -// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -65,8 +65,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::_Rb_tree; using std::allocator; @@ -92,6 +92,7 @@ namespace __gnu_cxx ~rb_tree() { } }; -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h index 43a69c2..a264c1e 100644 --- a/libstdc++-v3/include/ext/rc_string_base.h +++ b/libstdc++-v3/include/ext/rc_string_base.h @@ -38,8 +38,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /** * @if maint * Documentation? What's that? @@ -696,6 +696,7 @@ namespace __gnu_cxx return true; return false; } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif /* _RC_STRING_BASE_H */ diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope index e4ad50d..35be376 100644 --- a/libstdc++-v3/include/ext/rope +++ b/libstdc++-v3/include/ext/rope @@ -66,8 +66,8 @@ #include // For uninitialized_copy_n -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::size_t; using std::ptrdiff_t; using std::allocator; @@ -2894,7 +2894,7 @@ protected: } }; -} // namespace __gnu_cxx +_GLIBCXX_END_NAMESPACE # include diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h index c4b2eed..9371dbb 100644 --- a/libstdc++-v3/include/ext/ropeimpl.h +++ b/libstdc++-v3/include/ext/ropeimpl.h @@ -1,6 +1,6 @@ // SGI's rope class implementation -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -53,8 +53,8 @@ #include // For uninitialized_copy_n #include // For power -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::size_t; using std::printf; using std::basic_ostream; @@ -1699,8 +1699,4 @@ namespace __gnu_cxx { _Rope_rotate(__first, __middle, __last); } # endif -} // namespace __gnu_cxx - -// Local Variables: -// mode:C++ -// End: +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/include/ext/slist b/libstdc++-v3/include/ext/slist index 49ce77e..06bf7b1 100644 --- a/libstdc++-v3/include/ext/slist +++ b/libstdc++-v3/include/ext/slist @@ -55,8 +55,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using std::size_t; using std::ptrdiff_t; using std::_Construct; @@ -1023,13 +1023,12 @@ namespace __gnu_cxx } } -} // namespace __gnu_cxx +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) -namespace std -{ // Specialization of insert_iterator so that insertions will be constant // time rather than linear time. - template class insert_iterator<__gnu_cxx::slist<_Tp, _Alloc> > { @@ -1073,7 +1072,8 @@ namespace std insert_iterator<_Container>& operator++(int) { return *this; } -}; + }; + +_GLIBCXX_END_NAMESPACE -} // namespace std #endif diff --git a/libstdc++-v3/include/ext/sso_string_base.h b/libstdc++-v3/include/ext/sso_string_base.h index bb0d746..c21dbbd 100644 --- a/libstdc++-v3/include/ext/sso_string_base.h +++ b/libstdc++-v3/include/ext/sso_string_base.h @@ -36,8 +36,8 @@ #ifndef _SSO_STRING_BASE_H #define _SSO_STRING_BASE_H 1 -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + template class __sso_string_base : protected __vstring_utility<_CharT, _Traits, _Alloc> @@ -567,6 +567,7 @@ namespace __gnu_cxx return true; return false; } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif /* _SSO_STRING_BASE_H */ diff --git a/libstdc++-v3/include/ext/stdio_filebuf.h b/libstdc++-v3/include/ext/stdio_filebuf.h index 5a6d22a..312a217 100644 --- a/libstdc++-v3/include/ext/stdio_filebuf.h +++ b/libstdc++-v3/include/ext/stdio_filebuf.h @@ -1,6 +1,6 @@ // File descriptor layer for filebuf -*- C++ -*- -// Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -38,8 +38,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /** * @brief Provides a layer of compatibility for C/POSIX. * @@ -156,6 +156,7 @@ namespace __gnu_cxx this->_M_set_buffer(-1); } } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/stdio_sync_filebuf.h b/libstdc++-v3/include/ext/stdio_sync_filebuf.h index c51c678..f0ec12c 100644 --- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h +++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h @@ -1,6 +1,6 @@ // Iostreams wrapper for stdio FILE* -*- C++ -*- -// Copyright (C) 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -44,8 +44,8 @@ #include #endif -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /// @brief class stdio_sync_filebuf. template > class stdio_sync_filebuf : public std::basic_streambuf<_CharT, _Traits> @@ -277,6 +277,7 @@ namespace __gnu_cxx extern template class stdio_sync_filebuf; #endif #endif -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif diff --git a/libstdc++-v3/include/ext/typelist.h b/libstdc++-v3/include/ext/typelist.h index 5bd7c9d..143efc0 100644 --- a/libstdc++-v3/include/ext/typelist.h +++ b/libstdc++-v3/include/ext/typelist.h @@ -46,8 +46,8 @@ #ifndef TYPELIST_HPP #define TYPELIST_HPP -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + // XXX namespace typelist // struct typelist -> struct node @@ -87,11 +87,12 @@ namespace __gnu_cxx template class Transform> struct transform; -} +_GLIBCXX_END_NAMESPACE + + +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) -namespace __gnu_cxx -{ namespace detail { // #include @@ -264,11 +265,12 @@ namespace detail typedef typename append >::type::root type; }; } // namespace detail -} +_GLIBCXX_END_NAMESPACE + + +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) -namespace __gnu_cxx -{ template struct apply { @@ -345,7 +347,8 @@ namespace __gnu_cxx public: typedef typelist type; }; -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #define _GLIBCXX_TYPELIST_CHAIN1(X0) __gnu_cxx::chain diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h index 1c59e71..6b04761 100644 --- a/libstdc++-v3/include/ext/vstring.h +++ b/libstdc++-v3/include/ext/vstring.h @@ -40,8 +40,8 @@ #include #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /** * @class __versa_string vstring.h * @brief Managing sequences of characters and character-like objects. @@ -2106,10 +2106,10 @@ namespace __gnu_cxx __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs) { __lhs.swap(__rhs); } -} // namespace __gnu_cxx +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) -namespace std -{ /** * @brief Read stream into a string. * @param is Input stream. @@ -2183,7 +2183,7 @@ namespace std __gnu_cxx::__versa_string<_CharT, _Traits, _Alloc, _Base>& __str) { return getline(__is, __str, __is.widen('\n')); } -} // namespace std +_GLIBCXX_END_NAMESPACE #ifndef _GLIBCXX_EXPORT_TEMPLATE # include "vstring.tcc" diff --git a/libstdc++-v3/include/ext/vstring.tcc b/libstdc++-v3/include/ext/vstring.tcc index 2fed7e2..3ce552a 100644 --- a/libstdc++-v3/include/ext/vstring.tcc +++ b/libstdc++-v3/include/ext/vstring.tcc @@ -38,8 +38,8 @@ #pragma GCC system_header -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + template class _Base> const typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type @@ -536,10 +536,10 @@ namespace __gnu_cxx return __r; } -} // namespace __gnu_cxx +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(std) -namespace std -{ template class _Base> basic_istream<_CharT, _Traits>& @@ -714,6 +714,6 @@ namespace std return __in; } -} // namespace std +_GLIBCXX_END_NAMESPACE #endif // _VSTRING_TCC diff --git a/libstdc++-v3/include/ext/vstring_fwd.h b/libstdc++-v3/include/ext/vstring_fwd.h index 08ec94a..9537006 100644 --- a/libstdc++-v3/include/ext/vstring_fwd.h +++ b/libstdc++-v3/include/ext/vstring_fwd.h @@ -42,8 +42,8 @@ #include #include // For allocator. -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + template class __sso_string_base; @@ -69,6 +69,7 @@ namespace __gnu_cxx __versa_string, std::allocator, __rc_string_base> __wrc_string; #endif -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif /* _VSTRING_FWD_H */ diff --git a/libstdc++-v3/include/ext/vstring_util.h b/libstdc++-v3/include/ext/vstring_util.h index 2a8c45c..30ec39b 100644 --- a/libstdc++-v3/include/ext/vstring_util.h +++ b/libstdc++-v3/include/ext/vstring_util.h @@ -45,8 +45,8 @@ #include #include // For std::distance, srd::search. -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + template struct __vstring_utility { @@ -194,6 +194,7 @@ namespace __gnu_cxx _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) { _S_copy(__p, __k1, __k2 - __k1); } }; -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #endif /* _VSTRING_UTIL_H */ diff --git a/libstdc++-v3/include/std/std_bitset.h b/libstdc++-v3/include/std/std_bitset.h index a32af6b..c1cfada 100644 --- a/libstdc++-v3/include/std/std_bitset.h +++ b/libstdc++-v3/include/std/std_bitset.h @@ -63,8 +63,8 @@ ((__n) < 1 ? 0 : ((__n) + _GLIBCXX_BITSET_BITS_PER_WORD - 1) \ / _GLIBCXX_BITSET_BITS_PER_WORD) -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + /** * @if maint * Base class, general case. It is a class inveriant that _Nw will be @@ -1291,7 +1291,8 @@ namespace _GLIBCXX_STD return __os << __tmp; } //@} -} // namespace std + +_GLIBCXX_END_NESTED_NAMESPACE #undef _GLIBCXX_BITSET_WORDS #undef _GLIBCXX_BITSET_BITS_PER_WORD diff --git a/libstdc++-v3/include/std/std_complex.h b/libstdc++-v3/include/std/std_complex.h index c7aab0e..dc0f373 100644 --- a/libstdc++-v3/include/std/std_complex.h +++ b/libstdc++-v3/include/std/std_complex.h @@ -49,8 +49,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Forward declarations. template class complex; template<> class complex; @@ -1483,6 +1483,7 @@ namespace std inline complex::complex(const complex& __z) : _M_value(__z.__rep()) { } -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _GLIBCXX_COMPLEX */ diff --git a/libstdc++-v3/include/std/std_fstream.h b/libstdc++-v3/include/std/std_fstream.h index a93f9a4..1ae98c0 100644 --- a/libstdc++-v3/include/std/std_fstream.h +++ b/libstdc++-v3/include/std/std_fstream.h @@ -48,8 +48,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // [27.8.1.1] template class basic_filebuf /** * @brief The actual work of input and output (for files). @@ -776,7 +776,8 @@ namespace std this->setstate(ios_base::failbit); } }; -} // namespace std + +_GLIBCXX_END_NAMESPACE #ifndef _GLIBCXX_EXPORT_TEMPLATE # include diff --git a/libstdc++-v3/include/std/std_iomanip.h b/libstdc++-v3/include/std/std_iomanip.h index 6363df6..a10a1b8 100644 --- a/libstdc++-v3/include/std/std_iomanip.h +++ b/libstdc++-v3/include/std/std_iomanip.h @@ -1,6 +1,6 @@ // Standard stream manipulators -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003 +// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -45,8 +45,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // [27.6.3] standard manipulators // Also see DR 183. @@ -294,6 +294,7 @@ namespace std extern template wistream& operator>>(wistream&, _Setw); #endif #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _GLIBCXX_IOMANIP */ diff --git a/libstdc++-v3/include/std/std_iosfwd.h b/libstdc++-v3/include/std/std_iosfwd.h index 5dfd641..669706d 100644 --- a/libstdc++-v3/include/std/std_iosfwd.h +++ b/libstdc++-v3/include/std/std_iosfwd.h @@ -1,6 +1,6 @@ // Forwarding declarations -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003 +// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -49,8 +49,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template > class basic_ios; @@ -162,6 +162,7 @@ namespace std typedef basic_fstream wfstream; ///< @isiosfwd #endif /** @} */ -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _GLIBCXX_IOSFWD */ diff --git a/libstdc++-v3/include/std/std_iostream.h b/libstdc++-v3/include/std/std_iostream.h index 33ed4cf..e0c28e1 100644 --- a/libstdc++-v3/include/std/std_iostream.h +++ b/libstdc++-v3/include/std/std_iostream.h @@ -1,6 +1,7 @@ // Standard iostream objects -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2005 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -44,8 +45,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @name Standard Stream Objects * @@ -74,6 +75,7 @@ namespace std // For construction of filebuffers for cout, cin, cerr, clog et. al. static ios_base::Init __ioinit; -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _GLIBCXX_IOSTREAM */ diff --git a/libstdc++-v3/include/std/std_istream.h b/libstdc++-v3/include/std/std_istream.h index dd1189e..2c5c572 100644 --- a/libstdc++-v3/include/std/std_istream.h +++ b/libstdc++-v3/include/std/std_istream.h @@ -44,8 +44,8 @@ #include #include // For numeric_limits -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // [27.6.1.1] Template class basic_istream /** * @brief Controlling input. @@ -813,7 +813,8 @@ namespace std template basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _Traits>& __is); -} // namespace std + +_GLIBCXX_END_NAMESPACE #ifndef _GLIBCXX_EXPORT_TEMPLATE # include diff --git a/libstdc++-v3/include/std/std_limits.h b/libstdc++-v3/include/std/std_limits.h index 7643dcf..d1211fd 100644 --- a/libstdc++-v3/include/std/std_limits.h +++ b/libstdc++-v3/include/std/std_limits.h @@ -1,4 +1,4 @@ -// The template and inlines for the -*- C++ -*- numeric_limits classes. +// The template and inlines for the numeric_limits classes. -*- C++ -*- // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005 // Free Software Foundation, Inc. @@ -147,8 +147,8 @@ (__glibcxx_digits (T) * 643 / 2136) -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @brief Describes the rounding style for floating-point types. * @@ -1149,7 +1149,7 @@ namespace std #undef __glibcxx_long_double_traps #undef __glibcxx_long_double_tinyness_before -} // namespace std +_GLIBCXX_END_NAMESPACE #undef __glibcxx_signed #undef __glibcxx_min diff --git a/libstdc++-v3/include/std/std_memory.h b/libstdc++-v3/include/std/std_memory.h index 006912d..6b1996b 100644 --- a/libstdc++-v3/include/std/std_memory.h +++ b/libstdc++-v3/include/std/std_memory.h @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -59,8 +59,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @if maint * This is a helper function. The unused second parameter exists to @@ -368,6 +368,7 @@ namespace std operator auto_ptr<_Tp1>() throw() { return auto_ptr<_Tp1>(this->release()); } }; -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _GLIBCXX_MEMORY */ diff --git a/libstdc++-v3/include/std/std_ostream.h b/libstdc++-v3/include/std/std_ostream.h index ffc1a28..8d42282 100644 --- a/libstdc++-v3/include/std/std_ostream.h +++ b/libstdc++-v3/include/std/std_ostream.h @@ -1,6 +1,6 @@ // Output streams -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -43,8 +43,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // [27.6.2.1] Template class basic_ostream /** * @brief Controlling output. @@ -519,7 +519,7 @@ namespace std flush(basic_ostream<_CharT, _Traits>& __os) { return __os.flush(); } -} // namespace std +_GLIBCXX_END_NAMESPACE #ifndef _GLIBCXX_EXPORT_TEMPLATE # include diff --git a/libstdc++-v3/include/std/std_sstream.h b/libstdc++-v3/include/std/std_sstream.h index 3970b3d..162c2a6 100644 --- a/libstdc++-v3/include/std/std_sstream.h +++ b/libstdc++-v3/include/std/std_sstream.h @@ -44,8 +44,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // [27.7.1] template class basic_stringbuf /** * @brief The actual work of input and output (for std::string). @@ -608,7 +608,8 @@ namespace std str(const __string_type& __s) { _M_stringbuf.str(__s); } }; -} // namespace std + +_GLIBCXX_END_NAMESPACE #ifndef _GLIBCXX_EXPORT_TEMPLATE # include diff --git a/libstdc++-v3/include/std/std_stdexcept.h b/libstdc++-v3/include/std/std_stdexcept.h index 4ecc53e..0104e54 100644 --- a/libstdc++-v3/include/std/std_stdexcept.h +++ b/libstdc++-v3/include/std/std_stdexcept.h @@ -1,6 +1,6 @@ // Standard exception classes -*- C++ -*- -// Copyright (C) 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -43,8 +43,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** Logic errors represent problems in the internal logic of a program; * in theory, these are preventable, and even detectable before the * program runs (e.g., violations of class invariants). @@ -142,6 +142,7 @@ namespace std public: explicit underflow_error(const string& __arg); }; -} // namespace std + +_GLIBCXX_END_NAMESPACE #endif /* _GLIBCXX_STDEXCEPT */ diff --git a/libstdc++-v3/include/std/std_streambuf.h b/libstdc++-v3/include/std/std_streambuf.h index b20bd63..f59e7de 100644 --- a/libstdc++-v3/include/std/std_streambuf.h +++ b/libstdc++-v3/include/std/std_streambuf.h @@ -46,8 +46,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @if maint * Does stuff. @@ -800,7 +800,8 @@ namespace std __copy_streambufs(basic_streambuf* __sbin, basic_streambuf* __sbout); #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE #ifndef _GLIBCXX_EXPORT_TEMPLATE # include diff --git a/libstdc++-v3/include/std/std_valarray.h b/libstdc++-v3/include/std/std_valarray.h index 512f533..82b2fb8 100644 --- a/libstdc++-v3/include/std/std_valarray.h +++ b/libstdc++-v3/include/std/std_valarray.h @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- valarray class. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -47,8 +47,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template class _Expr; @@ -87,13 +87,13 @@ namespace std template class mask_array; // masked array template class indirect_array; // indirected array -} // namespace std +_GLIBCXX_END_NAMESPACE #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + /** * @brief Smart array designed to support numeric processing. * @@ -535,18 +535,17 @@ namespace std return _M_data[__i]; } -} // std:: +_GLIBCXX_END_NAMESPACE #include - #include #include #include #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template inline valarray<_Tp>::valarray() : _M_size(0), _M_data(0) {} @@ -1005,6 +1004,6 @@ _DEFINE_BINARY_OPERATOR(>, __greater) _DEFINE_BINARY_OPERATOR(<=, __less_equal) _DEFINE_BINARY_OPERATOR(>=, __greater_equal) -} // namespace std +_GLIBCXX_END_NAMESPACE #endif /* _GLIBCXX_VALARRAY */ diff --git a/libstdc++-v3/include/tr1/array b/libstdc++-v3/include/tr1/array index 096df4f..bdef568 100644 --- a/libstdc++-v3/include/tr1/array +++ b/libstdc++-v3/include/tr1/array @@ -43,8 +43,8 @@ //namespace std::tr1 namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) + /// @brief struct array [6.2.2]. /// NB: Requires complete type _Tp. template @@ -228,7 +228,8 @@ namespace tr1 const _Tp& get(const array<_Tp, _Nm>& __arr) { return __arr[_Int]; } -} // namespace std::tr1 + +_GLIBCXX_END_NAMESPACE } #endif diff --git a/libstdc++-v3/include/tr1/boost_shared_ptr.h b/libstdc++-v3/include/tr1/boost_shared_ptr.h index cb19019..e47c570 100644 --- a/libstdc++-v3/include/tr1/boost_shared_ptr.h +++ b/libstdc++-v3/include/tr1/boost_shared_ptr.h @@ -57,8 +57,7 @@ // namespace std::tr1 namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) class bad_weak_ptr : public std::exception { @@ -977,7 +976,7 @@ template mutable weak_ptr<_Tp> _M_weak_this; }; -} // namespace tr1 +_GLIBCXX_END_NAMESPACE } // namespace std #endif diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional index 9672da8..ae31fae 100644 --- a/libstdc++-v3/include/tr1/functional +++ b/libstdc++-v3/include/tr1/functional @@ -47,8 +47,8 @@ namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) + template class _Mem_fn; @@ -1274,7 +1274,8 @@ namespace tr1 return result; } }; -} + +_GLIBCXX_END_NAMESPACE } #endif diff --git a/libstdc++-v3/include/tr1/hashtable b/libstdc++-v3/include/tr1/hashtable index 0add0e3..7061614 100644 --- a/libstdc++-v3/include/tr1/hashtable +++ b/libstdc++-v3/include/tr1/hashtable @@ -879,8 +879,8 @@ namespace Internal namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) + //---------------------------------------------------------------------- // Class template hashtable, class definition. @@ -1853,7 +1853,8 @@ namespace tr1 __throw_exception_again; } } -} + +_GLIBCXX_END_NAMESPACE } // Namespace std::tr1 #endif /* GNU_LIBSTDCXX_TR1_HASHTABLE_ */ diff --git a/libstdc++-v3/include/tr1/ref_fwd.h b/libstdc++-v3/include/tr1/ref_fwd.h index 9d7538f..18f5d4d 100644 --- a/libstdc++-v3/include/tr1/ref_fwd.h +++ b/libstdc++-v3/include/tr1/ref_fwd.h @@ -40,8 +40,7 @@ namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) template class reference_wrapper; @@ -54,6 +53,7 @@ template template reference_wrapper cref(const _Tp& __t); -} + +_GLIBCXX_END_NAMESPACE } #endif diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple index ea7bb23..15c944f 100644 --- a/libstdc++-v3/include/tr1/tuple +++ b/libstdc++-v3/include/tr1/tuple @@ -41,8 +41,8 @@ namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) + // An implementation specific class which is used in the tuple class // when the tuple is not maximum possible size. struct _NullClass { }; @@ -267,7 +267,8 @@ namespace tr1 #include #undef _GLIBCXX_REPEAT_HEADER #undef _SHORT_REPEAT -} + +_GLIBCXX_END_NAMESPACE } #include diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits index 70f3316..f4a1838 100644 --- a/libstdc++-v3/include/tr1/type_traits +++ b/libstdc++-v3/include/tr1/type_traits @@ -40,8 +40,8 @@ // namespace std::tr1 namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) + // For use in __in_array and elsewhere. struct __sfinae_types { @@ -687,7 +687,7 @@ namespace tr1 #undef _DEFINE_SPEC #undef _DEFINE_SPEC_BODY -} +_GLIBCXX_END_NAMESPACE } #endif diff --git a/libstdc++-v3/include/tr1/type_traits_fwd.h b/libstdc++-v3/include/tr1/type_traits_fwd.h index a03f4fa..fded549 100644 --- a/libstdc++-v3/include/tr1/type_traits_fwd.h +++ b/libstdc++-v3/include/tr1/type_traits_fwd.h @@ -40,8 +40,8 @@ // namespace std::tr1 namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) + /// @brief helper classes [4.3]. template struct integral_constant; @@ -219,7 +219,8 @@ namespace tr1 /// @brief other transformations [4.8]. template struct aligned_storage; -} + +_GLIBCXX_END_NAMESPACE } #endif diff --git a/libstdc++-v3/include/tr1/unordered_map b/libstdc++-v3/include/tr1/unordered_map index 2f789c8..2f1a239 100644 --- a/libstdc++-v3/include/tr1/unordered_map +++ b/libstdc++-v3/include/tr1/unordered_map @@ -42,8 +42,8 @@ namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) + // XXX When we get typedef templates these class definitions // will be unnecessary. @@ -164,7 +164,7 @@ namespace tr1 unordered_multimap& y) { x.swap(y); } -} +_GLIBCXX_END_NAMESPACE } #endif /* GNU_LIBSTDCXX_TR1_UNORDERED_MAP_ */ diff --git a/libstdc++-v3/include/tr1/unordered_set b/libstdc++-v3/include/tr1/unordered_set index 6a4881a..c3c16dd 100644 --- a/libstdc++-v3/include/tr1/unordered_set +++ b/libstdc++-v3/include/tr1/unordered_set @@ -40,8 +40,7 @@ namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) // XXX When we get typedef templates these class definitions // will be unnecessary. @@ -159,7 +158,7 @@ namespace tr1 unordered_multiset& y) { x.swap(y); } -} +_GLIBCXX_END_NAMESPACE } #endif /* GNU_LIBSTDCXX_TR1_UNORDERED_SET_ */ diff --git a/libstdc++-v3/include/tr1/utility b/libstdc++-v3/include/tr1/utility index 246a6fa..db140b2 100644 --- a/libstdc++-v3/include/tr1/utility +++ b/libstdc++-v3/include/tr1/utility @@ -38,8 +38,8 @@ namespace std { -namespace tr1 -{ +_GLIBCXX_BEGIN_NAMESPACE(tr1) + template class tuple_size; template class tuple_element; @@ -92,7 +92,8 @@ namespace tr1 const typename tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& get(const pair<_Tp1, _Tp2>& __in) { return __pair_get<_Int>::__const_get(__in); } -} + +_GLIBCXX_END_NAMESPACE } #endif diff --git a/libstdc++-v3/libmath/Makefile.in b/libstdc++-v3/libmath/Makefile.in index 84469b0..74aeac5 100644 --- a/libstdc++-v3/libmath/Makefile.in +++ b/libstdc++-v3/libmath/Makefile.in @@ -118,6 +118,8 @@ ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@ ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@ ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@ ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@ ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@ EXEEXT = @EXEEXT@ diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in index 2a1d52f..c787f17 100644 --- a/libstdc++-v3/libsupc++/Makefile.in +++ b/libstdc++-v3/libsupc++/Makefile.in @@ -159,6 +159,8 @@ ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@ ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@ ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@ ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@ ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@ EXEEXT = @EXEEXT@ diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc index 5a0d50c..b909781 100644 --- a/libstdc++-v3/libsupc++/eh_alloc.cc +++ b/libstdc++-v3/libsupc++/eh_alloc.cc @@ -45,8 +45,8 @@ using std::free; using std::malloc; using std::memcpy; #else -// In a freestanding environment, these functions may not be -// available -- but for now, we assume that they are. +// In a freestanding environment, these functions may not be available +// -- but for now, we assume that they are. extern "C" void *malloc (std::size_t); extern "C" void free(void *); extern "C" int memset (void *, int, std::size_t); diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception index 657cbf7..cfaf5b1e 100644 --- a/libstdc++-v3/libsupc++/exception +++ b/libstdc++-v3/libsupc++/exception @@ -1,6 +1,6 @@ // Exception Handling support header for -*- C++ -*- -// Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002 +// Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2005 // Free Software Foundation // // This file is part of GCC. @@ -39,6 +39,8 @@ #pragma GCC visibility push(default) +#include + extern "C++" { namespace std @@ -102,8 +104,8 @@ namespace std bool uncaught_exception() throw(); } // namespace std -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + /** A replacement for the standard terminate_handler which prints more information about the terminating exception (if any) on stderr. Call @code @@ -115,7 +117,8 @@ namespace __gnu_cxx In 3.4 and later, this is on by default. */ void __verbose_terminate_handler (); -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE } // extern "C++" diff --git a/libstdc++-v3/libsupc++/vterminate.cc b/libstdc++-v3/libsupc++/vterminate.cc index 88156aa..dd3b657 100644 --- a/libstdc++-v3/libsupc++/vterminate.cc +++ b/libstdc++-v3/libsupc++/vterminate.cc @@ -1,6 +1,6 @@ // Verbose terminate_handler -*- C++ -*- -// Copyright (C) 2001, 2002, 2004 Free Software Foundation +// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -28,6 +28,7 @@ // the GNU General Public License. #include + #if _GLIBCXX_HOSTED #include #include @@ -38,8 +39,8 @@ using namespace std; using namespace abi; -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + // A replacement for the standard terminate_handler which prints // more information about the terminating exception (if any) on // stderr. @@ -96,5 +97,7 @@ namespace __gnu_cxx abort(); } -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE + #endif diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in index b953b56..053229c 100644 --- a/libstdc++-v3/po/Makefile.in +++ b/libstdc++-v3/po/Makefile.in @@ -103,6 +103,8 @@ ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@ ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@ ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@ ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@ ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@ EXEEXT = @EXEEXT@ diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index 4d51036..0855c59 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -43,6 +43,10 @@ if ENABLE_SYMVERS_GNU version_arg = -Wl,--version-script=libstdc++-symbols.ver version_dep = libstdc++-symbols.ver endif +if ENABLE_SYMVERS_GNU_NAMESPACE +version_arg = -Wl,--version-script=libstdc++-symbols.ver +version_dep = libstdc++-symbols.ver +endif if ENABLE_SYMVERS_DARWIN version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist version_dep = libstdc++-symbols.explist diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index f751600..f78e735 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -137,6 +137,8 @@ ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@ ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@ ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@ ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@ ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@ EXEEXT = @EXEEXT@ @@ -279,9 +281,11 @@ AM_CPPFLAGS = $(GLIBCXX_INCLUDES) toolexeclib_LTLIBRARIES = libstdc++.la @ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist @ENABLE_SYMVERS_FALSE@version_arg = +@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,--version-script=libstdc++-symbols.ver @ENABLE_SYMVERS_GNU_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,--version-script=libstdc++-symbols.ver @ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.explist @ENABLE_SYMVERS_FALSE@version_dep = +@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.ver @ENABLE_SYMVERS_GNU_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.ver # Source files linked in via configuration/make substitution for a diff --git a/libstdc++-v3/src/allocator-inst.cc b/libstdc++-v3/src/allocator-inst.cc index 0258b2f..aca019c 100644 --- a/libstdc++-v3/src/allocator-inst.cc +++ b/libstdc++-v3/src/allocator-inst.cc @@ -1,6 +1,7 @@ // Explicit instantiation file. -// Copyright (C) 1999, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -33,8 +34,9 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template class allocator; template class allocator; -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/bitmap_allocator.cc b/libstdc++-v3/src/bitmap_allocator.cc index da2597b..761ec61 100644 --- a/libstdc++-v3/src/bitmap_allocator.cc +++ b/libstdc++-v3/src/bitmap_allocator.cc @@ -29,8 +29,8 @@ #include -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + namespace balloc { template class __mini_vector; template class bitmap_allocator; -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/codecvt.cc b/libstdc++-v3/src/codecvt.cc index ea7cdd2..e602c75 100644 --- a/libstdc++-v3/src/codecvt.cc +++ b/libstdc++-v3/src/codecvt.cc @@ -29,8 +29,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Definitions for locale::id of standard facets that are specialized. locale::id codecvt::id; @@ -149,4 +149,5 @@ namespace std do_always_noconv() const throw() { return false; } #endif // _GLIBCXX_USE_WCHAR_T -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/compatibility.cc b/libstdc++-v3/src/compatibility.cc index 2261ad5..ce66160 100644 --- a/libstdc++-v3/src/compatibility.cc +++ b/libstdc++-v3/src/compatibility.cc @@ -43,6 +43,8 @@ #define _M_set_length_and_sharable(a) _M_set_length_and_sharableXX(a) #define ignore ignoreXX #define eq eqXX +#define _List_node_base _List_node_baseXX +#define __gnu_debug __gnu_debugXX #endif #include @@ -50,10 +52,9 @@ #include #include -namespace std -{ - // std::istream ignore explicit specializations. +_GLIBCXX_BEGIN_NAMESPACE(std) + // std::istream ignore explicit specializations. template<> basic_istream& basic_istream:: @@ -82,7 +83,7 @@ namespace std { streamsize __size = std::min(streamsize(__sb->egptr() - __sb->gptr()), - streamsize(__n - _M_gcount)); + streamsize(__n - _M_gcount)); if (__size > 1) { __sb->gbump(__size); @@ -147,7 +148,7 @@ namespace std { streamsize __size = std::min(streamsize(__sb->egptr() - __sb->gptr()), - streamsize(__n - _M_gcount)); + streamsize(__n - _M_gcount)); if (__size > 1) { __sb->gbump(__size); @@ -184,7 +185,9 @@ namespace std return *this; } #endif -} + +_GLIBCXX_END_NAMESPACE + // NB: These symbols renames should go into the shared library only, // and only those shared libraries that support versioning. @@ -194,8 +197,9 @@ namespace std _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv */ -namespace std -{ + +_GLIBCXX_BEGIN_NAMESPACE(std) + template istreambuf_iterator& istreambuf_iterator::operator++(); @@ -205,7 +209,9 @@ namespace std istreambuf_iterator& istreambuf_iterator::operator++(); #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE + /* gcc-4.0.0 _ZNSs4_Rep26_M_set_length_and_sharableEj @@ -236,8 +242,8 @@ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv _ZNSt11char_traitsIcE2eqERKcS2_ _ZNSt11char_traitsIwE2eqERKwS2_ */ -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // std::char_traits is explicitly specialized bool (* __p1)(const char&, const char&) = &char_traits::eq; @@ -329,7 +335,8 @@ namespace std bool basic_ofstream::is_open() const; #endif -} + +_GLIBCXX_END_NAMESPACE // The rename syntax for default exported names is // asm (".symver name1,exportedname@GLIBCXX_3.4") @@ -360,6 +367,107 @@ namespace std #include #undef _GLIBCXX_APPLY_SYMVER +/* gcc-3.4.0 +_ZN10__gnu_norm15_List_node_base4hookEPS0_; +_ZN10__gnu_norm15_List_node_base4swapERS0_S1_; +_ZN10__gnu_norm15_List_node_base6unhookEv; +_ZN10__gnu_norm15_List_node_base7reverseEv; +_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_; +_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb; +_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv; +_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv; +_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_; +_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv; +_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv; +_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv; +_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_; +_ZNK11__gnu_debug16_Error_formatter8_M_errorEv; +_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE; +_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc; +_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_; +_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc; +_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc; +*/ +#include "debug_list.cc" +#include "debug.cc" + +_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX4hookEPS_, \ +_ZN10__gnu_norm15_List_node_base4hookEPS0_, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX4swapERS_S0_, \ +_ZN10__gnu_norm15_List_node_base4swapERS0_S1_, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX6unhookEv, \ +_ZN10__gnu_norm15_List_node_base6unhookEv, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX7reverseEv, \ +_ZN10__gnu_norm15_List_node_base7reverseEv, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX8transferEPS_S0_, \ +_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNSt13__gnu_debugXX19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb, \ +_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb, \ + GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNSt13__gnu_debugXX19_Safe_iterator_base9_M_detachEv, \ +_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNKSt13__gnu_debugXX19_Safe_iterator_base11_M_singularEv,\ +_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNKSt13__gnu_debugXX19_Safe_iterator_base14_M_can_compareERKS0_, \ +_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNSt13__gnu_debugXX19_Safe_sequence_base13_M_detach_allEv, \ +_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNSt13__gnu_debugXX19_Safe_sequence_base18_M_detach_singularEv, \ +_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNSt13__gnu_debugXX19_Safe_sequence_base22_M_revalidate_singularEv, \ +_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNSt13__gnu_debugXX19_Safe_sequence_base7_M_swapERS0_, \ +_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNKSt13__gnu_debugXX16_Error_formatter8_M_errorEv, \ +_ZNK11__gnu_debug16_Error_formatter8_M_errorEv, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNKSt13__gnu_debugXX16_Error_formatter10_M_messageENS_13_Debug_msg_idE, \ +_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNKSt13__gnu_debugXX16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc, \ +_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNKSt13__gnu_debugXX16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_, \ +_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNKSt13__gnu_debugXX16_Error_formatter13_M_print_wordEPKc, \ +_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc, \ +GLIBCXX_3.4) + +_GLIBCXX_ASM_SYMVER(_ZNKSt13__gnu_debugXX16_Error_formatter15_M_print_stringEPKc, \ +_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc, \ +GLIBCXX_3.4) + + #endif #ifdef _GLIBCXX_SYMVER_DARWIN @@ -377,12 +485,12 @@ namespace std using namespace std; extern "C" void -__eprintf (const char *string, const char *expression, - unsigned int line, const char *filename) +__eprintf(const char *string, const char *expression, + unsigned int line, const char *filename) { - fprintf (stderr, string, expression, line, filename); - fflush (stderr); - abort (); + fprintf(stderr, string, expression, line, filename); + fflush(stderr); + abort(); } #endif #endif diff --git a/libstdc++-v3/src/complex_io.cc b/libstdc++-v3/src/complex_io.cc index ba67d5e..1037958 100644 --- a/libstdc++-v3/src/complex_io.cc +++ b/libstdc++-v3/src/complex_io.cc @@ -1,6 +1,6 @@ // The template and inlines for the -*- C++ -*- complex number classes. -// Copyright (C) 2000, 2001 Free Software Foundation, Inc. +// Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -29,8 +29,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template basic_istream >& operator>>(basic_istream >&, complex&); @@ -90,4 +90,5 @@ namespace std operator<<(basic_ostream >&, const complex&); #endif //_GLIBCXX_USE_WCHAR_T -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/concept-inst.cc b/libstdc++-v3/src/concept-inst.cc index 9824da1..904f72b 100644 --- a/libstdc++-v3/src/concept-inst.cc +++ b/libstdc++-v3/src/concept-inst.cc @@ -44,8 +44,8 @@ #define _Instantiate(...) template void __function_requires< __VA_ARGS__ > () -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + template void __aux_require_boolean_expr(bool const&); _Instantiate(_ConvertibleConcept ); @@ -105,7 +105,8 @@ namespace __gnu_cxx _Instantiate(_RandomAccessIteratorConcept ); #endif -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE #undef _Instantiate diff --git a/libstdc++-v3/src/ctype.cc b/libstdc++-v3/src/ctype.cc index f978015..634c135 100644 --- a/libstdc++-v3/src/ctype.cc +++ b/libstdc++-v3/src/ctype.cc @@ -1,4 +1,4 @@ -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -28,8 +28,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Definitions for static const data members of ctype_base. const ctype_base::mask ctype_base::space; const ctype_base::mask ctype_base::print; @@ -110,5 +110,5 @@ namespace std } } #endif -} // namespace std +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/debug.cc b/libstdc++-v3/src/debug.cc index 6f32fde..9dc73ae 100644 --- a/libstdc++-v3/src/debug.cc +++ b/libstdc++-v3/src/debug.cc @@ -44,6 +44,8 @@ namespace __gnu_internal static __glibcxx_mutex_define_initialized(iterator_base_mutex); } // namespace __gnu_internal +namespace std +{ namespace __gnu_debug { const char* _S_debug_messages[] = @@ -247,8 +249,8 @@ namespace __gnu_debug _Safe_iterator_base:: _M_can_compare(const _Safe_iterator_base& __x) const { - return (!_M_singular() && !__x._M_singular() - && _M_sequence == __x._M_sequence); + return (!_M_singular() + && !__x._M_singular() && _M_sequence == __x._M_sequence); } void @@ -668,3 +670,4 @@ namespace __gnu_debug _Error_formatter::_M_format_word(char*, int, const char*, const char*) const; } // namespace __gnu_debug +} // namespace std diff --git a/libstdc++-v3/src/ext-inst.cc b/libstdc++-v3/src/ext-inst.cc index 2ce337b..0396ba4 100644 --- a/libstdc++-v3/src/ext-inst.cc +++ b/libstdc++-v3/src/ext-inst.cc @@ -39,8 +39,8 @@ namespace __gnu_internal const int min_len = __gnu_cxx::_Rope_constants::_S_max_rope_depth + 1; } -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + using namespace __gnu_internal; template @@ -66,4 +66,5 @@ namespace __gnu_cxx template class stdio_filebuf; #endif -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/fstream-inst.cc b/libstdc++-v3/src/fstream-inst.cc index 152c145..762ccb8 100644 --- a/libstdc++-v3/src/fstream-inst.cc +++ b/libstdc++-v3/src/fstream-inst.cc @@ -1,6 +1,6 @@ // Explicit instantiation file. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,29 +34,18 @@ #include -namespace std -{ - // filebuf - template class basic_filebuf >; -#ifdef _GLIBCXX_USE_WCHAR_T - template class basic_filebuf >; -#endif +_GLIBCXX_BEGIN_NAMESPACE(std) - // ifstream + template class basic_filebuf >; template class basic_ifstream; -#ifdef _GLIBCXX_USE_WCHAR_T - template class basic_ifstream; -#endif - - // ofstream template class basic_ofstream; -#ifdef _GLIBCXX_USE_WCHAR_T - template class basic_ofstream; -#endif - - // fstream template class basic_fstream; + #ifdef _GLIBCXX_USE_WCHAR_T + template class basic_filebuf >; + template class basic_ifstream; + template class basic_ofstream; template class basic_fstream; #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/functexcept.cc b/libstdc++-v3/src/functexcept.cc index 2dde0c5..80a2d9e 100644 --- a/libstdc++-v3/src/functexcept.cc +++ b/libstdc++-v3/src/functexcept.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -32,6 +32,7 @@ #include #include #include + #ifdef _GLIBCXX_USE_NLS # include # define _(msgid) gettext (msgid) @@ -39,8 +40,8 @@ # define _(msgid) (msgid) #endif -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + #if __EXCEPTIONS void __throw_bad_exception(void) @@ -154,4 +155,5 @@ namespace std __throw_ios_failure(const char*) { abort(); } #endif //__EXCEPTIONS -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/globals_io.cc b/libstdc++-v3/src/globals_io.cc index 76736fa..e531523 100644 --- a/libstdc++-v3/src/globals_io.cc +++ b/libstdc++-v3/src/globals_io.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -49,8 +49,8 @@ // In macro form: // _GLIBCXX_ASM_SYMVER(currentname, oldname, GLIBCXX_3.2) -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Standard stream objects. // NB: Iff is included, these definitions become wonky. typedef char fake_istream[sizeof(istream)] @@ -72,7 +72,8 @@ namespace std fake_wostream wcerr; fake_wostream wclog; #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE namespace __gnu_internal { diff --git a/libstdc++-v3/src/ios-inst.cc b/libstdc++-v3/src/ios-inst.cc index 83996f9..27f3e5b 100644 --- a/libstdc++-v3/src/ios-inst.cc +++ b/libstdc++-v3/src/ios-inst.cc @@ -34,11 +34,12 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template class basic_ios; #ifdef _GLIBCXX_USE_WCHAR_T template class basic_ios; #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/ios.cc b/libstdc++-v3/src/ios.cc index a642e31..fdc62b4 100644 --- a/libstdc++-v3/src/ios.cc +++ b/libstdc++-v3/src/ios.cc @@ -1,6 +1,6 @@ // Iostreams base classes -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -36,8 +36,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // XXX GLIBCXX_ABI Deprecated // Definitions for static const data members of __ios_flags. const __ios_flags::__int_type __ios_flags::_S_boolalpha; @@ -225,4 +225,5 @@ namespace std } _M_callbacks = 0; } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/ios_failure.cc b/libstdc++-v3/src/ios_failure.cc index cbe70ff..33d7ffc 100644 --- a/libstdc++-v3/src/ios_failure.cc +++ b/libstdc++-v3/src/ios_failure.cc @@ -1,6 +1,6 @@ // Iostreams base classes -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,8 +34,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + ios_base::failure::failure(const string& __str) throw() : _M_msg(__str) { } @@ -45,4 +45,5 @@ namespace std const char* ios_base::failure::what() const throw() { return _M_msg.c_str(); } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/ios_init.cc b/libstdc++-v3/src/ios_init.cc index 0c21949..7e3028e 100644 --- a/libstdc++-v3/src/ios_init.cc +++ b/libstdc++-v3/src/ios_init.cc @@ -1,6 +1,6 @@ // Iostreams base classes -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -64,8 +64,8 @@ namespace __gnu_internal #endif } // namespace __gnu_internal -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using namespace __gnu_internal; extern istream cin; @@ -196,4 +196,5 @@ namespace std } return __ret; } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/ios_locale.cc b/libstdc++-v3/src/ios_locale.cc index 1202291..5be1c92 100644 --- a/libstdc++-v3/src/ios_locale.cc +++ b/libstdc++-v3/src/ios_locale.cc @@ -1,6 +1,6 @@ // Iostreams base classes -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -35,8 +35,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Called only by basic_ios<>::init. void ios_base::_M_init() @@ -57,4 +57,5 @@ namespace std _M_call_callbacks(imbue_event); return __old; } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/iostream-inst.cc b/libstdc++-v3/src/iostream-inst.cc index 9f389e6..5da43cb 100644 --- a/libstdc++-v3/src/iostream-inst.cc +++ b/libstdc++-v3/src/iostream-inst.cc @@ -35,8 +35,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template class _Setfill; template _Setfill setfill(char); template class basic_iostream; @@ -46,4 +46,5 @@ namespace std template _Setfill setfill(wchar_t); template class basic_iostream; #endif -} + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/istream-inst.cc b/libstdc++-v3/src/istream-inst.cc index acdd5d0..d71314d 100644 --- a/libstdc++-v3/src/istream-inst.cc +++ b/libstdc++-v3/src/istream-inst.cc @@ -1,6 +1,6 @@ // Explicit instantiation file. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -35,9 +35,8 @@ #include #include -namespace std -{ - // istream +_GLIBCXX_BEGIN_NAMESPACE(std) + template class basic_istream; template istream& ws(istream&); template istream& operator>>(istream&, char&); @@ -67,4 +66,5 @@ namespace std template wistream& operator>>(wistream&, _Setprecision); template wistream& operator>>(wistream&, _Setw); #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/istream.cc b/libstdc++-v3/src/istream.cc index 07e6255..688ad16 100644 --- a/libstdc++-v3/src/istream.cc +++ b/libstdc++-v3/src/istream.cc @@ -33,8 +33,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template<> basic_istream& basic_istream:: @@ -643,4 +643,5 @@ namespace std return __in; } #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/limits.cc b/libstdc++-v3/src/limits.cc index 0280908..235ecd6 100644 --- a/libstdc++-v3/src/limits.cc +++ b/libstdc++-v3/src/limits.cc @@ -1,6 +1,6 @@ // Static data members of -*- C++ -*- numeric_limits classes -// Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 1999, 2001, 2002, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,8 +36,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + const bool __numeric_limits_base::is_specialized; const int __numeric_limits_base::digits; const int __numeric_limits_base::digits10; @@ -446,4 +446,5 @@ namespace std const bool numeric_limits::traps; const bool numeric_limits::tinyness_before; const float_round_style numeric_limits::round_style; -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/list.cc b/libstdc++-v3/src/list.cc index e2b1571..fe68ba1 100644 --- a/libstdc++-v3/src/list.cc +++ b/libstdc++-v3/src/list.cc @@ -1,6 +1,6 @@ // std::list utilities implementation -*- C++ -*- -// Copyright (C) 2003 Free Software Foundation, Inc. +// Copyright (C) 2003, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -55,8 +55,8 @@ #include -namespace _GLIBCXX_STD -{ +_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) + void _List_node_base::swap(_List_node_base& __x, _List_node_base& __y) { @@ -137,5 +137,5 @@ namespace _GLIBCXX_STD __prev_node->_M_next = __next_node; __next_node->_M_prev = __prev_node; } -} // namespace std +_GLIBCXX_END_NESTED_NAMESPACE diff --git a/libstdc++-v3/src/locale-inst.cc b/libstdc++-v3/src/locale-inst.cc index 84c7d77..fd2a8d4 100644 --- a/libstdc++-v3/src/locale-inst.cc +++ b/libstdc++-v3/src/locale-inst.cc @@ -1,6 +1,6 @@ // Locale support -*- C++ -*- -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -39,8 +39,8 @@ # define C char #endif -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // moneypunct, money_get, and money_put template class moneypunct; template class moneypunct; @@ -313,4 +313,5 @@ namespace std __int_to_char(C*, unsigned long long, const C*, ios_base::fmtflags, bool); #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/locale-misc-inst.cc b/libstdc++-v3/src/locale-misc-inst.cc index 8da1279..32b7597 100644 --- a/libstdc++-v3/src/locale-misc-inst.cc +++ b/libstdc++-v3/src/locale-misc-inst.cc @@ -1,6 +1,7 @@ // Locale support -*- C++ -*- -// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -33,8 +34,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template int __convert_from_v(char*, const int, const char*, double, @@ -44,4 +45,5 @@ namespace std int __convert_from_v(char*, const int, const char*, long double, const __c_locale&, int); -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/locale.cc b/libstdc++-v3/src/locale.cc index 5498eae..713d399 100644 --- a/libstdc++-v3/src/locale.cc +++ b/libstdc++-v3/src/locale.cc @@ -1,4 +1,4 @@ -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -41,8 +41,8 @@ namespace __gnu_internal static __glibcxx_mutex_define_initialized(locale_cache_mutex); } -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Definitions for static const data members of locale. const locale::category locale::none; const locale::category locale::ctype; @@ -401,6 +401,7 @@ namespace std _M_index = 1 + __gnu_cxx::__exchange_and_add(&_S_refcount, 1); return _M_index - 1; } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/locale_facets.cc b/libstdc++-v3/src/locale_facets.cc index 29c3c89..46de583 100644 --- a/libstdc++-v3/src/locale_facets.cc +++ b/libstdc++-v3/src/locale_facets.cc @@ -1,4 +1,4 @@ -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -28,8 +28,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Definitions for static const data members of time_base. template<> const char* @@ -89,5 +89,6 @@ namespace std *__fptr++ = (__flags & ios_base::uppercase) ? 'G' : 'g'; *__fptr = '\0'; } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/locale_init.cc b/libstdc++-v3/src/locale_init.cc index 3580509..e7fe620 100644 --- a/libstdc++-v3/src/locale_init.cc +++ b/libstdc++-v3/src/locale_init.cc @@ -93,8 +93,8 @@ namespace __gnu_internal static __glibcxx_mutex_define_initialized(locale_mutex); } // namespace __gnu_internal -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using namespace __gnu_internal; locale::locale() throw() : _M_impl(0) @@ -344,4 +344,5 @@ namespace std _M_caches[__timepunct::id._M_id()] = __tpw; #endif } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/localename.cc b/libstdc++-v3/src/localename.cc index 431a8c1..e1a1114 100644 --- a/libstdc++-v3/src/localename.cc +++ b/libstdc++-v3/src/localename.cc @@ -1,4 +1,4 @@ -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -30,8 +30,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + using namespace __gnu_cxx; locale::locale(const char* __s) : _M_impl(0) @@ -299,4 +299,5 @@ namespace std } } } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/misc-inst.cc b/libstdc++-v3/src/misc-inst.cc index d57bf9d..8cc39e3 100644 --- a/libstdc++-v3/src/misc-inst.cc +++ b/libstdc++-v3/src/misc-inst.cc @@ -37,8 +37,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // string related to iostreams template basic_istream& @@ -66,14 +66,16 @@ namespace std basic_istream& getline(basic_istream&, wstring&); #endif -} // namespace std -namespace __gnu_cxx -{ +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + template class stdio_sync_filebuf; #ifdef _GLIBCXX_USE_WCHAR_T template class stdio_sync_filebuf; #endif -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/mt_allocator.cc b/libstdc++-v3/src/mt_allocator.cc index 7f1e715..332cb17 100644 --- a/libstdc++-v3/src/mt_allocator.cc +++ b/libstdc++-v3/src/mt_allocator.cc @@ -76,8 +76,8 @@ namespace __gnu_internal #endif } -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + void __pool::_M_destroy() throw() { @@ -781,4 +781,5 @@ namespace __gnu_cxx // Instantiations. template class __mt_alloc; template class __mt_alloc; -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/ostream-inst.cc b/libstdc++-v3/src/ostream-inst.cc index 6d3189f..4568dca 100644 --- a/libstdc++-v3/src/ostream-inst.cc +++ b/libstdc++-v3/src/ostream-inst.cc @@ -1,6 +1,6 @@ // Explicit instantiation file. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -35,8 +35,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // ostream template class basic_ostream; template ostream& endl(ostream&); @@ -73,4 +73,5 @@ namespace std template wostream& operator<<(wostream&, _Setprecision); template wostream& operator<<(wostream&, _Setw); #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/pool_allocator.cc b/libstdc++-v3/src/pool_allocator.cc index 90ada30..bdcf130 100644 --- a/libstdc++-v3/src/pool_allocator.cc +++ b/libstdc++-v3/src/pool_allocator.cc @@ -40,8 +40,8 @@ namespace __gnu_internal static __glibcxx_mutex_define_initialized(palloc_init_mutex); } -namespace __gnu_cxx -{ +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) + // Definitions for __pool_alloc_base. __pool_alloc_base::_Obj* volatile* __pool_alloc_base::_M_get_free_list(size_t __bytes) @@ -170,4 +170,5 @@ namespace __gnu_cxx // Instantiations. template class __pool_alloc; template class __pool_alloc; -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/sstream-inst.cc b/libstdc++-v3/src/sstream-inst.cc index 444c996..a6f41ba 100644 --- a/libstdc++-v3/src/sstream-inst.cc +++ b/libstdc++-v3/src/sstream-inst.cc @@ -1,6 +1,6 @@ // Explicit instantiation file. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -34,29 +34,18 @@ #include -namespace std -{ - // stringbuf - template class basic_stringbuf; -#ifdef _GLIBCXX_USE_WCHAR_T - template class basic_stringbuf; -#endif +_GLIBCXX_BEGIN_NAMESPACE(std) - // istringstream + template class basic_stringbuf; template class basic_istringstream; -#ifdef _GLIBCXX_USE_WCHAR_T - template class basic_istringstream; -#endif - - // ostringstream template class basic_ostringstream; -#ifdef _GLIBCXX_USE_WCHAR_T - template class basic_ostringstream; -#endif - - // stringstream template class basic_stringstream; + #ifdef _GLIBCXX_USE_WCHAR_T + template class basic_stringbuf; + template class basic_istringstream; + template class basic_ostringstream; template class basic_stringstream; #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/stdexcept.cc b/libstdc++-v3/src/stdexcept.cc index 6007924..19ac577 100644 --- a/libstdc++-v3/src/stdexcept.cc +++ b/libstdc++-v3/src/stdexcept.cc @@ -1,6 +1,6 @@ // Methods for Exception Support for -*- C++ -*- -// Copyright (C) 1997, 1999, 2001, 2002 Free Software Foundation, Inc. +// Copyright (C) 1997, 1999, 2001, 2002, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -34,8 +34,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + logic_error::logic_error(const string& __arg) : exception(), _M_msg(__arg) { } @@ -74,5 +74,6 @@ namespace std underflow_error::underflow_error(const string& __arg) : runtime_error(__arg) { } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/streambuf-inst.cc b/libstdc++-v3/src/streambuf-inst.cc index 01397e2..d08bc0d 100644 --- a/libstdc++-v3/src/streambuf-inst.cc +++ b/libstdc++-v3/src/streambuf-inst.cc @@ -1,6 +1,6 @@ // Explicit instantiation file. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2005 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -35,22 +35,22 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // streambuf template class basic_streambuf; -#ifdef _GLIBCXX_USE_WCHAR_T - template class basic_streambuf; -#endif template streamsize - __copy_streambufs(basic_streambuf*, - basic_streambuf*); + __copy_streambufs(basic_streambuf*, basic_streambuf*); + #ifdef _GLIBCXX_USE_WCHAR_T + // wstreambuf + template class basic_streambuf; + template streamsize - __copy_streambufs(basic_streambuf*, - basic_streambuf*); + __copy_streambufs(basic_streambuf*, basic_streambuf*); #endif -} //std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/streambuf.cc b/libstdc++-v3/src/streambuf.cc index 923ff4f..75f61cc 100644 --- a/libstdc++-v3/src/streambuf.cc +++ b/libstdc++-v3/src/streambuf.cc @@ -33,8 +33,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + template<> streamsize __copy_streambufs(basic_streambuf* __sbin, @@ -100,4 +100,5 @@ namespace std return __ret; } #endif -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/string-inst.cc b/libstdc++-v3/src/string-inst.cc index cccf390..4c447e4 100644 --- a/libstdc++-v3/src/string-inst.cc +++ b/libstdc++-v3/src/string-inst.cc @@ -42,8 +42,8 @@ # define C char #endif -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + typedef basic_string S; template class basic_string; @@ -81,11 +81,12 @@ namespace std template const C* search(const C*, const C*, const C*, const C*, bool(*)(const C&, const C&)); -} // namespace std +_GLIBCXX_END_NAMESPACE + +_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) -namespace __gnu_cxx -{ using std::S; template bool operator==(const S::iterator&, const S::iterator&); template bool operator==(const S::const_iterator&, const S::const_iterator&); -} // namespace __gnu_cxx + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/strstream.cc b/libstdc++-v3/src/strstream.cc index 363d007..5bbb33a4 100644 --- a/libstdc++-v3/src/strstream.cc +++ b/libstdc++-v3/src/strstream.cc @@ -1,6 +1,6 @@ // strstream definitions -*- C++ -*- -// Copyright (C) 2001, 2002, 2003 Free Software Foundation +// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -53,8 +53,8 @@ #include #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + strstreambuf::strstreambuf(streamsize initial_capacity) : _Base(), _M_alloc_fun(0), _M_free_fun(0), _M_dynamic(true), _M_frozen(false), _M_constant(false) @@ -413,4 +413,5 @@ namespace std char* strstream::str() { return _M_buf.str(); } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/tree.cc b/libstdc++-v3/src/tree.cc index 67b1dc6..38a3037 100644 --- a/libstdc++-v3/src/tree.cc +++ b/libstdc++-v3/src/tree.cc @@ -1,6 +1,6 @@ // RB tree utilities implementation -*- C++ -*- -// Copyright (C) 2003 Free Software Foundation, Inc. +// Copyright (C) 2003, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -57,8 +57,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + _Rb_tree_node_base* _Rb_tree_increment(_Rb_tree_node_base* __x) { @@ -428,4 +428,5 @@ namespace std while (1); return __sum; } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/src/valarray-inst.cc b/libstdc++-v3/src/valarray-inst.cc index 271c108..c13e1a2 100644 --- a/libstdc++-v3/src/valarray-inst.cc +++ b/libstdc++-v3/src/valarray-inst.cc @@ -1,6 +1,6 @@ // Explicit instantiation file. -// Copyright (C) 2001, 2004 Free Software Foundation, Inc. +// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -33,8 +33,8 @@ #include -namespace std -{ +_GLIBCXX_BEGIN_NAMESPACE(std) + // Some explicit instantiations. template void __valarray_fill(size_t* __restrict__, size_t, const size_t&); @@ -112,4 +112,5 @@ namespace std : _M_count(1), _M_start(__o), _M_size(__l), _M_stride(__s), _M_index(__l.size() == 0 ? 0 : __valarray_product(__l)) { __gslice_to_index(__o, __l, __s, _M_index); } -} // namespace std + +_GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc index cf4041d..cab11c9 100644 --- a/libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc +++ b/libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc @@ -47,4 +47,4 @@ main() return 0; } // { dg-error "candidates" "" { target *-*-* } 223 } -// { dg-error "std::auto_ptr" "" { target *-*-* } 353 } +// { dg-error "::auto_ptr" "" { target *-*-* } 353 } diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/2.cc index ed539e0..8c6c687 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/2.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/2.cc @@ -32,5 +32,5 @@ // { dg-do compile } // libstdc++/21770 -template class __gnu_debug::basic_string, - std::allocator >; +template class debug::basic_string, + std::allocator >; diff --git a/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc b/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc index f70a4b8..af24d04 100644 --- a/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc +++ b/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc @@ -22,7 +22,7 @@ // libstdc++/16020 void test01() { - using __gnu_debug::bitset; + using debug::bitset; bool test __attribute__((unused)) = true; bitset<5> b(7); diff --git a/libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc index d5a3674..0be47f2 100644 --- a/libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc @@ -21,7 +21,7 @@ #include #include -using __gnu_debug::bitset; +using debug::bitset; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc b/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc index 4df035e..7bb6688 100644 --- a/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc +++ b/libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc @@ -22,7 +22,7 @@ // libstdc++/13838 void test01() { - using __gnu_debug::bitset; + using debug::bitset; bool test __attribute__((unused)) = true; bitset<4> b0, b1; diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc index 963673a..83f69dd 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc @@ -21,7 +21,7 @@ #include #include -using __gnu_debug::deque; +using debug::deque; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc index 39f4ac7..2e179f5 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc @@ -21,7 +21,7 @@ #include #include -using __gnu_debug::deque; +using debug::deque; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc index 96759da..f7abfcf 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc @@ -21,7 +21,7 @@ #include #include -using __gnu_debug::deque; +using debug::deque; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc index 40ee6a2..1ee3061 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc @@ -21,7 +21,7 @@ #include #include -using __gnu_debug::deque; +using debug::deque; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc index 940d9aa..3ae8525 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc @@ -22,7 +22,7 @@ #include #include -using __gnu_debug::list; +using debug::list; using std::advance; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc index 242e18c..9889c51 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc @@ -22,7 +22,7 @@ #include #include -using __gnu_debug::list; +using debug::list; using std::advance; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc index b19e2c6..a224123 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc +++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc @@ -22,7 +22,7 @@ #include #include -using __gnu_debug::list; +using debug::list; using std::advance; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc index 4d5465c..2da0867 100644 --- a/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc +++ b/libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc @@ -22,7 +22,7 @@ #include #include -using __gnu_debug::list; +using debug::list; using std::advance; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc b/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc index c2bf4f0..1132aad 100644 --- a/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc +++ b/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc @@ -22,7 +22,7 @@ // libstdc++/16813 void test01() { - using __gnu_debug::map; + using debug::map; bool test __attribute__((unused)) = true; map m1, m2; diff --git a/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc index 9965c85..b3665e6 100644 --- a/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc @@ -22,7 +22,7 @@ #include #include -using __gnu_debug::map; +using debug::map; using std::advance; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc index fcb4601..9b596e4 100644 --- a/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc @@ -22,7 +22,7 @@ #include #include -using __gnu_debug::map; +using debug::map; using std::advance; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc index ca6d253..c2ae547 100644 --- a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc @@ -23,7 +23,7 @@ #include #include -using __gnu_debug::multimap; +using debug::multimap; using std::advance; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc index 11f998f..23ad5b3 100644 --- a/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc @@ -23,7 +23,7 @@ #include #include -using __gnu_debug::multimap; +using debug::multimap; using std::advance; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc index e9082d5..2ed58cc 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc @@ -22,7 +22,7 @@ #include #include -using __gnu_debug::multiset; +using debug::multiset; using std::advance; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc index cb289b3..ac76615 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc @@ -22,7 +22,7 @@ #include #include -using __gnu_debug::multiset; +using debug::multiset; using std::advance; // Erase diff --git a/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc index bbf17be..5cebadb 100644 --- a/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc @@ -22,7 +22,7 @@ #include #include -using __gnu_debug::set; +using debug::set; using std::advance; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc index cfe2f58..6c3c8de 100644 --- a/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc @@ -22,7 +22,7 @@ #include #include -using __gnu_debug::set; +using debug::set; using std::advance; // Erase diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc index a38e628..8e5a154 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc @@ -28,7 +28,7 @@ #include #include -using __gnu_debug::vector; +using debug::vector; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc index 674c21c..76b7849 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc @@ -28,7 +28,7 @@ #include #include -using __gnu_debug::vector; +using debug::vector; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc index 0509383..b182e04 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc @@ -28,7 +28,7 @@ #include #include -using __gnu_debug::vector; +using debug::vector; bool test = true; diff --git a/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc b/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc index 9010f9e..540e60e 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc @@ -28,7 +28,7 @@ #include #include -using __gnu_debug::vector; +using debug::vector; bool test = true; diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in index 0d9ba5a..d715d62 100644 --- a/libstdc++-v3/testsuite/Makefile.in +++ b/libstdc++-v3/testsuite/Makefile.in @@ -107,6 +107,8 @@ ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@ ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@ ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@ ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ +ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@ ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@ EXEEXT = @EXEEXT@ diff --git a/libstdc++-v3/testsuite/ext/hash_map/1.cc b/libstdc++-v3/testsuite/ext/hash_map/1.cc index af018fc..2062cb0 100644 --- a/libstdc++-v3/testsuite/ext/hash_map/1.cc +++ b/libstdc++-v3/testsuite/ext/hash_map/1.cc @@ -23,11 +23,10 @@ #include #include -using namespace std; -using namespace __gnu_cxx; - namespace __gnu_cxx { + using std::string; + inline size_t hash_string(const char* s) { unsigned long h; @@ -63,19 +62,22 @@ namespace __gnu_cxx }; } - -const int Size = 5; - void test01() { + const int Size = 5; bool test __attribute__((unused)) = true; + using std::string; + using std::pair; + using std::vector; + using __gnu_cxx::hash_map; + for (int i = 0; i < 10; i++) { - hash_map a; - hash_map b; + hash_map a; + hash_map b; - vector > contents (Size); + vector > contents (Size); for (int j = 0; j < Size; j++) { string s; diff --git a/libstdc++-v3/testsuite/ext/hash_map/14648.cc b/libstdc++-v3/testsuite/ext/hash_map/14648.cc index e78e1c0..91f8240 100644 --- a/libstdc++-v3/testsuite/ext/hash_map/14648.cc +++ b/libstdc++-v3/testsuite/ext/hash_map/14648.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004 Free Software Foundation +// Copyright (C) 2004, 2005 Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -23,14 +23,13 @@ // libstdc++/14648 void test01() { - using namespace std; using namespace __gnu_cxx; - typedef hash_map, equal_to > maptype; + typedef hash_map, std::equal_to > maptype; maptype m; m['l'] = "50"; m['x'] = "10"; - cout << "m['x'] = " << m['x'] << endl; + std::cout << "m['x'] = " << m['x'] << std::endl; } int main() diff --git a/libstdc++-v3/testsuite/testsuite_character.h b/libstdc++-v3/testsuite/testsuite_character.h index 3d6a3f2..c43db15 100644 --- a/libstdc++-v3/testsuite/testsuite_character.h +++ b/libstdc++-v3/testsuite/testsuite_character.h @@ -74,7 +74,8 @@ namespace __gnu_test typedef character pod_uint; } -namespace __gnu_cxx { +namespace __gnu_cxx +{ // Specializations. // pod_char template<> -- 2.7.4