summaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog153
-rw-r--r--libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver27
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver6
-rw-r--r--libstdc++-v3/config/cpu/cris/atomicity.h7
-rw-r--r--libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h7
-rw-r--r--libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h7
-rw-r--r--libstdc++-v3/config/cpu/hppa/atomicity.h7
-rw-r--r--libstdc++-v3/config/cpu/i386/atomicity.h7
-rw-r--r--libstdc++-v3/config/cpu/i486/atomicity.h7
-rw-r--r--libstdc++-v3/config/cpu/ia64/atomic_word.h2
-rw-r--r--libstdc++-v3/config/cpu/m68k/atomicity.h7
-rw-r--r--libstdc++-v3/config/cpu/sh/atomicity.h14
-rw-r--r--libstdc++-v3/config/cpu/sparc/atomicity.h7
-rw-r--r--libstdc++-v3/config/io/basic_file_stdio.cc7
-rw-r--r--libstdc++-v3/config/io/basic_file_stdio.h7
-rw-r--r--libstdc++-v3/config/io/c_io_stdio.h7
-rw-r--r--libstdc++-v3/config/locale/darwin/ctype_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/c_locale.cc21
-rw-r--r--libstdc++-v3/config/locale/generic/c_locale.h7
-rw-r--r--libstdc++-v3/config/locale/generic/codecvt_members.cc7
-rw-r--r--libstdc++-v3/config/locale/generic/collate_members.cc7
-rw-r--r--libstdc++-v3/config/locale/generic/ctype_members.cc7
-rw-r--r--libstdc++-v3/config/locale/generic/messages_members.cc7
-rw-r--r--libstdc++-v3/config/locale/generic/messages_members.h7
-rw-r--r--libstdc++-v3/config/locale/generic/monetary_members.cc7
-rw-r--r--libstdc++-v3/config/locale/generic/numeric_members.cc7
-rw-r--r--libstdc++-v3/config/locale/generic/time_members.cc7
-rw-r--r--libstdc++-v3/config/locale/generic/time_members.h7
-rw-r--r--libstdc++-v3/config/locale/gnu/c_locale.cc21
-rw-r--r--libstdc++-v3/config/locale/gnu/c_locale.h14
-rw-r--r--libstdc++-v3/config/locale/gnu/codecvt_members.cc7
-rw-r--r--libstdc++-v3/config/locale/gnu/collate_members.cc7
-rw-r--r--libstdc++-v3/config/locale/gnu/ctype_members.cc7
-rw-r--r--libstdc++-v3/config/locale/gnu/messages_members.cc7
-rw-r--r--libstdc++-v3/config/locale/gnu/messages_members.h7
-rw-r--r--libstdc++-v3/config/locale/gnu/monetary_members.cc7
-rw-r--r--libstdc++-v3/config/locale/gnu/numeric_members.cc7
-rw-r--r--libstdc++-v3/config/locale/gnu/time_members.cc7
-rw-r--r--libstdc++-v3/config/locale/gnu/time_members.h7
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc2
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h7
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc2
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h7
-rw-r--r--libstdc++-v3/config/os/aix/atomicity.h7
-rw-r--r--libstdc++-v3/config/os/aix/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/aix/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/bionic/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/bionic/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/bsd/netbsd/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/djgpp/error_constants.h7
-rw-r--r--libstdc++-v3/config/os/generic/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/generic/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/generic/error_constants.h7
-rw-r--r--libstdc++-v3/config/os/gnu-linux/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/gnu-linux/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/hpux/os_defines.h7
-rw-r--r--libstdc++-v3/config/os/irix/atomicity.h7
-rw-r--r--libstdc++-v3/config/os/irix/irix6.5/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/mingw32/error_constants.h7
-rw-r--r--libstdc++-v3/config/os/newlib/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/newlib/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/uclibc/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/uclibc/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_inline.h7
-rw-r--r--libstdc++-v3/doc/doxygen/user.cfg.in22
-rw-r--r--libstdc++-v3/include/backward/auto_ptr.h7
-rw-r--r--libstdc++-v3/include/backward/binders.h7
-rw-r--r--libstdc++-v3/include/backward/hash_fun.h7
-rw-r--r--libstdc++-v3/include/backward/hash_map14
-rw-r--r--libstdc++-v3/include/backward/hash_set14
-rw-r--r--libstdc++-v3/include/backward/hashtable.h7
-rw-r--r--libstdc++-v3/include/backward/strstream7
-rw-r--r--libstdc++-v3/include/bits/algorithmfwd.h11
-rw-r--r--libstdc++-v3/include/bits/allocator.h7
-rw-r--r--libstdc++-v3/include/bits/atomic_0.h7
-rw-r--r--libstdc++-v3/include/bits/atomic_2.h7
-rw-r--r--libstdc++-v3/include/bits/atomic_base.h7
-rw-r--r--libstdc++-v3/include/bits/basic_ios.h7
-rw-r--r--libstdc++-v3/include/bits/basic_ios.tcc7
-rw-r--r--libstdc++-v3/include/bits/basic_string.h21
-rw-r--r--libstdc++-v3/include/bits/basic_string.tcc7
-rw-r--r--libstdc++-v3/include/bits/boost_concept_check.h7
-rw-r--r--libstdc++-v3/include/bits/c++config428
-rw-r--r--libstdc++-v3/include/bits/char_traits.h21
-rw-r--r--libstdc++-v3/include/bits/codecvt.h7
-rw-r--r--libstdc++-v3/include/bits/cpp_type_traits.h14
-rw-r--r--libstdc++-v3/include/bits/deque.tcc9
-rw-r--r--libstdc++-v3/include/bits/forward_list.h9
-rw-r--r--libstdc++-v3/include/bits/forward_list.tcc9
-rw-r--r--libstdc++-v3/include/bits/fstream.tcc7
-rw-r--r--libstdc++-v3/include/bits/functexcept.h7
-rw-r--r--libstdc++-v3/include/bits/functional_hash.h7
-rw-r--r--libstdc++-v3/include/bits/gslice.h7
-rw-r--r--libstdc++-v3/include/bits/gslice_array.h7
-rw-r--r--libstdc++-v3/include/bits/hashtable.h7
-rw-r--r--libstdc++-v3/include/bits/hashtable_policy.h11
-rw-r--r--libstdc++-v3/include/bits/indirect_array.h7
-rw-r--r--libstdc++-v3/include/bits/ios_base.h7
-rw-r--r--libstdc++-v3/include/bits/istream.tcc7
-rw-r--r--libstdc++-v3/include/bits/list.tcc11
-rw-r--r--libstdc++-v3/include/bits/locale_classes.h7
-rw-r--r--libstdc++-v3/include/bits/locale_classes.tcc7
-rw-r--r--libstdc++-v3/include/bits/locale_facets.h18
-rw-r--r--libstdc++-v3/include/bits/locale_facets.tcc23
-rw-r--r--libstdc++-v3/include/bits/locale_facets_nonio.h18
-rw-r--r--libstdc++-v3/include/bits/locale_facets_nonio.tcc19
-rw-r--r--libstdc++-v3/include/bits/localefwd.h15
-rw-r--r--libstdc++-v3/include/bits/mask_array.h7
-rw-r--r--libstdc++-v3/include/bits/move.h21
-rw-r--r--libstdc++-v3/include/bits/ostream.tcc7
-rw-r--r--libstdc++-v3/include/bits/ostream_insert.h7
-rw-r--r--libstdc++-v3/include/bits/postypes.h7
-rw-r--r--libstdc++-v3/include/bits/random.h16
-rw-r--r--libstdc++-v3/include/bits/random.tcc15
-rw-r--r--libstdc++-v3/include/bits/range_access.h7
-rw-r--r--libstdc++-v3/include/bits/regex.h7
-rw-r--r--libstdc++-v3/include/bits/regex_compiler.h7
-rw-r--r--libstdc++-v3/include/bits/regex_constants.h12
-rw-r--r--libstdc++-v3/include/bits/regex_cursor.h7
-rw-r--r--libstdc++-v3/include/bits/regex_error.h16
-rw-r--r--libstdc++-v3/include/bits/regex_grep_matcher.h7
-rw-r--r--libstdc++-v3/include/bits/regex_grep_matcher.tcc7
-rw-r--r--libstdc++-v3/include/bits/regex_nfa.h7
-rw-r--r--libstdc++-v3/include/bits/regex_nfa.tcc7
-rw-r--r--libstdc++-v3/include/bits/shared_ptr.h7
-rw-r--r--libstdc++-v3/include/bits/shared_ptr_base.h7
-rw-r--r--libstdc++-v3/include/bits/slice_array.h7
-rw-r--r--libstdc++-v3/include/bits/sstream.tcc7
-rw-r--r--libstdc++-v3/include/bits/stl_algo.h57
-rw-r--r--libstdc++-v3/include/bits/stl_algobase.h15
-rw-r--r--libstdc++-v3/include/bits/stl_bvector.h31
-rw-r--r--libstdc++-v3/include/bits/stl_construct.h7
-rw-r--r--libstdc++-v3/include/bits/stl_deque.h11
-rw-r--r--libstdc++-v3/include/bits/stl_function.h7
-rw-r--r--libstdc++-v3/include/bits/stl_heap.h7
-rw-r--r--libstdc++-v3/include/bits/stl_iterator.h21
-rw-r--r--libstdc++-v3/include/bits/stl_iterator_base_funcs.h7
-rw-r--r--libstdc++-v3/include/bits/stl_iterator_base_types.h7
-rw-r--r--libstdc++-v3/include/bits/stl_list.h86
-rw-r--r--libstdc++-v3/include/bits/stl_map.h11
-rw-r--r--libstdc++-v3/include/bits/stl_multimap.h11
-rw-r--r--libstdc++-v3/include/bits/stl_multiset.h11
-rw-r--r--libstdc++-v3/include/bits/stl_numeric.h18
-rw-r--r--libstdc++-v3/include/bits/stl_pair.h7
-rw-r--r--libstdc++-v3/include/bits/stl_queue.h7
-rw-r--r--libstdc++-v3/include/bits/stl_raw_storage_iter.h7
-rw-r--r--libstdc++-v3/include/bits/stl_relops.h11
-rw-r--r--libstdc++-v3/include/bits/stl_set.h42
-rw-r--r--libstdc++-v3/include/bits/stl_stack.h7
-rw-r--r--libstdc++-v3/include/bits/stl_tempbuf.h7
-rw-r--r--libstdc++-v3/include/bits/stl_tree.h7
-rw-r--r--libstdc++-v3/include/bits/stl_uninitialized.h7
-rw-r--r--libstdc++-v3/include/bits/stl_vector.h11
-rw-r--r--libstdc++-v3/include/bits/stream_iterator.h7
-rw-r--r--libstdc++-v3/include/bits/streambuf.tcc7
-rw-r--r--libstdc++-v3/include/bits/streambuf_iterator.h7
-rw-r--r--libstdc++-v3/include/bits/stringfwd.h7
-rw-r--r--libstdc++-v3/include/bits/unique_ptr.h7
-rw-r--r--libstdc++-v3/include/bits/unordered_map.h11
-rw-r--r--libstdc++-v3/include/bits/unordered_set.h11
-rw-r--r--libstdc++-v3/include/bits/valarray_after.h7
-rw-r--r--libstdc++-v3/include/bits/valarray_array.h7
-rw-r--r--libstdc++-v3/include/bits/valarray_array.tcc7
-rw-r--r--libstdc++-v3/include/bits/valarray_before.h7
-rw-r--r--libstdc++-v3/include/bits/vector.tcc26
-rw-r--r--libstdc++-v3/include/c/cmath2
-rw-r--r--libstdc++-v3/include/c/cwchar2
-rw-r--r--libstdc++-v3/include/c_compatibility/fenv.h7
-rw-r--r--libstdc++-v3/include/c_compatibility/inttypes.h7
-rw-r--r--libstdc++-v3/include/c_compatibility/stdint.h7
-rw-r--r--libstdc++-v3/include/c_global/cctype14
-rw-r--r--libstdc++-v3/include/c_global/cfenv7
-rw-r--r--libstdc++-v3/include/c_global/cinttypes7
-rw-r--r--libstdc++-v3/include/c_global/clocale7
-rw-r--r--libstdc++-v3/include/c_global/cmath21
-rw-r--r--libstdc++-v3/include/c_global/csetjmp7
-rw-r--r--libstdc++-v3/include/c_global/csignal7
-rw-r--r--libstdc++-v3/include/c_global/cstdarg7
-rw-r--r--libstdc++-v3/include/c_global/cstdint7
-rw-r--r--libstdc++-v3/include/c_global/cstdio21
-rw-r--r--libstdc++-v3/include/c_global/cstdlib35
-rw-r--r--libstdc++-v3/include/c_global/cstring7
-rw-r--r--libstdc++-v3/include/c_global/ctime7
-rw-r--r--libstdc++-v3/include/c_global/cwchar37
-rw-r--r--libstdc++-v3/include/c_global/cwctype14
-rw-r--r--libstdc++-v3/include/c_std/cctype7
-rw-r--r--libstdc++-v3/include/c_std/clocale7
-rw-r--r--libstdc++-v3/include/c_std/cmath14
-rw-r--r--libstdc++-v3/include/c_std/csetjmp7
-rw-r--r--libstdc++-v3/include/c_std/csignal7
-rw-r--r--libstdc++-v3/include/c_std/cstdarg7
-rw-r--r--libstdc++-v3/include/c_std/cstdio21
-rw-r--r--libstdc++-v3/include/c_std/cstdlib28
-rw-r--r--libstdc++-v3/include/c_std/cstring7
-rw-r--r--libstdc++-v3/include/c_std/ctime7
-rw-r--r--libstdc++-v3/include/c_std/cwchar28
-rw-r--r--libstdc++-v3/include/c_std/cwctype7
-rw-r--r--libstdc++-v3/include/debug/bitset8
-rw-r--r--libstdc++-v3/include/debug/debug.h2
-rw-r--r--libstdc++-v3/include/debug/deque6
-rw-r--r--libstdc++-v3/include/debug/forward_list6
-rw-r--r--libstdc++-v3/include/debug/list6
-rw-r--r--libstdc++-v3/include/debug/map.h6
-rw-r--r--libstdc++-v3/include/debug/multimap.h6
-rw-r--r--libstdc++-v3/include/debug/multiset.h6
-rw-r--r--libstdc++-v3/include/debug/set.h6
-rw-r--r--libstdc++-v3/include/debug/unordered_map10
-rw-r--r--libstdc++-v3/include/debug/unordered_set10
-rw-r--r--libstdc++-v3/include/debug/vector8
-rw-r--r--libstdc++-v3/include/decimal/decimal7
-rw-r--r--libstdc++-v3/include/decimal/decimal.h12
-rw-r--r--libstdc++-v3/include/ext/algorithm7
-rw-r--r--libstdc++-v3/include/ext/array_allocator.h7
-rw-r--r--libstdc++-v3/include/ext/atomicity.h7
-rw-r--r--libstdc++-v3/include/ext/bitmap_allocator.h14
-rw-r--r--libstdc++-v3/include/ext/cast.h7
-rw-r--r--libstdc++-v3/include/ext/codecvt_specializations.h14
-rw-r--r--libstdc++-v3/include/ext/concurrence.h7
-rw-r--r--libstdc++-v3/include/ext/debug_allocator.h7
-rw-r--r--libstdc++-v3/include/ext/enc_filebuf.h7
-rw-r--r--libstdc++-v3/include/ext/extptr_allocator.h7
-rw-r--r--libstdc++-v3/include/ext/functional7
-rw-r--r--libstdc++-v3/include/ext/iterator7
-rw-r--r--libstdc++-v3/include/ext/malloc_allocator.h7
-rw-r--r--libstdc++-v3/include/ext/memory7
-rw-r--r--libstdc++-v3/include/ext/mt_allocator.h7
-rw-r--r--libstdc++-v3/include/ext/new_allocator.h7
-rw-r--r--libstdc++-v3/include/ext/numeric7
-rw-r--r--libstdc++-v3/include/ext/numeric_traits.h7
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pod_char_traits.h14
-rw-r--r--libstdc++-v3/include/ext/pointer.h7
-rw-r--r--libstdc++-v3/include/ext/pool_allocator.h7
-rw-r--r--libstdc++-v3/include/ext/rb_tree7
-rw-r--r--libstdc++-v3/include/ext/rc_string_base.h7
-rw-r--r--libstdc++-v3/include/ext/rope15
-rw-r--r--libstdc++-v3/include/ext/ropeimpl.h7
-rw-r--r--libstdc++-v3/include/ext/slist14
-rw-r--r--libstdc++-v3/include/ext/sso_string_base.h7
-rw-r--r--libstdc++-v3/include/ext/stdio_filebuf.h7
-rw-r--r--libstdc++-v3/include/ext/stdio_sync_filebuf.h7
-rw-r--r--libstdc++-v3/include/ext/string_conversions.h7
-rw-r--r--libstdc++-v3/include/ext/throw_allocator.h9
-rw-r--r--libstdc++-v3/include/ext/type_traits.h7
-rw-r--r--libstdc++-v3/include/ext/typelist.h21
-rw-r--r--libstdc++-v3/include/ext/vstring.h21
-rw-r--r--libstdc++-v3/include/ext/vstring.tcc14
-rw-r--r--libstdc++-v3/include/ext/vstring_fwd.h7
-rw-r--r--libstdc++-v3/include/ext/vstring_util.h7
-rw-r--r--libstdc++-v3/include/parallel/algo.h128
-rw-r--r--libstdc++-v3/include/parallel/algobase.h22
-rw-r--r--libstdc++-v3/include/parallel/algorithmfwd.h2
-rw-r--r--libstdc++-v3/include/parallel/base.h6
-rw-r--r--libstdc++-v3/include/parallel/numeric20
-rw-r--r--libstdc++-v3/include/parallel/numericfwd.h2
-rw-r--r--libstdc++-v3/include/profile/base.h2
-rw-r--r--libstdc++-v3/include/profile/bitset8
-rw-r--r--libstdc++-v3/include/profile/deque6
-rw-r--r--libstdc++-v3/include/profile/forward_list6
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_node.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_trace.h6
-rw-r--r--libstdc++-v3/include/profile/iterator_tracker.h2
-rw-r--r--libstdc++-v3/include/profile/list6
-rw-r--r--libstdc++-v3/include/profile/map.h6
-rw-r--r--libstdc++-v3/include/profile/multimap.h6
-rw-r--r--libstdc++-v3/include/profile/multiset.h6
-rw-r--r--libstdc++-v3/include/profile/set.h6
-rw-r--r--libstdc++-v3/include/profile/unordered_map6
-rw-r--r--libstdc++-v3/include/profile/unordered_set6
-rw-r--r--libstdc++-v3/include/profile/vector8
-rw-r--r--libstdc++-v3/include/std/array7
-rw-r--r--libstdc++-v3/include/std/atomic7
-rw-r--r--libstdc++-v3/include/std/bitset26
-rw-r--r--libstdc++-v3/include/std/chrono24
-rw-r--r--libstdc++-v3/include/std/complex21
-rw-r--r--libstdc++-v3/include/std/condition_variable7
-rw-r--r--libstdc++-v3/include/std/fstream7
-rw-r--r--libstdc++-v3/include/std/functional17
-rw-r--r--libstdc++-v3/include/std/future7
-rw-r--r--libstdc++-v3/include/std/iomanip7
-rw-r--r--libstdc++-v3/include/std/iosfwd7
-rw-r--r--libstdc++-v3/include/std/iostream7
-rw-r--r--libstdc++-v3/include/std/istream7
-rw-r--r--libstdc++-v3/include/std/limits7
-rw-r--r--libstdc++-v3/include/std/mutex7
-rw-r--r--libstdc++-v3/include/std/ostream7
-rw-r--r--libstdc++-v3/include/std/ratio7
-rw-r--r--libstdc++-v3/include/std/sstream7
-rw-r--r--libstdc++-v3/include/std/stdexcept7
-rw-r--r--libstdc++-v3/include/std/streambuf7
-rw-r--r--libstdc++-v3/include/std/system_error14
-rw-r--r--libstdc++-v3/include/std/thread15
-rw-r--r--libstdc++-v3/include/std/tuple7
-rw-r--r--libstdc++-v3/include/std/type_traits7
-rw-r--r--libstdc++-v3/include/std/typeindex7
-rw-r--r--libstdc++-v3/include/std/utility7
-rw-r--r--libstdc++-v3/include/std/valarray21
-rw-r--r--libstdc++-v3/include/tr1/array6
-rw-r--r--libstdc++-v3/include/tr1/bessel_function.tcc9
-rw-r--r--libstdc++-v3/include/tr1/beta_function.tcc5
-rw-r--r--libstdc++-v3/include/tr1/cctype2
-rw-r--r--libstdc++-v3/include/tr1/cfenv2
-rw-r--r--libstdc++-v3/include/tr1/cinttypes2
-rw-r--r--libstdc++-v3/include/tr1/cmath16
-rw-r--r--libstdc++-v3/include/tr1/complex6
-rw-r--r--libstdc++-v3/include/tr1/cstdint2
-rw-r--r--libstdc++-v3/include/tr1/cstdio2
-rw-r--r--libstdc++-v3/include/tr1/cstdlib2
-rw-r--r--libstdc++-v3/include/tr1/cwchar2
-rw-r--r--libstdc++-v3/include/tr1/cwctype2
-rw-r--r--libstdc++-v3/include/tr1/ell_integral.tcc5
-rw-r--r--libstdc++-v3/include/tr1/exp_integral.tcc5
-rw-r--r--libstdc++-v3/include/tr1/functional13
-rw-r--r--libstdc++-v3/include/tr1/functional_hash.h6
-rw-r--r--libstdc++-v3/include/tr1/gamma.tcc4
-rw-r--r--libstdc++-v3/include/tr1/hashtable.h12
-rw-r--r--libstdc++-v3/include/tr1/hashtable_policy.h7
-rw-r--r--libstdc++-v3/include/tr1/hypergeometric.tcc5
-rw-r--r--libstdc++-v3/include/tr1/legendre_function.tcc5
-rw-r--r--libstdc++-v3/include/tr1/modified_bessel_func.tcc5
-rw-r--r--libstdc++-v3/include/tr1/poly_hermite.tcc5
-rw-r--r--libstdc++-v3/include/tr1/poly_laguerre.tcc6
-rw-r--r--libstdc++-v3/include/tr1/random.h9
-rw-r--r--libstdc++-v3/include/tr1/random.tcc8
-rw-r--r--libstdc++-v3/include/tr1/regex16
-rw-r--r--libstdc++-v3/include/tr1/riemann_zeta.tcc5
-rw-r--r--libstdc++-v3/include/tr1/shared_ptr.h6
-rw-r--r--libstdc++-v3/include/tr1/special_function_util.h6
-rw-r--r--libstdc++-v3/include/tr1/tuple6
-rw-r--r--libstdc++-v3/include/tr1/type_traits6
-rw-r--r--libstdc++-v3/include/tr1/unordered_map.h8
-rw-r--r--libstdc++-v3/include/tr1/unordered_set.h8
-rw-r--r--libstdc++-v3/include/tr1/utility8
-rw-r--r--libstdc++-v3/libsupc++/del_op.cc7
-rw-r--r--libstdc++-v3/libsupc++/exception7
-rw-r--r--libstdc++-v3/libsupc++/hash_bytes.cc7
-rw-r--r--libstdc++-v3/libsupc++/hash_bytes.h7
-rw-r--r--libstdc++-v3/libsupc++/vterminate.cc7
-rw-r--r--libstdc++-v3/src/Makefile.am22
-rw-r--r--libstdc++-v3/src/Makefile.in35
-rw-r--r--libstdc++-v3/src/allocator-inst.cc7
-rw-r--r--libstdc++-v3/src/atomic.cc7
-rw-r--r--libstdc++-v3/src/bitmap_allocator.cc13
-rw-r--r--libstdc++-v3/src/chrono.cc15
-rw-r--r--libstdc++-v3/src/codecvt.cc7
-rw-r--r--libstdc++-v3/src/compatibility-c++0x.cc2
-rw-r--r--libstdc++-v3/src/compatibility-debug_list-2.cc (renamed from libstdc++-v3/src/debug_list.cc)10
-rw-r--r--libstdc++-v3/src/compatibility-debug_list.cc5
-rw-r--r--libstdc++-v3/src/compatibility-ldbl.cc4
-rw-r--r--libstdc++-v3/src/compatibility-list-2.cc111
-rw-r--r--libstdc++-v3/src/compatibility-list.cc61
-rw-r--r--libstdc++-v3/src/compatibility-parallel_list-2.cc (renamed from libstdc++-v3/src/parallel_list.cc)9
-rw-r--r--libstdc++-v3/src/compatibility-parallel_list.cc5
-rw-r--r--libstdc++-v3/src/compatibility.cc35
-rw-r--r--libstdc++-v3/src/complex_io.cc7
-rw-r--r--libstdc++-v3/src/concept-inst.cc7
-rw-r--r--libstdc++-v3/src/condition_variable.cc7
-rw-r--r--libstdc++-v3/src/ctype.cc7
-rw-r--r--libstdc++-v3/src/ext-inst.cc7
-rw-r--r--libstdc++-v3/src/fstream-inst.cc7
-rw-r--r--libstdc++-v3/src/functexcept.cc7
-rw-r--r--libstdc++-v3/src/future.cc9
-rw-r--r--libstdc++-v3/src/globals_io.cc11
-rw-r--r--libstdc++-v3/src/hash_c++0x.cc2
-rw-r--r--libstdc++-v3/src/hash_tr1.cc2
-rw-r--r--libstdc++-v3/src/hashtable-aux.cc6
-rw-r--r--libstdc++-v3/src/hashtable_c++0x.cc7
-rw-r--r--libstdc++-v3/src/hashtable_tr1.cc6
-rw-r--r--libstdc++-v3/src/ios-inst.cc7
-rw-r--r--libstdc++-v3/src/ios.cc7
-rw-r--r--libstdc++-v3/src/ios_failure.cc7
-rw-r--r--libstdc++-v3/src/ios_init.cc11
-rw-r--r--libstdc++-v3/src/ios_locale.cc7
-rw-r--r--libstdc++-v3/src/iostream-inst.cc7
-rw-r--r--libstdc++-v3/src/istream-inst.cc7
-rw-r--r--libstdc++-v3/src/istream.cc7
-rw-r--r--libstdc++-v3/src/limits.cc7
-rw-r--r--libstdc++-v3/src/list.cc156
-rw-r--r--libstdc++-v3/src/locale-inst.cc17
-rw-r--r--libstdc++-v3/src/locale.cc7
-rw-r--r--libstdc++-v3/src/locale_facets.cc7
-rw-r--r--libstdc++-v3/src/locale_init.cc7
-rw-r--r--libstdc++-v3/src/localename.cc7
-rw-r--r--libstdc++-v3/src/misc-inst.cc14
-rw-r--r--libstdc++-v3/src/mt_allocator.cc7
-rw-r--r--libstdc++-v3/src/mutex.cc9
-rw-r--r--libstdc++-v3/src/ostream-inst.cc7
-rw-r--r--libstdc++-v3/src/placeholders.cc4
-rw-r--r--libstdc++-v3/src/pool_allocator.cc7
-rw-r--r--libstdc++-v3/src/sstream-inst.cc7
-rw-r--r--libstdc++-v3/src/stdexcept.cc7
-rw-r--r--libstdc++-v3/src/streambuf-inst.cc7
-rw-r--r--libstdc++-v3/src/streambuf.cc7
-rw-r--r--libstdc++-v3/src/string-inst.cc14
-rw-r--r--libstdc++-v3/src/strstream.cc7
-rw-r--r--libstdc++-v3/src/system_error.cc7
-rw-r--r--libstdc++-v3/src/thread.cc11
-rw-r--r--libstdc++-v3/src/tree.cc7
-rw-r--r--libstdc++-v3/src/valarray-inst.cc7
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc10
-rw-r--r--libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/c_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/f_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc14
-rw-r--r--libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc20
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort/35588.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/profile/profiler_algos.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc4
461 files changed, 3210 insertions, 1789 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 063d57d5a4a..62bbf8b9452 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,10 +1,105 @@
+2011-01-30 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/36104 part four
+ * include/bits/c++config (_GLIBCXX_STD): Remove.
+ (_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
+ (_GLIBCXX_P): Now _GLIBCXX_STD_A.
+ (_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
+ _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
+ (_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
+ _GLIBCXX_INLINE_PROFILE): Remove.
+ (_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
+ (_GLIBCXX_END_NAMESPACE): Remove.
+ (_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
+ (_GLIBCXX_END_NESTED_NAMESPACE): Remove.
+ (_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
+ (_GLIBCXX_END_NAMESPACE_ALGO): Add.
+ (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
+ (_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
+ (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
+ (_GLIBCXX_END_NAMESPACE_VERSION): Add.
+ (_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
+ (_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
+ (_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
+ * include/*: Use new macros for namespace scope.
+ * config/*: Same.
+ * src/*: Same.
+
+ * src/Makefile.am (sources): Remove debug_list.cc, add
+ compatibility-debug_list-2.cc.
+ (parallel_sources): Remove parallel_list.cc, add
+ compatibility-parallel_list-2.cc.
+ (compatibility-parallel_list-2.[o,lo]): New rule.
+ * src/Makefile.in: Regenerate.
+ * src/debug_list.cc: Remove.
+ * src/parallel_list.cc: Remove.
+ * src/compatibility-list-2.cc: New.
+ * src/compatibility-debug_list-2.cc: New.
+ * src/compatibility-parallel_list-2.cc: New.
+
+ * doc/doxygen/user.cfg.in: Adjust macros.
+
+ * testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Same.
+ * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
+ * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
+ * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
+ * testsuite/20_util/forward/c_neg.cc: Same.
+ * testsuite/20_util/forward/f_neg.cc: Same.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
+ * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
+ * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
+ * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
+ * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
+ * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
+ * testsuite/23_containers/deque/requirements/dr438/
+ constructor_1_neg.cc: Same.
+ * testsuite/23_containers/deque/requirements/dr438/
+ constructor_2_neg.cc: Same.
+ * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
+ * testsuite/23_containers/forward_list/capacity/1.cc: Same.
+ * testsuite/23_containers/forward_list/requirements/dr438/
+ assign_neg.cc: Same.
+ * testsuite/23_containers/forward_list/requirements/dr438/
+ constructor_1_neg.cc: Same.
+ * testsuite/23_containers/forward_list/requirements/dr438/
+ constructor_2_neg.cc: Same.
+ * testsuite/23_containers/forward_list/requirements/dr438/
+ insert_neg.cc: Same.
+ * testsuite/23_containers/list/capacity/29134.cc: Same.
+ * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
+ * testsuite/23_containers/list/requirements/dr438/
+ constructor_1_neg.cc: Same.
+ * testsuite/23_containers/list/requirements/dr438/
+ constructor_2_neg.cc: Same.
+ * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
+ * testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
+ * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
+ * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
+ * testsuite/23_containers/vector/requirements/dr438/
+ constructor_1_neg.cc: Same.
+ * testsuite/23_containers/vector/requirements/dr438/
+ constructor_2_neg.cc: Same.
+ * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
+ * testsuite/25_algorithms/sort/35588.cc: Same.
+ * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
+ * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
+ * testsuite/ext/profile/mutex_extensions_neg.cc: Same.
+ * testsuite/ext/profile/profiler_algos.cc: Same.
+ * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
+ * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
+ * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
+ * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
+ * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
+
2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/abi.xml: Adjust link to C++ ABI specification.
Improve description of one such reference.
2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
-
+
* doc/xml/manual/codecvt.xml: Fix link to The Austin Common
Standards Revision Group.
* doc/xml/manual/locale.xml: Ditto.
@@ -18,20 +113,20 @@
2011-01-26 Johannes Singler <singler@kit.edu>
- * include/parallel/numeric (inner_product, partial_sum):
- Qualify subsequent call with __gnu_parallel instead of
- _GLIBCXX_STD_P to reenable parallel execution without ambiguity.
- * include/parallel/algobase.h (equal): Likewise.
- * include/parallel/algo.h (find_first_of, search_n, merge,
- nth_element, partial_sort, max_element, min_element): Likewise.
- * testsuite/25_algorithms/headers/algorithm/
- parallel_algorithm_mixed1.cc (main): Add respective test cases.
- * testsuite/25_algorithms/headers/algorithm/
- parallel_algorithm_mixed2.cc (main): Likewise.
- * testsuite/26_numerics/headers/numeric/
- parallel_numeric_mixed1.cc (main): Likewise.
- * testsuite/26_numerics/headers/numeric/
- parallel_numeric_mixed2.cc (main): Likewise.
+ * include/parallel/numeric (inner_product, partial_sum):
+ Qualify subsequent call with __gnu_parallel instead of
+ _GLIBCXX_STD_P to reenable parallel execution without ambiguity.
+ * include/parallel/algobase.h (equal): Likewise.
+ * include/parallel/algo.h (find_first_of, search_n, merge,
+ nth_element, partial_sort, max_element, min_element): Likewise.
+ * testsuite/25_algorithms/headers/algorithm/
+ parallel_algorithm_mixed1.cc (main): Add respective test cases.
+ * testsuite/25_algorithms/headers/algorithm/
+ parallel_algorithm_mixed2.cc (main): Likewise.
+ * testsuite/26_numerics/headers/numeric/
+ parallel_numeric_mixed1.cc (main): Likewise.
+ * testsuite/26_numerics/headers/numeric/
+ parallel_numeric_mixed2.cc (main): Likewise.
2011-01-24 Graham Reed <greed@pobox.com>
@@ -41,23 +136,23 @@
2011-01-24 Johannes Singler <singler@kit.edu>
- PR libstdc++/47433
- * include/parallel/losertree.h
- (_LoserTree<>::__delete_min_insert):
- Do not qualify swap with std:: for value type,
- but include a using directive instead.
- (_LoserTreeUnguarded<>::__delete_min_insert): Likewise.
- * include/parallel/balanced_quicksort.h (__qsb_divide):
- Use std::iter_swap instead of std::swap.
- (__qsb_local_sort_with_helping): Likewise.
- * include/parallel/partition.h (__parallel_partition):
- Likewise. (__parallel_nth_element): Likewise.
+ PR libstdc++/47433
+ * include/parallel/losertree.h
+ (_LoserTree<>::__delete_min_insert):
+ Do not qualify swap with std:: for value type,
+ but include a using directive instead.
+ (_LoserTreeUnguarded<>::__delete_min_insert): Likewise.
+ * include/parallel/balanced_quicksort.h (__qsb_divide):
+ Use std::iter_swap instead of std::swap.
+ (__qsb_local_sort_with_helping): Likewise.
+ * include/parallel/partition.h (__parallel_partition):
+ Likewise. (__parallel_nth_element): Likewise.
2011-01-24 Johannes Singler <singler@kit.edu>
- PR libstdc++/47437
- * include/parallel/multiway_merge.h (_UnguardedIterator):
- Remove useless "mutable" from reference declaration.
+ PR libstdc++/47437
+ * include/parallel/multiway_merge.h (_UnguardedIterator):
+ Remove useless "mutable" from reference declaration.
2011-01-21 Benjamin Kosnik <bkoz@redhat.com>
diff --git a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
index dfb1345b0ce..ab9380c3705 100644
--- a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
+++ b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
@@ -35,7 +35,8 @@ GLIBCXX_5.0 {
_ZNSt2_69has_facetINS_*;
# hash
- _ZNSt2_68__detail12__prime_listE;
+ _ZNSt8__detail2_612__prime_listE;
+ _ZNSt3tr18__detail2_612__prime_listE;
# thread/mutex/condition_variable/future
__once_proxy;
@@ -71,6 +72,13 @@ GLIBCXX_5.0 {
_ZTv0_n*;
+ # std::__detail::_List_node_base
+ _ZNSt8__detail2_615_List_node_base7_M_hook*;
+ _ZNSt8__detail2_615_List_node_base9_M_unhookEv;
+ _ZNSt8__detail2_615_List_node_base10_M_reverseEv;
+ _ZNSt8__detail2_615_List_node_base11_M_transfer*;
+ _ZNSt8__detail2_615_List_node_base4swapER*;
+
# std::__convert_to_v
_ZNSt2_614__convert_to_v*;
@@ -102,19 +110,6 @@ GLIBCXX_5.0 {
_ZN9__gnu_cxx2_618stdio_sync_filebufI[cw]NSt2_611char_traitsI[cw]EEE[5-9]*;
# debug mode
-# xxx cxx1998?
- _ZN10__gnu_norm15_List_node_base4hook*;
- _ZN10__gnu_norm15_List_node_base4swap*;
- _ZN10__gnu_norm15_List_node_base6unhookEv;
- _ZN10__gnu_norm15_List_node_base7reverseEv;
- _ZN10__gnu_norm15_List_node_base8transfer*;
-
- _ZNSt6__norm15_List_node_base4hook*;
- _ZNSt6__norm15_List_node_base4swap*;
- _ZNSt6__norm15_List_node_base6unhookEv;
- _ZNSt6__norm15_List_node_base7reverseEv;
- _ZNSt6__norm15_List_node_base8transfer*;
-
_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv;
_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv;
_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv;
@@ -136,6 +131,10 @@ GLIBCXX_5.0 {
_ZNK11__gnu_debug16_Error_formatter8_M_error*;
_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv;
+ # parallel mode
+ _ZN14__gnu_parallel9_Settings3getEv;
+ _ZN14__gnu_parallel9_Settings3setERS0_;
+
local:
*;
};
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 6633273cbc9..67571395cc5 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1199,6 +1199,12 @@ GLIBCXX_3.4.15 {
# std::placeholders
_ZNSt12placeholders*;
+ _ZNSt8__detail15_List_node_base7_M_hook*;
+ _ZNSt8__detail15_List_node_base9_M_unhookEv;
+ _ZNSt8__detail15_List_node_base10_M_reverseEv;
+ _ZNSt8__detail15_List_node_base11_M_transfer*;
+ _ZNSt8__detail15_List_node_base4swapERS0_S1_;
+
} GLIBCXX_3.4.14;
# Symbols in the support library (libsupc++) have their own tag.
diff --git a/libstdc++-v3/config/cpu/cris/atomicity.h b/libstdc++-v3/config/cpu/cris/atomicity.h
index 92254273e1e..148a8b61c12 100644
--- a/libstdc++-v3/config/cpu/cris/atomicity.h
+++ b/libstdc++-v3/config/cpu/cris/atomicity.h
@@ -24,7 +24,9 @@
#include <ext/atomicity.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
_Atomic_word
__exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
@@ -83,4 +85,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __exchange_and_add(__mem, __val); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h
index 3cd580a82db..581c41fda0d 100644
--- a/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h
+++ b/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h
@@ -26,7 +26,9 @@
#include <bits/c++config.h>
#include <bits/atomic_word.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
_Atomic_word
__attribute__ ((__unused__))
@@ -38,4 +40,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __sync_fetch_and_add(__mem, __val); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
index 3f46e789c25..dc0a5a06595 100644
--- a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
+++ b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
@@ -36,7 +36,9 @@ namespace
}
} // anonymous namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
_Atomic_word
__attribute__ ((__unused__))
@@ -54,4 +56,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __exchange_and_add(__mem, __val); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/cpu/hppa/atomicity.h b/libstdc++-v3/config/cpu/hppa/atomicity.h
index cf1ceb05ac8..a2ec4f2e97e 100644
--- a/libstdc++-v3/config/cpu/hppa/atomicity.h
+++ b/libstdc++-v3/config/cpu/hppa/atomicity.h
@@ -25,7 +25,9 @@
#include <bits/c++config.h>
#include <ext/atomicity.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<int _Inst>
struct _Atomicity_lock
@@ -88,4 +90,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
: : "r" (&lock), "r" (tmp) : "memory");
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h
index 8f7619307fe..97205e42fe5 100644
--- a/libstdc++-v3/config/cpu/i386/atomicity.h
+++ b/libstdc++-v3/config/cpu/i386/atomicity.h
@@ -24,7 +24,9 @@
#include <ext/atomicity.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<int __inst>
struct _Atomicity_lock
@@ -67,4 +69,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __exchange_and_add(__mem, __val); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/cpu/i486/atomicity.h b/libstdc++-v3/config/cpu/i486/atomicity.h
index d9e68f4d8ca..602cbb7114b 100644
--- a/libstdc++-v3/config/cpu/i486/atomicity.h
+++ b/libstdc++-v3/config/cpu/i486/atomicity.h
@@ -24,7 +24,9 @@
#include <ext/atomicity.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
_Atomic_word
__attribute__ ((__unused__))
@@ -45,5 +47,6 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
: "=m" (*__mem) : "ir" (__val), "m" (*__mem));
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/cpu/ia64/atomic_word.h b/libstdc++-v3/config/cpu/ia64/atomic_word.h
index e1251c5d1bb..9dfbf00ec96 100644
--- a/libstdc++-v3/config/cpu/ia64/atomic_word.h
+++ b/libstdc++-v3/config/cpu/ia64/atomic_word.h
@@ -29,7 +29,7 @@
typedef int _Atomic_word;
-namespace __gnu_cxx
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
{
// Test the first byte of __g and ensure that no loads are hoisted across
// the test.
diff --git a/libstdc++-v3/config/cpu/m68k/atomicity.h b/libstdc++-v3/config/cpu/m68k/atomicity.h
index 5b3692eecef..5711255844b 100644
--- a/libstdc++-v3/config/cpu/m68k/atomicity.h
+++ b/libstdc++-v3/config/cpu/m68k/atomicity.h
@@ -24,7 +24,9 @@
#include <ext/atomicity.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#if ( defined(__mc68020__) || defined(__mc68030__) \
|| defined(__mc68040__) || defined(__mc68060__) ) \
@@ -126,4 +128,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__exchange_and_add(__mem, __val);
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/cpu/sh/atomicity.h b/libstdc++-v3/config/cpu/sh/atomicity.h
index 9b240afbcc7..ece63ce2a48 100644
--- a/libstdc++-v3/config/cpu/sh/atomicity.h
+++ b/libstdc++-v3/config/cpu/sh/atomicity.h
@@ -27,7 +27,9 @@
#include <ext/atomicity.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef int _Atomic_word;
@@ -66,7 +68,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
: "r0");
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#else /* !__SH4A__ */
@@ -80,7 +83,9 @@ namespace
__gnu_cxx::__mutex atomic_mutex;
} // anonymous namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
_Atomic_word
__attribute__ ((__unused__))
@@ -98,6 +103,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __exchange_and_add(__mem, __val); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* !__SH4A__ */
diff --git a/libstdc++-v3/config/cpu/sparc/atomicity.h b/libstdc++-v3/config/cpu/sparc/atomicity.h
index 1ead48d2788..c032e540e35 100644
--- a/libstdc++-v3/config/cpu/sparc/atomicity.h
+++ b/libstdc++-v3/config/cpu/sparc/atomicity.h
@@ -25,7 +25,9 @@
#include <ext/atomicity.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#ifdef __arch64__
_Atomic_word
@@ -119,4 +121,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
#endif /* __arch32__ */
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/io/basic_file_stdio.cc b/libstdc++-v3/config/io/basic_file_stdio.cc
index d2de028f099..1b7e1bba5a9 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.cc
+++ b/libstdc++-v3/config/io/basic_file_stdio.cc
@@ -179,7 +179,9 @@ namespace
} // anonymous namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Definitions for __basic_file<char>.
__basic_file<char>::__basic_file(__c_lock* /*__lock*/) throw()
@@ -378,5 +380,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return 0;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/io/basic_file_stdio.h b/libstdc++-v3/config/io/basic_file_stdio.h
index 96939392a9a..f543a8976d7 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.h
+++ b/libstdc++-v3/config/io/basic_file_stdio.h
@@ -41,7 +41,9 @@
#include <bits/c++io.h> // for __c_lock and __c_file
#include <ios>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Generic declaration.
template<typename _CharT>
@@ -103,6 +105,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
showmanyc();
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/config/io/c_io_stdio.h b/libstdc++-v3/config/io/c_io_stdio.h
index 6a21a887c65..0843df78d59 100644
--- a/libstdc++-v3/config/io/c_io_stdio.h
+++ b/libstdc++-v3/config/io/c_io_stdio.h
@@ -36,13 +36,16 @@
#include <cstdio>
#include <bits/gthr.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef __gthread_mutex_t __c_lock;
// for basic_file.h
typedef FILE __c_file;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/config/locale/darwin/ctype_members.cc b/libstdc++-v3/config/locale/darwin/ctype_members.cc
index e1dd0f2a4f9..4b42bc2c00e 100644
--- a/libstdc++-v3/config/locale/darwin/ctype_members.cc
+++ b/libstdc++-v3/config/locale/darwin/ctype_members.cc
@@ -35,7 +35,7 @@
#include <cstring>
#include <cstdio>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
// NB: The other ctype<char> specializations are in src/locale.cc and
// various /config/os/* files.
diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc
index 468816092d7..fb9b425daab 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.cc
+++ b/libstdc++-v3/config/locale/generic/c_locale.cc
@@ -41,7 +41,9 @@
#include <ieeefp.h>
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<>
void
@@ -229,9 +231,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
locale::facet::_S_lc_ctype_c_locale(__c_locale, const char*)
{ return __c_locale(); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
{
@@ -243,13 +248,17 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
"LC_MESSAGES"
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// XXX GLIBCXX_ABI Deprecated
#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h
index 29c16a21034..2c7600047e2 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.h
+++ b/libstdc++-v3/config/locale/generic/c_locale.h
@@ -43,7 +43,9 @@
#define _GLIBCXX_NUM_CATEGORIES 0
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef int* __c_locale;
@@ -85,6 +87,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __ret;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/config/locale/generic/codecvt_members.cc b/libstdc++-v3/config/locale/generic/codecvt_members.cc
index 655ce822666..f0de79e7923 100644
--- a/libstdc++-v3/config/locale/generic/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/generic/codecvt_members.cc
@@ -34,7 +34,9 @@
#include <climits> // For MB_LEN_MAX
#include <cstring>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Specializations.
#ifdef _GLIBCXX_USE_WCHAR_T
@@ -214,4 +216,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/generic/collate_members.cc b/libstdc++-v3/config/locale/generic/collate_members.cc
index e7753e06f8a..da12ccd138f 100644
--- a/libstdc++-v3/config/locale/generic/collate_members.cc
+++ b/libstdc++-v3/config/locale/generic/collate_members.cc
@@ -32,7 +32,9 @@
#include <locale>
#include <cstring>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// These are basically extensions to char_traits, and perhaps should
// be put there instead of here.
@@ -68,4 +70,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return wcsxfrm(__to, __from, __n); }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/generic/ctype_members.cc b/libstdc++-v3/config/locale/generic/ctype_members.cc
index ae08c3b0169..e6ced397309 100644
--- a/libstdc++-v3/config/locale/generic/ctype_members.cc
+++ b/libstdc++-v3/config/locale/generic/ctype_members.cc
@@ -34,7 +34,9 @@
#include <cstring>
#include <cstdio>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// NB: The other ctype<char> specializations are in src/locale.cc and
// various /config/os/* files.
@@ -266,4 +268,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif // _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/generic/messages_members.cc b/libstdc++-v3/config/locale/generic/messages_members.cc
index f0402ec005b..b8610ddb3b7 100644
--- a/libstdc++-v3/config/locale/generic/messages_members.cc
+++ b/libstdc++-v3/config/locale/generic/messages_members.cc
@@ -30,7 +30,9 @@
#include <locale>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Specializations
template<>
@@ -45,4 +47,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return __dfault; }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/generic/messages_members.h b/libstdc++-v3/config/locale/generic/messages_members.h
index 79545f9672b..f66d4be3b13 100644
--- a/libstdc++-v3/config/locale/generic/messages_members.h
+++ b/libstdc++-v3/config/locale/generic/messages_members.h
@@ -34,7 +34,9 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Non-virtual member functions.
template<typename _CharT>
@@ -87,4 +89,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/generic/monetary_members.cc b/libstdc++-v3/config/locale/generic/monetary_members.cc
index 26b435860be..91f014fee83 100644
--- a/libstdc++-v3/config/locale/generic/monetary_members.cc
+++ b/libstdc++-v3/config/locale/generic/monetary_members.cc
@@ -31,7 +31,9 @@
#include <locale>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Construct and return valid pattern consisting of some combination of:
// space none symbol sign value
@@ -165,4 +167,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ delete _M_data; }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/generic/numeric_members.cc b/libstdc++-v3/config/locale/generic/numeric_members.cc
index a40944435e6..d7d6647d57e 100644
--- a/libstdc++-v3/config/locale/generic/numeric_members.cc
+++ b/libstdc++-v3/config/locale/generic/numeric_members.cc
@@ -30,7 +30,9 @@
#include <locale>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<>
void
@@ -99,5 +101,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ delete _M_data; }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/generic/time_members.cc b/libstdc++-v3/config/locale/generic/time_members.cc
index 040e228fd05..30310752b24 100644
--- a/libstdc++-v3/config/locale/generic/time_members.cc
+++ b/libstdc++-v3/config/locale/generic/time_members.cc
@@ -34,7 +34,9 @@
#include <cstdlib>
#include <cstring>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<>
void
@@ -206,4 +208,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/generic/time_members.h b/libstdc++-v3/config/locale/generic/time_members.h
index 785a272aac5..ff26bef230d 100644
--- a/libstdc++-v3/config/locale/generic/time_members.h
+++ b/libstdc++-v3/config/locale/generic/time_members.h
@@ -36,7 +36,9 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT>
__timepunct<_CharT>::__timepunct(size_t __refs)
@@ -88,4 +90,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_S_destroy_c_locale(_M_c_locale_timepunct);
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.cc b/libstdc++-v3/config/locale/gnu/c_locale.cc
index 9706e414dd5..adfeb621977 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.cc
+++ b/libstdc++-v3/config/locale/gnu/c_locale.cc
@@ -35,7 +35,9 @@
#include <langinfo.h>
#include <bits/c++locale_internal.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<>
void
@@ -169,9 +171,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __changed;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
{
@@ -189,13 +194,17 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
"LC_IDENTIFICATION"
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// XXX GLIBCXX_ABI Deprecated
#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.h b/libstdc++-v3/config/locale/gnu/c_locale.h
index f3aa2e3cef2..eb0d6714e1e 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.h
+++ b/libstdc++-v3/config/locale/gnu/c_locale.h
@@ -46,14 +46,19 @@
#define _GLIBCXX_NUM_CATEGORIES 6
#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
extern "C" __typeof(uselocale) __uselocale;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef __locale_t __c_locale;
@@ -104,6 +109,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __ret;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/config/locale/gnu/codecvt_members.cc b/libstdc++-v3/config/locale/gnu/codecvt_members.cc
index 7cc12edc191..a1029f09a72 100644
--- a/libstdc++-v3/config/locale/gnu/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/gnu/codecvt_members.cc
@@ -34,7 +34,9 @@
#include <climits> // For MB_LEN_MAX
#include <bits/c++locale_internal.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Specializations.
#ifdef _GLIBCXX_USE_WCHAR_T
@@ -302,4 +304,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/gnu/collate_members.cc b/libstdc++-v3/config/locale/gnu/collate_members.cc
index bcd415355f4..00056ad5a48 100644
--- a/libstdc++-v3/config/locale/gnu/collate_members.cc
+++ b/libstdc++-v3/config/locale/gnu/collate_members.cc
@@ -31,7 +31,9 @@
#include <locale>
#include <bits/c++locale_internal.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// These are basically extensions to char_traits, and perhaps should
// be put there instead of here.
@@ -67,4 +69,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/gnu/ctype_members.cc b/libstdc++-v3/config/locale/gnu/ctype_members.cc
index 6965694297d..8a478e97aae 100644
--- a/libstdc++-v3/config/locale/gnu/ctype_members.cc
+++ b/libstdc++-v3/config/locale/gnu/ctype_members.cc
@@ -33,7 +33,9 @@
#include <cstdio>
#include <bits/c++locale_internal.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// NB: The other ctype<char> specializations are in src/locale.cc and
// various /config/os/* files.
@@ -300,4 +302,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif // _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/gnu/messages_members.cc b/libstdc++-v3/config/locale/gnu/messages_members.cc
index 94ebcb5fa7f..4154e893811 100644
--- a/libstdc++-v3/config/locale/gnu/messages_members.cc
+++ b/libstdc++-v3/config/locale/gnu/messages_members.cc
@@ -31,7 +31,9 @@
#include <locale>
#include <bits/c++locale_internal.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Specializations.
template<>
@@ -80,4 +82,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/gnu/messages_members.h b/libstdc++-v3/config/locale/gnu/messages_members.h
index 836f76aad87..f81a19fc8a7 100644
--- a/libstdc++-v3/config/locale/gnu/messages_members.h
+++ b/libstdc++-v3/config/locale/gnu/messages_members.h
@@ -36,7 +36,9 @@
#include <libintl.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Non-virtual member functions.
template<typename _CharT>
@@ -125,4 +127,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/gnu/monetary_members.cc b/libstdc++-v3/config/locale/gnu/monetary_members.cc
index e5f90ca5b0f..214c4af7d76 100644
--- a/libstdc++-v3/config/locale/gnu/monetary_members.cc
+++ b/libstdc++-v3/config/locale/gnu/monetary_members.cc
@@ -32,7 +32,9 @@
#include <locale>
#include <bits/c++locale_internal.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Construct and return valid pattern consisting of some combination of:
// space none symbol sign value
@@ -929,4 +931,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/gnu/numeric_members.cc b/libstdc++-v3/config/locale/gnu/numeric_members.cc
index 637cd59b711..934511acb02 100644
--- a/libstdc++-v3/config/locale/gnu/numeric_members.cc
+++ b/libstdc++-v3/config/locale/gnu/numeric_members.cc
@@ -32,7 +32,9 @@
#include <locale>
#include <bits/c++locale_internal.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<>
void
@@ -212,4 +214,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/gnu/time_members.cc b/libstdc++-v3/config/locale/gnu/time_members.cc
index cf139716ee9..19747460508 100644
--- a/libstdc++-v3/config/locale/gnu/time_members.cc
+++ b/libstdc++-v3/config/locale/gnu/time_members.cc
@@ -33,7 +33,9 @@
#include <locale>
#include <bits/c++locale_internal.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<>
void
@@ -395,4 +397,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/gnu/time_members.h b/libstdc++-v3/config/locale/gnu/time_members.h
index 7d3ddc27ec7..3d8e0e91bcb 100644
--- a/libstdc++-v3/config/locale/gnu/time_members.h
+++ b/libstdc++-v3/config/locale/gnu/time_members.h
@@ -36,7 +36,9 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT>
__timepunct<_CharT>::__timepunct(size_t __refs)
@@ -85,4 +87,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_S_destroy_c_locale(_M_c_locale_timepunct);
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
index 262681b8983..13af608d9ed 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
@@ -30,7 +30,7 @@
#include <locale>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
void
locale::facet::_S_create_c_locale(__c_locale&, const char*, __c_locale*)
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 70e39b89044..027a52d93db 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
@@ -38,9 +38,12 @@
#include <iconv.h> // For codecvt using iconv, iconv_t
#include <nl_types.h> // For messages
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef int* __c_locale;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
index 156cf3a94a1..2b4ab2e49e6 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
@@ -30,7 +30,7 @@
#include <locale>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
// Specializations
template<>
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
index 6abd0b3a4c0..8c658ab8672 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
@@ -33,7 +33,9 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Non-virtual member functions.
template<typename _CharT>
@@ -69,4 +71,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
messages<_CharT>::do_close(catalog __c) const
{ catclose(reinterpret_cast<nl_catd>(__c)); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/aix/atomicity.h b/libstdc++-v3/config/os/aix/atomicity.h
index 38622b12815..1bd51f1c041 100644
--- a/libstdc++-v3/config/os/aix/atomicity.h
+++ b/libstdc++-v3/config/os/aix/atomicity.h
@@ -38,7 +38,9 @@ extern "C"
#include <sys/atomic_op.h>
}
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
_Atomic_word
__attribute__ ((__unused__))
@@ -50,4 +52,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__atomic_add (volatile _Atomic_word* __mem, int __val) throw ()
{ (void) ::fetch_and_add(const_cast<atomic_p>(__mem), __val); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/aix/ctype_base.h b/libstdc++-v3/config/os/aix/ctype_base.h
index 37009080e62..865105aecc1 100644
--- a/libstdc++-v3/config/os/aix/ctype_base.h
+++ b/libstdc++-v3/config/os/aix/ctype_base.h
@@ -28,7 +28,9 @@
// Information as gleaned from /usr/include/ctype.h
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -52,4 +54,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _ISALPHA | _ISDIGIT;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/aix/ctype_inline.h b/libstdc++-v3/config/os/aix/ctype_inline.h
index 8c201a5771a..14f22be1d86 100644
--- a/libstdc++-v3/config/os/aix/ctype_inline.h
+++ b/libstdc++-v3/config/os/aix/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -77,4 +79,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/bionic/ctype_base.h b/libstdc++-v3/config/os/bionic/ctype_base.h
index 15f00636d3e..926b2337455 100644
--- a/libstdc++-v3/config/os/bionic/ctype_base.h
+++ b/libstdc++-v3/config/os/bionic/ctype_base.h
@@ -30,7 +30,9 @@
// Support for Solaris 2.5.1
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -54,4 +56,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _U | _L | _N;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/bionic/ctype_inline.h b/libstdc++-v3/config/os/bionic/ctype_inline.h
index ef12c658635..e7b8d5c8305 100644
--- a/libstdc++-v3/config/os/bionic/ctype_inline.h
+++ b/libstdc++-v3/config/os/bionic/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -68,4 +70,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_base.h b/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
index 0867a59f55d..36f71e06508 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
@@ -30,7 +30,9 @@
// 4.0 and all versions of the CVS managed file at:
// :pserver:anoncvs@anoncvs.freebsd.org:/home/ncvs/src/include/ctype.h
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -68,4 +70,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
index a1833b7af2f..aa3a83ecfaa 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
@@ -35,7 +35,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -145,4 +147,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
index 5b5de7aabee..5d01ad6af84 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
@@ -30,7 +30,9 @@
// 4.0 and all versions of the CVS managed file at:
// :pserver:anoncvs@anoncvs.freebsd.org:/home/ncvs/src/include/ctype.h
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -70,4 +72,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
index 886c6a14fb1..de10c3fbcb8 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
@@ -35,7 +35,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -145,4 +147,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
index 37139812cdd..d75cb79aaf6 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
@@ -33,7 +33,9 @@
#include <sys/param.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -72,4 +74,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
index f510d6592e5..a08d4314f30 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -68,7 +70,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/djgpp/ctype_base.h b/libstdc++-v3/config/os/djgpp/ctype_base.h
index 9db1b1e249c..aa156f8dd39 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_base.h
+++ b/libstdc++-v3/config/os/djgpp/ctype_base.h
@@ -26,7 +26,9 @@
// ISO C++ 14882: 22.1 Locales
//
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -51,4 +53,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask graph = __dj_ISALPHA | __dj_ISDIGIT | __dj_ISPUNCT; // Graphical
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/djgpp/ctype_inline.h b/libstdc++-v3/config/os/djgpp/ctype_inline.h
index 7112c1bcc9c..217bbf8758a 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_inline.h
+++ b/libstdc++-v3/config/os/djgpp/ctype_inline.h
@@ -35,7 +35,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -71,4 +73,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/djgpp/error_constants.h b/libstdc++-v3/config/os/djgpp/error_constants.h
index d3590180de8..4e87208d831 100644
--- a/libstdc++-v3/config/os/djgpp/error_constants.h
+++ b/libstdc++-v3/config/os/djgpp/error_constants.h
@@ -33,7 +33,9 @@
#include <bits/c++config.h>
#include <cerrno>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Most of the commented-out error codes are socket-related and could be
// replaced by Winsock WSA-prefixed equivalents.
@@ -119,6 +121,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// wrong_protocol_type = EPROTOTYPE
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/config/os/generic/ctype_base.h b/libstdc++-v3/config/os/generic/ctype_base.h
index ac4db76bd00..72aa6f2ccb0 100644
--- a/libstdc++-v3/config/os/generic/ctype_base.h
+++ b/libstdc++-v3/config/os/generic/ctype_base.h
@@ -29,7 +29,9 @@
// Default information, may not be appropriate for specific host.
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -53,4 +55,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = (1 << 2) | (1 << 3); // alpha|digit
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/generic/ctype_inline.h b/libstdc++-v3/config/os/generic/ctype_inline.h
index 83cdf2a9766..ae54f2968be 100644
--- a/libstdc++-v3/config/os/generic/ctype_inline.h
+++ b/libstdc++-v3/config/os/generic/ctype_inline.h
@@ -41,7 +41,9 @@
// Constructing a synthetic "C" table should be seriously considered...
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -162,4 +164,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/generic/error_constants.h b/libstdc++-v3/config/os/generic/error_constants.h
index 2935fec9c82..88ea56506c2 100644
--- a/libstdc++-v3/config/os/generic/error_constants.h
+++ b/libstdc++-v3/config/os/generic/error_constants.h
@@ -33,7 +33,9 @@
#include <bits/c++config.h>
#include <cerrno>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
enum class errc
{
@@ -170,6 +172,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
wrong_protocol_type = EPROTOTYPE
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
index 96cd946123e..eb2b14c58d3 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
@@ -34,7 +34,9 @@
// Information as gleaned from /usr/include/ctype.h
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -58,4 +60,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _ISalpha | _ISdigit;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_inline.h b/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
index 91df62953c2..7e83a9e75d2 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -70,4 +72,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/hpux/ctype_base.h b/libstdc++-v3/config/os/hpux/ctype_base.h
index 33bd5b72056..8e2114f1f43 100644
--- a/libstdc++-v3/config/os/hpux/ctype_base.h
+++ b/libstdc++-v3/config/os/hpux/ctype_base.h
@@ -28,7 +28,9 @@
// Default information, may not be appropriate for specific host.
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -52,4 +54,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _ISALPHA | _ISDIGIT;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/hpux/ctype_inline.h b/libstdc++-v3/config/os/hpux/ctype_inline.h
index cedc9186a00..d6b8df48461 100644
--- a/libstdc++-v3/config/os/hpux/ctype_inline.h
+++ b/libstdc++-v3/config/os/hpux/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -70,4 +72,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/hpux/os_defines.h b/libstdc++-v3/config/os/hpux/os_defines.h
index 2a36b7fe056..a41f30124af 100644
--- a/libstdc++-v3/config/os/hpux/os_defines.h
+++ b/libstdc++-v3/config/os/hpux/os_defines.h
@@ -63,7 +63,9 @@
We also force _GLIBCXX_USE_LONG_LONG here so that we don't have
to bastardize configure to deal with this sillyness. */
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_BEGIN_EXTERN_C
#ifndef __LP64__
@@ -79,7 +81,8 @@ _GLIBCXX_BEGIN_EXTERN_C
#endif
_GLIBCXX_END_EXTERN_C
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#define _GLIBCXX_USE_LONG_LONG 1
diff --git a/libstdc++-v3/config/os/irix/atomicity.h b/libstdc++-v3/config/os/irix/atomicity.h
index 9048fb2be67..0160a161649 100644
--- a/libstdc++-v3/config/os/irix/atomicity.h
+++ b/libstdc++-v3/config/os/irix/atomicity.h
@@ -25,7 +25,9 @@
#include <mutex.h>
#include <ext/atomicity.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
_Atomic_word
__exchange_and_add(volatile _Atomic_word* __mem, int __val) throw ()
@@ -35,4 +37,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__atomic_add(volatile _Atomic_word* __mem, int __val) throw ()
{ __exchange_and_add(__mem, __val); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h b/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h
index 917b0667859..32a8716bc03 100644
--- a/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h
+++ b/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h
@@ -34,7 +34,9 @@
// Information as gleaned from /usr/include/ctype.h on irix 6.5
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -58,4 +60,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _ISalpha | _ISdigit;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h b/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h
index fe355a15b70..f08eea812ea 100644
--- a/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h
+++ b/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -68,4 +70,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/mingw32/ctype_base.h b/libstdc++-v3/config/os/mingw32/ctype_base.h
index e68f80ea32a..5fbdff8e7f0 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_base.h
+++ b/libstdc++-v3/config/os/mingw32/ctype_base.h
@@ -34,7 +34,9 @@
// masks here, based on the generic masks, and the corresponding
// classic_table in ctype_noninline.h.
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -58,4 +60,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = (1 << 2) | (1 << 3); // alpha|digit
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/mingw32/ctype_inline.h b/libstdc++-v3/config/os/mingw32/ctype_inline.h
index 21383973d70..f1b9f6c6617 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_inline.h
+++ b/libstdc++-v3/config/os/mingw32/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -69,4 +71,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h b/libstdc++-v3/config/os/mingw32/error_constants.h
index f9d40e9ad54..f2a9116ba9e 100644
--- a/libstdc++-v3/config/os/mingw32/error_constants.h
+++ b/libstdc++-v3/config/os/mingw32/error_constants.h
@@ -34,7 +34,9 @@
#include <cerrno>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Most of the commented-out error codes are socket-related and could be
// replaced by Winsock WSA-prefixed equivalents.
@@ -120,6 +122,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// wrong_protocol_type = EPROTOTYPE
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/config/os/newlib/ctype_base.h b/libstdc++-v3/config/os/newlib/ctype_base.h
index 8ae20717686..4dd150292df 100644
--- a/libstdc++-v3/config/os/newlib/ctype_base.h
+++ b/libstdc++-v3/config/os/newlib/ctype_base.h
@@ -30,7 +30,9 @@
// Support for Solaris 2.5.1
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -54,4 +56,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _U | _L | _N;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/newlib/ctype_inline.h b/libstdc++-v3/config/os/newlib/ctype_inline.h
index 314762daa0b..18726dbbd16 100644
--- a/libstdc++-v3/config/os/newlib/ctype_inline.h
+++ b/libstdc++-v3/config/os/newlib/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -68,4 +70,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
index 366cca33860..36aa073435a 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
@@ -33,7 +33,9 @@
// Information as gleaned from /usr/include/ctype.h.
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -57,4 +59,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _DI | _LO | _UP | _XA;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
index c64a8b55912..b38bc827c6d 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -68,4 +70,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h
index 08f655bda82..1ae3874a6db 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h
@@ -30,7 +30,9 @@
// only works with solaris2.7 and solaris2.8. Thanks for not changing
// things, sun engineers!
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -54,4 +56,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _ISALPHA | _ISDIGIT;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h
index cedc9186a00..d6b8df48461 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -70,4 +72,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/tpf/ctype_base.h b/libstdc++-v3/config/os/tpf/ctype_base.h
index 60c7e9abf70..1c1d37ebce2 100644
--- a/libstdc++-v3/config/os/tpf/ctype_base.h
+++ b/libstdc++-v3/config/os/tpf/ctype_base.h
@@ -28,7 +28,9 @@
// Information as gleaned from /usr/include/ctype.h
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -52,4 +54,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _ISalpha | _ISdigit;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/tpf/ctype_inline.h b/libstdc++-v3/config/os/tpf/ctype_inline.h
index f0d5188544b..1785f8cd919 100644
--- a/libstdc++-v3/config/os/tpf/ctype_inline.h
+++ b/libstdc++-v3/config/os/tpf/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -70,4 +72,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/uclibc/ctype_base.h b/libstdc++-v3/config/os/uclibc/ctype_base.h
index 7e913c1ee30..d6a742b7340 100644
--- a/libstdc++-v3/config/os/uclibc/ctype_base.h
+++ b/libstdc++-v3/config/os/uclibc/ctype_base.h
@@ -34,7 +34,9 @@
// Information as gleaned from /usr/include/ctype.h
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -60,4 +62,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _ISalpha | _ISdigit;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/uclibc/ctype_inline.h b/libstdc++-v3/config/os/uclibc/ctype_inline.h
index 4c544751068..0f640696009 100644
--- a/libstdc++-v3/config/os/uclibc/ctype_inline.h
+++ b/libstdc++-v3/config/os/uclibc/ctype_inline.h
@@ -34,7 +34,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -70,4 +72,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/vxworks/ctype_base.h b/libstdc++-v3/config/os/vxworks/ctype_base.h
index ee0682f8a5f..f1f92ae4350 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_base.h
+++ b/libstdc++-v3/config/os/vxworks/ctype_base.h
@@ -28,7 +28,9 @@
// Information extracted from target/h/ctype.h.
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// @brief Base class for ctype.
struct ctype_base
@@ -53,4 +55,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
static const mask alnum = _C_UPPER | _C_LOWER | _C_NUMBER;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/config/os/vxworks/ctype_inline.h b/libstdc++-v3/config/os/vxworks/ctype_inline.h
index bd72d222f45..49092083cc3 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_inline.h
+++ b/libstdc++-v3/config/os/vxworks/ctype_inline.h
@@ -36,7 +36,9 @@
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
// functions go in ctype.cc
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
ctype<char>::
@@ -72,4 +74,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __low;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in
index 442bba21b06..d9990c97842 100644
--- a/libstdc++-v3/doc/doxygen/user.cfg.in
+++ b/libstdc++-v3/doc/doxygen/user.cfg.in
@@ -1542,17 +1542,17 @@ PREDEFINED = __cplusplus \
"_GLIBCXX_CONST= " \
"_GLIBCXX_NORETURN= " \
"_GLIBCXX_NOTHROW= " \
- "_GLIBCXX_STD_D= " \
- "_GLIBCXX_STD_P= " \
- "_GLIBCXX_STD_PR= " \
- _GLIBCXX_STD=std \
- "_GLIBCXX_TR1= " \
- "_GLIBCXX_BEGIN_NAMESPACE_TR1= " \
- "_GLIBCXX_END_NAMESPACE_TR1= " \
- "_GLIBCXX_BEGIN_NAMESPACE(name)=namespace name { " \
- "_GLIBCXX_BEGIN_NESTED_NAMESPACE(name, unused)=namespace name { " \
- _GLIBCXX_END_NAMESPACE=} \
- _GLIBCXX_END_NESTED_NAMESPACE=} \
+ "_GLIBCXX_STD_C= " \
+ "_GLIBCXX_STD_A= " \
+ "_GLIBCXX_VISIBILITY(V)= " \
+ "_GLIBCXX_BEGIN_NAMESPACE_VERSION= " \
+ "_GLIBCXX_BEGIN_NAMESPACE_ALGO= " \
+ "_GLIBCXX_BEGIN_NAMESPACE_CONTAINER= " \
+ "_GLIBCXX_BEGIN_NAMESPACE_LDBL= " \
+ "_GLIBCXX_END_NAMESPACE_VERSION= " \
+ "_GLIBCXX_END_NAMESPACE_ALGO= " \
+ "_GLIBCXX_END_NAMESPACE_CONTAINER= " \
+ "_GLIBCXX_END_NAMESPACE_LDBL= " \
"_GLIBCXX_TEMPLATE_ARGS=... " \
_GLIBCXX_DEPRECATED \
_GLIBCXX_CONSTEXPR=constexpr \
diff --git a/libstdc++-v3/include/backward/auto_ptr.h b/libstdc++-v3/include/backward/auto_ptr.h
index d60bad3d088..e14906b36fe 100644
--- a/libstdc++-v3/include/backward/auto_ptr.h
+++ b/libstdc++-v3/include/backward/auto_ptr.h
@@ -33,7 +33,9 @@
#include <bits/c++config.h>
#include <debug/debug.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* A wrapper class to provide auto_ptr with reference semantics.
@@ -287,6 +289,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typedef void element_type;
} _GLIBCXX_DEPRECATED_ATTR;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _BACKWARD_AUTO_PTR_H */
diff --git a/libstdc++-v3/include/backward/binders.h b/libstdc++-v3/include/backward/binders.h
index a65eb8a75d2..faadd0ddebd 100644
--- a/libstdc++-v3/include/backward/binders.h
+++ b/libstdc++-v3/include/backward/binders.h
@@ -57,7 +57,9 @@
#ifndef _BACKWARD_BINDERS_H
#define _BACKWARD_BINDERS_H 1
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// 20.3.6 binders
/** @defgroup binders Binder Classes
@@ -164,6 +166,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
/** @} */
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _BACKWARD_BINDERS_H */
diff --git a/libstdc++-v3/include/backward/hash_fun.h b/libstdc++-v3/include/backward/hash_fun.h
index 66e31d844cd..a76eb730101 100644
--- a/libstdc++-v3/include/backward/hash_fun.h
+++ b/libstdc++-v3/include/backward/hash_fun.h
@@ -59,7 +59,9 @@
#include <bits/c++config.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
@@ -163,6 +165,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
{ return __x; }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/backward/hash_map b/libstdc++-v3/include/backward/hash_map
index fe6e785c012..24c439e0476 100644
--- a/libstdc++-v3/include/backward/hash_map
+++ b/libstdc++-v3/include/backward/hash_map
@@ -65,7 +65,9 @@
#include <backward/hashtable.h>
#include <bits/concept_check.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::equal_to;
using std::allocator;
@@ -497,9 +499,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
hash_multimap<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm2)
{ __hm1.swap(__hm2); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Specialization of insert_iterator so that it will work for hash_map
// and hash_multimap.
@@ -589,6 +594,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return *this; }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/backward/hash_set b/libstdc++-v3/include/backward/hash_set
index 1e4f1a9792d..f110fec68f3 100644
--- a/libstdc++-v3/include/backward/hash_set
+++ b/libstdc++-v3/include/backward/hash_set
@@ -65,7 +65,9 @@
#include <backward/hashtable.h>
#include <bits/concept_check.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::equal_to;
using std::allocator;
@@ -465,9 +467,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs2)
{ __hs1.swap(__hs2); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Specialization of insert_iterator so that it will work for hash_set
// and hash_multiset.
@@ -557,6 +562,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
operator++(int) { return *this; }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/backward/hashtable.h b/libstdc++-v3/include/backward/hashtable.h
index 55c1d99bf5d..0bcaec4fdc2 100644
--- a/libstdc++-v3/include/backward/hashtable.h
+++ b/libstdc++-v3/include/backward/hashtable.h
@@ -66,7 +66,9 @@
#include <bits/stl_function.h>
#include <backward/hash_fun.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
using std::ptrdiff_t;
@@ -1141,6 +1143,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/backward/strstream b/libstdc++-v3/include/backward/strstream
index 3221ba93d40..964c455873a 100644
--- a/libstdc++-v3/include/backward/strstream
+++ b/libstdc++-v3/include/backward/strstream
@@ -51,7 +51,9 @@
#include <ostream>
#include <string>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Class strstreambuf, a streambuf class that manages an array of char.
// Note that this class is not a template.
@@ -172,6 +174,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
strstreambuf _M_buf;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h
index f6f4eacd1f6..8632bf5dd63 100644
--- a/libstdc++-v3/include/bits/algorithmfwd.h
+++ b/libstdc++-v3/include/bits/algorithmfwd.h
@@ -37,7 +37,9 @@
#include <bits/stl_iterator_base_types.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/*
adjacent_find
@@ -577,9 +579,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_FIter
upper_bound(_FIter, _FIter, const _Tp&, _Compare);
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
+_GLIBCXX_BEGIN_NAMESPACE_ALGO
template<typename _FIter>
_FIter
@@ -802,7 +804,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
_OIter
unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate);
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_ALGO
+} // namespace std
#ifdef _GLIBCXX_PARALLEL
# include <parallel/algorithmfwd.h>
diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h
index 43006799397..9018b5aa59a 100644
--- a/libstdc++-v3/include/bits/allocator.h
+++ b/libstdc++-v3/include/bits/allocator.h
@@ -51,7 +51,9 @@
#include <type_traits> // For _GLIBCXX_HAS_NESTED_TYPE
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup allocators Allocators
@@ -232,6 +234,7 @@ _GLIBCXX_HAS_NESTED_TYPE(allocator_type)
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/atomic_0.h b/libstdc++-v3/include/bits/atomic_0.h
index eaff2e6f68d..42ff462701f 100644
--- a/libstdc++-v3/include/bits/atomic_0.h
+++ b/libstdc++-v3/include/bits/atomic_0.h
@@ -33,7 +33,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// 0 == __atomic0 == Never lock-free
namespace __atomic0
@@ -732,6 +734,7 @@ namespace __atomic0
#undef _ATOMIC_CMPEXCHNG_
} // namespace __atomic0
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/atomic_2.h b/libstdc++-v3/include/bits/atomic_2.h
index 85f8c0f35f6..26017139cc8 100644
--- a/libstdc++-v3/include/bits/atomic_2.h
+++ b/libstdc++-v3/include/bits/atomic_2.h
@@ -33,7 +33,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// 2 == __atomic2 == Always lock-free
// Assumed:
@@ -747,6 +749,7 @@ namespace __atomic2
};
} // namespace __atomic2
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/atomic_base.h b/libstdc++-v3/include/bits/atomic_base.h
index f70b717b783..7316d01a152 100644
--- a/libstdc++-v3/include/bits/atomic_base.h
+++ b/libstdc++-v3/include/bits/atomic_base.h
@@ -36,7 +36,9 @@
#include <stdbool.h>
#include <stdint.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup atomics Atomics
@@ -284,6 +286,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group atomics
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/basic_ios.h b/libstdc++-v3/include/bits/basic_ios.h
index 6fd0653617b..29d8ae5d3ed 100644
--- a/libstdc++-v3/include/bits/basic_ios.h
+++ b/libstdc++-v3/include/bits/basic_ios.h
@@ -39,7 +39,9 @@
#include <bits/locale_facets.h>
#include <bits/streambuf_iterator.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Facet>
inline const _Facet&
@@ -465,7 +467,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_cache_locale(const locale& __loc);
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#include <bits/basic_ios.tcc>
diff --git a/libstdc++-v3/include/bits/basic_ios.tcc b/libstdc++-v3/include/bits/basic_ios.tcc
index 8a0fe0bb2cc..98b227fb95a 100644
--- a/libstdc++-v3/include/bits/basic_ios.tcc
+++ b/libstdc++-v3/include/bits/basic_ios.tcc
@@ -33,7 +33,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits>
void
@@ -182,6 +184,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h
index 03c89620ddf..102ef77a68d 100644
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -42,7 +42,9 @@
#include <debug/debug.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @class basic_string basic_string.h <string>
@@ -2745,14 +2747,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
wchar_t __delim);
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#if (defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(_GLIBCXX_USE_C99) \
&& !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF))
#include <ext/string_conversions.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// 21.4 Numeric Conversions [string.conversions].
inline int
@@ -2959,7 +2964,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* __GXX_EXPERIMENTAL_CXX0X__ && _GLIBCXX_USE_C99 ... */
@@ -2967,7 +2973,9 @@ _GLIBCXX_END_NAMESPACE
#include <bits/functional_hash.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// DR 1182.
@@ -3020,7 +3028,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
};
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* __GXX_EXPERIMENTAL_CXX0X__ */
diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc
index 2b22c6b0acf..880fc6b3494 100644
--- a/libstdc++-v3/include/bits/basic_string.tcc
+++ b/libstdc++-v3/include/bits/basic_string.tcc
@@ -43,7 +43,9 @@
#include <bits/cxxabi_forced.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits, typename _Alloc>
const typename basic_string<_CharT, _Traits, _Alloc>::size_type
@@ -1161,6 +1163,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/boost_concept_check.h b/libstdc++-v3/include/bits/boost_concept_check.h
index beabbb56cb0..f1bc16abc38 100644
--- a/libstdc++-v3/include/bits/boost_concept_check.h
+++ b/libstdc++-v3/include/bits/boost_concept_check.h
@@ -45,7 +45,9 @@
#include <bits/c++config.h>
#include <bits/stl_iterator_base_types.h> // for traits and tags
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#define _IsUnused __attribute__ ((__unused__))
@@ -779,7 +781,8 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; };
typename _BackInsertionSequence::value_type __t;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#undef _IsUnused
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index 71774e82c27..101d6b50d23 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -35,6 +35,11 @@
#define __GLIBCXX__
// Macros for various attributes.
+// _GLIBCXX_PURE
+// _GLIBCXX_CONST
+// _GLIBCXX_NORETURN
+// _GLIBCXX_NOTHROW
+// _GLIBCXX_VISIBILITY
#ifndef _GLIBCXX_PURE
# define _GLIBCXX_PURE __attribute__ ((__pure__))
#endif
@@ -55,22 +60,22 @@
# endif
#endif
-// Macros for visibility.
-// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
-// _GLIBCXX_VISIBILITY_ATTR
+// Macros for visibility attributes.
+// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
+// _GLIBCXX_VISIBILITY
#define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
-# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V)))
+# define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V)))
#else
// If this is not supplied by the OS-specific or CPU-specific
// headers included below, it will be defined to an empty default.
-# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V)
+# define _GLIBCXX_VISIBILITY(V) _GLIBCXX_PSEUDO_VISIBILITY(V)
#endif
-// Macros for deprecated.
-// _GLIBCXX_DEPRECATED
-// _GLIBCXX_DEPRECATED_ATTR
+// Macros for deprecated attributes.
+// _GLIBCXX_DEPRECATED
+// _GLIBCXX_DEPRECATED_ATTR
#ifndef _GLIBCXX_DEPRECATED
# define _GLIBCXX_DEPRECATED 1
#endif
@@ -83,22 +88,6 @@
#if __cplusplus
-namespace std
-{
- typedef __SIZE_TYPE__ size_t;
- typedef __PTRDIFF_TYPE__ ptrdiff_t;
-
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
- typedef decltype(nullptr) nullptr_t;
-#endif
-}
-
-// Macros for C compatibility. In particular, define extern "C"
-// linkage only when using C++.
-# define _GLIBCXX_BEGIN_EXTERN_C extern "C" {
-# define _GLIBCXX_END_EXTERN_C }
-
-
// Macro for constexpr, to support in mixed 03/0x mode.
#ifndef _GLIBCXX_CONSTEXPR
# ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -110,201 +99,255 @@ namespace std
# endif
#endif
-// Macros for activating various inline namespaces.
-//
-// _GLIBCXX_NAMESPACE_DEBUG
-// _GLIBCXX_NAMESPACE_PARALLEL
-// _GLIBCXX_NAMESPACE_PROFILE
-// _GLIBCXX_NAMESPACE_VERSION
+// Macro for extern template, ie controling template linkage via use
+// of extern keyword on template declaration. As documented in the g++
+// manual, it inhibits all implicit instantiations and is used
+// throughout the library to avoid multiple weak definitions for
+// required types that are already explicitly instantiated in the
+// library binary. This substantially reduces the binary size of
+// resulting executables.
+// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern
+// templates only in basic_string, thus activating its debug-mode
+// checks even at -O0.
+#ifndef _GLIBCXX_EXTERN_TEMPLATE
+# define _GLIBCXX_EXTERN_TEMPLATE 1
+#endif
-// Guide to libstdc++ namespaces.
/*
+ Outline of libstdc++ namespaces.
+
namespace std
{
namespace __debug { }
namespace __parallel { }
namespace __profile { }
- namespace __norm { } // __normative, __shadow, __replaced
namespace __cxx1998 { }
- namespace tr1 { }
+ namespace __detail { }
+
+ namespace rel_ops { }
+
+ namespace tr1
+ {
+ namespace placeholders { }
+ namespace regex_constants { }
+ namespace __detail { }
+ }
+
+ namespace decimal { }
+
+ namespace chrono { }
+ namespace placeholders { }
+ namespace regex_constants { }
+ namespace this_thread { }
}
-*/
-#ifdef _GLIBCXX_DEBUG
-# define _GLIBCXX_INLINE_DEBUG 1
-#endif
+ namespace abi { }
-#ifdef _GLIBCXX_PARALLEL
-# define _GLIBCXX_INLINE_PARALLEL 1
-#endif
+ namespace __gnu_cxx
+ {
+ namespace __detail { }
+ }
+
+ For full details see:
+ http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html
+*/
+namespace std
+{
+ typedef __SIZE_TYPE__ size_t;
+ typedef __PTRDIFF_TYPE__ ptrdiff_t;
-// Namespace association for profile.
-#ifdef _GLIBCXX_PROFILE
-# define _GLIBCXX_INLINE_PROFILE 1
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+ typedef decltype(nullptr) nullptr_t;
#endif
+}
+
+// Defined if inline namespaces are used for versioning.
#define _GLIBCXX_INLINE_VERSION
-// Defined if inline namespaces modes are active.
-#if _GLIBCXX_INLINE_DEBUG \
- || _GLIBCXX_INLINE_PARALLEL \
- || _GLIBCXX_INLINE_PROFILE \
- || _GLIBCXX_INLINE_VERSION
-# define _GLIBCXX_USE_INLINE_NAMESPACES 1
-#endif
+// Inline namespace for symbol versioning.
+#if _GLIBCXX_INLINE_VERSION
+namespace std
+{
+ inline namespace _6 { }
-// Macros for namespace scope. Either namespace std:: or the name
-// of some nested namespace within it.
-// _GLIBCXX_STD
-// _GLIBCXX_STD_D
-// _GLIBCXX_STD_P
-// _GLIBCXX_STD_PR
-//
-// Macros for enclosing namespaces and possibly nested namespaces.
-// _GLIBCXX_BEGIN_NAMESPACE
-// _GLIBCXX_END_NAMESPACE
-// _GLIBCXX_BEGIN_NESTED_NAMESPACE
-// _GLIBCXX_END_NESTED_NAMESPACE
-#ifndef _GLIBCXX_USE_INLINE_NAMESPACES
-# define _GLIBCXX_STD_D _GLIBCXX_STD
-# define _GLIBCXX_STD_P _GLIBCXX_STD
-# define _GLIBCXX_STD_PR _GLIBCXX_STD
-# define _GLIBCXX_STD std
-# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X)
-# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE
-# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) {
-# define _GLIBCXX_END_NAMESPACE }
+ namespace __detail { inline namespace _6 { } }
+
+
+ namespace rel_ops { inline namespace _6 { } }
+
+ namespace tr1
+ {
+ inline namespace _6 { }
+ namespace placeholders { inline namespace _6 { } }
+ namespace regex_constants { inline namespace _6 { } }
+ namespace __detail { inline namespace _6 { } }
+ }
+
+ namespace decimal { inline namespace _6 { } }
+
+ namespace chrono { inline namespace _6 { } }
+ namespace placeholders { inline namespace _6 { } }
+ namespace regex_constants { inline namespace _6 { } }
+ namespace this_thread { inline namespace _6 { } }
+}
+
+namespace __gnu_cxx
+{
+ inline namespace _6 { }
+ namespace __detail { inline namespace _6 { } }
+}
+# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace _6 {
+# define _GLIBCXX_END_NAMESPACE_VERSION }
#else
+# define _GLIBCXX_BEGIN_NAMESPACE_VERSION
+# define _GLIBCXX_END_NAMESPACE_VERSION
+#endif
-# if _GLIBCXX_INLINE_VERSION // && not anything else
-# define _GLIBCXX_STD_D _GLIBCXX_STD
-# define _GLIBCXX_STD_P _GLIBCXX_STD
-# define _GLIBCXX_STD _6
-# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6)
-# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE
-# endif
-// debug
-# if _GLIBCXX_INLINE_DEBUG && !_GLIBCXX_INLINE_PARALLEL && !_GLIBCXX_INLINE_PROFILE
-# define _GLIBCXX_STD_D __norm
-# define _GLIBCXX_STD_P _GLIBCXX_STD
-# define _GLIBCXX_STD __cxx1998
-# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) {
-# define _GLIBCXX_END_NAMESPACE }
-# define _GLIBCXX_EXTERN_TEMPLATE -1
+// Inline namespaces for special modes: debug, parallel, profile.
+#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) \
+ || defined(_GLIBCXX_PROFILE)
+namespace std
+{
+ // Non-inline namespace for components replaced by alternates in active mode.
+ namespace __cxx1998
+ {
+#if _GLIBCXX_INLINE_VERSION
+ inline namespace _6 { }
+#endif
+ }
+
+ // Inline namespace for debug mode.
+# ifdef _GLIBCXX_DEBUG
+ inline namespace __debug { }
# endif
-// parallel
-# if _GLIBCXX_INLINE_PARALLEL && !_GLIBCXX_INLINE_DEBUG && !_GLIBCXX_INLINE_PROFILE
-# define _GLIBCXX_STD_D _GLIBCXX_STD
-# define _GLIBCXX_STD_P __norm
-# define _GLIBCXX_STD __cxx1998
-# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) {
-# define _GLIBCXX_END_NAMESPACE }
+ // Inline namespaces for parallel mode.
+# ifdef _GLIBCXX_PARALLEL
+ inline namespace __parallel { }
# endif
-// debug + parallel
-# if _GLIBCXX_INLINE_PARALLEL && _GLIBCXX_INLINE_DEBUG && !_GLIBCXX_INLINE_PROFILE
-# define _GLIBCXX_STD_D __norm
-# define _GLIBCXX_STD_P __norm
-# define _GLIBCXX_STD __cxx1998
-# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) {
-# define _GLIBCXX_END_NAMESPACE }
-# define _GLIBCXX_EXTERN_TEMPLATE -1
+ // Inline namespaces for profile mode
+# ifdef _GLIBCXX_PROFILE
+ inline namespace __profile { }
# endif
+}
-// profile
-# if _GLIBCXX_INLINE_PROFILE
-# if _GLIBCXX_INLINE_PARALLEL || _GLIBCXX_INLINE_DEBUG
-# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \
- -D_GLIBCXX_PARALLEL
-# endif
-# define _GLIBCXX_STD_D __norm
-# define _GLIBCXX_STD_P _GLIBCXX_STD
-# define _GLIBCXX_STD_PR __norm
-# define _GLIBCXX_STD __cxx1998
-# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) {
-# define _GLIBCXX_END_NAMESPACE }
+// Check for invalid usage and unsupported mixed-mode use.
+# if defined(_GLIBCXX_DEBUG) && defined(_GLIBCXX_PARALLEL)
+# error illegal use of multiple inlined namespaces
+# endif
+# if defined(_GLIBCXX_PROFILE) && defined(_GLIBCXX_DEBUG)
+# error illegal use of multiple inlined namespaces
+# endif
+# if defined(_GLIBCXX_PROFILE) && defined(_GLIBCXX_PARALLEL)
+# error illegal use of multiple inlined namespaces
# endif
+// Check for invalid use due to lack for weak symbols.
# if __NO_INLINE__ && !__GXX_WEAK__
# warning currently using inlined namespace mode which may fail \
without inlining due to lack of weak symbols
# endif
+#endif
+
+// Macros for namespace scope. Either namespace std:: or the name
+// of some nested namespace within it corresponding to the active mode.
+// _GLIBCXX_STD_A
+// _GLIBCXX_STD_C
+//
+// Macros for opening/closing conditional namespaces.
+// _GLIBCXX_BEGIN_NAMESPACE_ALGO
+// _GLIBCXX_END_NAMESPACE_ALGO
+// _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
+// _GLIBCXX_END_NAMESPACE_CONTAINER
+#if defined(_GLIBCXX_DEBUG) or defined(_GLIBCXX_PROFILE)
+# define _GLIBCXX_STD_C __cxx1998
+# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \
+ namespace _GLIBCXX_STD_C { _GLIBCXX_BEGIN_NAMESPACE_VERSION
+# define _GLIBCXX_END_NAMESPACE_CONTAINER \
+ } _GLIBCXX_END_NAMESPACE_VERSION
+# undef _GLIBCXX_EXTERN_TEMPLATE
+# define _GLIBCXX_EXTERN_TEMPLATE -1
+#endif
-# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) {
-# define _GLIBCXX_END_NESTED_NAMESPACE } }
+#ifdef _GLIBCXX_PARALLEL
+# define _GLIBCXX_STD_A __cxx1998
+# define _GLIBCXX_BEGIN_NAMESPACE_ALGO \
+ namespace _GLIBCXX_STD_A { _GLIBCXX_BEGIN_NAMESPACE_VERSION
+# define _GLIBCXX_END_NAMESPACE_ALGO \
+ } _GLIBCXX_END_NAMESPACE_VERSION
#endif
-// Inline namespaces for debug mode.
-#if _GLIBCXX_INLINE_DEBUG && !_GLIBCXX_INLINE_PROFILE
-namespace std
-{
- namespace __norm { }
- inline namespace __debug { }
- inline namespace __cxx1998 { }
-}
+#ifndef _GLIBCXX_STD_A
+# define _GLIBCXX_STD_A std
#endif
-// Inline namespaces for parallel mode.
-#if _GLIBCXX_INLINE_PARALLEL
-namespace std
-{
- namespace __norm { }
- inline namespace __parallel { }
- inline namespace __cxx1998 { }
-}
+#ifndef _GLIBCXX_STD_C
+# define _GLIBCXX_STD_C std
#endif
-// Inline namespaces for profile mode
-#if _GLIBCXX_INLINE_PROFILE
-namespace std
-{
- namespace __norm { }
- inline namespace __profile { }
- inline namespace __cxx1998 { }
-}
+#ifndef _GLIBCXX_BEGIN_NAMESPACE_ALGO
+# define _GLIBCXX_BEGIN_NAMESPACE_ALGO
#endif
-// Inline namespaces for versioning mode.
-#if _GLIBCXX_INLINE_VERSION
-namespace std
-{
- inline namespace _6 { }
-}
+#ifndef _GLIBCXX_END_NAMESPACE_ALGO
+# define _GLIBCXX_END_NAMESPACE_ALGO
+#endif
-namespace __gnu_cxx
-{
- inline namespace _6 { }
-}
+#ifndef _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
+# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
+#endif
-namespace std
-{
- namespace tr1
- {
- inline namespace _6 { }
- }
-}
+#ifndef _GLIBCXX_END_NAMESPACE_CONTAINER
+# define _GLIBCXX_END_NAMESPACE_CONTAINER
#endif
-// XXX GLIBCXX_ABI Deprecated
-// Define if compatibility should be provided for -mlong-double-64
+// GLIBCXX_ABI Deprecated
+// Define if compatibility should be provided for -mlong-double-64.
#undef _GLIBCXX_LONG_DOUBLE_COMPAT
-// Inline namespaces for long double 128 mode.
+// Inline namespace for long double 128 mode.
#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
namespace std
{
inline namespace __gnu_cxx_ldbl128 { }
}
-# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128::
-# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 {
-# define _GLIBCXX_END_LDBL_NAMESPACE }
+# define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ldbl128::
+# define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ldbl128 {
+# define _GLIBCXX_END_NAMESPACE_LDBL }
#else
-# define _GLIBCXX_LDBL_NAMESPACE
-# define _GLIBCXX_BEGIN_LDBL_NAMESPACE
-# define _GLIBCXX_END_LDBL_NAMESPACE
+# define _GLIBCXX_NAMESPACE_LDBL
+# define _GLIBCXX_BEGIN_NAMESPACE_LDBL
+# define _GLIBCXX_END_NAMESPACE_LDBL
+#endif
+
+// Assert.
+#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL)
+# define __glibcxx_assert(_Condition)
+#else
+namespace std
+{
+ // Avoid the use of assert, because we're trying to keep the <cassert>
+ // include out of the mix.
+ inline void
+ __replacement_assert(const char* __file, int __line,
+ const char* __function, const char* __condition)
+ {
+ __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line,
+ __function, __condition);
+ __builtin_abort();
+ }
+}
+#define __glibcxx_assert(_Condition) \
+ do \
+ { \
+ if (! (_Condition)) \
+ std::__replacement_assert(__FILE__, __LINE__, __PRETTY_FUNCTION__, \
+ #_Condition); \
+ } while (false)
#endif
// Macros for race detectors.
@@ -328,7 +371,6 @@ namespace std
// The annotations in this example tell the race detector that all memory
// accesses occurred when the refcount was positive do not race with
// memory accesses which occurred after the refcount became zero.
-
#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE
# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A)
#endif
@@ -336,15 +378,16 @@ namespace std
# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A)
#endif
+// Macros for C linkage: define extern "C" linkage only when using C++.
+# define _GLIBCXX_BEGIN_EXTERN_C extern "C" {
+# define _GLIBCXX_END_EXTERN_C }
+
#else // !__cplusplus
# define _GLIBCXX_BEGIN_EXTERN_C
# define _GLIBCXX_END_EXTERN_C
-# undef _GLIBCXX_BEGIN_NAMESPACE
-# undef _GLIBCXX_END_NAMESPACE
-# define _GLIBCXX_BEGIN_NAMESPACE(X)
-# define _GLIBCXX_END_NAMESPACE
#endif
+
// First includes.
// Pick up any OS-specific definitions.
@@ -356,21 +399,7 @@ namespace std
// If platform uses neither visibility nor psuedo-visibility,
// specify empty default for namespace annotation macros.
#ifndef _GLIBCXX_PSEUDO_VISIBILITY
-#define _GLIBCXX_PSEUDO_VISIBILITY(V)
-#endif
-
-// Allow use of the GNU syntax extension, "extern template." This
-// extension is fully documented in the g++ manual, but in a nutshell,
-// it inhibits all implicit instantiations and is used throughout the
-// library to avoid multiple weak definitions for required types that
-// are already explicitly instantiated in the library binary. This
-// substantially reduces the binary size of resulting executables.
-
-// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern
-// templates only in basic_string, thus activating its debug-mode
-// checks even at -O0.
-#ifndef _GLIBCXX_EXTERN_TEMPLATE
-# define _GLIBCXX_EXTERN_TEMPLATE 1
+# define _GLIBCXX_PSEUDO_VISIBILITY(V)
#endif
// Certain function definitions that are meant to be overridable from
@@ -380,33 +409,6 @@ namespace std
# define _GLIBCXX_WEAK_DEFINITION
#endif
-// Assert.
-// Avoid the use of assert, because we're trying to keep the <cassert>
-// include out of the mix.
-#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL)
-#define __glibcxx_assert(_Condition)
-#else
-_GLIBCXX_BEGIN_NAMESPACE(std)
- // Avoid the use of assert, because we're trying to keep the <cassert>
- // include out of the mix.
- inline void
- __replacement_assert(const char* __file, int __line,
- const char* __function, const char* __condition)
- {
- __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line,
- __function, __condition);
- __builtin_abort();
- }
-_GLIBCXX_END_NAMESPACE
-
-#define __glibcxx_assert(_Condition) \
- do \
- { \
- if (! (_Condition)) \
- std::__replacement_assert(__FILE__, __LINE__, \
- __PRETTY_FUNCTION__, #_Condition); \
- } while (false)
-#endif
// The remainder of the prewritten config is automatic; all the
// user hooks are listed above.
@@ -428,4 +430,4 @@ _GLIBCXX_END_NAMESPACE
#undef min
#undef max
-// End of prewritten config; the discovered settings follow.
+// End of prewritten config; the settings discovered at configure time follow.
diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h
index 4033f6d1424..07251df0fd3 100644
--- a/libstdc++-v3/include/bits/char_traits.h
+++ b/libstdc++-v3/include/bits/char_traits.h
@@ -42,7 +42,9 @@
#include <bits/postypes.h> // For streampos
#include <cwchar> // For WEOF, wmemmove, wmemset, etc.
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Mapping from character type to associated types.
@@ -203,9 +205,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
return __s;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// 21.1
/**
@@ -364,14 +369,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
};
#endif //_GLIBCXX_USE_WCHAR_T
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#if (defined(__GXX_EXPERIMENTAL_CXX0X__) \
&& defined(_GLIBCXX_USE_C99_STDINT_TR1))
#include <cstdint>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<>
struct char_traits<char16_t>
@@ -559,7 +567,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return eq_int_type(__c, eof()) ? 0 : __c; }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/codecvt.h b/libstdc++-v3/include/bits/codecvt.h
index cf8ac1020d6..42cc471d9cd 100644
--- a/libstdc++-v3/include/bits/codecvt.h
+++ b/libstdc++-v3/include/bits/codecvt.h
@@ -39,7 +39,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Empty base class for codecvt facet [22.2.1.5].
class codecvt_base
@@ -499,6 +501,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _CODECVT_H
diff --git a/libstdc++-v3/include/bits/cpp_type_traits.h b/libstdc++-v3/include/bits/cpp_type_traits.h
index 3ae964afbe0..166890fb8fd 100644
--- a/libstdc++-v3/include/bits/cpp_type_traits.h
+++ b/libstdc++-v3/include/bits/cpp_type_traits.h
@@ -66,14 +66,19 @@
//
// Forward declaration hack, should really include this from somewhere.
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Iterator, typename _Container>
class __normal_iterator;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
struct __true_type { };
struct __false_type { };
@@ -414,6 +419,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
};
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif //_CPP_TYPE_TRAITS_H
diff --git a/libstdc++-v3/include/bits/deque.tcc b/libstdc++-v3/include/bits/deque.tcc
index 78bb888060a..389fc80d945 100644
--- a/libstdc++-v3/include/bits/deque.tcc
+++ b/libstdc++-v3/include/bits/deque.tcc
@@ -1,7 +1,7 @@
// Deque implementation (out of line) -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-// 2009, 2010
+// 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -58,7 +58,9 @@
#ifndef _DEQUE_TCC
#define _DEQUE_TCC 1
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
#ifdef __GXX_EXPERIMENTAL_CXX0X__
template <typename _Tp, typename _Alloc>
@@ -1038,6 +1040,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
}
#endif
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h
index b7f071f365f..39c25322817 100644
--- a/libstdc++-v3/include/bits/forward_list.h
+++ b/libstdc++-v3/include/bits/forward_list.h
@@ -1,6 +1,6 @@
// <forward_list.h> -*- C++ -*-
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 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,7 +35,9 @@
#include <memory>
#include <initializer_list>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief A helper basic node class for %forward_list.
@@ -1295,6 +1297,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
forward_list<_Tp, _Alloc>& __ly)
{ __lx.swap(__ly); }
-_GLIBCXX_END_NESTED_NAMESPACE // namespace std
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif // _FORWARD_LIST_H
diff --git a/libstdc++-v3/include/bits/forward_list.tcc b/libstdc++-v3/include/bits/forward_list.tcc
index a409383e210..2c319db7c1e 100644
--- a/libstdc++-v3/include/bits/forward_list.tcc
+++ b/libstdc++-v3/include/bits/forward_list.tcc
@@ -1,6 +1,6 @@
// <forward_list.tcc> -*- C++ -*-
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 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,7 +30,9 @@
#ifndef _FORWARD_LIST_TCC
#define _FORWARD_LIST_TCC 1
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
template<typename _Tp, typename _Alloc>
_Fwd_list_base<_Tp, _Alloc>::
@@ -494,7 +496,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
}
}
-_GLIBCXX_END_NESTED_NAMESPACE // namespace std
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif /* _FORWARD_LIST_TCC */
diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc
index bd0fa4be010..edaff970374 100644
--- a/libstdc++-v3/include/bits/fstream.tcc
+++ b/libstdc++-v3/include/bits/fstream.tcc
@@ -40,7 +40,9 @@
#include <bits/cxxabi_forced.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits>
void
@@ -979,6 +981,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/functexcept.h b/libstdc++-v3/include/bits/functexcept.h
index 714d1cfd6b8..d8e6ae76d49 100644
--- a/libstdc++-v3/include/bits/functexcept.h
+++ b/libstdc++-v3/include/bits/functexcept.h
@@ -40,7 +40,9 @@
#include <bits/c++config.h>
#include <bits/exception_defines.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Helper for exception objects in <except>
void
@@ -99,6 +101,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
void
__throw_bad_function_call() __attribute__((__noreturn__));
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/functional_hash.h b/libstdc++-v3/include/bits/functional_hash.h
index 30754510fca..e77cb4e17bf 100644
--- a/libstdc++-v3/include/bits/functional_hash.h
+++ b/libstdc++-v3/include/bits/functional_hash.h
@@ -34,7 +34,9 @@
#include <bits/hash_bytes.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/** @defgroup hashes Hashes
* @ingroup functors
@@ -183,6 +185,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group hashes
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _FUNCTIONAL_HASH_H
diff --git a/libstdc++-v3/include/bits/gslice.h b/libstdc++-v3/include/bits/gslice.h
index 1e78cc7dd05..47d177510a3 100644
--- a/libstdc++-v3/include/bits/gslice.h
+++ b/libstdc++-v3/include/bits/gslice.h
@@ -35,7 +35,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup numeric_arrays
@@ -177,6 +179,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group numeric_arrays
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _GSLICE_H */
diff --git a/libstdc++-v3/include/bits/gslice_array.h b/libstdc++-v3/include/bits/gslice_array.h
index 11e03718518..1ae047df2cc 100644
--- a/libstdc++-v3/include/bits/gslice_array.h
+++ b/libstdc++-v3/include/bits/gslice_array.h
@@ -35,7 +35,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup numeric_arrays
@@ -211,6 +213,7 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
// @} group numeric_arrays
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _GSLICE_ARRAY_H */
diff --git a/libstdc++-v3/include/bits/hashtable.h b/libstdc++-v3/include/bits/hashtable.h
index 52f1b318d0e..2ee85524eff 100644
--- a/libstdc++-v3/include/bits/hashtable.h
+++ b/libstdc++-v3/include/bits/hashtable.h
@@ -35,7 +35,9 @@
#include <bits/hashtable_policy.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Class template _Hashtable, class definition.
@@ -1229,6 +1231,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
-_GLIBCXX_END_NAMESPACE // namespace std
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace std
#endif // _HASHTABLE_H
diff --git a/libstdc++-v3/include/bits/hashtable_policy.h b/libstdc++-v3/include/bits/hashtable_policy.h
index 7b13719af30..f6e187616ee 100644
--- a/libstdc++-v3/include/bits/hashtable_policy.h
+++ b/libstdc++-v3/include/bits/hashtable_policy.h
@@ -31,10 +31,12 @@
#ifndef _HASHTABLE_POLICY_H
#define _HASHTABLE_POLICY_H 1
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std _GLIBCXX_VISIBILITY(default)
+{
namespace __detail
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
// Helper function: return distance(first, last) for forward
// iterators, or 0 for input iterators.
template<class _Iterator>
@@ -977,8 +979,9 @@ namespace __detail
}
return true;
}
-} // namespace __detail
-_GLIBCXX_END_NAMESPACE // namespace std
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace __detail
+} // namespace std
#endif // _HASHTABLE_POLICY_H
diff --git a/libstdc++-v3/include/bits/indirect_array.h b/libstdc++-v3/include/bits/indirect_array.h
index e6f1430fdd0..d7b7b08271c 100644
--- a/libstdc++-v3/include/bits/indirect_array.h
+++ b/libstdc++-v3/include/bits/indirect_array.h
@@ -35,7 +35,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup numeric_arrays
@@ -205,6 +207,7 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
// @} group numeric_arrays
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _INDIRECT_ARRAY_H */
diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h
index 24bddf270ad..8825657a2ae 100644
--- a/libstdc++-v3/include/bits/ios_base.h
+++ b/libstdc++-v3/include/bits/ios_base.h
@@ -42,7 +42,9 @@
#include <bits/localefwd.h>
#include <bits/locale_classes.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// The following definitions of bitmask types are enums, not ints,
// as permitted (but not required) in the standard, in order to provide
@@ -969,6 +971,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __base;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _IOS_BASE_H */
diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc
index 6fc6b31ad26..5666b11be3d 100644
--- a/libstdc++-v3/include/bits/istream.tcc
+++ b/libstdc++-v3/include/bits/istream.tcc
@@ -40,7 +40,9 @@
#include <bits/cxxabi_forced.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>::sentry::
@@ -1087,6 +1089,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/list.tcc b/libstdc++-v3/include/bits/list.tcc
index b06822f1633..01c1bc64495 100644
--- a/libstdc++-v3/include/bits/list.tcc
+++ b/libstdc++-v3/include/bits/list.tcc
@@ -1,7 +1,7 @@
// List implementation (out of line) -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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,7 +57,9 @@
#ifndef _LIST_TCC
#define _LIST_TCC 1
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
template<typename _Tp, typename _Alloc>
void
@@ -461,7 +463,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
}
}
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif /* _LIST_TCC */
diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h
index 3cdb1b3705f..80ba735268b 100644
--- a/libstdc++-v3/include/bits/locale_classes.h
+++ b/libstdc++-v3/include/bits/locale_classes.h
@@ -42,7 +42,9 @@
#include <string>
#include <ext/atomicity.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// 22.1.1 Class locale
/**
@@ -815,7 +817,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
~collate_byname() { }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
# include <bits/locale_classes.tcc>
diff --git a/libstdc++-v3/include/bits/locale_classes.tcc b/libstdc++-v3/include/bits/locale_classes.tcc
index 53c0f573198..e60401343e0 100644
--- a/libstdc++-v3/include/bits/locale_classes.tcc
+++ b/libstdc++-v3/include/bits/locale_classes.tcc
@@ -36,7 +36,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Facet>
locale::
@@ -266,6 +268,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h
index ec5a5188860..41732f3c4a9 100644
--- a/libstdc++-v3/include/bits/locale_facets.h
+++ b/libstdc++-v3/include/bits/locale_facets.h
@@ -49,7 +49,9 @@
#include <ext/numeric_traits.h>
#include <bits/streambuf_iterator.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// NB: Don't instantiate required wchar_t facets if no wchar_t support.
#ifdef _GLIBCXX_USE_WCHAR_T
@@ -1503,12 +1505,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
};
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// Include host and configuration specific ctype inlines.
#include <bits/ctype_inline.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// 22.2.2 The numeric category.
class __num_base
@@ -1892,7 +1897,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
~numpunct_byname() { }
};
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
+_GLIBCXX_BEGIN_NAMESPACE_LDBL
/**
* @brief Primary class template num_get.
@@ -2512,7 +2517,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
template <typename _CharT, typename _OutIter>
locale::id num_put<_CharT, _OutIter>::id;
-_GLIBCXX_END_LDBL_NAMESPACE
+_GLIBCXX_END_NAMESPACE_LDBL
// Subclause convenience interfaces, inlines.
// NB: These are inline because, when used in a loop, some compilers
@@ -2597,7 +2602,8 @@ _GLIBCXX_END_LDBL_NAMESPACE
tolower(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
# include <bits/locale_facets.tcc>
diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc
index 076963aaf6e..114d852e2ae 100644
--- a/libstdc++-v3/include/bits/locale_facets.tcc
+++ b/libstdc++-v3/include/bits/locale_facets.tcc
@@ -34,7 +34,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Routine to access a cache for the facet. If the cache didn't
// exist before, it gets constructed on the fly.
@@ -137,7 +139,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__verify_grouping(const char* __grouping, size_t __grouping_size,
const string& __grouping_tmp) throw ();
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
+_GLIBCXX_BEGIN_NAMESPACE_LDBL
template<typename _CharT, typename _InIter>
_InIter
@@ -782,7 +784,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
__len = static_cast<int>(__w);
}
-_GLIBCXX_END_LDBL_NAMESPACE
+_GLIBCXX_END_NAMESPACE_LDBL
template<typename _CharT, typename _ValueT>
int
@@ -826,7 +828,7 @@ _GLIBCXX_END_LDBL_NAMESPACE
return __bufend - __buf;
}
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
+_GLIBCXX_BEGIN_NAMESPACE_LDBL
template<typename _CharT, typename _OutIter>
void
@@ -1177,7 +1179,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
return __s;
}
-_GLIBCXX_END_LDBL_NAMESPACE
+_GLIBCXX_END_NAMESPACE_LDBL
// Construct correctly padded string, as per 22.2.2.2.2
// Assumes
@@ -1278,8 +1280,8 @@ _GLIBCXX_END_LDBL_NAMESPACE
#if _GLIBCXX_EXTERN_TEMPLATE
extern template class numpunct<char>;
extern template class numpunct_byname<char>;
- extern template class _GLIBCXX_LDBL_NAMESPACE num_get<char>;
- extern template class _GLIBCXX_LDBL_NAMESPACE num_put<char>;
+ extern template class _GLIBCXX_NAMESPACE_LDBL num_get<char>;
+ extern template class _GLIBCXX_NAMESPACE_LDBL num_put<char>;
extern template class ctype_byname<char>;
extern template
@@ -1317,8 +1319,8 @@ _GLIBCXX_END_LDBL_NAMESPACE
#ifdef _GLIBCXX_USE_WCHAR_T
extern template class numpunct<wchar_t>;
extern template class numpunct_byname<wchar_t>;
- extern template class _GLIBCXX_LDBL_NAMESPACE num_get<wchar_t>;
- extern template class _GLIBCXX_LDBL_NAMESPACE num_put<wchar_t>;
+ extern template class _GLIBCXX_NAMESPACE_LDBL num_get<wchar_t>;
+ extern template class _GLIBCXX_NAMESPACE_LDBL num_put<wchar_t>;
extern template class ctype_byname<wchar_t>;
extern template
@@ -1355,6 +1357,7 @@ _GLIBCXX_END_LDBL_NAMESPACE
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.h b/libstdc++-v3/include/bits/locale_facets_nonio.h
index 2c6a8f7cec7..be7c1a42fd5 100644
--- a/libstdc++-v3/include/bits/locale_facets_nonio.h
+++ b/libstdc++-v3/include/bits/locale_facets_nonio.h
@@ -38,7 +38,9 @@
#include <ctime> // For struct tm
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Time format ordering data.
@@ -339,12 +341,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
const tm*) const throw ();
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// Include host and configuration specific timepunct functions.
#include <bits/time_members.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Primary class template time_get.
@@ -1346,7 +1351,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _CharT, bool _Intl>
const bool moneypunct_byname<_CharT, _Intl>::intl;
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
+_GLIBCXX_BEGIN_NAMESPACE_LDBL
/**
* @brief Primary class template money_get.
@@ -1654,7 +1659,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
template<typename _CharT, typename _OutIter>
locale::id money_put<_CharT, _OutIter>::id;
-_GLIBCXX_END_LDBL_NAMESPACE
+_GLIBCXX_END_NAMESPACE_LDBL
/**
* @brief Messages facet base class providing catalog typedef.
@@ -1919,7 +1924,8 @@ _GLIBCXX_END_LDBL_NAMESPACE
{ }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// Include host and configuration specific messages functions.
#include <bits/messages_members.h>
diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.tcc b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
index 35869e3611b..3039907d750 100644
--- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc
+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
@@ -32,7 +32,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, bool _Intl>
struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
@@ -122,7 +124,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
+_GLIBCXX_BEGIN_NAMESPACE_LDBL
template<typename _CharT, typename _InIter>
template<bool _Intl>
@@ -608,7 +610,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
{ return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
: _M_insert<false>(__s, __io, __fill, __digits); }
-_GLIBCXX_END_LDBL_NAMESPACE
+_GLIBCXX_END_NAMESPACE_LDBL
// NB: Not especially useful. Without an ios_base object or some
// kind of locale reference, we are left clawing at the air where
@@ -1219,8 +1221,8 @@ _GLIBCXX_END_LDBL_NAMESPACE
extern template class moneypunct<char, true>;
extern template class moneypunct_byname<char, false>;
extern template class moneypunct_byname<char, true>;
- extern template class _GLIBCXX_LDBL_NAMESPACE money_get<char>;
- extern template class _GLIBCXX_LDBL_NAMESPACE money_put<char>;
+ extern template class _GLIBCXX_NAMESPACE_LDBL money_get<char>;
+ extern template class _GLIBCXX_NAMESPACE_LDBL money_put<char>;
extern template class __timepunct<char>;
extern template class time_put<char>;
extern template class time_put_byname<char>;
@@ -1294,8 +1296,8 @@ _GLIBCXX_END_LDBL_NAMESPACE
extern template class moneypunct<wchar_t, true>;
extern template class moneypunct_byname<wchar_t, false>;
extern template class moneypunct_byname<wchar_t, true>;
- extern template class _GLIBCXX_LDBL_NAMESPACE money_get<wchar_t>;
- extern template class _GLIBCXX_LDBL_NAMESPACE money_put<wchar_t>;
+ extern template class _GLIBCXX_NAMESPACE_LDBL money_get<wchar_t>;
+ extern template class _GLIBCXX_NAMESPACE_LDBL money_put<wchar_t>;
extern template class __timepunct<wchar_t>;
extern template class time_put<wchar_t>;
extern template class time_put_byname<wchar_t>;
@@ -1366,6 +1368,7 @@ _GLIBCXX_END_LDBL_NAMESPACE
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/localefwd.h b/libstdc++-v3/include/bits/localefwd.h
index b7bf42e5342..38e7dd31426 100644
--- a/libstdc++-v3/include/bits/localefwd.h
+++ b/libstdc++-v3/include/bits/localefwd.h
@@ -43,7 +43,9 @@
#include <iosfwd> // For ostreambuf_iterator, istreambuf_iterator
#include <cctype>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup locales Locales
@@ -138,12 +140,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
class codecvt_byname;
// 22.2.2 and 22.2.3 numeric
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
+_GLIBCXX_BEGIN_NAMESPACE_LDBL
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
class num_get;
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
class num_put;
-_GLIBCXX_END_LDBL_NAMESPACE
+_GLIBCXX_END_NAMESPACE_LDBL
template<typename _CharT> class numpunct;
template<typename _CharT> class numpunct_byname;
@@ -166,12 +168,12 @@ _GLIBCXX_END_LDBL_NAMESPACE
// 22.2.6 money
class money_base;
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
+_GLIBCXX_BEGIN_NAMESPACE_LDBL
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
class money_get;
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
class money_put;
-_GLIBCXX_END_LDBL_NAMESPACE
+_GLIBCXX_END_NAMESPACE_LDBL
template<typename _CharT, bool _Intl = false>
class moneypunct;
template<typename _CharT, bool _Intl = false>
@@ -184,6 +186,7 @@ _GLIBCXX_END_LDBL_NAMESPACE
template<typename _CharT>
class messages_byname;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/mask_array.h b/libstdc++-v3/include/bits/mask_array.h
index e57adcc8aab..8b652a83872 100644
--- a/libstdc++-v3/include/bits/mask_array.h
+++ b/libstdc++-v3/include/bits/mask_array.h
@@ -35,7 +35,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup numeric_arrays
@@ -201,6 +203,7 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
// @} group numeric_arrays
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _MASK_ARRAY_H */
diff --git a/libstdc++-v3/include/bits/move.h b/libstdc++-v3/include/bits/move.h
index 5172f50a7d7..f5918999cf9 100644
--- a/libstdc++-v3/include/bits/move.h
+++ b/libstdc++-v3/include/bits/move.h
@@ -33,7 +33,9 @@
#include <bits/c++config.h>
#include <bits/concept_check.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Used, in C++03 mode too, by allocators, etc.
template<typename _Tp>
@@ -44,12 +46,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
(&const_cast<char&>(reinterpret_cast<const volatile char&>(__r)));
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#ifdef __GXX_EXPERIMENTAL_CXX0X__
#include <type_traits> // Brings in std::declval too.
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// forward (as per N3143)
template<typename _Tp>
@@ -91,7 +96,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
addressof(_Tp& __r)
{ return std::__addressof(__r); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#define _GLIBCXX_MOVE(__val) std::move(__val)
#define _GLIBCXX_FORWARD(_Tp, __val) std::forward<_Tp>(__val)
@@ -100,7 +106,9 @@ _GLIBCXX_END_NAMESPACE
#define _GLIBCXX_FORWARD(_Tp, __val) (__val)
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Swaps two values.
@@ -131,6 +139,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
swap(__a[__n], __b[__n]);
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _MOVE_H */
diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc
index ec41595a7c9..6c59e3e4162 100644
--- a/libstdc++-v3/include/bits/ostream.tcc
+++ b/libstdc++-v3/include/bits/ostream.tcc
@@ -40,7 +40,9 @@
#include <bits/cxxabi_forced.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>::sentry::
@@ -402,6 +404,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/ostream_insert.h b/libstdc++-v3/include/bits/ostream_insert.h
index 3d7cf2d5042..97608a00d06 100644
--- a/libstdc++-v3/include/bits/ostream_insert.h
+++ b/libstdc++-v3/include/bits/ostream_insert.h
@@ -35,7 +35,9 @@
#include <iosfwd>
#include <bits/cxxabi_forced.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits>
inline void
@@ -122,6 +124,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _OSTREAM_INSERT_H */
diff --git a/libstdc++-v3/include/bits/postypes.h b/libstdc++-v3/include/bits/postypes.h
index 46ef6711c5f..69235d9a099 100644
--- a/libstdc++-v3/include/bits/postypes.h
+++ b/libstdc++-v3/include/bits/postypes.h
@@ -67,7 +67,9 @@
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// The types streamoff, streampos and wstreampos and the class
// template fpos<> are described in clauses 21.1.2, 21.1.3, 27.1.2,
@@ -236,6 +238,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typedef fpos<mbstate_t> u32streampos;
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/random.h b/libstdc++-v3/include/bits/random.h
index 9feb0f448c8..5c406a648c3 100644
--- a/libstdc++-v3/include/bits/random.h
+++ b/libstdc++-v3/include/bits/random.h
@@ -33,7 +33,9 @@
#include <vector>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// [26.4] Random number generation
@@ -55,11 +57,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_RealType
generate_canonical(_UniformRandomNumberGenerator& __g);
+_GLIBCXX_END_NAMESPACE_VERSION
+
/*
* Implementation-space details.
*/
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
template<typename _UIntType, size_t __w,
bool = __w < static_cast<size_t>
(std::numeric_limits<_UIntType>::digits)>
@@ -116,8 +122,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
private:
_Engine& _M_g;
};
+
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* @addtogroup random_generators Random Number Generators
* @ingroup random
@@ -5376,6 +5386,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/* @} */ // group random_utilities
/* @} */ // group random
-_GLIBCXX_END_NAMESPACE
+
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/bits/random.tcc b/libstdc++-v3/include/bits/random.tcc
index 43fd0c8e16c..20f7667e298 100644
--- a/libstdc++-v3/include/bits/random.tcc
+++ b/libstdc++-v3/include/bits/random.tcc
@@ -1,6 +1,6 @@
// random number generation (out of line) -*- C++ -*-
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 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,13 +32,15 @@
#include <numeric> // std::accumulate and std::partial_sum
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std _GLIBCXX_VISIBILITY(default)
+{
/*
* (Further) implementation-space details.
*/
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
// General case for x = (ax + c) mod m -- use Schrage's algorithm to
// avoid integer overflow.
//
@@ -100,8 +102,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
*__result = __unary_op(*__first);
return __result;
}
+
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
constexpr _UIntType
@@ -2818,6 +2823,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
return __sum / __tmp;
}
-_GLIBCXX_END_NAMESPACE
+
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/range_access.h b/libstdc++-v3/include/bits/range_access.h
index 5c898efa9f6..0463791b718 100644
--- a/libstdc++-v3/include/bits/range_access.h
+++ b/libstdc++-v3/include/bits/range_access.h
@@ -34,7 +34,9 @@
#ifdef __GXX_EXPERIMENTAL_CXX0X__
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Return an iterator pointing to the first element of
@@ -95,7 +97,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
end(_Tp (&__arr)[_Nm])
{ return __arr + _Nm; }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/bits/regex.h b/libstdc++-v3/include/bits/regex.h
index ab05fc2d9d0..f21530f743e 100644
--- a/libstdc++-v3/include/bits/regex.h
+++ b/libstdc++-v3/include/bits/regex.h
@@ -28,7 +28,9 @@
* Do not attempt to use it directly. @headername{regex}
*/
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup regex Regular Expressions
@@ -2421,5 +2423,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
//@} // group regex
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/include/bits/regex_compiler.h b/libstdc++-v3/include/bits/regex_compiler.h
index 4219c8b2f5e..5cfd1929cff 100644
--- a/libstdc++-v3/include/bits/regex_compiler.h
+++ b/libstdc++-v3/include/bits/regex_compiler.h
@@ -28,7 +28,9 @@
* Do not attempt to use it directly. @headername{regex}
*/
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace __regex
{
@@ -1111,6 +1113,7 @@ namespace __regex
} // namespace __regex
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
/* vim: set ts=8 sw=2 sts=2: */
diff --git a/libstdc++-v3/include/bits/regex_constants.h b/libstdc++-v3/include/bits/regex_constants.h
index 1aeef52d657..1cdd93c5578 100644
--- a/libstdc++-v3/include/bits/regex_constants.h
+++ b/libstdc++-v3/include/bits/regex_constants.h
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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,14 +30,16 @@
* Do not attempt to use it directly. @headername{regex}
*/
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std _GLIBCXX_VISIBILITY(default)
+{
/**
* @namespace std::regex_constants
* @brief ISO C++-0x entities sub namespace for regex.
*/
namespace regex_constants
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* @name 5.1 Regular Expression Syntax Options
*/
@@ -293,7 +295,7 @@ namespace regex_constants
//@}
+_GLIBCXX_END_NAMESPACE_VERSION
} // namespace regex_constants
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
diff --git a/libstdc++-v3/include/bits/regex_cursor.h b/libstdc++-v3/include/bits/regex_cursor.h
index fee7b437468..d9d55567448 100644
--- a/libstdc++-v3/include/bits/regex_cursor.h
+++ b/libstdc++-v3/include/bits/regex_cursor.h
@@ -28,7 +28,9 @@
* Do not attempt to use it directly. @headername{regex}
*/
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace __regex
{
@@ -88,4 +90,5 @@ namespace __regex
} // namespace __regex
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/include/bits/regex_error.h b/libstdc++-v3/include/bits/regex_error.h
index 6308c30093e..ffbedd51fae 100644
--- a/libstdc++-v3/include/bits/regex_error.h
+++ b/libstdc++-v3/include/bits/regex_error.h
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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,10 +30,12 @@
* Do not attempt to use it directly. @headername{regex}
*/
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std _GLIBCXX_VISIBILITY(default)
+{
namespace regex_constants
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* @name 5.3 Error Types
*/
@@ -114,7 +116,10 @@ namespace regex_constants
static const error_type error_stack(_S_error_stack);
//@}
-}
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace regex_constants
+
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// [7.8] Class regex_error
/**
@@ -155,4 +160,5 @@ namespace regex_constants
__throw_regex_error(regex_constants::error_type __ecode)
{ throw regex_error(__ecode); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace std
diff --git a/libstdc++-v3/include/bits/regex_grep_matcher.h b/libstdc++-v3/include/bits/regex_grep_matcher.h
index 67770e9d29a..04d06e5f0f6 100644
--- a/libstdc++-v3/include/bits/regex_grep_matcher.h
+++ b/libstdc++-v3/include/bits/regex_grep_matcher.h
@@ -28,7 +28,9 @@
* Do not attempt to use it directly. @headername{regex}
*/
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _BiIter>
class sub_match;
@@ -124,6 +126,7 @@ namespace __regex
} // namespace __regex
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#include <bits/regex_grep_matcher.tcc>
diff --git a/libstdc++-v3/include/bits/regex_grep_matcher.tcc b/libstdc++-v3/include/bits/regex_grep_matcher.tcc
index 804473fea55..1c125945022 100644
--- a/libstdc++-v3/include/bits/regex_grep_matcher.tcc
+++ b/libstdc++-v3/include/bits/regex_grep_matcher.tcc
@@ -30,7 +30,9 @@
#include <regex>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace
{
@@ -175,4 +177,5 @@ namespace __regex
} // namespace __regex
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/include/bits/regex_nfa.h b/libstdc++-v3/include/bits/regex_nfa.h
index 4a771ee20c2..b1ae3fb3ea0 100644
--- a/libstdc++-v3/include/bits/regex_nfa.h
+++ b/libstdc++-v3/include/bits/regex_nfa.h
@@ -28,7 +28,9 @@
* Do not attempt to use it directly. @headername{regex}
*/
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace __regex
{
@@ -398,7 +400,8 @@ namespace __regex
} // namespace __regex
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#include <bits/regex_nfa.tcc>
diff --git a/libstdc++-v3/include/bits/regex_nfa.tcc b/libstdc++-v3/include/bits/regex_nfa.tcc
index 392b2c3f083..211ddc7aed4 100644
--- a/libstdc++-v3/include/bits/regex_nfa.tcc
+++ b/libstdc++-v3/include/bits/regex_nfa.tcc
@@ -29,7 +29,9 @@
*/
#include <regex>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace __regex
{
@@ -169,4 +171,5 @@ _M_clone()
} // namespace __regex
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h
index c9095d5f614..628863c1264 100644
--- a/libstdc++-v3/include/bits/shared_ptr.h
+++ b/libstdc++-v3/include/bits/shared_ptr.h
@@ -51,7 +51,9 @@
#include <bits/shared_ptr_base.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup pointer_abstractions
@@ -557,6 +559,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group pointer_abstractions
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _SHARED_PTR_H
diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h
index ba2f004c771..fa85280a490 100644
--- a/libstdc++-v3/include/bits/shared_ptr_base.h
+++ b/libstdc++-v3/include/bits/shared_ptr_base.h
@@ -49,7 +49,9 @@
#ifndef _SHARED_PTR_BASE_H
#define _SHARED_PTR_BASE_H 1
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Exception possibly thrown by @c shared_ptr.
@@ -1376,6 +1378,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return std::hash<_Tp*>()(__s.get()); }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _SHARED_PTR_BASE_H
diff --git a/libstdc++-v3/include/bits/slice_array.h b/libstdc++-v3/include/bits/slice_array.h
index b3df3c2d3c0..3afae22d6c4 100644
--- a/libstdc++-v3/include/bits/slice_array.h
+++ b/libstdc++-v3/include/bits/slice_array.h
@@ -35,7 +35,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup numeric_arrays
@@ -267,6 +269,7 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
// @} group numeric_arrays
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _SLICE_ARRAY_H */
diff --git a/libstdc++-v3/include/bits/sstream.tcc b/libstdc++-v3/include/bits/sstream.tcc
index bbeee719506..8956e9ee758 100644
--- a/libstdc++-v3/include/bits/sstream.tcc
+++ b/libstdc++-v3/include/bits/sstream.tcc
@@ -38,7 +38,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template <class _CharT, class _Traits, class _Alloc>
typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
@@ -268,6 +270,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h
index c55c44ff2d0..707021bdc8f 100644
--- a/libstdc++-v3/include/bits/stl_algo.h
+++ b/libstdc++-v3/include/bits/stl_algo.h
@@ -70,7 +70,9 @@
// See concept_check.h for the __glibcxx_*_requires macros.
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Swaps the median value of *__a, *__b and *__c to *__a
template<typename _Iterator>
@@ -327,7 +329,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_Integer __count, const _Tp& __val,
std::forward_iterator_tag)
{
- __first = _GLIBCXX_STD_P::find(__first, __last, __val);
+ __first = _GLIBCXX_STD_A::find(__first, __last, __val);
while (__first != __last)
{
typename iterator_traits<_ForwardIterator>::difference_type
@@ -343,7 +345,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __first;
if (__i == __last)
return __last;
- __first = _GLIBCXX_STD_P::find(++__i, __last, __val);
+ __first = _GLIBCXX_STD_A::find(++__i, __last, __val);
}
return __last;
}
@@ -506,7 +508,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
while (1)
{
_ForwardIterator1 __new_result
- = _GLIBCXX_STD_P::search(__first1, __last1, __first2, __last2);
+ = _GLIBCXX_STD_A::search(__first1, __last1, __first2, __last2);
if (__new_result == __last1)
return __result;
else
@@ -535,7 +537,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
while (1)
{
_ForwardIterator1 __new_result
- = _GLIBCXX_STD_P::search(__first1, __last1, __first2,
+ = _GLIBCXX_STD_A::search(__first1, __last1, __first2,
__last2, __comp);
if (__new_result == __last1)
return __result;
@@ -569,7 +571,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_RevIterator1 __rlast1(__first1);
_RevIterator2 __rlast2(__first2);
- _RevIterator1 __rresult = _GLIBCXX_STD_P::search(_RevIterator1(__last1),
+ _RevIterator1 __rresult = _GLIBCXX_STD_A::search(_RevIterator1(__last1),
__rlast1,
_RevIterator2(__last2),
__rlast2);
@@ -745,7 +747,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _InputIterator, typename _Predicate>
inline bool
none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
- { return __last == _GLIBCXX_STD_P::find_if(__first, __last, __pred); }
+ { return __last == _GLIBCXX_STD_A::find_if(__first, __last, __pred); }
/**
* @brief Checks that a predicate is false for at least an element
@@ -1093,7 +1095,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typename iterator_traits<_ForwardIterator>::value_type, _Tp>)
__glibcxx_requires_valid_range(__first, __last);
- __first = _GLIBCXX_STD_P::find(__first, __last, __value);
+ __first = _GLIBCXX_STD_A::find(__first, __last, __value);
if(__first == __last)
return __first;
_ForwardIterator __result = __first;
@@ -1136,7 +1138,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typename iterator_traits<_ForwardIterator>::value_type>)
__glibcxx_requires_valid_range(__first, __last);
- __first = _GLIBCXX_STD_P::find_if(__first, __last, __pred);
+ __first = _GLIBCXX_STD_A::find_if(__first, __last, __pred);
if(__first == __last)
return __first;
_ForwardIterator __result = __first;
@@ -1176,7 +1178,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__glibcxx_requires_valid_range(__first, __last);
// Skip the beginning, if already unique.
- __first = _GLIBCXX_STD_P::adjacent_find(__first, __last);
+ __first = _GLIBCXX_STD_A::adjacent_find(__first, __last);
if (__first == __last)
return __last;
@@ -1218,7 +1220,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__glibcxx_requires_valid_range(__first, __last);
// Skip the beginning, if already unique.
- __first = _GLIBCXX_STD_P::adjacent_find(__first, __last, __binary_pred);
+ __first = _GLIBCXX_STD_A::adjacent_find(__first, __last, __binary_pred);
if (__first == __last)
return __last;
@@ -2274,7 +2276,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{
if (__depth_limit == 0)
{
- _GLIBCXX_STD_P::partial_sort(__first, __last, __last);
+ _GLIBCXX_STD_A::partial_sort(__first, __last, __last);
return;
}
--__depth_limit;
@@ -2296,7 +2298,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{
if (__depth_limit == 0)
{
- _GLIBCXX_STD_P::partial_sort(__first, __last, __last, __comp);
+ _GLIBCXX_STD_A::partial_sort(__first, __last, __last, __comp);
return;
}
--__depth_limit;
@@ -2830,7 +2832,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
if (__len1 <= __len2 && __len1 <= __buffer_size)
{
_Pointer __buffer_end = _GLIBCXX_MOVE3(__first, __middle, __buffer);
- _GLIBCXX_STD_P::merge(_GLIBCXX_MAKE_MOVE_ITERATOR(__buffer),
+ _GLIBCXX_STD_A::merge(_GLIBCXX_MAKE_MOVE_ITERATOR(__buffer),
_GLIBCXX_MAKE_MOVE_ITERATOR(__buffer_end),
_GLIBCXX_MAKE_MOVE_ITERATOR(__middle),
_GLIBCXX_MAKE_MOVE_ITERATOR(__last),
@@ -2893,7 +2895,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
if (__len1 <= __len2 && __len1 <= __buffer_size)
{
_Pointer __buffer_end = _GLIBCXX_MOVE3(__first, __middle, __buffer);
- _GLIBCXX_STD_P::merge(_GLIBCXX_MAKE_MOVE_ITERATOR(__buffer),
+ _GLIBCXX_STD_A::merge(_GLIBCXX_MAKE_MOVE_ITERATOR(__buffer),
_GLIBCXX_MAKE_MOVE_ITERATOR(__buffer_end),
_GLIBCXX_MAKE_MOVE_ITERATOR(__middle),
_GLIBCXX_MAKE_MOVE_ITERATOR(__last),
@@ -3155,7 +3157,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
while (__last - __first >= __two_step)
{
- __result = _GLIBCXX_STD_P::merge(
+ __result = _GLIBCXX_STD_A::merge(
_GLIBCXX_MAKE_MOVE_ITERATOR(__first),
_GLIBCXX_MAKE_MOVE_ITERATOR(__first + __step_size),
_GLIBCXX_MAKE_MOVE_ITERATOR(__first + __step_size),
@@ -3165,7 +3167,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
__step_size = std::min(_Distance(__last - __first), __step_size);
- _GLIBCXX_STD_P::merge(_GLIBCXX_MAKE_MOVE_ITERATOR(__first),
+ _GLIBCXX_STD_A::merge(_GLIBCXX_MAKE_MOVE_ITERATOR(__first),
_GLIBCXX_MAKE_MOVE_ITERATOR(__first +
__step_size),
_GLIBCXX_MAKE_MOVE_ITERATOR(__first +
@@ -3186,7 +3188,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
while (__last - __first >= __two_step)
{
- __result = _GLIBCXX_STD_P::merge(
+ __result = _GLIBCXX_STD_A::merge(
_GLIBCXX_MAKE_MOVE_ITERATOR(__first),
_GLIBCXX_MAKE_MOVE_ITERATOR(__first + __step_size),
_GLIBCXX_MAKE_MOVE_ITERATOR(__first + __step_size),
@@ -3196,7 +3198,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
__step_size = std::min(_Distance(__last - __first), __step_size);
- _GLIBCXX_STD_P::merge(_GLIBCXX_MAKE_MOVE_ITERATOR(__first),
+ _GLIBCXX_STD_A::merge(_GLIBCXX_MAKE_MOVE_ITERATOR(__first),
_GLIBCXX_MAKE_MOVE_ITERATOR(__first +
__step_size),
_GLIBCXX_MAKE_MOVE_ITERATOR(__first +
@@ -4143,7 +4145,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
std::advance(__last2, std::distance(__first1, __last1));
for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
{
- if (__scan != _GLIBCXX_STD_P::find(__first1, __scan, *__scan))
+ if (__scan != _GLIBCXX_STD_A::find(__first1, __scan, *__scan))
continue; // We've seen this one before.
auto __matches = std::count(__first2, __last2, *__scan);
@@ -4190,7 +4192,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{
using std::placeholders::_1;
- if (__scan != _GLIBCXX_STD_P::find_if(__first1, __scan,
+ if (__scan != _GLIBCXX_STD_A::find_if(__first1, __scan,
std::bind(__pred, _1, *__scan)))
continue; // We've seen this one before.
@@ -4246,9 +4248,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif // __GXX_EXPERIMENTAL_CXX0X__
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
+_GLIBCXX_BEGIN_NAMESPACE_ALGO
/**
* @brief Apply a function to every element of a sequence.
@@ -4557,7 +4559,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
// Test for a pattern of length 1.
_ForwardIterator2 __p1(__first2);
if (++__p1 == __last2)
- return _GLIBCXX_STD_P::find(__first1, __last1, *__first2);
+ return _GLIBCXX_STD_A::find(__first1, __last1, *__first2);
// General case.
_ForwardIterator2 __p;
@@ -4565,7 +4567,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
for (;;)
{
- __first1 = _GLIBCXX_STD_P::find(__first1, __last1, *__first2);
+ __first1 = _GLIBCXX_STD_A::find(__first1, __last1, *__first2);
if (__first1 == __last1)
return __last1;
@@ -4695,7 +4697,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
if (__count <= 0)
return __first;
if (__count == 1)
- return _GLIBCXX_STD_P::find(__first, __last, __val);
+ return _GLIBCXX_STD_A::find(__first, __last, __val);
return std::__search_n(__first, __last, __count, __val,
std::__iterator_category(__first));
}
@@ -6166,6 +6168,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
return __result;
}
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_ALGO
+} // namespace std
#endif /* _STL_ALGO_H */
diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h
index 2c3b6af5e57..626d5bf1c8d 100644
--- a/libstdc++-v3/include/bits/stl_algobase.h
+++ b/libstdc++-v3/include/bits/stl_algobase.h
@@ -1,7 +1,7 @@
// Core algorithmic facilities -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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,7 +70,9 @@
#include <debug/debug.h>
#include <bits/move.h> // For std::swap and _GLIBCXX_MOVE
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// See http://gcc.gnu.org/ml/libstdc++/2004-08/msg00167.html: in a
// nutshell, we are partially implementing the resolution of DR 187,
@@ -987,9 +989,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__lg(long long __n)
{ return sizeof(long long) * __CHAR_BIT__ - 1 - __builtin_clzll(__n); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
+_GLIBCXX_BEGIN_NAMESPACE_ALGO
/**
* @brief Tests a range for element-wise equality.
@@ -1196,7 +1198,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
}
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_ALGO
+} // namespace std
// NB: This file is included within many other C++ includes, as a way
// of getting the base algorithms. So, make sure that parallel bits
diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h
index f35fd0ae058..3cd53e7fad7 100644
--- a/libstdc++-v3/include/bits/stl_bvector.h
+++ b/libstdc++-v3/include/bits/stl_bvector.h
@@ -1,7 +1,7 @@
// vector<bool> specialization -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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,7 +59,9 @@
#include <initializer_list>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
typedef unsigned long _Bit_type;
enum { _S_word_bit = int(__CHAR_BIT__ * sizeof(_Bit_type)) };
@@ -446,12 +448,15 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
}
};
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
// Declare a partial specialization of vector<T, Alloc>.
#include <bits/stl_vector.h>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief A specialization of vector for booleans which offers fixed time
@@ -1026,25 +1031,29 @@ template<typename _Alloc>
{ this->_M_impl._M_finish = __pos; }
};
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#ifdef __GXX_EXPERIMENTAL_CXX0X__
#include <bits/functional_hash.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// DR 1182.
/// std::hash specialization for vector<bool>.
template<typename _Alloc>
- struct hash<_GLIBCXX_STD_D::vector<bool, _Alloc>>
- : public __hash_base<size_t, _GLIBCXX_STD_D::vector<bool, _Alloc>>
+ struct hash<_GLIBCXX_STD_C::vector<bool, _Alloc>>
+ : public __hash_base<size_t, _GLIBCXX_STD_C::vector<bool, _Alloc>>
{
size_t
- operator()(const _GLIBCXX_STD_D::vector<bool, _Alloc>& __b) const;
+ operator()(const _GLIBCXX_STD_C::vector<bool, _Alloc>& __b) const;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+}// namespace std
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/bits/stl_construct.h b/libstdc++-v3/include/bits/stl_construct.h
index 31f65ee975e..2efba9378b1 100644
--- a/libstdc++-v3/include/bits/stl_construct.h
+++ b/libstdc++-v3/include/bits/stl_construct.h
@@ -61,7 +61,9 @@
#include <new>
#include <bits/move.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* Constructs an object in existing memory by invoking an allocated
@@ -151,7 +153,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_Destroy(__first, __last);
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _STL_CONSTRUCT_H */
diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h
index c3b5d0067b1..0d9b5b44cb9 100644
--- a/libstdc++-v3/include/bits/stl_deque.h
+++ b/libstdc++-v3/include/bits/stl_deque.h
@@ -1,7 +1,7 @@
// Deque implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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,7 +62,9 @@
#include <bits/stl_iterator_base_funcs.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief This function controls the size of memory nodes.
@@ -1971,6 +1973,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
#undef _GLIBCXX_DEQUE_BUF_SIZE
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif /* _STL_DEQUE_H */
diff --git a/libstdc++-v3/include/bits/stl_function.h b/libstdc++-v3/include/bits/stl_function.h
index 630ca0340db..7660d15b3ae 100644
--- a/libstdc++-v3/include/bits/stl_function.h
+++ b/libstdc++-v3/include/bits/stl_function.h
@@ -57,7 +57,9 @@
#ifndef _STL_FUNCTION_H
#define _STL_FUNCTION_H 1
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// 20.3.1 base classes
/** @defgroup functors Function Objects
@@ -722,7 +724,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/** @} */
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#if !defined(__GXX_EXPERIMENTAL_CXX0X__) || _GLIBCXX_DEPRECATED
# include <backward/binders.h>
diff --git a/libstdc++-v3/include/bits/stl_heap.h b/libstdc++-v3/include/bits/stl_heap.h
index 512ad5f9e8e..b00fc69fcb5 100644
--- a/libstdc++-v3/include/bits/stl_heap.h
+++ b/libstdc++-v3/include/bits/stl_heap.h
@@ -59,7 +59,9 @@
#include <debug/debug.h>
#include <bits/move.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup heap_algorithms Heap
@@ -573,6 +575,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return std::is_heap_until(__first, __last, __comp) == __last; }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _STL_HEAP_H */
diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h
index 4de1b0e3ef7..b23107d3577 100644
--- a/libstdc++-v3/include/bits/stl_iterator.h
+++ b/libstdc++-v3/include/bits/stl_iterator.h
@@ -65,7 +65,9 @@
#include <ext/type_traits.h>
#include <bits/move.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup iterators
@@ -680,9 +682,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group iterators
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// This iterator adapter is @a normal in the sense that it does not
// change the semantics of any of the operators of its iterator
@@ -892,11 +897,14 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__n, const __normal_iterator<_Iterator, _Container>& __i)
{ return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#ifdef __GXX_EXPERIMENTAL_CXX0X__
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup iterators
@@ -1112,7 +1120,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group iterators
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#define _GLIBCXX_MAKE_MOVE_ITERATOR(_Iter) std::make_move_iterator(_Iter)
#else
diff --git a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
index aa7b348c71b..836aa9223ba 100644
--- a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
+++ b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
@@ -64,7 +64,9 @@
#include <bits/concept_check.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _InputIterator>
inline typename iterator_traits<_InputIterator>::difference_type
@@ -195,6 +197,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif // __GXX_EXPERIMENTAL_CXX0X__
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _STL_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 4125272aebf..9944dc44102 100644
--- a/libstdc++-v3/include/bits/stl_iterator_base_types.h
+++ b/libstdc++-v3/include/bits/stl_iterator_base_types.h
@@ -68,7 +68,9 @@
# include <type_traits> // For _GLIBCXX_HAS_NESTED_TYPE
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup iterators Iterators
@@ -220,7 +222,8 @@ _GLIBCXX_HAS_NESTED_TYPE(iterator_category)
{ return __it.base(); }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _STL_ITERATOR_BASE_TYPES_H */
diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h
index aafd5dc0e93..126de00b3b0 100644
--- a/libstdc++-v3/include/bits/stl_list.h
+++ b/libstdc++-v3/include/bits/stl_list.h
@@ -1,7 +1,7 @@
// List implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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
@@ -60,39 +60,49 @@
#include <bits/concept_check.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
-
- // 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,
- // but it's all safe downcasting.
-
- /// Common part of a node in the %list.
- struct _List_node_base
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+ namespace __detail
{
- _List_node_base* _M_next;
- _List_node_base* _M_prev;
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
- static void
- swap(_List_node_base& __x, _List_node_base& __y) throw ();
+ // 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, but it's all safe
+ // downcasting.
- void
- _M_transfer(_List_node_base * const __first,
- _List_node_base * const __last) throw ();
-
- void
- _M_reverse() throw ();
+ /// Common part of a node in the %list.
+ struct _List_node_base
+ {
+ _List_node_base* _M_next;
+ _List_node_base* _M_prev;
+
+ static void
+ swap(_List_node_base& __x, _List_node_base& __y) throw ();
+
+ void
+ _M_transfer(_List_node_base* const __first,
+ _List_node_base* const __last) throw ();
+
+ void
+ _M_reverse() throw ();
+
+ void
+ _M_hook(_List_node_base* const __position) throw ();
+
+ void
+ _M_unhook() throw ();
+ };
- void
- _M_hook(_List_node_base * const __position) throw ();
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace detail
- void
- _M_unhook() throw ();
- };
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/// An actual node in the %list.
template<typename _Tp>
- struct _List_node : public _List_node_base
+ struct _List_node : public __detail::_List_node_base
{
///< User's data.
_Tp _M_data;
@@ -100,7 +110,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
#ifdef __GXX_EXPERIMENTAL_CXX0X__
template<typename... _Args>
_List_node(_Args&&... __args)
- : _List_node_base(), _M_data(std::forward<_Args>(__args)...) { }
+ : __detail::_List_node_base(), _M_data(std::forward<_Args>(__args)...)
+ { }
#endif
};
@@ -125,7 +136,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
: _M_node() { }
explicit
- _List_iterator(_List_node_base* __x)
+ _List_iterator(__detail::_List_node_base* __x)
: _M_node(__x) { }
// Must downcast from _List_node_base to _List_node to get to _M_data.
@@ -176,7 +187,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
{ return _M_node != __x._M_node; }
// The only member points to the %list element.
- _List_node_base* _M_node;
+ __detail::_List_node_base* _M_node;
};
/**
@@ -201,7 +212,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
: _M_node() { }
explicit
- _List_const_iterator(const _List_node_base* __x)
+ _List_const_iterator(const __detail::_List_node_base* __x)
: _M_node(__x) { }
_List_const_iterator(const iterator& __x)
@@ -256,7 +267,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
{ return _M_node != __x._M_node; }
// The only member points to the %list element.
- const _List_node_base* _M_node;
+ const __detail::_List_node_base* _M_node;
};
template<typename _Val>
@@ -298,7 +309,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
struct _List_impl
: public _Node_alloc_type
{
- _List_node_base _M_node;
+ __detail::_List_node_base _M_node;
_List_impl()
: _Node_alloc_type(), _M_node()
@@ -351,7 +362,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
: _M_impl(__x._M_get_Node_allocator())
{
_M_init();
- _List_node_base::swap(this->_M_impl._M_node, __x._M_impl._M_node);
+ __detail::_List_node_base::swap(this->_M_impl._M_node,
+ __x._M_impl._M_node);
}
#endif
@@ -1164,7 +1176,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
void
swap(list& __x)
{
- _List_node_base::swap(this->_M_impl._M_node, __x._M_impl._M_node);
+ __detail::_List_node_base::swap(this->_M_impl._M_node,
+ __x._M_impl._M_node);
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// 431. Swapping containers with unequal allocators.
@@ -1611,6 +1624,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
{ __x.swap(__y); }
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif /* _STL_LIST_H */
diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h
index d3bab26c0b8..a84b4b61dfb 100644
--- a/libstdc++-v3/include/bits/stl_map.h
+++ b/libstdc++-v3/include/bits/stl_map.h
@@ -1,7 +1,7 @@
// Map implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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,7 +61,9 @@
#include <bits/concept_check.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief A standard container made up of (key,value) pairs, which can be
@@ -928,6 +930,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
map<_Key, _Tp, _Compare, _Alloc>& __y)
{ __x.swap(__y); }
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif /* _STL_MAP_H */
diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h
index 6c6f356e00d..ca37f359e1b 100644
--- a/libstdc++-v3/include/bits/stl_multimap.h
+++ b/libstdc++-v3/include/bits/stl_multimap.h
@@ -1,7 +1,7 @@
// Multimap implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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
@@ -60,7 +60,9 @@
#include <bits/concept_check.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief A standard container made up of (key,value) pairs, which can be
@@ -846,6 +848,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
multimap<_Key, _Tp, _Compare, _Alloc>& __y)
{ __x.swap(__y); }
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif /* _STL_MULTIMAP_H */
diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h
index 62e82dc26d9..9a48916c3c3 100644
--- a/libstdc++-v3/include/bits/stl_multiset.h
+++ b/libstdc++-v3/include/bits/stl_multiset.h
@@ -1,7 +1,7 @@
// Multiset implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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
@@ -60,7 +60,9 @@
#include <bits/concept_check.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief A standard container made up of elements, which can be retrieved
@@ -730,6 +732,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
multiset<_Key, _Compare, _Alloc>& __y)
{ __x.swap(__y); }
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif /* _STL_MULTISET_H */
diff --git a/libstdc++-v3/include/bits/stl_numeric.h b/libstdc++-v3/include/bits/stl_numeric.h
index 86ae2cfd762..1b6998d9735 100644
--- a/libstdc++-v3/include/bits/stl_numeric.h
+++ b/libstdc++-v3/include/bits/stl_numeric.h
@@ -1,7 +1,7 @@
// Numeric functions implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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,7 +63,9 @@
#ifdef __GXX_EXPERIMENTAL_CXX0X__
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Create a range of sequentially increasing values.
@@ -94,11 +96,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace std
#endif
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_ALGO
/**
* @brief Accumulate values in a range.
@@ -375,6 +380,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
return ++__result;
}
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_ALGO
+} // namespace std
#endif /* _STL_NUMERIC_H */
diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h
index 5334e1a5477..8d137b29a13 100644
--- a/libstdc++-v3/include/bits/stl_pair.h
+++ b/libstdc++-v3/include/bits/stl_pair.h
@@ -63,7 +63,9 @@
#include <type_traits> // for std::__decay_and_strip too
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#ifdef __GXX_EXPERIMENTAL_CXX0X__
/// piecewise_construct_t
@@ -271,6 +273,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return pair<_T1, _T2>(__x, __y); }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _STL_PAIR_H */
diff --git a/libstdc++-v3/include/bits/stl_queue.h b/libstdc++-v3/include/bits/stl_queue.h
index 2f8853a88ae..5f20072b62f 100644
--- a/libstdc++-v3/include/bits/stl_queue.h
+++ b/libstdc++-v3/include/bits/stl_queue.h
@@ -61,7 +61,9 @@
#include <bits/concept_check.h>
#include <debug/debug.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief A standard container giving FIFO behavior.
@@ -551,6 +553,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
: public uses_allocator<_Sequence, _Alloc>::type { };
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _STL_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 29374c74ad5..87c9a660b94 100644
--- a/libstdc++-v3/include/bits/stl_raw_storage_iter.h
+++ b/libstdc++-v3/include/bits/stl_raw_storage_iter.h
@@ -57,7 +57,9 @@
#ifndef _STL_RAW_STORAGE_ITERATOR_H
#define _STL_RAW_STORAGE_ITERATOR_H 1
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* This iterator class lets algorithms store their results into
@@ -101,6 +103,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/stl_relops.h b/libstdc++-v3/include/bits/stl_relops.h
index e927678c9dc..4e79e54b359 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, 2005, 2008, 2010
+// Copyright (C) 2001, 2002, 2004, 2005, 2008, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -65,10 +65,12 @@
#ifndef _STL_RELOPS_H
#define _STL_RELOPS_H 1
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std _GLIBCXX_VISIBILITY(default)
+{
namespace rel_ops
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/** @namespace std::rel_ops
* @brief The generated relational operators are sequestered here.
*/
@@ -125,8 +127,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
operator>=(const _Tp& __x, const _Tp& __y)
{ return !(__x < __y); }
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace rel_ops
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif /* _STL_RELOPS_H */
diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h
index 243de964582..77d0f8022c3 100644
--- a/libstdc++-v3/include/bits/stl_set.h
+++ b/libstdc++-v3/include/bits/stl_set.h
@@ -1,7 +1,7 @@
// Set implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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
@@ -60,7 +60,9 @@
#include <bits/concept_check.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief A standard container made up of unique keys, which can be
@@ -91,7 +93,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
__glibcxx_class_requires(_Key, _SGIAssignableConcept)
__glibcxx_class_requires4(_Compare, bool, _Key, _Key,
_BinaryFunctionConcept)
- __glibcxx_class_requires2(_Key, _Alloc_value_type, _SameTypeConcept)
+ __glibcxx_class_requires2(_Key, _Alloc_value_type, _SameTypeConcept)
public:
// typedefs:
@@ -156,9 +158,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* otherwise (where N is distance(first,last)).
*/
template<typename _InputIterator>
- set(_InputIterator __first, _InputIterator __last)
+ set(_InputIterator __first, _InputIterator __last)
: _M_t()
- { _M_t._M_insert_unique(__first, __last); }
+ { _M_t._M_insert_unique(__first, __last); }
/**
* @brief Builds a %set from a range.
@@ -172,11 +174,11 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* otherwise (where N is distance(first,last)).
*/
template<typename _InputIterator>
- set(_InputIterator __first, _InputIterator __last,
+ set(_InputIterator __first, _InputIterator __last,
const _Compare& __comp,
const allocator_type& __a = allocator_type())
: _M_t(__comp, __a)
- { _M_t._M_insert_unique(__first, __last); }
+ { _M_t._M_insert_unique(__first, __last); }
/**
* @brief %Set copy constructor.
@@ -384,7 +386,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* std::swap(s1,s2) will feed to this function.
*/
void
- swap(set& __x)
+ swap(set& __x)
{ _M_t.swap(__x._M_t); }
// insert/erase
@@ -435,7 +437,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
*
* For more on @a hinting, see:
* http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt07ch17.html
- *
+ *
* Insertion requires logarithmic time (if the hint is not taken).
*/
iterator
@@ -458,9 +460,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* Complexity similar to that of the range constructor.
*/
template<typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- { _M_t._M_insert_unique(__first, __last); }
+ void
+ insert(_InputIterator __first, _InputIterator __last)
+ { _M_t._M_insert_unique(__first, __last); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
/**
@@ -482,7 +484,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* @brief Erases an element from a %set.
* @param position An iterator pointing to the element to be erased.
* @return An iterator pointing to the element immediately following
- * @a position prior to the element being erased. If no such
+ * @a position prior to the element being erased. If no such
* element exists, end() is returned.
*
* This function erases an element, pointed to by the given iterator,
@@ -670,12 +672,12 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
//@}
template<typename _K1, typename _C1, typename _A1>
- friend bool
- operator==(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
+ friend bool
+ operator==(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
template<typename _K1, typename _C1, typename _A1>
- friend bool
- operator<(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
+ friend bool
+ operator<(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
};
@@ -746,6 +748,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y)
{ __x.swap(__y); }
-_GLIBCXX_END_NESTED_NAMESPACE
-
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} //namespace std
#endif /* _STL_SET_H */
diff --git a/libstdc++-v3/include/bits/stl_stack.h b/libstdc++-v3/include/bits/stl_stack.h
index 7f7ad9d0189..73c8bbd5d46 100644
--- a/libstdc++-v3/include/bits/stl_stack.h
+++ b/libstdc++-v3/include/bits/stl_stack.h
@@ -61,7 +61,9 @@
#include <bits/concept_check.h>
#include <debug/debug.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief A standard container giving FILO behavior.
@@ -292,6 +294,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
: public uses_allocator<_Seq, _Alloc>::type { };
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _STL_STACK_H */
diff --git a/libstdc++-v3/include/bits/stl_tempbuf.h b/libstdc++-v3/include/bits/stl_tempbuf.h
index 44dcbf5000c..a99dac93095 100644
--- a/libstdc++-v3/include/bits/stl_tempbuf.h
+++ b/libstdc++-v3/include/bits/stl_tempbuf.h
@@ -60,7 +60,9 @@
#include <bits/stl_algobase.h>
#include <bits/stl_construct.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Allocates a temporary buffer.
@@ -264,7 +266,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _STL_TEMPBUF_H */
diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h
index 80246dc6396..1960f9c8a45 100644
--- a/libstdc++-v3/include/bits/stl_tree.h
+++ b/libstdc++-v3/include/bits/stl_tree.h
@@ -65,7 +65,9 @@
#include <bits/stl_function.h>
#include <bits/cpp_type_traits.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Red-black tree class, designed for use in implementing STL
// associative containers (set, multiset, map, and multimap). The
@@ -1585,6 +1587,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return true;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/stl_uninitialized.h b/libstdc++-v3/include/bits/stl_uninitialized.h
index fd9f2436173..f15be3aee3b 100644
--- a/libstdc++-v3/include/bits/stl_uninitialized.h
+++ b/libstdc++-v3/include/bits/stl_uninitialized.h
@@ -58,7 +58,9 @@
#ifndef _STL_UNINITIALIZED_H
#define _STL_UNINITIALIZED_H 1
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<bool _TrivialValueTypes>
struct __uninitialized_copy
@@ -632,6 +634,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
std::__iterator_category(__first)); }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _STL_UNINITIALIZED_H */
diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h
index feabb24ea3b..5f71aa5cd00 100644
--- a/libstdc++-v3/include/bits/stl_vector.h
+++ b/libstdc++-v3/include/bits/stl_vector.h
@@ -1,7 +1,7 @@
// Vector implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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,7 +62,9 @@
#include <bits/concept_check.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/// See bits/stl_deque.h's _Deque_base for an explanation.
template<typename _Tp, typename _Alloc>
@@ -1319,6 +1321,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
{ __x.swap(__y); }
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif /* _STL_VECTOR_H */
diff --git a/libstdc++-v3/include/bits/stream_iterator.h b/libstdc++-v3/include/bits/stream_iterator.h
index 9d3b799f3d5..57ca9611146 100644
--- a/libstdc++-v3/include/bits/stream_iterator.h
+++ b/libstdc++-v3/include/bits/stream_iterator.h
@@ -34,7 +34,9 @@
#include <debug/debug.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup iterators
@@ -213,6 +215,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group iterators
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/streambuf.tcc b/libstdc++-v3/include/bits/streambuf.tcc
index efb4c707902..253f308dc88 100644
--- a/libstdc++-v3/include/bits/streambuf.tcc
+++ b/libstdc++-v3/include/bits/streambuf.tcc
@@ -37,7 +37,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits>
streamsize
@@ -169,6 +171,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h
index c385ec65a20..6032a29e6f8 100644
--- a/libstdc++-v3/include/bits/streambuf_iterator.h
+++ b/libstdc++-v3/include/bits/streambuf_iterator.h
@@ -37,7 +37,9 @@
#include <streambuf>
#include <debug/debug.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup iterators
@@ -394,6 +396,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group iterators
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/bits/stringfwd.h b/libstdc++-v3/include/bits/stringfwd.h
index 796200a1d69..5f2d49c5579 100644
--- a/libstdc++-v3/include/bits/stringfwd.h
+++ b/libstdc++-v3/include/bits/stringfwd.h
@@ -40,7 +40,9 @@
#include <bits/c++config.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Alloc>
class allocator;
@@ -80,6 +82,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
/** @} */
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _STRINGFWD_H
diff --git a/libstdc++-v3/include/bits/unique_ptr.h b/libstdc++-v3/include/bits/unique_ptr.h
index 12ced5cb537..339176a4bd5 100644
--- a/libstdc++-v3/include/bits/unique_ptr.h
+++ b/libstdc++-v3/include/bits/unique_ptr.h
@@ -36,7 +36,9 @@
#include <utility>
#include <tuple>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup pointer_abstractions
@@ -501,6 +503,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group pointer_abstractions
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _UNIQUE_PTR_H */
diff --git a/libstdc++-v3/include/bits/unordered_map.h b/libstdc++-v3/include/bits/unordered_map.h
index 3960f8e56b8..c77bab12fba 100644
--- a/libstdc++-v3/include/bits/unordered_map.h
+++ b/libstdc++-v3/include/bits/unordered_map.h
@@ -1,6 +1,6 @@
// unordered_map implementation -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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,9 +30,11 @@
#ifndef _UNORDERED_MAP_H
#define _UNORDERED_MAP_H
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
- // XXX When we get typedef templates these class definitions
+ // NB: When we get typedef templates these class definitions
// will be unnecessary.
template<class _Key, class _Tp,
class _Hash = hash<_Key>,
@@ -401,6 +403,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
{ return !(__x == __y); }
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif /* _UNORDERED_MAP_H */
diff --git a/libstdc++-v3/include/bits/unordered_set.h b/libstdc++-v3/include/bits/unordered_set.h
index 90b30f07c67..38350bc390d 100644
--- a/libstdc++-v3/include/bits/unordered_set.h
+++ b/libstdc++-v3/include/bits/unordered_set.h
@@ -1,6 +1,6 @@
// unordered_set implementation -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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,9 +30,11 @@
#ifndef _UNORDERED_SET_H
#define _UNORDERED_SET_H
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
- // XXX When we get typedef templates these class definitions
+ // NB: When we get typedef templates these class definitions
// will be unnecessary.
template<class _Value,
class _Hash = hash<_Value>,
@@ -392,7 +394,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
{ return !(__x == __y); }
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#endif /* _UNORDERED_SET_H */
diff --git a/libstdc++-v3/include/bits/valarray_after.h b/libstdc++-v3/include/bits/valarray_after.h
index 1206655a990..6440fae43d9 100644
--- a/libstdc++-v3/include/bits/valarray_after.h
+++ b/libstdc++-v3/include/bits/valarray_after.h
@@ -35,7 +35,9 @@
#pragma GCC system_header
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
//
// gslice_array closure.
@@ -544,6 +546,7 @@ _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow)
#undef _DEFINE_EXPR_BINARY_FUNCTION
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _CPP_VALARRAY_AFTER_H */
diff --git a/libstdc++-v3/include/bits/valarray_array.h b/libstdc++-v3/include/bits/valarray_array.h
index 46d5987736d..cba9f3fbdbe 100644
--- a/libstdc++-v3/include/bits/valarray_array.h
+++ b/libstdc++-v3/include/bits/valarray_array.h
@@ -41,7 +41,9 @@
#include <cstdlib>
#include <new>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
//
// Helper functions on raw pointers
@@ -685,7 +687,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#undef _DEFINE_ARRAY_FUNCTION
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
# include <bits/valarray_array.tcc>
diff --git a/libstdc++-v3/include/bits/valarray_array.tcc b/libstdc++-v3/include/bits/valarray_array.tcc
index 0ea079b5821..7720707656c 100644
--- a/libstdc++-v3/include/bits/valarray_array.tcc
+++ b/libstdc++-v3/include/bits/valarray_array.tcc
@@ -33,7 +33,9 @@
#ifndef _VALARRAY_ARRAY_TCC
#define _VALARRAY_ARRAY_TCC 1
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp>
void
@@ -237,6 +239,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _VALARRAY_ARRAY_TCC */
diff --git a/libstdc++-v3/include/bits/valarray_before.h b/libstdc++-v3/include/bits/valarray_before.h
index b7efefe03fd..0755f768b78 100644
--- a/libstdc++-v3/include/bits/valarray_before.h
+++ b/libstdc++-v3/include/bits/valarray_before.h
@@ -37,7 +37,9 @@
#include <bits/slice_array.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
//
// Implementing a loosened valarray return value is tricky.
@@ -726,6 +728,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_SClos (_Array<_Tp> __a, const slice& __s) : _Base (__a, __s) {}
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _CPP_VALARRAY_BEFORE_H */
diff --git a/libstdc++-v3/include/bits/vector.tcc b/libstdc++-v3/include/bits/vector.tcc
index bc10b9217a7..3aaee392e55 100644
--- a/libstdc++-v3/include/bits/vector.tcc
+++ b/libstdc++-v3/include/bits/vector.tcc
@@ -1,7 +1,7 @@
// Vector implementation (out of line) -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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,7 +57,9 @@
#ifndef _VECTOR_TCC
#define _VECTOR_TCC 1
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
template<typename _Tp, typename _Alloc>
void
@@ -729,20 +731,23 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
}
}
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#ifdef __GXX_EXPERIMENTAL_CXX0X__
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Alloc>
size_t
- hash<_GLIBCXX_STD_D::vector<bool, _Alloc>>::
- operator()(const _GLIBCXX_STD_D::vector<bool, _Alloc>& __b) const
+ hash<_GLIBCXX_STD_C::vector<bool, _Alloc>>::
+ operator()(const _GLIBCXX_STD_C::vector<bool, _Alloc>& __b) const
{
size_t __hash = 0;
- using _GLIBCXX_STD_D::_S_word_bit;
- using _GLIBCXX_STD_D::_Bit_type;
+ using _GLIBCXX_STD_C::_S_word_bit;
+ using _GLIBCXX_STD_C::_Bit_type;
const size_t __words = __b.size() / _S_word_bit;
if (__words)
@@ -768,7 +773,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __hash;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace std
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/c/cmath b/libstdc++-v3/include/c/cmath
index fd3013b70ad..1e9ade9f0ad 100644
--- a/libstdc++-v3/include/c/cmath
+++ b/libstdc++-v3/include/c/cmath
@@ -74,7 +74,7 @@
#undef islessgreater
#undef isunordered
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
inline double
abs(double __x)
diff --git a/libstdc++-v3/include/c/cwchar b/libstdc++-v3/include/c/cwchar
index 7d9c61ea2f4..2324b5b9689 100644
--- a/libstdc++-v3/include/c/cwchar
+++ b/libstdc++-v3/include/c/cwchar
@@ -42,7 +42,7 @@
// Need to do a bit of trickery here with mbstate_t as char_traits
// assumes it is in wchar.h, regardless of wchar_t specializations.
#ifndef _GLIBCXX_HAVE_MBSTATE_T
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
extern "C"
{
diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h
index 9f3898ca035..2096e393cc7 100644
--- a/libstdc++-v3/include/c_compatibility/fenv.h
+++ b/libstdc++-v3/include/c_compatibility/fenv.h
@@ -52,8 +52,8 @@
#undef fesetenv
#undef feupdateenv
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
// types
using ::fenv_t;
using ::fexcept_t;
@@ -72,8 +72,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::feholdexcept;
using ::fesetenv;
using ::feupdateenv;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#endif // _GLIBCXX_USE_C99_FENV_TR1
diff --git a/libstdc++-v3/include/c_compatibility/inttypes.h b/libstdc++-v3/include/c_compatibility/inttypes.h
index 971d0d59f6d..54c220c2f68 100644
--- a/libstdc++-v3/include/c_compatibility/inttypes.h
+++ b/libstdc++-v3/include/c_compatibility/inttypes.h
@@ -50,8 +50,8 @@
#ifdef _GLIBCXX_USE_C99_INTTYPES_TR1
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
// types
using ::imaxdiv_t;
@@ -76,8 +76,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::wcstoimax;
using ::wcstoumax;
#endif
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#endif _GLIBCXX_USE_C99_INTTYPES_TR1
diff --git a/libstdc++-v3/include/c_compatibility/stdint.h b/libstdc++-v3/include/c_compatibility/stdint.h
index 41a28b1f082..32538c6c82b 100644
--- a/libstdc++-v3/include/c_compatibility/stdint.h
+++ b/libstdc++-v3/include/c_compatibility/stdint.h
@@ -58,8 +58,8 @@
#ifdef _GLIBCXX_USE_C99_STDINT_TR1
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::int8_t;
using ::int16_t;
using ::int32_t;
@@ -95,8 +95,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::uintmax_t;
using ::uintptr_t;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#endif // _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/c_global/cctype b/libstdc++-v3/include/c_global/cctype
index cab2a5089f6..0fed691ecef 100644
--- a/libstdc++-v3/include/c_global/cctype
+++ b/libstdc++-v3/include/c_global/cctype
@@ -61,8 +61,8 @@
#undef tolower
#undef toupper
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::isalnum;
using ::isalpha;
using ::iscntrl;
@@ -76,8 +76,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::isxdigit;
using ::tolower;
using ::toupper;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -85,11 +84,10 @@ _GLIBCXX_END_NAMESPACE
#undef isblank
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::isblank;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif // _GLIBCXX_USE_C99_CTYPE_TR1
diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv
index 9686e8d35ec..35010a0ba20 100644
--- a/libstdc++-v3/include/c_global/cfenv
+++ b/libstdc++-v3/include/c_global/cfenv
@@ -55,8 +55,8 @@
#undef fesetenv
#undef feupdateenv
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
// types
using ::fenv_t;
using ::fexcept_t;
@@ -75,8 +75,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::feholdexcept;
using ::fesetenv;
using ::feupdateenv;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif // _GLIBCXX_USE_C99_FENV_TR1
diff --git a/libstdc++-v3/include/c_global/cinttypes b/libstdc++-v3/include/c_global/cinttypes
index 0017e75d509..df733407bd3 100644
--- a/libstdc++-v3/include/c_global/cinttypes
+++ b/libstdc++-v3/include/c_global/cinttypes
@@ -52,8 +52,8 @@
#ifdef _GLIBCXX_USE_C99_INTTYPES_TR1
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
// types
using ::imaxdiv_t;
@@ -78,8 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::wcstoimax;
using ::wcstoumax;
#endif
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif // _GLIBCXX_USE_C99_INTTYPES_TR1
diff --git a/libstdc++-v3/include/c_global/clocale b/libstdc++-v3/include/c_global/clocale
index 7cf42e239ef..3f16bffe666 100644
--- a/libstdc++-v3/include/c_global/clocale
+++ b/libstdc++-v3/include/c_global/clocale
@@ -50,12 +50,11 @@
#undef setlocale
#undef localeconv
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::lconv;
using ::setlocale;
using ::localeconv;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath
index 69d424c2721..a333eb583c0 100644
--- a/libstdc++-v3/include/c_global/cmath
+++ b/libstdc++-v3/include/c_global/cmath
@@ -74,7 +74,9 @@
#undef tan
#undef tanh
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
inline double
abs(double __x)
@@ -462,7 +464,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
tanh(_Tp __x)
{ return __builtin_tanh(__x); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#if _GLIBCXX_USE_C99_MATH
#if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
@@ -481,7 +484,9 @@ _GLIBCXX_END_NAMESPACE
#undef islessgreater
#undef isunordered
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#ifdef __GXX_EXPERIMENTAL_CXX0X__
inline int
@@ -840,7 +845,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC */
#endif
@@ -955,7 +961,9 @@ _GLIBCXX_END_NAMESPACE
#undef truncf
#undef truncl
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// types
using ::double_t;
@@ -1648,7 +1656,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return trunc(__type(__x));
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _GLIBCXX_USE_C99_MATH_TR1
diff --git a/libstdc++-v3/include/c_global/csetjmp b/libstdc++-v3/include/c_global/csetjmp
index 16c3de6b00b..2832801e4dc 100644
--- a/libstdc++-v3/include/c_global/csetjmp
+++ b/libstdc++-v3/include/c_global/csetjmp
@@ -54,11 +54,10 @@
#define setjmp(env) setjmp (env)
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::jmp_buf;
using ::longjmp;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_global/csignal b/libstdc++-v3/include/c_global/csignal
index bbd58ca0420..98f0d665267 100644
--- a/libstdc++-v3/include/c_global/csignal
+++ b/libstdc++-v3/include/c_global/csignal
@@ -49,12 +49,11 @@
// Get rid of those macros defined in <signal.h> in lieu of real functions.
#undef raise
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::sig_atomic_t;
using ::signal;
using ::raise;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_global/cstdarg b/libstdc++-v3/include/c_global/cstdarg
index 82ca4e81192..fb27389bc30 100644
--- a/libstdc++-v3/include/c_global/cstdarg
+++ b/libstdc++-v3/include/c_global/cstdarg
@@ -51,10 +51,9 @@
#define va_end(ap) va_end (ap)
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::va_list;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_global/cstdint b/libstdc++-v3/include/c_global/cstdint
index 45aa7fa84f0..ce8143ea2bd 100644
--- a/libstdc++-v3/include/c_global/cstdint
+++ b/libstdc++-v3/include/c_global/cstdint
@@ -60,8 +60,8 @@
#ifdef _GLIBCXX_USE_C99_STDINT_TR1
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::int8_t;
using ::int16_t;
using ::int32_t;
@@ -97,8 +97,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::uintmax_t;
using ::uintptr_t;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif // _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/c_global/cstdio b/libstdc++-v3/include/c_global/cstdio
index c7eb129cc5f..049704d83b9 100644
--- a/libstdc++-v3/include/c_global/cstdio
+++ b/libstdc++-v3/include/c_global/cstdio
@@ -89,8 +89,8 @@
#undef vprintf
#undef vsprintf
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::FILE;
using ::fpos_t;
@@ -135,8 +135,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::vfprintf;
using ::vprintf;
using ::vsprintf;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#if _GLIBCXX_USE_C99
@@ -146,8 +145,8 @@ _GLIBCXX_END_NAMESPACE
#undef vsnprintf
#undef vsscanf
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
+namespace __gnu_cxx
+{
#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
extern "C" int
(snprintf)(char * __restrict, std::size_t, const char * __restrict, ...)
@@ -170,18 +169,16 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using ::vsnprintf;
using ::vsscanf;
#endif
+} // namespace __gnu_cxx
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+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
+} // namespace std
#endif // _GLIBCXX_USE_C99
diff --git a/libstdc++-v3/include/c_global/cstdlib b/libstdc++-v3/include/c_global/cstdlib
index 31fad41bdd6..aa7530d380a 100644
--- a/libstdc++-v3/include/c_global/cstdlib
+++ b/libstdc++-v3/include/c_global/cstdlib
@@ -54,13 +54,12 @@
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
extern "C" void abort(void) throw () _GLIBCXX_NORETURN;
extern "C" int atexit(void (*)()) throw ();
extern "C" void exit(int) throw () _GLIBCXX_NORETURN;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#else
@@ -96,7 +95,9 @@ _GLIBCXX_END_NAMESPACE
#undef wcstombs
#undef wctomb
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::div_t;
using ::ldiv_t;
@@ -140,7 +141,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
inline ldiv_t
div(long __i, long __j) { return ldiv(__i, __j); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#if _GLIBCXX_USE_C99
@@ -153,7 +155,9 @@ _GLIBCXX_END_NAMESPACE
#undef strtof
#undef strtold
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
using ::lldiv_t;
@@ -193,10 +197,11 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using ::strtof;
using ::strtold;
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace __gnu_cxx
+namespace std
+{
#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
using ::__gnu_cxx::lldiv_t;
#endif
@@ -212,13 +217,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::__gnu_cxx::strtoll;
using ::__gnu_cxx::strtoull;
using ::__gnu_cxx::strtold;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#ifdef __GXX_EXPERIMENTAL_CXX0X__
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
// types
using std::lldiv_t;
@@ -240,8 +244,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
using std::div;
#endif
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/c_global/cstring b/libstdc++-v3/include/c_global/cstring
index 21721be67ed..ea33fa12260 100644
--- a/libstdc++-v3/include/c_global/cstring
+++ b/libstdc++-v3/include/c_global/cstring
@@ -70,7 +70,9 @@
#undef strtok
#undef strxfrm
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::memchr;
using ::memcmp;
@@ -117,6 +119,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return __builtin_strstr(__s1, __s2); }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/c_global/ctime b/libstdc++-v3/include/c_global/ctime
index f5bb49ccbc9..085e792c8f0 100644
--- a/libstdc++-v3/include/c_global/ctime
+++ b/libstdc++-v3/include/c_global/ctime
@@ -57,8 +57,8 @@
#undef localtime
#undef strftime
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::clock_t;
using ::time_t;
using ::tm;
@@ -72,7 +72,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::gmtime;
using ::localtime;
using ::strftime;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#endif
diff --git a/libstdc++-v3/include/c_global/cwchar b/libstdc++-v3/include/c_global/cwchar
index bbfcb64cb44..5a33965777e 100644
--- a/libstdc++-v3/include/c_global/cwchar
+++ b/libstdc++-v3/include/c_global/cwchar
@@ -61,11 +61,10 @@ extern "C"
}
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::mbstate_t;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
// Get rid of those macros defined in <wchar.h> in lieu of real functions.
#undef btowc
@@ -135,8 +134,8 @@ _GLIBCXX_END_NAMESPACE
#if _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std _GLIBCXX_VISIBILITY(default)
+{
using ::wint_t;
using ::btowc;
@@ -208,6 +207,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::wcsstr;
using ::wmemchr;
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
#ifndef __CORRECT_ISO_CPP_WCHAR_H_PROTO
inline wchar_t*
wcschr(wchar_t* __p, wchar_t __c)
@@ -230,7 +231,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#if _GLIBCXX_USE_C99
@@ -238,8 +240,8 @@ _GLIBCXX_END_NAMESPACE
#undef wcstoll
#undef wcstoull
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
+namespace __gnu_cxx
+{
#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
extern "C" long double
(wcstold)(const wchar_t * __restrict, wchar_t ** __restrict) throw ();
@@ -257,16 +259,14 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using ::wcstoll;
using ::wcstoull;
#endif
+} // namespace __gnu_cxx
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::__gnu_cxx::wcstold;
using ::__gnu_cxx::wcstoll;
using ::__gnu_cxx::wcstoull;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#endif
@@ -276,8 +276,8 @@ _GLIBCXX_END_NAMESPACE
#ifdef _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
#if _GLIBCXX_HAVE_WCSTOF
using std::wcstof;
#endif
@@ -296,8 +296,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using std::wcstoll;
using std::wcstoull;
#endif
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#endif // _GLIBCXX_USE_WCHAR_T
diff --git a/libstdc++-v3/include/c_global/cwctype b/libstdc++-v3/include/c_global/cwctype
index ff196434c82..e417b687417 100644
--- a/libstdc++-v3/include/c_global/cwctype
+++ b/libstdc++-v3/include/c_global/cwctype
@@ -79,8 +79,8 @@
#if _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::wctrans_t;
using ::wctype_t;
using ::wint_t;
@@ -105,8 +105,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::towupper;
using ::wctrans;
using ::wctype;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#endif //_GLIBCXX_USE_WCHAR_T
@@ -114,13 +113,12 @@ _GLIBCXX_END_NAMESPACE
#ifdef _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
#if _GLIBCXX_HAVE_ISWBLANK
using std::iswblank;
#endif
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#endif // _GLIBCXX_USE_WCHAR_T
diff --git a/libstdc++-v3/include/c_std/cctype b/libstdc++-v3/include/c_std/cctype
index 7ba540b5b8a..7aa4b3108a0 100644
--- a/libstdc++-v3/include/c_std/cctype
+++ b/libstdc++-v3/include/c_std/cctype
@@ -60,8 +60,8 @@
#undef tolower
#undef toupper
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::isalnum;
using ::isalpha;
using ::iscntrl;
@@ -75,7 +75,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::isxdigit;
using ::tolower;
using ::toupper;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_std/clocale b/libstdc++-v3/include/c_std/clocale
index 36d8bd77ff5..c3763136995 100644
--- a/libstdc++-v3/include/c_std/clocale
+++ b/libstdc++-v3/include/c_std/clocale
@@ -49,12 +49,11 @@
#undef setlocale
#undef localeconv
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::lconv;
using ::setlocale;
using ::localeconv;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_std/cmath b/libstdc++-v3/include/c_std/cmath
index fcdfa15b95c..13eef408402 100644
--- a/libstdc++-v3/include/c_std/cmath
+++ b/libstdc++-v3/include/c_std/cmath
@@ -75,7 +75,9 @@
#undef tan
#undef tanh
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
inline double
abs(double __x)
@@ -442,7 +444,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
tanh(_Tp __x)
{ return __builtin_tanh(__x); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#if _GLIBCXX_USE_C99_MATH
#if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
@@ -461,7 +464,9 @@ _GLIBCXX_END_NAMESPACE
#undef islessgreater
#undef isunordered
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp>
inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value,
@@ -572,7 +577,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __builtin_isunordered(__type(__f1), __type(__f2));
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace std
#endif /* _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC */
#endif
diff --git a/libstdc++-v3/include/c_std/csetjmp b/libstdc++-v3/include/c_std/csetjmp
index c5a91bd0683..e2cb388403e 100644
--- a/libstdc++-v3/include/c_std/csetjmp
+++ b/libstdc++-v3/include/c_std/csetjmp
@@ -53,11 +53,10 @@
#define setjmp(env) setjmp (env)
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::jmp_buf;
using ::longjmp;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_std/csignal b/libstdc++-v3/include/c_std/csignal
index 7cba945b597..c1cff8e3682 100644
--- a/libstdc++-v3/include/c_std/csignal
+++ b/libstdc++-v3/include/c_std/csignal
@@ -48,12 +48,11 @@
// Get rid of those macros defined in <signal.h> in lieu of real functions.
#undef raise
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::sig_atomic_t;
using ::signal;
using ::raise;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_std/cstdarg b/libstdc++-v3/include/c_std/cstdarg
index b033d9eb4e7..5053e4f80be 100644
--- a/libstdc++-v3/include/c_std/cstdarg
+++ b/libstdc++-v3/include/c_std/cstdarg
@@ -50,10 +50,9 @@
#define va_end(ap) va_end (ap)
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::va_list;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_std/cstdio b/libstdc++-v3/include/c_std/cstdio
index 6f648ad10a6..510f599d876 100644
--- a/libstdc++-v3/include/c_std/cstdio
+++ b/libstdc++-v3/include/c_std/cstdio
@@ -88,8 +88,8 @@
#undef vprintf
#undef vsprintf
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::FILE;
using ::fpos_t;
@@ -134,8 +134,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::vfprintf;
using ::vprintf;
using ::vsprintf;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#if _GLIBCXX_USE_C99
@@ -145,8 +144,8 @@ _GLIBCXX_END_NAMESPACE
#undef vsnprintf
#undef vsscanf
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
+namespace __gnu_cxx
+{
#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
extern "C" int
(snprintf)(char * __restrict, std::size_t, const char * __restrict, ...)
@@ -169,18 +168,16 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using ::vsnprintf;
using ::vsscanf;
#endif
+} // namespace __gnu_cxx
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+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
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_std/cstdlib b/libstdc++-v3/include/c_std/cstdlib
index 443f1e7df75..c3fe8aa4507 100644
--- a/libstdc++-v3/include/c_std/cstdlib
+++ b/libstdc++-v3/include/c_std/cstdlib
@@ -53,13 +53,12 @@
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
extern "C" void abort(void) throw () _GLIBCXX_NORETURN;
extern "C" int atexit(void (*)()) throw ();
extern "C" void exit(int) throw () _GLIBCXX_NORETURN;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#else
@@ -95,7 +94,9 @@ _GLIBCXX_END_NAMESPACE
#undef wcstombs
#undef wctomb
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::div_t;
using ::ldiv_t;
@@ -139,7 +140,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
inline ldiv_t
div(long __i, long __j) { return ldiv(__i, __j); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#if _GLIBCXX_USE_C99
@@ -152,7 +154,9 @@ _GLIBCXX_END_NAMESPACE
#undef strtof
#undef strtold
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
using ::lldiv_t;
@@ -192,10 +196,11 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using ::strtof;
using ::strtold;
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace __gnu_cxx
+namespace std
+{
#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
using ::__gnu_cxx::lldiv_t;
#endif
@@ -211,8 +216,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::__gnu_cxx::strtoll;
using ::__gnu_cxx::strtoull;
using ::__gnu_cxx::strtold;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif // _GLIBCXX_USE_C99
diff --git a/libstdc++-v3/include/c_std/cstring b/libstdc++-v3/include/c_std/cstring
index 06bf12fba9d..6dd8ab6c27f 100644
--- a/libstdc++-v3/include/c_std/cstring
+++ b/libstdc++-v3/include/c_std/cstring
@@ -70,7 +70,9 @@
#undef strerror
#undef strlen
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::memcpy;
using ::memmove;
@@ -117,6 +119,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return __builtin_strstr(__s1, __s2); }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/c_std/ctime b/libstdc++-v3/include/c_std/ctime
index 459c8fc7b60..766d0929b72 100644
--- a/libstdc++-v3/include/c_std/ctime
+++ b/libstdc++-v3/include/c_std/ctime
@@ -56,8 +56,8 @@
#undef localtime
#undef strftime
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::clock_t;
using ::time_t;
using ::tm;
@@ -71,7 +71,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::gmtime;
using ::localtime;
using ::strftime;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace
#endif
diff --git a/libstdc++-v3/include/c_std/cwchar b/libstdc++-v3/include/c_std/cwchar
index f6676aa0402..8480dac46a8 100644
--- a/libstdc++-v3/include/c_std/cwchar
+++ b/libstdc++-v3/include/c_std/cwchar
@@ -61,11 +61,10 @@ extern "C"
}
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::mbstate_t;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
// Get rid of those macros defined in <wchar.h> in lieu of real functions.
#undef btowc
@@ -135,7 +134,9 @@ _GLIBCXX_END_NAMESPACE
#if _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using ::wint_t;
@@ -226,7 +227,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#if _GLIBCXX_USE_C99
@@ -234,8 +236,8 @@ _GLIBCXX_END_NAMESPACE
#undef wcstoll
#undef wcstoull
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
+namespace __gnu_cxx
+{
#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
extern "C" long double
(wcstold)(const wchar_t * __restrict, wchar_t ** __restrict) throw ();
@@ -253,16 +255,14 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using ::wcstoll;
using ::wcstoull;
#endif
+} // namespace __gnu_cxx
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::__gnu_cxx::wcstold;
using ::__gnu_cxx::wcstoll;
using ::__gnu_cxx::wcstoull;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif
diff --git a/libstdc++-v3/include/c_std/cwctype b/libstdc++-v3/include/c_std/cwctype
index d6750390a0a..efaa338b974 100644
--- a/libstdc++-v3/include/c_std/cwctype
+++ b/libstdc++-v3/include/c_std/cwctype
@@ -78,8 +78,8 @@
#if _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std
+{
using ::wint_t; // cwchar
using ::wctype_t;
@@ -105,8 +105,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using ::towupper;
using ::wctrans;
using ::wctype;
-
-_GLIBCXX_END_NAMESPACE
+} // namespace std
#endif //_GLIBCXX_USE_WCHAR_T
diff --git a/libstdc++-v3/include/debug/bitset b/libstdc++-v3/include/debug/bitset
index 340bf1e9e1b..c1875454255 100644
--- a/libstdc++-v3/include/debug/bitset
+++ b/libstdc++-v3/include/debug/bitset
@@ -34,19 +34,19 @@
#include <debug/safe_sequence.h>
#include <debug/safe_iterator.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
/// Class std::bitset with additional safety/checking/debug instrumentation.
template<size_t _Nb>
class bitset
- : public _GLIBCXX_STD_D::bitset<_Nb>
+ : public _GLIBCXX_STD_C::bitset<_Nb>
#ifndef __GXX_EXPERIMENTAL_CXX0X__
, public __gnu_debug::_Safe_sequence_base
#endif
{
- typedef _GLIBCXX_STD_D::bitset<_Nb> _Base;
+ typedef _GLIBCXX_STD_C::bitset<_Nb> _Base;
public:
// In C++0x we rely on normal reference type to preserve the property
@@ -410,7 +410,7 @@ namespace __debug
{
size_t
operator()(const __debug::bitset<_Nb>& __b) const
- { return std::hash<_GLIBCXX_STD_D::bitset<_Nb>>()(__b._M_base()); }
+ { return std::hash<_GLIBCXX_STD_C::bitset<_Nb>>()(__b._M_base()); }
};
#endif
diff --git a/libstdc++-v3/include/debug/debug.h b/libstdc++-v3/include/debug/debug.h
index dd21e9c530e..6ea8e2addba 100644
--- a/libstdc++-v3/include/debug/debug.h
+++ b/libstdc++-v3/include/debug/debug.h
@@ -44,7 +44,7 @@
* @namespace std::__debug
* @brief GNU debug code, replaces standard behavior with debug behavior.
*/
-namespace std
+namespace std
{
namespace __debug { }
}
diff --git a/libstdc++-v3/include/debug/deque b/libstdc++-v3/include/debug/deque
index cf63c3af090..ee17f204132 100644
--- a/libstdc++-v3/include/debug/deque
+++ b/libstdc++-v3/include/debug/deque
@@ -34,17 +34,17 @@
#include <debug/safe_sequence.h>
#include <debug/safe_iterator.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
/// Class std::deque with safety/checking/debug instrumentation.
template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
class deque
- : public _GLIBCXX_STD_D::deque<_Tp, _Allocator>,
+ : public _GLIBCXX_STD_C::deque<_Tp, _Allocator>,
public __gnu_debug::_Safe_sequence<deque<_Tp, _Allocator> >
{
- typedef _GLIBCXX_STD_D::deque<_Tp, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::deque<_Tp, _Allocator> _Base;
typedef __gnu_debug::_Safe_sequence<deque> _Safe_base;
typedef typename _Base::const_iterator _Base_const_iterator;
diff --git a/libstdc++-v3/include/debug/forward_list b/libstdc++-v3/include/debug/forward_list
index 09b0b8659f4..70bd75a86b9 100644
--- a/libstdc++-v3/include/debug/forward_list
+++ b/libstdc++-v3/include/debug/forward_list
@@ -35,17 +35,17 @@
#include <debug/safe_sequence.h>
#include <debug/safe_iterator.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
/// Class std::forward_list with safety/checking/debug instrumentation.
template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
class forward_list
- : public _GLIBCXX_STD_D::forward_list<_Tp, _Alloc>,
+ : public _GLIBCXX_STD_C::forward_list<_Tp, _Alloc>,
public __gnu_debug::_Safe_sequence<forward_list<_Tp, _Alloc> >
{
- typedef _GLIBCXX_STD_D::forward_list<_Tp, _Alloc> _Base;
+ typedef _GLIBCXX_STD_C::forward_list<_Tp, _Alloc> _Base;
typedef __gnu_debug::_Safe_sequence<forward_list> _Safe_base;
typedef typename _Base::iterator _Base_iterator;
diff --git a/libstdc++-v3/include/debug/list b/libstdc++-v3/include/debug/list
index 54b736c8a9c..a7a2c549918 100644
--- a/libstdc++-v3/include/debug/list
+++ b/libstdc++-v3/include/debug/list
@@ -34,17 +34,17 @@
#include <debug/safe_sequence.h>
#include <debug/safe_iterator.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
/// Class std::list with safety/checking/debug instrumentation.
template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
class list
- : public _GLIBCXX_STD_D::list<_Tp, _Allocator>,
+ : public _GLIBCXX_STD_C::list<_Tp, _Allocator>,
public __gnu_debug::_Safe_sequence<list<_Tp, _Allocator> >
{
- typedef _GLIBCXX_STD_D::list<_Tp, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::list<_Tp, _Allocator> _Base;
typedef __gnu_debug::_Safe_sequence<list> _Safe_base;
typedef typename _Base::iterator _Base_iterator;
diff --git a/libstdc++-v3/include/debug/map.h b/libstdc++-v3/include/debug/map.h
index 79f9b8287d4..c550db14984 100644
--- a/libstdc++-v3/include/debug/map.h
+++ b/libstdc++-v3/include/debug/map.h
@@ -34,7 +34,7 @@
#include <debug/safe_iterator.h>
#include <utility>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
@@ -42,10 +42,10 @@ namespace __debug
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp> > >
class map
- : public _GLIBCXX_STD_D::map<_Key, _Tp, _Compare, _Allocator>,
+ : public _GLIBCXX_STD_C::map<_Key, _Tp, _Compare, _Allocator>,
public __gnu_debug::_Safe_sequence<map<_Key, _Tp, _Compare, _Allocator> >
{
- typedef _GLIBCXX_STD_D::map<_Key, _Tp, _Compare, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::map<_Key, _Tp, _Compare, _Allocator> _Base;
typedef __gnu_debug::_Safe_sequence<map> _Safe_base;
typedef typename _Base::const_iterator _Base_const_iterator;
diff --git a/libstdc++-v3/include/debug/multimap.h b/libstdc++-v3/include/debug/multimap.h
index 58673cc7adf..a9d742b0445 100644
--- a/libstdc++-v3/include/debug/multimap.h
+++ b/libstdc++-v3/include/debug/multimap.h
@@ -34,7 +34,7 @@
#include <debug/safe_iterator.h>
#include <utility>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
@@ -42,11 +42,11 @@ namespace __debug
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp> > >
class multimap
- : public _GLIBCXX_STD_D::multimap<_Key, _Tp, _Compare, _Allocator>,
+ : public _GLIBCXX_STD_C::multimap<_Key, _Tp, _Compare, _Allocator>,
public __gnu_debug::_Safe_sequence<multimap<_Key, _Tp,
_Compare, _Allocator> >
{
- typedef _GLIBCXX_STD_D::multimap<_Key, _Tp, _Compare, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::multimap<_Key, _Tp, _Compare, _Allocator> _Base;
typedef __gnu_debug::_Safe_sequence<multimap> _Safe_base;
typedef typename _Base::const_iterator _Base_const_iterator;
diff --git a/libstdc++-v3/include/debug/multiset.h b/libstdc++-v3/include/debug/multiset.h
index 8462586b844..6808fb80411 100644
--- a/libstdc++-v3/include/debug/multiset.h
+++ b/libstdc++-v3/include/debug/multiset.h
@@ -34,7 +34,7 @@
#include <debug/safe_iterator.h>
#include <utility>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
@@ -42,10 +42,10 @@ namespace __debug
template<typename _Key, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<_Key> >
class multiset
- : public _GLIBCXX_STD_D::multiset<_Key, _Compare, _Allocator>,
+ : public _GLIBCXX_STD_C::multiset<_Key, _Compare, _Allocator>,
public __gnu_debug::_Safe_sequence<multiset<_Key, _Compare, _Allocator> >
{
- typedef _GLIBCXX_STD_D::multiset<_Key, _Compare, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::multiset<_Key, _Compare, _Allocator> _Base;
typedef __gnu_debug::_Safe_sequence<multiset> _Safe_base;
typedef typename _Base::const_iterator _Base_const_iterator;
diff --git a/libstdc++-v3/include/debug/set.h b/libstdc++-v3/include/debug/set.h
index 60fbd38f26b..7ca4c778881 100644
--- a/libstdc++-v3/include/debug/set.h
+++ b/libstdc++-v3/include/debug/set.h
@@ -34,7 +34,7 @@
#include <debug/safe_iterator.h>
#include <utility>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
@@ -42,10 +42,10 @@ namespace __debug
template<typename _Key, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<_Key> >
class set
- : public _GLIBCXX_STD_D::set<_Key,_Compare,_Allocator>,
+ : public _GLIBCXX_STD_C::set<_Key,_Compare,_Allocator>,
public __gnu_debug::_Safe_sequence<set<_Key, _Compare, _Allocator> >
{
- typedef _GLIBCXX_STD_D::set<_Key, _Compare, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::set<_Key, _Compare, _Allocator> _Base;
typedef __gnu_debug::_Safe_sequence<set> _Safe_base;
typedef typename _Base::const_iterator _Base_const_iterator;
diff --git a/libstdc++-v3/include/debug/unordered_map b/libstdc++-v3/include/debug/unordered_map
index 5ea35acfac1..2d7e100c43e 100644
--- a/libstdc++-v3/include/debug/unordered_map
+++ b/libstdc++-v3/include/debug/unordered_map
@@ -38,7 +38,7 @@
#include <debug/safe_sequence.h>
#include <debug/safe_iterator.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
@@ -48,11 +48,11 @@ namespace __debug
typename _Pred = std::equal_to<_Key>,
typename _Alloc = std::allocator<_Key> >
class unordered_map
- : public _GLIBCXX_STD_D::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>,
+ : public _GLIBCXX_STD_C::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>,
public __gnu_debug::_Safe_sequence<unordered_map<_Key, _Tp, _Hash,
_Pred, _Alloc> >
{
- typedef _GLIBCXX_STD_D::unordered_map<_Key, _Tp, _Hash,
+ typedef _GLIBCXX_STD_C::unordered_map<_Key, _Tp, _Hash,
_Pred, _Alloc> _Base;
typedef __gnu_debug::_Safe_sequence<unordered_map> _Safe_base;
typedef typename _Base::const_iterator _Base_const_iterator;
@@ -335,12 +335,12 @@ namespace __debug
typename _Pred = std::equal_to<_Key>,
typename _Alloc = std::allocator<_Key> >
class unordered_multimap
- : public _GLIBCXX_STD_D::unordered_multimap<_Key, _Tp, _Hash,
+ : public _GLIBCXX_STD_C::unordered_multimap<_Key, _Tp, _Hash,
_Pred, _Alloc>,
public __gnu_debug::_Safe_sequence<unordered_multimap<_Key, _Tp, _Hash,
_Pred, _Alloc> >
{
- typedef _GLIBCXX_STD_D::unordered_multimap<_Key, _Tp, _Hash,
+ typedef _GLIBCXX_STD_C::unordered_multimap<_Key, _Tp, _Hash,
_Pred, _Alloc> _Base;
typedef __gnu_debug::_Safe_sequence<unordered_multimap> _Safe_base;
typedef typename _Base::const_iterator _Base_const_iterator;
diff --git a/libstdc++-v3/include/debug/unordered_set b/libstdc++-v3/include/debug/unordered_set
index 3e771a86daf..e30f976d3d6 100644
--- a/libstdc++-v3/include/debug/unordered_set
+++ b/libstdc++-v3/include/debug/unordered_set
@@ -38,7 +38,7 @@
#include <debug/safe_sequence.h>
#include <debug/safe_iterator.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
@@ -48,11 +48,11 @@ namespace __debug
typename _Pred = std::equal_to<_Value>,
typename _Alloc = std::allocator<_Value> >
class unordered_set
- : public _GLIBCXX_STD_D::unordered_set<_Value, _Hash, _Pred, _Alloc>,
+ : public _GLIBCXX_STD_C::unordered_set<_Value, _Hash, _Pred, _Alloc>,
public __gnu_debug::_Safe_sequence<unordered_set<_Value, _Hash,
_Pred, _Alloc> >
{
- typedef _GLIBCXX_STD_D::unordered_set<_Value, _Hash,
+ typedef _GLIBCXX_STD_C::unordered_set<_Value, _Hash,
_Pred, _Alloc> _Base;
typedef __gnu_debug::_Safe_sequence<unordered_set> _Safe_base;
typedef typename _Base::const_iterator _Base_const_iterator;
@@ -325,11 +325,11 @@ namespace __debug
typename _Pred = std::equal_to<_Value>,
typename _Alloc = std::allocator<_Value> >
class unordered_multiset
- : public _GLIBCXX_STD_D::unordered_multiset<_Value, _Hash, _Pred, _Alloc>,
+ : public _GLIBCXX_STD_C::unordered_multiset<_Value, _Hash, _Pred, _Alloc>,
public __gnu_debug::_Safe_sequence<unordered_multiset<_Value, _Hash,
_Pred, _Alloc> >
{
- typedef _GLIBCXX_STD_D::unordered_multiset<_Value, _Hash,
+ typedef _GLIBCXX_STD_C::unordered_multiset<_Value, _Hash,
_Pred, _Alloc> _Base;
typedef __gnu_debug::_Safe_sequence<unordered_multiset> _Safe_base;
typedef typename _Base::const_iterator _Base_const_iterator;
diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector
index 322c170289a..e2dd71a7e84 100644
--- a/libstdc++-v3/include/debug/vector
+++ b/libstdc++-v3/include/debug/vector
@@ -35,7 +35,7 @@
#include <debug/safe_sequence.h>
#include <debug/safe_iterator.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __debug
{
@@ -43,10 +43,10 @@ namespace __debug
template<typename _Tp,
typename _Allocator = std::allocator<_Tp> >
class vector
- : public _GLIBCXX_STD_D::vector<_Tp, _Allocator>,
+ : public _GLIBCXX_STD_C::vector<_Tp, _Allocator>,
public __gnu_debug::_Safe_sequence<vector<_Tp, _Allocator> >
{
- typedef _GLIBCXX_STD_D::vector<_Tp, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::vector<_Tp, _Allocator> _Base;
typedef __gnu_debug::_Safe_sequence<vector> _Safe_base;
typedef typename _Base::iterator _Base_iterator;
@@ -595,7 +595,7 @@ namespace __debug
{
size_t
operator()(const __debug::vector<bool, _Alloc>& __b) const
- { return std::hash<_GLIBCXX_STD_D::vector<bool, _Alloc>>()
+ { return std::hash<_GLIBCXX_STD_C::vector<bool, _Alloc>>()
(__b._M_base()); }
};
#endif
diff --git a/libstdc++-v3/include/decimal/decimal b/libstdc++-v3/include/decimal/decimal
index 1f104b76629..d65b814ea65 100644
--- a/libstdc++-v3/include/decimal/decimal
+++ b/libstdc++-v3/include/decimal/decimal
@@ -1,6 +1,6 @@
// <decimal> -*- C++ -*-
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 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
// terms of the GNU General Public License as published by the
@@ -40,7 +40,7 @@
that is currently not available.
#endif
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
/**
* @defgroup decimal Decimal Floating-Point Arithmetic
@@ -55,6 +55,8 @@ namespace std
*/
namespace decimal
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
class decimal32;
class decimal64;
class decimal128;
@@ -473,6 +475,7 @@ namespace decimal
#define _GLIBCXX_USE_DECIMAL_ 1
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace decimal
// @} group decimal
} // namespace std
diff --git a/libstdc++-v3/include/decimal/decimal.h b/libstdc++-v3/include/decimal/decimal.h
index 45a6fbc20a8..f8f05734ba8 100644
--- a/libstdc++-v3/include/decimal/decimal.h
+++ b/libstdc++-v3/include/decimal/decimal.h
@@ -1,6 +1,6 @@
// decimal classes -*- C++ -*-
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2011 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
@@ -22,9 +22,9 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
-/** @file bits/decimal.h
+/** @file decimal/decimal.h
* This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+ * Do not attempt to use it directly. @headername{decimal}
*/
// ISO/IEC TR 24733
@@ -35,10 +35,12 @@
#pragma GCC system_header
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace decimal
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
// ISO/IEC TR 24733 3.2.[234].1 Construct/copy/destroy.
inline decimal32::decimal32(decimal64 __r) : __val(__r.__getval()) {}
@@ -459,7 +461,7 @@ namespace decimal
#undef _DEFINE_DECIMAL_COMPARISON_LHS
#undef _DEFINE_DECIMAL_COMPARISON_RHS
#undef _DEFINE_DECIMAL_COMPARISONS
-
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace decimal
} // namespace std
diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm
index cac4ff70e8e..bfe454cecd4 100644
--- a/libstdc++-v3/include/ext/algorithm
+++ b/libstdc++-v3/include/ext/algorithm
@@ -61,7 +61,9 @@
#include <algorithm>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::ptrdiff_t;
using std::min;
@@ -588,6 +590,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
return __b;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _EXT_ALGORITHM */
diff --git a/libstdc++-v3/include/ext/array_allocator.h b/libstdc++-v3/include/ext/array_allocator.h
index ca4d0d19b01..9c61d7431b1 100644
--- a/libstdc++-v3/include/ext/array_allocator.h
+++ b/libstdc++-v3/include/ext/array_allocator.h
@@ -36,7 +36,9 @@
#include <tr1/array>
#include <bits/move.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
using std::ptrdiff_t;
@@ -149,6 +151,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
const array_allocator<_Tp, _Array>&)
{ return false; }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/atomicity.h b/libstdc++-v3/include/ext/atomicity.h
index 50ebadb0c5f..f0c775216c5 100644
--- a/libstdc++-v3/include/ext/atomicity.h
+++ b/libstdc++-v3/include/ext/atomicity.h
@@ -34,7 +34,9 @@
#include <bits/gthr.h>
#include <bits/atomic_word.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Functions for portable atomic access.
// To abstract locking primitives across all thread policies, use:
@@ -98,7 +100,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
#endif
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // 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
diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h
index 2aa08706c9d..4993c2c5780 100644
--- a/libstdc++-v3/include/ext/bitmap_allocator.h
+++ b/libstdc++-v3/include/ext/bitmap_allocator.h
@@ -1,6 +1,6 @@
// Bitmap Allocator. -*- C++ -*-
-// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -43,13 +43,14 @@
*/
#define _BALLOC_ALIGN_BYTES 8
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
using std::size_t;
using std::ptrdiff_t;
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/** @class __mini_vector bitmap_allocator.h bitmap_allocator.h
*
* @brief __mini_vector<> is a stripped down version of the
@@ -504,8 +505,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
size_t __mask = 1 << __pos;
*__pbmap |= __mask;
}
+
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/** @brief Generic Version of the bsf instruction.
*/
inline size_t
@@ -1100,7 +1105,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
bitmap_allocator<_Tp>::_S_mut;
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace __gnu_cxx
#endif
diff --git a/libstdc++-v3/include/ext/cast.h b/libstdc++-v3/include/ext/cast.h
index 3242d4ba761..f3384f9a596 100644
--- a/libstdc++-v3/include/ext/cast.h
+++ b/libstdc++-v3/include/ext/cast.h
@@ -30,7 +30,9 @@
#ifndef _GLIBCXX_CAST_H
#define _GLIBCXX_CAST_H 1
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* These functions are here to allow containers to support non standard
@@ -113,6 +115,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
{ return _ToType(reinterpret_cast<typename _Caster<_ToType>::
type>(__arg)); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // __GLIBCXX_CAST_H
diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h
index 53295891bac..38b95efc107 100644
--- a/libstdc++-v3/include/ext/codecvt_specializations.h
+++ b/libstdc++-v3/include/ext/codecvt_specializations.h
@@ -41,7 +41,9 @@
#include <locale>
#include <iconv.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Extension to use iconv for dealing with character encodings.
// This includes conversions and comparisons between various character
@@ -213,10 +215,13 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
typedef typename std::fpos<state_type> pos_type;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using __gnu_cxx::encoding_state;
@@ -503,6 +508,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
do_max_length() const throw()
{ return 1; }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/concurrence.h b/libstdc++-v3/include/ext/concurrence.h
index b6f86a41c51..fc8f63f827e 100644
--- a/libstdc++-v3/include/ext/concurrence.h
+++ b/libstdc++-v3/include/ext/concurrence.h
@@ -38,7 +38,9 @@
#include <bits/cpp_type_traits.h>
#include <ext/type_traits.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Available locking policies:
// _S_single single-threaded code that doesn't need to be locked.
@@ -381,6 +383,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
};
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/debug_allocator.h b/libstdc++-v3/include/ext/debug_allocator.h
index cc8c567af0b..12a5ea6ba92 100644
--- a/libstdc++-v3/include/ext/debug_allocator.h
+++ b/libstdc++-v3/include/ext/debug_allocator.h
@@ -45,7 +45,9 @@
#include <stdexcept>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
@@ -119,6 +121,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/enc_filebuf.h b/libstdc++-v3/include/ext/enc_filebuf.h
index 4f835679122..058d330c106 100644
--- a/libstdc++-v3/include/ext/enc_filebuf.h
+++ b/libstdc++-v3/include/ext/enc_filebuf.h
@@ -33,7 +33,9 @@
#include <locale>
#include <ext/codecvt_specializations.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// class enc_filebuf.
template<typename _CharT>
@@ -57,6 +59,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__glibcxx_class_requires(state_type, _SGIAssignableConcept)
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/extptr_allocator.h b/libstdc++-v3/include/ext/extptr_allocator.h
index d3caf8a4101..dfb76ac0959 100644
--- a/libstdc++-v3/include/ext/extptr_allocator.h
+++ b/libstdc++-v3/include/ext/extptr_allocator.h
@@ -40,7 +40,9 @@
#include <limits>
#include <ext/pointer.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief An example allocator which uses a non-standard pointer type.
@@ -173,6 +175,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__larg._M_real_alloc = __tmp;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _EXTPTR_ALLOCATOR_H */
diff --git a/libstdc++-v3/include/ext/functional b/libstdc++-v3/include/ext/functional
index 7cf6a45a0a3..7e8acdfb4e6 100644
--- a/libstdc++-v3/include/ext/functional
+++ b/libstdc++-v3/include/ext/functional
@@ -61,7 +61,9 @@
#include <functional>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
using std::unary_function;
@@ -418,7 +420,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
mem_fun1_ref(_Ret (_Tp::*__f)(_Arg) const)
{ return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/iterator b/libstdc++-v3/include/ext/iterator
index 83b4b578ace..3e8f438ad31 100644
--- a/libstdc++-v3/include/ext/iterator
+++ b/libstdc++-v3/include/ext/iterator
@@ -61,7 +61,9 @@
#include <bits/concept_check.h>
#include <iterator>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// There are two signatures for distance. In addition to the one
// taking two iterators and returning a result, there is another
@@ -107,7 +109,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__distance(__first, __last, __n, std::__iterator_category(__first));
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/malloc_allocator.h b/libstdc++-v3/include/ext/malloc_allocator.h
index ed3c3b2b0ac..3aa994d9f70 100644
--- a/libstdc++-v3/include/ext/malloc_allocator.h
+++ b/libstdc++-v3/include/ext/malloc_allocator.h
@@ -35,7 +35,9 @@
#include <bits/functexcept.h>
#include <bits/move.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
using std::ptrdiff_t;
@@ -129,6 +131,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
operator!=(const malloc_allocator<_Tp>&, const malloc_allocator<_Tp>&)
{ return false; }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory
index 7776d730a4a..ddcfe22b5be 100644
--- a/libstdc++-v3/include/ext/memory
+++ b/libstdc++-v3/include/ext/memory
@@ -62,7 +62,9 @@
#include <memory>
#include <bits/stl_tempbuf.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::ptrdiff_t;
using std::pair;
@@ -189,7 +191,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
~temporary_buffer() { }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h
index 1f6561db464..91eac24f223 100644
--- a/libstdc++-v3/include/ext/mt_allocator.h
+++ b/libstdc++-v3/include/ext/mt_allocator.h
@@ -36,7 +36,9 @@
#include <ext/atomicity.h>
#include <bits/move.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
using std::ptrdiff_t;
@@ -746,6 +748,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
#undef __thread_default
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/new_allocator.h b/libstdc++-v3/include/ext/new_allocator.h
index 54505654207..35d5cdccd58 100644
--- a/libstdc++-v3/include/ext/new_allocator.h
+++ b/libstdc++-v3/include/ext/new_allocator.h
@@ -35,7 +35,9 @@
#include <bits/functexcept.h>
#include <bits/move.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
using std::ptrdiff_t;
@@ -126,6 +128,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
{ return false; }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/numeric b/libstdc++-v3/include/ext/numeric
index 5df5ee2692c..d4a367fca52 100644
--- a/libstdc++-v3/include/ext/numeric
+++ b/libstdc++-v3/include/ext/numeric
@@ -63,7 +63,9 @@
#include <ext/functional> // For identity_element
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Returns __x ** __n, where __n >= 0. _Note that "multiplication"
// is required to be associative, but not necessarily commutative.
@@ -140,7 +142,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
*__first++ = __value++;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/numeric_traits.h b/libstdc++-v3/include/ext/numeric_traits.h
index ab66a493580..e84e2982147 100644
--- a/libstdc++-v3/include/ext/numeric_traits.h
+++ b/libstdc++-v3/include/ext/numeric_traits.h
@@ -34,7 +34,9 @@
#include <bits/cpp_type_traits.h>
#include <ext/type_traits.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Compile time constants for builtin types.
// Sadly std::numeric_limits member functions cannot be used for this.
@@ -125,7 +127,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__numeric_traits_floating<_Value> >::__type
{ };
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#undef __glibcxx_floating
#undef __glibcxx_max_digits10
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp
index 39a12c5a1b1..9dc76359560 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp
@@ -75,7 +75,7 @@ namespace __gnu_pbds
typedef typename std::allocator<Key> key_allocator;
typedef typename key_allocator::size_type size_type;
typedef Const_Key_Reference const_key_reference;
- typedef std::__norm::list<Key> key_set;
+ typedef std::_GLIBCXX_STD_C::list<Key> key_set;
typedef typename key_set::iterator key_set_iterator;
typedef typename key_set::const_iterator const_key_set_iterator;
typedef __gnu_cxx::throw_allocator_random<Key> key_db_allocator;
diff --git a/libstdc++-v3/include/ext/pod_char_traits.h b/libstdc++-v3/include/ext/pod_char_traits.h
index 2797c1bf25c..3c9f0988a68 100644
--- a/libstdc++-v3/include/ext/pod_char_traits.h
+++ b/libstdc++-v3/include/ext/pod_char_traits.h
@@ -34,7 +34,9 @@
#include <string>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// POD character abstraction.
// NB: The char_type parameter is a subset of int_type, as to allow
@@ -79,9 +81,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
operator<(const character<V, I, S>& lhs, const character<V, I, S>& rhs)
{ return lhs.value < rhs.value; }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// char_traits<__gnu_cxx::character> specialization.
template<typename V, typename I, typename S>
@@ -177,6 +182,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return eq_int_type(__c, eof()) ? int_type() : __c; }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/pointer.h b/libstdc++-v3/include/ext/pointer.h
index 692a1c8d1d6..158ae52e3b8 100644
--- a/libstdc++-v3/include/ext/pointer.h
+++ b/libstdc++-v3/include/ext/pointer.h
@@ -43,7 +43,9 @@
#include <ext/cast.h>
#include <ext/type_traits.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief A storage policy for use with _Pointer_adapter<> which yields a
@@ -562,6 +564,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
const _Pointer_adapter<_StoreT>& __p)
{ return (__os << __p.get()); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _POINTER_H
diff --git a/libstdc++-v3/include/ext/pool_allocator.h b/libstdc++-v3/include/ext/pool_allocator.h
index 66cda84b42d..66ddced8054 100644
--- a/libstdc++-v3/include/ext/pool_allocator.h
+++ b/libstdc++-v3/include/ext/pool_allocator.h
@@ -51,7 +51,9 @@
#include <ext/concurrence.h>
#include <bits/move.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
using std::ptrdiff_t;
@@ -258,6 +260,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/rb_tree b/libstdc++-v3/include/ext/rb_tree
index 185d02efe76..4293a755577 100644
--- a/libstdc++-v3/include/ext/rb_tree
+++ b/libstdc++-v3/include/ext/rb_tree
@@ -60,7 +60,9 @@
#include <bits/stl_tree.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::_Rb_tree;
using std::allocator;
@@ -88,6 +90,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
~rb_tree() { }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h
index b4037d60558..4a27ff6ef5b 100644
--- a/libstdc++-v3/include/ext/rc_string_base.h
+++ b/libstdc++-v3/include/ext/rc_string_base.h
@@ -34,7 +34,9 @@
#include <ext/atomicity.h>
#include <bits/stl_iterator_base_funcs.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* Documentation? What's that?
@@ -725,6 +727,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _RC_STRING_BASE_H */
diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope
index 462c8f5db2b..42921516e40 100644
--- a/libstdc++-v3/include/ext/rope
+++ b/libstdc++-v3/include/ext/rope
@@ -62,8 +62,8 @@
#include <ext/memory> // For uninitialized_copy_n
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
namespace __detail
{
enum { _S_max_rope_depth = 45 };
@@ -75,6 +75,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using std::allocator;
using std::_Destroy;
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
// See libstdc++/36832.
template<typename _ForwardIterator, typename _Allocator>
void
@@ -2917,13 +2919,16 @@ protected:
swap(rope<_CharT, _Alloc>& __x, rope<_CharT, _Alloc>& __y)
{ __x.swap(__y); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
template<>
struct hash<__gnu_cxx::crope>
{
@@ -2950,6 +2955,8 @@ namespace tr1
return 13 * __str[0] + 5 * __str[__size - 1] + __size;
}
};
+
+_GLIBCXX_END_NAMESPACE_VERSION
} // namespace tr1
} // namespace std
diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h
index 46299cb94de..467b8fd93d2 100644
--- a/libstdc++-v3/include/ext/ropeimpl.h
+++ b/libstdc++-v3/include/ext/ropeimpl.h
@@ -49,7 +49,9 @@
#include <ext/memory> // For uninitialized_copy_n
#include <ext/numeric> // For power
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
using std::printf;
@@ -1698,4 +1700,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
{ _Rope_rotate(__first, __middle, __last); }
# endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/include/ext/slist b/libstdc++-v3/include/ext/slist
index a34e36e310a..e678190bf1d 100644
--- a/libstdc++-v3/include/ext/slist
+++ b/libstdc++-v3/include/ext/slist
@@ -51,7 +51,9 @@
#include <bits/stl_uninitialized.h>
#include <bits/concept_check.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::size_t;
using std::ptrdiff_t;
@@ -1021,9 +1023,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Specialization of insert_iterator so that insertions will be constant
// time rather than linear time.
@@ -1072,6 +1077,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return *this; }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/sso_string_base.h b/libstdc++-v3/include/ext/sso_string_base.h
index 4899e1fdcb7..053f514838d 100644
--- a/libstdc++-v3/include/ext/sso_string_base.h
+++ b/libstdc++-v3/include/ext/sso_string_base.h
@@ -31,7 +31,9 @@
#ifndef _SSO_STRING_BASE_H
#define _SSO_STRING_BASE_H 1
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits, typename _Alloc>
class __sso_string_base
@@ -570,6 +572,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_M_set_length(_M_length() - __n);
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // 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 09c3c268de0..5ab2ff7adb8 100644
--- a/libstdc++-v3/include/ext/stdio_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_filebuf.h
@@ -34,7 +34,9 @@
#include <fstream>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Provides a layer of compatibility for C/POSIX.
@@ -154,6 +156,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/stdio_sync_filebuf.h b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
index 84a8c26f18d..4b601495418 100644
--- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
@@ -41,7 +41,9 @@
#include <cwchar>
#endif
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Provides a layer of compatibility for C.
@@ -282,6 +284,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/string_conversions.h b/libstdc++-v3/include/ext/string_conversions.h
index 196295c839d..f85ab99235c 100644
--- a/libstdc++-v3/include/ext/string_conversions.h
+++ b/libstdc++-v3/include/ext/string_conversions.h
@@ -39,7 +39,9 @@
#include <cstdio>
#include <cerrno>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Helper for all the sto* functions.
template<typename _TRet, typename _Ret = _TRet, typename _CharT,
@@ -93,6 +95,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
return _String(__s, __s + __len);
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _STRING_CONVERSIONS_H
diff --git a/libstdc++-v3/include/ext/throw_allocator.h b/libstdc++-v3/include/ext/throw_allocator.h
index cc344787e83..778b8dec165 100644
--- a/libstdc++-v3/include/ext/throw_allocator.h
+++ b/libstdc++-v3/include/ext/throw_allocator.h
@@ -64,7 +64,9 @@
# include <tr1/random>
#endif
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Thown by exception safety machinery.
@@ -721,13 +723,14 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
~throw_allocator_random() throw() { }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#ifdef __GXX_EXPERIMENTAL_CXX0X__
# include <bits/functional_hash.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
/// Explicit specialization of std::hash for __gnu_cxx::throw_value_limit.
template<>
diff --git a/libstdc++-v3/include/ext/type_traits.h b/libstdc++-v3/include/ext/type_traits.h
index b24ce4e5b92..92747268a06 100644
--- a/libstdc++-v3/include/ext/type_traits.h
+++ b/libstdc++-v3/include/ext/type_traits.h
@@ -34,7 +34,9 @@
#include <bits/c++config.h>
#include <bits/cpp_type_traits.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Define a nested type if some predicate holds.
template<bool, typename>
@@ -199,6 +201,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
typedef __typeof__(__type1() + __type2() + __type3() + __type4()) __type;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/typelist.h b/libstdc++-v3/include/ext/typelist.h
index 6a9c851d18b..7f94ecd7282 100644
--- a/libstdc++-v3/include/ext/typelist.h
+++ b/libstdc++-v3/include/ext/typelist.h
@@ -45,7 +45,9 @@
#include <ext/type_traits.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/** @namespace __gnu_cxx::typelist
* @brief GNU typelist extensions for public compile-time use.
@@ -127,10 +129,13 @@ namespace typelist
struct create6;
} // namespace typelist
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace typelist
{
@@ -363,7 +368,8 @@ namespace detail
} // namespace detail
} // namespace typelist
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#define _GLIBCXX_TYPELIST_CHAIN1(X0) __gnu_cxx::typelist::chain<X0, __gnu_cxx::typelist::null_type>
#define _GLIBCXX_TYPELIST_CHAIN2(X0, X1) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN1(X1) >
@@ -381,7 +387,9 @@ _GLIBCXX_END_NAMESPACE
#define _GLIBCXX_TYPELIST_CHAIN14(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN13(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) >
#define _GLIBCXX_TYPELIST_CHAIN15(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN14(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) >
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace typelist
{
@@ -539,7 +547,8 @@ namespace typelist
typedef node<_GLIBCXX_TYPELIST_CHAIN6(T1,T2,T3,T4,T5,T6)> type;
};
} // namespace typelist
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h
index 735e82c6418..46959787c2d 100644
--- a/libstdc++-v3/include/ext/vstring.h
+++ b/libstdc++-v3/include/ext/vstring.h
@@ -37,7 +37,9 @@
#include <ext/rc_string_base.h>
#include <ext/sso_string_base.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @class __versa_string vstring.h
@@ -2420,9 +2422,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
{ __lhs.swap(__rhs); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Read stream into a string.
@@ -2505,13 +2510,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__gnu_cxx::__versa_string<_CharT, _Traits, _Alloc, _Base>& __str)
{ return getline(__is, __str, __is.widen('\n')); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#if (defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(_GLIBCXX_USE_C99))
#include <ext/string_conversions.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// 21.4 Numeric Conversions [string.conversions].
inline int
@@ -2718,7 +2726,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/ext/vstring.tcc b/libstdc++-v3/include/ext/vstring.tcc
index 95d4cc36cc4..e36058bcebf 100644
--- a/libstdc++-v3/include/ext/vstring.tcc
+++ b/libstdc++-v3/include/ext/vstring.tcc
@@ -35,7 +35,9 @@
#include <bits/cxxabi_forced.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits, typename _Alloc,
template <typename, typename, typename> class _Base>
@@ -537,9 +539,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
return __r;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits, typename _Alloc,
template <typename, typename, typename> class _Base>
@@ -691,6 +696,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __in;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _VSTRING_TCC
diff --git a/libstdc++-v3/include/ext/vstring_fwd.h b/libstdc++-v3/include/ext/vstring_fwd.h
index fd3f4f8faaa..ce8cf53fb60 100644
--- a/libstdc++-v3/include/ext/vstring_fwd.h
+++ b/libstdc++-v3/include/ext/vstring_fwd.h
@@ -37,7 +37,9 @@
#include <bits/char_traits.h>
#include <bits/allocator.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits, typename _Alloc>
class __sso_string_base;
@@ -82,6 +84,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _VSTRING_FWD_H */
diff --git a/libstdc++-v3/include/ext/vstring_util.h b/libstdc++-v3/include/ext/vstring_util.h
index d9307cc58fa..fdf39812052 100644
--- a/libstdc++-v3/include/ext/vstring_util.h
+++ b/libstdc++-v3/include/ext/vstring_util.h
@@ -44,7 +44,9 @@
#include <bits/move.h>
#include <bits/range_access.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits, typename _Alloc>
struct __vstring_utility
@@ -176,6 +178,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _VSTRING_UTIL_H */
diff --git a/libstdc++-v3/include/parallel/algo.h b/libstdc++-v3/include/parallel/algo.h
index a24e557ad90..89b7f6d827f 100644
--- a/libstdc++-v3/include/parallel/algo.h
+++ b/libstdc++-v3/include/parallel/algo.h
@@ -58,7 +58,7 @@
#include <parallel/unique_copy.h>
#include <parallel/set_operations.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __parallel
{
@@ -67,7 +67,7 @@ namespace __parallel
inline _Function
for_each(_IIter __begin, _IIter __end, _Function __f,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::for_each(__begin, __end, __f); }
+ { return _GLIBCXX_STD_A::for_each(__begin, __end, __f); }
// Sequential fallback for input iterator case
@@ -130,14 +130,14 @@ namespace __parallel
inline _IIter
find(_IIter __begin, _IIter __end, const _Tp& __val,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::find(__begin, __end, __val); }
+ { return _GLIBCXX_STD_A::find(__begin, __end, __val); }
// Sequential fallback for input iterator case
template<typename _IIter, typename _Tp, typename _IteratorTag>
inline _IIter
__find_switch(_IIter __begin, _IIter __end, const _Tp& __val,
_IteratorTag)
- { return _GLIBCXX_STD_P::find(__begin, __end, __val); }
+ { return _GLIBCXX_STD_A::find(__begin, __end, __val); }
// Parallel find for random access iterators
template<typename _RAIter, typename _Tp>
@@ -157,7 +157,7 @@ namespace __parallel
__gnu_parallel::__find_if_selector()).first;
}
else
- return _GLIBCXX_STD_P::find(__begin, __end, __val);
+ return _GLIBCXX_STD_A::find(__begin, __end, __val);
}
// Public interface
@@ -175,14 +175,14 @@ namespace __parallel
inline _IIter
find_if(_IIter __begin, _IIter __end, _Predicate __pred,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::find_if(__begin, __end, __pred); }
+ { return _GLIBCXX_STD_A::find_if(__begin, __end, __pred); }
// Sequential fallback for input iterator case
template<typename _IIter, typename _Predicate, typename _IteratorTag>
inline _IIter
__find_if_switch(_IIter __begin, _IIter __end, _Predicate __pred,
_IteratorTag)
- { return _GLIBCXX_STD_P::find_if(__begin, __end, __pred); }
+ { return _GLIBCXX_STD_A::find_if(__begin, __end, __pred); }
// Parallel find_if for random access iterators
template<typename _RAIter, typename _Predicate>
@@ -195,7 +195,7 @@ namespace __parallel
__gnu_parallel::
__find_if_selector()).first;
else
- return _GLIBCXX_STD_P::find_if(__begin, __end, __pred);
+ return _GLIBCXX_STD_A::find_if(__begin, __end, __pred);
}
// Public interface
@@ -214,7 +214,7 @@ namespace __parallel
find_first_of(_IIter __begin1, _IIter __end1,
_FIterator __begin2, _FIterator __end2,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::find_first_of(__begin1, __end1, __begin2, __end2);
+ { return _GLIBCXX_STD_A::find_first_of(__begin1, __end1, __begin2, __end2);
}
// Sequential fallback
@@ -224,7 +224,7 @@ namespace __parallel
find_first_of(_IIter __begin1, _IIter __end1,
_FIterator __begin2, _FIterator __end2,
_BinaryPredicate __comp, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::find_first_of(
+ { return _GLIBCXX_STD_A::find_first_of(
__begin1, __end1, __begin2, __end2, __comp); }
// Sequential fallback for input iterator type
@@ -301,7 +301,7 @@ namespace __parallel
inline _OutputIterator
unique_copy(_IIter __begin1, _IIter __end1, _OutputIterator __out,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::unique_copy(__begin1, __end1, __out); }
+ { return _GLIBCXX_STD_A::unique_copy(__begin1, __end1, __out); }
// Sequential fallback
template<typename _IIter, typename _OutputIterator,
@@ -309,7 +309,7 @@ namespace __parallel
inline _OutputIterator
unique_copy(_IIter __begin1, _IIter __end1, _OutputIterator __out,
_Predicate __pred, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::unique_copy(__begin1, __end1, __out, __pred); }
+ { return _GLIBCXX_STD_A::unique_copy(__begin1, __end1, __out, __pred); }
// Sequential fallback for input iterator case
template<typename _IIter, typename _OutputIterator,
@@ -318,7 +318,7 @@ namespace __parallel
__unique_copy_switch(_IIter __begin, _IIter __last,
_OutputIterator __out, _Predicate __pred,
_IteratorTag1, _IteratorTag2)
- { return _GLIBCXX_STD_P::unique_copy(__begin, __last, __out, __pred); }
+ { return _GLIBCXX_STD_A::unique_copy(__begin, __last, __out, __pred); }
// Parallel unique_copy for random access iterators
template<typename _RAIter, typename RandomAccessOutputIterator,
@@ -334,7 +334,7 @@ namespace __parallel
return __gnu_parallel::__parallel_unique_copy(
__begin, __last, __out, __pred);
else
- return _GLIBCXX_STD_P::unique_copy(__begin, __last, __out, __pred);
+ return _GLIBCXX_STD_A::unique_copy(__begin, __last, __out, __pred);
}
// Public interface
@@ -376,7 +376,7 @@ namespace __parallel
set_union(_IIter1 __begin1, _IIter1 __end1,
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __out, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::set_union(
+ { return _GLIBCXX_STD_A::set_union(
__begin1, __end1, __begin2, __end2, __out); }
// Sequential fallback
@@ -387,7 +387,7 @@ namespace __parallel
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __out, _Predicate __pred,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::set_union(__begin1, __end1,
+ { return _GLIBCXX_STD_A::set_union(__begin1, __end1,
__begin2, __end2, __out, __pred); }
// Sequential fallback for input iterator case
@@ -399,7 +399,7 @@ namespace __parallel
_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
_OutputIterator __result, _Predicate __pred,
_IteratorTag1, _IteratorTag2, _IteratorTag3)
- { return _GLIBCXX_STD_P::set_union(__begin1, __end1,
+ { return _GLIBCXX_STD_A::set_union(__begin1, __end1,
__begin2, __end2, __result, __pred); }
// Parallel set_union for random access iterators
@@ -420,7 +420,7 @@ namespace __parallel
return __gnu_parallel::__parallel_set_union(
__begin1, __end1, __begin2, __end2, __result, __pred);
else
- return _GLIBCXX_STD_P::set_union(__begin1, __end1,
+ return _GLIBCXX_STD_A::set_union(__begin1, __end1,
__begin2, __end2, __result, __pred);
}
@@ -477,7 +477,7 @@ namespace __parallel
set_intersection(_IIter1 __begin1, _IIter1 __end1,
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __out, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::set_intersection(__begin1, __end1,
+ { return _GLIBCXX_STD_A::set_intersection(__begin1, __end1,
__begin2, __end2, __out); }
// Sequential fallback.
@@ -488,7 +488,7 @@ namespace __parallel
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __out, _Predicate __pred,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::set_intersection(
+ { return _GLIBCXX_STD_A::set_intersection(
__begin1, __end1, __begin2, __end2, __out, __pred); }
// Sequential fallback for input iterator case
@@ -501,7 +501,7 @@ namespace __parallel
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __result, _Predicate __pred,
_IteratorTag1, _IteratorTag2, _IteratorTag3)
- { return _GLIBCXX_STD_P::set_intersection(__begin1, __end1, __begin2,
+ { return _GLIBCXX_STD_A::set_intersection(__begin1, __end1, __begin2,
__end2, __result, __pred); }
// Parallel set_intersection for random access iterators
@@ -526,7 +526,7 @@ namespace __parallel
return __gnu_parallel::__parallel_set_intersection(
__begin1, __end1, __begin2, __end2, __result, __pred);
else
- return _GLIBCXX_STD_P::set_intersection(
+ return _GLIBCXX_STD_A::set_intersection(
__begin1, __end1, __begin2, __end2, __result, __pred);
}
@@ -584,7 +584,7 @@ namespace __parallel
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __out,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::set_symmetric_difference(
+ { return _GLIBCXX_STD_A::set_symmetric_difference(
__begin1, __end1, __begin2, __end2, __out); }
// Sequential fallback
@@ -595,7 +595,7 @@ namespace __parallel
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __out, _Predicate __pred,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::set_symmetric_difference(
+ { return _GLIBCXX_STD_A::set_symmetric_difference(
__begin1, __end1, __begin2, __end2, __out, __pred); }
// Sequential fallback for input iterator case
@@ -608,7 +608,7 @@ namespace __parallel
_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2, _IIter2 __end2,
_OutputIterator __result, _Predicate __pred,
_IteratorTag1, _IteratorTag2, _IteratorTag3)
- { return _GLIBCXX_STD_P::set_symmetric_difference(
+ { return _GLIBCXX_STD_A::set_symmetric_difference(
__begin1, __end1, __begin2, __end2, __result, __pred); }
// Parallel set_symmetric_difference for random access iterators
@@ -633,7 +633,7 @@ namespace __parallel
return __gnu_parallel::__parallel_set_symmetric_difference(
__begin1, __end1, __begin2, __end2, __result, __pred);
else
- return _GLIBCXX_STD_P::set_symmetric_difference(
+ return _GLIBCXX_STD_A::set_symmetric_difference(
__begin1, __end1, __begin2, __end2, __result, __pred);
}
@@ -691,7 +691,7 @@ namespace __parallel
set_difference(_IIter1 __begin1, _IIter1 __end1,
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __out, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::set_difference(
+ { return _GLIBCXX_STD_A::set_difference(
__begin1,__end1, __begin2, __end2, __out); }
// Sequential fallback.
@@ -702,7 +702,7 @@ namespace __parallel
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __out, _Predicate __pred,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::set_difference(__begin1, __end1,
+ { return _GLIBCXX_STD_A::set_difference(__begin1, __end1,
__begin2, __end2, __out, __pred); }
// Sequential fallback for input iterator case.
@@ -714,7 +714,7 @@ namespace __parallel
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __result, _Predicate __pred,
_IteratorTag1, _IteratorTag2, _IteratorTag3)
- { return _GLIBCXX_STD_P::set_difference(
+ { return _GLIBCXX_STD_A::set_difference(
__begin1, __end1, __begin2, __end2, __result, __pred); }
// Parallel set_difference for random access iterators
@@ -738,7 +738,7 @@ namespace __parallel
return __gnu_parallel::__parallel_set_difference(
__begin1, __end1, __begin2, __end2, __result, __pred);
else
- return _GLIBCXX_STD_P::set_difference(
+ return _GLIBCXX_STD_A::set_difference(
__begin1, __end1, __begin2, __end2, __result, __pred);
}
@@ -794,7 +794,7 @@ namespace __parallel
inline _FIterator
adjacent_find(_FIterator __begin, _FIterator __end,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::adjacent_find(__begin, __end); }
+ { return _GLIBCXX_STD_A::adjacent_find(__begin, __end); }
// Sequential fallback
template<typename _FIterator, typename _BinaryPredicate>
@@ -802,7 +802,7 @@ namespace __parallel
adjacent_find(_FIterator __begin, _FIterator __end,
_BinaryPredicate __binary_pred,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::adjacent_find(__begin, __end, __binary_pred); }
+ { return _GLIBCXX_STD_A::adjacent_find(__begin, __end, __binary_pred); }
// Parallel algorithm for random access iterators
template<typename _RAIter>
@@ -887,7 +887,7 @@ namespace __parallel
inline typename iterator_traits<_IIter>::difference_type
count(_IIter __begin, _IIter __end, const _Tp& __value,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::count(__begin, __end, __value); }
+ { return _GLIBCXX_STD_A::count(__begin, __end, __value); }
// Parallel code for random access iterators
template<typename _RAIter, typename _Tp>
@@ -957,7 +957,7 @@ namespace __parallel
inline typename iterator_traits<_IIter>::difference_type
count_if(_IIter __begin, _IIter __end, _Predicate __pred,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::count_if(__begin, __end, __pred); }
+ { return _GLIBCXX_STD_A::count_if(__begin, __end, __pred); }
// Parallel count_if for random access iterators
template<typename _RAIter, typename _Predicate>
@@ -1029,7 +1029,7 @@ namespace __parallel
search(_FIterator1 __begin1, _FIterator1 __end1,
_FIterator2 __begin2, _FIterator2 __end2,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::search(__begin1, __end1, __begin2, __end2); }
+ { return _GLIBCXX_STD_A::search(__begin1, __end1, __begin2, __end2); }
// Parallel algorithm for random access iterator
template<typename _RAIter1, typename _RAIter2>
@@ -1087,7 +1087,7 @@ namespace __parallel
search(_FIterator1 __begin1, _FIterator1 __end1,
_FIterator2 __begin2, _FIterator2 __end2,
_BinaryPredicate __pred, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::search(
+ { return _GLIBCXX_STD_A::search(
__begin1, __end1, __begin2, __end2, __pred); }
// Parallel algorithm for random access iterator.
@@ -1141,7 +1141,7 @@ namespace __parallel
inline _FIterator
search_n(_FIterator __begin, _FIterator __end, _Integer __count,
const _Tp& __val, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::search_n(__begin, __end, __count, __val); }
+ { return _GLIBCXX_STD_A::search_n(__begin, __end, __count, __val); }
// Sequential fallback
template<typename _FIterator, typename _Integer, typename _Tp,
@@ -1150,7 +1150,7 @@ namespace __parallel
search_n(_FIterator __begin, _FIterator __end, _Integer __count,
const _Tp& __val, _BinaryPredicate __binary_pred,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::search_n(
+ { return _GLIBCXX_STD_A::search_n(
__begin, __end, __count, __val, __binary_pred); }
// Public interface.
@@ -1181,7 +1181,7 @@ namespace __parallel
__begin, __end, __ps.begin(), __ps.end(), __binary_pred);
}
else
- return _GLIBCXX_STD_P::search_n(__begin, __end, __count, __val,
+ return _GLIBCXX_STD_A::search_n(__begin, __end, __count, __val,
__binary_pred);
}
@@ -1192,7 +1192,7 @@ namespace __parallel
__search_n_switch(_FIterator __begin, _FIterator __end, _Integer __count,
const _Tp& __val, _BinaryPredicate __binary_pred,
_IteratorTag)
- { return _GLIBCXX_STD_P::search_n(__begin, __end, __count, __val,
+ { return _GLIBCXX_STD_A::search_n(__begin, __end, __count, __val,
__binary_pred); }
// Public interface.
@@ -1214,7 +1214,7 @@ namespace __parallel
inline _OutputIterator
transform(_IIter __begin, _IIter __end, _OutputIterator __result,
_UnaryOperation __unary_op, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::transform(__begin, __end, __result, __unary_op); }
+ { return _GLIBCXX_STD_A::transform(__begin, __end, __result, __unary_op); }
// Parallel unary transform for random access iterators.
template<typename _RAIter1, typename _RAIter2,
@@ -1301,7 +1301,7 @@ namespace __parallel
transform(_IIter1 __begin1, _IIter1 __end1,
_IIter2 __begin2, _OutputIterator __result,
_BinaryOperation __binary_op, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::transform(__begin1, __end1,
+ { return _GLIBCXX_STD_A::transform(__begin1, __end1,
__begin2, __result, __binary_op); }
// Parallel binary transform for random access iterators.
@@ -1403,7 +1403,7 @@ namespace __parallel
inline void
replace(_FIterator __begin, _FIterator __end, const _Tp& __old_value,
const _Tp& __new_value, __gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::replace(__begin, __end, __old_value, __new_value); }
+ { _GLIBCXX_STD_A::replace(__begin, __end, __old_value, __new_value); }
// Sequential fallback for input iterator case
template<typename _FIterator, typename _Tp, typename _IteratorTag>
@@ -1459,7 +1459,7 @@ namespace __parallel
inline void
replace_if(_FIterator __begin, _FIterator __end, _Predicate __pred,
const _Tp& __new_value, __gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::replace_if(__begin, __end, __pred, __new_value); }
+ { _GLIBCXX_STD_A::replace_if(__begin, __end, __pred, __new_value); }
// Sequential fallback for input iterator case
template<typename _FIterator, typename _Predicate, typename _Tp,
@@ -1528,7 +1528,7 @@ namespace __parallel
inline void
generate(_FIterator __begin, _FIterator __end, _Generator __gen,
__gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::generate(__begin, __end, __gen); }
+ { _GLIBCXX_STD_A::generate(__begin, __end, __gen); }
// Sequential fallback for input iterator case.
template<typename _FIterator, typename _Generator, typename _IteratorTag>
@@ -1590,7 +1590,7 @@ namespace __parallel
inline _OutputIterator
generate_n(_OutputIterator __begin, _Size __n, _Generator __gen,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::generate_n(__begin, __n, __gen); }
+ { return _GLIBCXX_STD_A::generate_n(__begin, __n, __gen); }
// Sequential fallback for input iterator case.
template<typename _OutputIterator, typename _Size, typename _Generator,
@@ -1640,7 +1640,7 @@ namespace __parallel
inline void
random_shuffle(_RAIter __begin, _RAIter __end,
__gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::random_shuffle(__begin, __end); }
+ { _GLIBCXX_STD_A::random_shuffle(__begin, __end); }
// Sequential fallback.
template<typename _RAIter, typename _RandomNumberGenerator>
@@ -1648,7 +1648,7 @@ namespace __parallel
random_shuffle(_RAIter __begin, _RAIter __end,
_RandomNumberGenerator& __rand,
__gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::random_shuffle(__begin, __end, __rand); }
+ { _GLIBCXX_STD_A::random_shuffle(__begin, __end, __rand); }
/** @brief Functor wrapper for std::rand(). */
@@ -1695,7 +1695,7 @@ namespace __parallel
inline _FIterator
partition(_FIterator __begin, _FIterator __end,
_Predicate __pred, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::partition(__begin, __end, __pred); }
+ { return _GLIBCXX_STD_A::partition(__begin, __end, __pred); }
// Sequential fallback for input iterator case.
template<typename _FIterator, typename _Predicate, typename _IteratorTag>
@@ -1744,14 +1744,14 @@ namespace __parallel
inline void
sort(_RAIter __begin, _RAIter __end,
__gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::sort(__begin, __end); }
+ { _GLIBCXX_STD_A::sort(__begin, __end); }
// Sequential fallback
template<typename _RAIter, typename _Compare>
inline void
sort(_RAIter __begin, _RAIter __end, _Compare __comp,
__gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::sort<_RAIter, _Compare>(__begin, __end,
+ { _GLIBCXX_STD_A::sort<_RAIter, _Compare>(__begin, __end,
__comp); }
// Public interface
@@ -1883,14 +1883,14 @@ namespace __parallel
inline void
stable_sort(_RAIter __begin, _RAIter __end,
__gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::stable_sort(__begin, __end); }
+ { _GLIBCXX_STD_A::stable_sort(__begin, __end); }
// Sequential fallback
template<typename _RAIter, typename _Compare>
inline void
stable_sort(_RAIter __begin, _RAIter __end,
_Compare __comp, __gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::stable_sort<_RAIter, _Compare>(
+ { _GLIBCXX_STD_A::stable_sort<_RAIter, _Compare>(
__begin, __end, __comp); }
// Public interface
@@ -2001,7 +2001,7 @@ namespace __parallel
merge(_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2,
_IIter2 __end2, _OutputIterator __result,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::merge(
+ { return _GLIBCXX_STD_A::merge(
__begin1, __end1, __begin2, __end2, __result); }
// Sequential fallback
@@ -2011,7 +2011,7 @@ namespace __parallel
merge(_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2,
_IIter2 __end2, _OutputIterator __result, _Compare __comp,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::merge(
+ { return _GLIBCXX_STD_A::merge(
__begin1, __end1, __begin2, __end2, __result, __comp); }
// Sequential fallback for input iterator case
@@ -2023,7 +2023,7 @@ namespace __parallel
_IIter2 __begin2, _IIter2 __end2,
_OutputIterator __result, _Compare __comp,
_IteratorTag1, _IteratorTag2, _IteratorTag3)
- { return _GLIBCXX_STD_P::merge(__begin1, __end1, __begin2, __end2,
+ { return _GLIBCXX_STD_A::merge(__begin1, __end1, __begin2, __end2,
__result, __comp); }
// Parallel algorithm for random access iterators
@@ -2095,7 +2095,7 @@ namespace __parallel
inline void
nth_element(_RAIter __begin, _RAIter __nth,
_RAIter __end, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::nth_element(__begin, __nth, __end); }
+ { return _GLIBCXX_STD_A::nth_element(__begin, __nth, __end); }
// Sequential fallback
template<typename _RAIter, typename _Compare>
@@ -2103,7 +2103,7 @@ namespace __parallel
nth_element(_RAIter __begin, _RAIter __nth,
_RAIter __end, _Compare __comp,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::nth_element(__begin, __nth, __end, __comp); }
+ { return _GLIBCXX_STD_A::nth_element(__begin, __nth, __end, __comp); }
// Public interface
template<typename _RAIter, typename _Compare>
@@ -2138,14 +2138,14 @@ namespace __parallel
partial_sort(_RAIter __begin, _RAIter __middle,
_RAIter __end, _Compare __comp,
__gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::partial_sort(__begin, __middle, __end, __comp); }
+ { _GLIBCXX_STD_A::partial_sort(__begin, __middle, __end, __comp); }
// Sequential fallback
template<typename _RAIter>
inline void
partial_sort(_RAIter __begin, _RAIter __middle,
_RAIter __end, __gnu_parallel::sequential_tag)
- { _GLIBCXX_STD_P::partial_sort(__begin, __middle, __end); }
+ { _GLIBCXX_STD_A::partial_sort(__begin, __middle, __end); }
// Public interface, parallel algorithm for random access iterators
template<typename _RAIter, typename _Compare>
@@ -2180,14 +2180,14 @@ namespace __parallel
inline _FIterator
max_element(_FIterator __begin, _FIterator __end,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::max_element(__begin, __end); }
+ { return _GLIBCXX_STD_A::max_element(__begin, __end); }
// Sequential fallback
template<typename _FIterator, typename _Compare>
inline _FIterator
max_element(_FIterator __begin, _FIterator __end, _Compare __comp,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::max_element(__begin, __end, __comp); }
+ { return _GLIBCXX_STD_A::max_element(__begin, __end, __comp); }
// Sequential fallback for input iterator case
template<typename _FIterator, typename _Compare, typename _IteratorTag>
@@ -2272,14 +2272,14 @@ namespace __parallel
inline _FIterator
min_element(_FIterator __begin, _FIterator __end,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::min_element(__begin, __end); }
+ { return _GLIBCXX_STD_A::min_element(__begin, __end); }
// Sequential fallback
template<typename _FIterator, typename _Compare>
inline _FIterator
min_element(_FIterator __begin, _FIterator __end, _Compare __comp,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::min_element(__begin, __end, __comp); }
+ { return _GLIBCXX_STD_A::min_element(__begin, __end, __comp); }
// Sequential fallback for input iterator case
template<typename _FIterator, typename _Compare, typename _IteratorTag>
diff --git a/libstdc++-v3/include/parallel/algobase.h b/libstdc++-v3/include/parallel/algobase.h
index a6fd6cd4331..20456b57b2f 100644
--- a/libstdc++-v3/include/parallel/algobase.h
+++ b/libstdc++-v3/include/parallel/algobase.h
@@ -43,7 +43,7 @@
#include <parallel/find.h>
#include <parallel/find_selectors.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __parallel
{
@@ -54,14 +54,14 @@ namespace __parallel
inline pair<_IIter1, _IIter2>
mismatch(_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::mismatch(__begin1, __end1, __begin2); }
+ { return _GLIBCXX_STD_A::mismatch(__begin1, __end1, __begin2); }
// Sequential fallback
template<typename _IIter1, typename _IIter2, typename _Predicate>
inline pair<_IIter1, _IIter2>
mismatch(_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2,
_Predicate __pred, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::mismatch(__begin1, __end1, __begin2, __pred); }
+ { return _GLIBCXX_STD_A::mismatch(__begin1, __end1, __begin2, __pred); }
// Sequential fallback for input iterator case
template<typename _IIter1, typename _IIter2,
@@ -69,7 +69,7 @@ namespace __parallel
inline pair<_IIter1, _IIter2>
__mismatch_switch(_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2,
_Predicate __pred, _IteratorTag1, _IteratorTag2)
- { return _GLIBCXX_STD_P::mismatch(__begin1, __end1, __begin2, __pred); }
+ { return _GLIBCXX_STD_A::mismatch(__begin1, __end1, __begin2, __pred); }
// Parallel mismatch for random access iterators
template<typename _RAIter1, typename _RAIter2, typename _Predicate>
@@ -87,7 +87,7 @@ namespace __parallel
return make_pair(__res , __begin2 + (__res - __begin1));
}
else
- return _GLIBCXX_STD_P::mismatch(__begin1, __end1, __begin2, __pred);
+ return _GLIBCXX_STD_A::mismatch(__begin1, __end1, __begin2, __pred);
}
// Public interface
@@ -128,14 +128,14 @@ namespace __parallel
inline bool
equal(_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::equal(__begin1, __end1, __begin2); }
+ { return _GLIBCXX_STD_A::equal(__begin1, __end1, __begin2); }
// Sequential fallback
template<typename _IIter1, typename _IIter2, typename _Predicate>
inline bool
equal(_IIter1 __begin1, _IIter1 __end1, _IIter2 __begin2,
_Predicate __pred, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::equal(__begin1, __end1, __begin2, __pred); }
+ { return _GLIBCXX_STD_A::equal(__begin1, __end1, __begin2, __pred); }
// Public interface
template<typename _IIter1, typename _IIter2>
@@ -162,7 +162,7 @@ namespace __parallel
lexicographical_compare(_IIter1 __begin1, _IIter1 __end1,
_IIter2 __begin2, _IIter2 __end2,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::lexicographical_compare(__begin1, __end1,
+ { return _GLIBCXX_STD_A::lexicographical_compare(__begin1, __end1,
__begin2, __end2); }
// Sequential fallback
@@ -171,7 +171,7 @@ namespace __parallel
lexicographical_compare(_IIter1 __begin1, _IIter1 __end1,
_IIter2 __begin2, _IIter2 __end2,
_Predicate __pred, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::lexicographical_compare(
+ { return _GLIBCXX_STD_A::lexicographical_compare(
__begin1, __end1, __begin2, __end2, __pred); }
// Sequential fallback for input iterator case
@@ -182,7 +182,7 @@ namespace __parallel
_IIter2 __begin2, _IIter2 __end2,
_Predicate __pred,
_IteratorTag1, _IteratorTag2)
- { return _GLIBCXX_STD_P::lexicographical_compare(
+ { return _GLIBCXX_STD_A::lexicographical_compare(
__begin1, __end1, __begin2, __end2, __pred); }
// Parallel lexicographical_compare for random access iterators
@@ -232,7 +232,7 @@ namespace __parallel
}
}
else
- return _GLIBCXX_STD_P::lexicographical_compare(
+ return _GLIBCXX_STD_A::lexicographical_compare(
__begin1, __end1, __begin2, __end2, __pred);
}
diff --git a/libstdc++-v3/include/parallel/algorithmfwd.h b/libstdc++-v3/include/parallel/algorithmfwd.h
index f2749b89eb1..7d4a792cb59 100644
--- a/libstdc++-v3/include/parallel/algorithmfwd.h
+++ b/libstdc++-v3/include/parallel/algorithmfwd.h
@@ -34,7 +34,7 @@
#include <parallel/tags.h>
#include <parallel/settings.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __parallel
{
diff --git a/libstdc++-v3/include/parallel/base.h b/libstdc++-v3/include/parallel/base.h
index 3e3041d27df..86adea8161d 100644
--- a/libstdc++-v3/include/parallel/base.h
+++ b/libstdc++-v3/include/parallel/base.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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 terms
@@ -45,7 +45,7 @@
* @namespace std::__parallel
* @brief GNU parallel code, replaces standard behavior with parallel behavior.
*/
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __parallel { }
}
@@ -68,7 +68,7 @@ namespace __gnu_sequential
{
// Import whatever is the serial version.
#ifdef _GLIBCXX_PARALLEL
- using namespace std::__norm;
+ using namespace std::_GLIBCXX_STD_A;
#else
using namespace std;
#endif
diff --git a/libstdc++-v3/include/parallel/numeric b/libstdc++-v3/include/parallel/numeric
index b779aae8d6d..64624a742bd 100644
--- a/libstdc++-v3/include/parallel/numeric
+++ b/libstdc++-v3/include/parallel/numeric
@@ -46,7 +46,7 @@
#include <parallel/for_each_selectors.h>
#include <parallel/partial_sum.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __parallel
{
@@ -55,13 +55,13 @@ namespace __parallel
inline _Tp
accumulate(_IIter __begin, _IIter __end, _Tp __init,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::accumulate(__begin, __end, __init); }
+ { return _GLIBCXX_STD_A::accumulate(__begin, __end, __init); }
template<typename _IIter, typename _Tp, typename _BinaryOperation>
inline _Tp
accumulate(_IIter __begin, _IIter __end, _Tp __init,
_BinaryOperation __binary_op, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::accumulate(__begin, __end, __init, __binary_op); }
+ { return _GLIBCXX_STD_A::accumulate(__begin, __end, __init, __binary_op); }
// Sequential fallback for input iterator case.
template<typename _IIter, typename _Tp, typename _IteratorTag>
@@ -169,7 +169,7 @@ namespace __parallel
inner_product(_IIter1 __first1, _IIter1 __last1,
_IIter2 __first2, _Tp __init,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::inner_product(
+ { return _GLIBCXX_STD_A::inner_product(
__first1, __last1, __first2, __init); }
template<typename _IIter1, typename _IIter2, typename _Tp,
@@ -179,7 +179,7 @@ namespace __parallel
_IIter2 __first2, _Tp __init, _BinaryFunction1 __binary_op1,
_BinaryFunction2 __binary_op2,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::inner_product(__first1, __last1, __first2, __init,
+ { return _GLIBCXX_STD_A::inner_product(__first1, __last1, __first2, __init,
__binary_op1, __binary_op2); }
// Parallel algorithm for random access iterators.
@@ -314,7 +314,7 @@ namespace __parallel
inline _OutputIterator
partial_sum(_IIter __begin, _IIter __end, _OutputIterator __result,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::partial_sum(__begin, __end, __result); }
+ { return _GLIBCXX_STD_A::partial_sum(__begin, __end, __result); }
// Sequential fallback.
template<typename _IIter, typename _OutputIterator,
@@ -322,7 +322,7 @@ namespace __parallel
inline _OutputIterator
partial_sum(_IIter __begin, _IIter __end, _OutputIterator __result,
_BinaryOperation __bin_op, __gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::partial_sum(__begin, __end, __result, __bin_op); }
+ { return _GLIBCXX_STD_A::partial_sum(__begin, __end, __result, __bin_op); }
// Sequential fallback for input iterator case.
template<typename _IIter, typename _OutputIterator,
@@ -332,7 +332,7 @@ namespace __parallel
__partial_sum_switch(_IIter __begin, _IIter __end,
_OutputIterator __result, _BinaryOperation __bin_op,
_IteratorTag1, _IteratorTag2)
- { return _GLIBCXX_STD_P::partial_sum(__begin, __end, __result, __bin_op); }
+ { return _GLIBCXX_STD_A::partial_sum(__begin, __end, __result, __bin_op); }
// Parallel algorithm for random access iterators.
template<typename _IIter, typename _OutputIterator,
@@ -385,7 +385,7 @@ namespace __parallel
inline _OutputIterator
adjacent_difference(_IIter __begin, _IIter __end, _OutputIterator __result,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::adjacent_difference(__begin, __end, __result); }
+ { return _GLIBCXX_STD_A::adjacent_difference(__begin, __end, __result); }
// Sequential fallback.
template<typename _IIter, typename _OutputIterator,
@@ -394,7 +394,7 @@ namespace __parallel
adjacent_difference(_IIter __begin, _IIter __end,
_OutputIterator __result, _BinaryOperation __bin_op,
__gnu_parallel::sequential_tag)
- { return _GLIBCXX_STD_P::adjacent_difference(__begin, __end,
+ { return _GLIBCXX_STD_A::adjacent_difference(__begin, __end,
__result, __bin_op); }
// Sequential fallback for input iterator case.
diff --git a/libstdc++-v3/include/parallel/numericfwd.h b/libstdc++-v3/include/parallel/numericfwd.h
index bb6a9bd0612..5ee3d6d4fa7 100644
--- a/libstdc++-v3/include/parallel/numericfwd.h
+++ b/libstdc++-v3/include/parallel/numericfwd.h
@@ -34,7 +34,7 @@
#include <parallel/tags.h>
#include <parallel/settings.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __parallel
{
diff --git a/libstdc++-v3/include/profile/base.h b/libstdc++-v3/include/profile/base.h
index dbe01f55f9e..ef17443b37e 100644
--- a/libstdc++-v3/include/profile/base.h
+++ b/libstdc++-v3/include/profile/base.h
@@ -47,7 +47,7 @@
* @namespace std::__profile
* @brief GNU profile code, replaces standard behavior with profile behavior.
*/
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile { }
}
diff --git a/libstdc++-v3/include/profile/bitset b/libstdc++-v3/include/profile/bitset
index d7ecf81ff43..a995afa9723 100644
--- a/libstdc++-v3/include/profile/bitset
+++ b/libstdc++-v3/include/profile/bitset
@@ -31,16 +31,16 @@
#include <bitset>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
/// Class std::bitset wrapper with performance instrumentation.
template<size_t _Nb>
class bitset
- : public _GLIBCXX_STD_D::bitset<_Nb>
+ : public _GLIBCXX_STD_C::bitset<_Nb>
{
- typedef _GLIBCXX_STD_D::bitset<_Nb> _Base;
+ typedef _GLIBCXX_STD_C::bitset<_Nb> _Base;
public:
// bit reference:
@@ -368,7 +368,7 @@ namespace __profile
{
size_t
operator()(const __profile::bitset<_Nb>& __b) const
- { return std::hash<_GLIBCXX_STD_D::bitset<_Nb>>()(__b._M_base()); }
+ { return std::hash<_GLIBCXX_STD_C::bitset<_Nb>>()(__b._M_base()); }
};
#endif
diff --git a/libstdc++-v3/include/profile/deque b/libstdc++-v3/include/profile/deque
index b404d972f8f..1c0e53c723e 100644
--- a/libstdc++-v3/include/profile/deque
+++ b/libstdc++-v3/include/profile/deque
@@ -31,16 +31,16 @@
#include <deque>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
/// Class std::deque wrapper with performance instrumentation.
template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
class deque
- : public _GLIBCXX_STD_D::deque<_Tp, _Allocator>
+ : public _GLIBCXX_STD_C::deque<_Tp, _Allocator>
{
- typedef _GLIBCXX_STD_D::deque<_Tp, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::deque<_Tp, _Allocator> _Base;
public:
typedef typename _Base::reference reference;
diff --git a/libstdc++-v3/include/profile/forward_list b/libstdc++-v3/include/profile/forward_list
index 5ae5bd590fe..00af855d782 100644
--- a/libstdc++-v3/include/profile/forward_list
+++ b/libstdc++-v3/include/profile/forward_list
@@ -35,16 +35,16 @@
#include <forward_list>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
/// Class std::forward_list wrapper with performance instrumentation.
template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
class forward_list
- : public _GLIBCXX_STD_D::forward_list<_Tp, _Alloc>
+ : public _GLIBCXX_STD_C::forward_list<_Tp, _Alloc>
{
- typedef _GLIBCXX_STD_D::forward_list<_Tp, _Alloc> _Base;
+ typedef _GLIBCXX_STD_C::forward_list<_Tp, _Alloc> _Base;
public:
typedef typename _Base::size_type size_type;
diff --git a/libstdc++-v3/include/profile/impl/profiler_node.h b/libstdc++-v3/include/profile/impl/profiler_node.h
index 86f541f59d7..c32b94e2319 100644
--- a/libstdc++-v3/include/profile/impl/profiler_node.h
+++ b/libstdc++-v3/include/profile/impl/profiler_node.h
@@ -48,7 +48,7 @@ namespace __gnu_profile
{
typedef const void* __object_t;
typedef void* __instruction_address_t;
- typedef std::_GLIBCXX_STD_PR::vector<__instruction_address_t> __stack_npt;
+ typedef std::_GLIBCXX_STD_C::vector<__instruction_address_t> __stack_npt;
typedef __stack_npt* __stack_t;
std::size_t __stack_max_depth();
diff --git a/libstdc++-v3/include/profile/impl/profiler_trace.h b/libstdc++-v3/include/profile/impl/profiler_trace.h
index 1dfdd013b08..1e0054208ca 100644
--- a/libstdc++-v3/include/profile/impl/profiler_trace.h
+++ b/libstdc++-v3/include/profile/impl/profiler_trace.h
@@ -42,7 +42,7 @@
#include <cstdlib> // atof, atoi, strtol, getenv, atexit, abort
#ifdef __GXX_EXPERIMENTAL_CXX0X__
-#define _GLIBCXX_IMPL_UNORDERED_MAP std::_GLIBCXX_STD_PR::unordered_map
+#define _GLIBCXX_IMPL_UNORDERED_MAP std::_GLIBCXX_STD_C::unordered_map
#include <unordered_map>
#else
#include <tr1/unordered_map>
@@ -97,7 +97,7 @@ namespace __gnu_profile
{ return __magnitude < __other.__magnitude; }
};
- typedef std::_GLIBCXX_STD_PR::vector<__warning_data> __warning_vector_t;
+ typedef std::_GLIBCXX_STD_C::vector<__warning_data> __warning_vector_t;
// Defined in profiler_<diagnostic name>.h.
class __trace_hash_func;
@@ -128,7 +128,7 @@ namespace __gnu_profile
float __value;
};
- typedef std::_GLIBCXX_STD_PR::vector<__cost_factor*> __cost_factor_vector;
+ typedef std::_GLIBCXX_STD_C::vector<__cost_factor*> __cost_factor_vector;
_GLIBCXX_PROFILE_DEFINE_DATA(__trace_hash_func*, _S_hash_func, 0);
_GLIBCXX_PROFILE_DEFINE_DATA(__trace_hashtable_size*, _S_hashtable_size, 0);
diff --git a/libstdc++-v3/include/profile/iterator_tracker.h b/libstdc++-v3/include/profile/iterator_tracker.h
index faad9e57279..733429daad3 100644
--- a/libstdc++-v3/include/profile/iterator_tracker.h
+++ b/libstdc++-v3/include/profile/iterator_tracker.h
@@ -31,7 +31,7 @@
#include <ext/type_traits.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
diff --git a/libstdc++-v3/include/profile/list b/libstdc++-v3/include/profile/list
index 564fc8c16f1..21279d2ccb1 100644
--- a/libstdc++-v3/include/profile/list
+++ b/libstdc++-v3/include/profile/list
@@ -33,16 +33,16 @@
#include <profile/base.h>
#include <profile/iterator_tracker.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
/** @brief List wrapper with performance instrumentation. */
template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
class list
- : public _GLIBCXX_STD_D::list<_Tp, _Allocator>
+ : public _GLIBCXX_STD_C::list<_Tp, _Allocator>
{
- typedef _GLIBCXX_STD_D::list<_Tp, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::list<_Tp, _Allocator> _Base;
public:
typedef typename _Base::reference reference;
diff --git a/libstdc++-v3/include/profile/map.h b/libstdc++-v3/include/profile/map.h
index 555f4386349..d66d2be5d77 100644
--- a/libstdc++-v3/include/profile/map.h
+++ b/libstdc++-v3/include/profile/map.h
@@ -37,7 +37,7 @@
#include <utility>
#include <profile/base.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
@@ -45,9 +45,9 @@ namespace __profile
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp> > >
class map
- : public _GLIBCXX_STD_D::map<_Key, _Tp, _Compare, _Allocator>
+ : public _GLIBCXX_STD_C::map<_Key, _Tp, _Compare, _Allocator>
{
- typedef _GLIBCXX_STD_D::map<_Key, _Tp, _Compare, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::map<_Key, _Tp, _Compare, _Allocator> _Base;
public:
// types:
diff --git a/libstdc++-v3/include/profile/multimap.h b/libstdc++-v3/include/profile/multimap.h
index 7f1db940b89..e4c839f54ad 100644
--- a/libstdc++-v3/include/profile/multimap.h
+++ b/libstdc++-v3/include/profile/multimap.h
@@ -31,7 +31,7 @@
#include <utility>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
@@ -39,9 +39,9 @@ namespace __profile
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp> > >
class multimap
- : public _GLIBCXX_STD_D::multimap<_Key, _Tp, _Compare, _Allocator>
+ : public _GLIBCXX_STD_C::multimap<_Key, _Tp, _Compare, _Allocator>
{
- typedef _GLIBCXX_STD_D::multimap<_Key, _Tp, _Compare, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::multimap<_Key, _Tp, _Compare, _Allocator> _Base;
public:
// types:
diff --git a/libstdc++-v3/include/profile/multiset.h b/libstdc++-v3/include/profile/multiset.h
index ff95f881add..c6902a0fed4 100644
--- a/libstdc++-v3/include/profile/multiset.h
+++ b/libstdc++-v3/include/profile/multiset.h
@@ -31,7 +31,7 @@
#include <utility>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
@@ -39,9 +39,9 @@ namespace __profile
template<typename _Key, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<_Key> >
class multiset
- : public _GLIBCXX_STD_D::multiset<_Key, _Compare, _Allocator>
+ : public _GLIBCXX_STD_C::multiset<_Key, _Compare, _Allocator>
{
- typedef _GLIBCXX_STD_D::multiset<_Key, _Compare, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::multiset<_Key, _Compare, _Allocator> _Base;
public:
// types:
diff --git a/libstdc++-v3/include/profile/set.h b/libstdc++-v3/include/profile/set.h
index 96b7be42ba5..d10a11f2e59 100644
--- a/libstdc++-v3/include/profile/set.h
+++ b/libstdc++-v3/include/profile/set.h
@@ -31,7 +31,7 @@
#include <utility>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
@@ -39,9 +39,9 @@ namespace __profile
template<typename _Key, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<_Key> >
class set
- : public _GLIBCXX_STD_D::set<_Key,_Compare,_Allocator>
+ : public _GLIBCXX_STD_C::set<_Key,_Compare,_Allocator>
{
- typedef _GLIBCXX_STD_D::set<_Key, _Compare, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::set<_Key, _Compare, _Allocator> _Base;
public:
// types:
diff --git a/libstdc++-v3/include/profile/unordered_map b/libstdc++-v3/include/profile/unordered_map
index 6d6a8b7e58e..cc54009e3f4 100644
--- a/libstdc++-v3/include/profile/unordered_map
+++ b/libstdc++-v3/include/profile/unordered_map
@@ -42,9 +42,9 @@
#include <profile/base.h>
#define _GLIBCXX_BASE unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>
-#define _GLIBCXX_STD_BASE _GLIBCXX_STD_PR::_GLIBCXX_BASE
+#define _GLIBCXX_STD_BASE _GLIBCXX_STD_C::_GLIBCXX_BASE
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
@@ -320,7 +320,7 @@ namespace __profile
#undef _GLIBCXX_BASE
#undef _GLIBCXX_STD_BASE
#define _GLIBCXX_BASE unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>
-#define _GLIBCXX_STD_BASE _GLIBCXX_STD_PR::_GLIBCXX_BASE
+#define _GLIBCXX_STD_BASE _GLIBCXX_STD_C::_GLIBCXX_BASE
/// Class std::unordered_multimap wrapper with performance instrumentation.
template<typename _Key, typename _Tp,
diff --git a/libstdc++-v3/include/profile/unordered_set b/libstdc++-v3/include/profile/unordered_set
index f46cf5c8bdd..547fb764d22 100644
--- a/libstdc++-v3/include/profile/unordered_set
+++ b/libstdc++-v3/include/profile/unordered_set
@@ -42,9 +42,9 @@
#include <profile/base.h>
#define _GLIBCXX_BASE unordered_set<_Key, _Hash, _Pred, _Alloc>
-#define _GLIBCXX_STD_BASE _GLIBCXX_STD_PR::_GLIBCXX_BASE
+#define _GLIBCXX_STD_BASE _GLIBCXX_STD_C::_GLIBCXX_BASE
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
@@ -291,7 +291,7 @@ namespace __profile
#undef _GLIBCXX_BASE
#undef _GLIBCXX_STD_BASE
-#define _GLIBCXX_STD_BASE _GLIBCXX_STD_PR::_GLIBCXX_BASE
+#define _GLIBCXX_STD_BASE _GLIBCXX_STD_C::_GLIBCXX_BASE
#define _GLIBCXX_BASE unordered_multiset<_Value, _Hash, _Pred, _Alloc>
/** @brief Unordered_multiset wrapper with performance instrumentation. */
diff --git a/libstdc++-v3/include/profile/vector b/libstdc++-v3/include/profile/vector
index cd04b515599..f8a9622e8ba 100644
--- a/libstdc++-v3/include/profile/vector
+++ b/libstdc++-v3/include/profile/vector
@@ -39,16 +39,16 @@
#include <profile/base.h>
#include <profile/iterator_tracker.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace __profile
{
template<typename _Tp,
typename _Allocator = std::allocator<_Tp> >
class vector
- : public _GLIBCXX_STD_PR::vector<_Tp, _Allocator>
+ : public _GLIBCXX_STD_C::vector<_Tp, _Allocator>
{
- typedef _GLIBCXX_STD_PR::vector<_Tp, _Allocator> _Base;
+ typedef _GLIBCXX_STD_C::vector<_Tp, _Allocator> _Base;
public:
typedef typename _Base::reference reference;
@@ -509,7 +509,7 @@ namespace __profile
{
size_t
operator()(const __profile::vector<bool, _Alloc>& __b) const
- { return std::hash<_GLIBCXX_STD_D::vector<bool, _Alloc>>()
+ { return std::hash<_GLIBCXX_STD_C::vector<bool, _Alloc>>()
(__b._M_base()); }
};
#endif
diff --git a/libstdc++-v3/include/std/array b/libstdc++-v3/include/std/array
index 3cad7e8f5ad..a0bdd24a85a 100644
--- a/libstdc++-v3/include/std/array
+++ b/libstdc++-v3/include/std/array
@@ -38,7 +38,9 @@
#include <bits/stl_algobase.h>
#include <bits/range_access.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief A standard container for storing a fixed size sequence of elements.
@@ -264,7 +266,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
get(const array<_Tp, _Nm>& __arr)
{ return __arr[_Int]; }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic
index 71cd4445e11..aafa28243e1 100644
--- a/libstdc++-v3/include/std/atomic
+++ b/libstdc++-v3/include/std/atomic
@@ -42,7 +42,9 @@
#include <bits/atomic_0.h>
#include <bits/atomic_2.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup atomics
@@ -1347,6 +1349,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group atomics
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset
index 29b06d52e72..e0e8f1340f4 100644
--- a/libstdc++-v3/include/std/bitset
+++ b/libstdc++-v3/include/std/bitset
@@ -57,7 +57,9 @@
((__n) / _GLIBCXX_BITSET_BITS_PER_WORD + \
((__n) % _GLIBCXX_BITSET_BITS_PER_WORD == 0 ? 0 : 1))
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* Base class, general case. It is a class invariant that _Nw will be
@@ -1502,7 +1504,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
}
//@}
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_CONTAINER
+} // namespace std
#undef _GLIBCXX_BITSET_WORDS
#undef _GLIBCXX_BITSET_BITS_PER_WORD
@@ -1511,16 +1514,18 @@ _GLIBCXX_END_NESTED_NAMESPACE
#include <bits/functional_hash.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// DR 1182.
/// std::hash specialization for bitset.
template<size_t _Nb>
- struct hash<_GLIBCXX_STD_D::bitset<_Nb>>
- : public __hash_base<size_t, _GLIBCXX_STD_D::bitset<_Nb>>
+ struct hash<_GLIBCXX_STD_C::bitset<_Nb>>
+ : public __hash_base<size_t, _GLIBCXX_STD_C::bitset<_Nb>>
{
size_t
- operator()(const _GLIBCXX_STD_D::bitset<_Nb>& __b) const
+ operator()(const _GLIBCXX_STD_C::bitset<_Nb>& __b) const
{
const size_t __clength = (_Nb + __CHAR_BIT__ - 1) / __CHAR_BIT__;
return std::_Hash_impl::hash(__b._M_getdata(), __clength);
@@ -1528,15 +1533,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
};
template<>
- struct hash<_GLIBCXX_STD_D::bitset<0>>
- : public __hash_base<size_t, _GLIBCXX_STD_D::bitset<0>>
+ struct hash<_GLIBCXX_STD_C::bitset<0>>
+ : public __hash_base<size_t, _GLIBCXX_STD_C::bitset<0>>
{
size_t
- operator()(const _GLIBCXX_STD_D::bitset<0>&) const
+ operator()(const _GLIBCXX_STD_C::bitset<0>&) const
{ return 0; }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono
index b93671f3855..89ded2c80d4 100644
--- a/libstdc++-v3/include/std/chrono
+++ b/libstdc++-v3/include/std/chrono
@@ -42,8 +42,8 @@
#ifdef _GLIBCXX_USE_C99_STDINT_TR1
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std _GLIBCXX_VISIBILITY(default)
+{
/**
* @defgroup chrono Time
* @ingroup utilities
@@ -57,13 +57,18 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
*/
namespace chrono
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
template<typename _Rep, typename _Period = ratio<1>>
struct duration;
template<typename _Clock, typename _Dur = typename _Clock::duration>
struct time_point;
+
+ _GLIBCXX_END_NAMESPACE_VERSION
}
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// 20.8.2.3 specialization of common_type (for duration)
template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
struct common_type<chrono::duration<_Rep1, _Period1>,
@@ -91,9 +96,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
public:
typedef chrono::time_point<_Clock, __ct> type;
};
+_GLIBCXX_END_NAMESPACE_VERSION
namespace chrono
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
// Primary template for duration_cast impl.
template<typename _ToDur, typename _CF, typename _CR,
bool _NumIsOne = false, bool _DenIsOne = false>
@@ -212,7 +220,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _Rep, typename _Period>
struct duration
{
- typedef _Rep rep;
+ typedef _Rep rep;
typedef _Period period;
static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration");
@@ -649,7 +657,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#elif defined(_GLIBCXX_USE_GETTIMEOFDAY)
typedef chrono::microseconds duration;
#else
- typedef chrono::seconds duration;
+ typedef chrono::seconds duration;
#endif
typedef duration::rep rep;
@@ -687,8 +695,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
struct monotonic_clock
{
typedef chrono::nanoseconds duration;
- typedef duration::rep rep;
- typedef duration::period period;
+ typedef duration::rep rep;
+ typedef duration::period period;
typedef chrono::time_point<monotonic_clock, duration> time_point;
static constexpr bool is_monotonic = true;
@@ -701,10 +709,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
typedef system_clock high_resolution_clock;
+
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace chrono
// @} group chrono
-_GLIBCXX_END_NAMESPACE
+} // namespace
#endif //_GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex
index 4bd8e8c42e1..d36eddca5a6 100644
--- a/libstdc++-v3/include/std/complex
+++ b/libstdc++-v3/include/std/complex
@@ -46,7 +46,9 @@
#include <cmath>
#include <sstream>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup complex_numbers Complex Numbers
@@ -1494,9 +1496,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group complex_numbers
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// See ext/type_traits.h for the primary template.
template<typename _Tp, typename _Up>
@@ -1520,11 +1525,14 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
typedef std::complex<typename __promote_2<_Tp, _Up>::__type> __type;
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#ifdef __GXX_EXPERIMENTAL_CXX0X__
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Forward declarations.
template<typename _Tp> std::complex<_Tp> acos(const std::complex<_Tp>&);
@@ -1890,7 +1898,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
conj(_Tp __x)
{ return __x; }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/std/condition_variable b/libstdc++-v3/include/std/condition_variable
index 6b46fe71d8f..a0a3c08794a 100644
--- a/libstdc++-v3/include/std/condition_variable
+++ b/libstdc++-v3/include/std/condition_variable
@@ -40,7 +40,9 @@
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup condition_variables Condition Variables
@@ -254,7 +256,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
};
// @} group condition_variables
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream
index 64623f5ba96..8ad6e5ca11a 100644
--- a/libstdc++-v3/include/std/fstream
+++ b/libstdc++-v3/include/std/fstream
@@ -46,7 +46,9 @@
#include <string> // For std::string overloads.
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// [27.8.1.1] template class basic_filebuf
/**
@@ -913,7 +915,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#include <bits/fstream.tcc>
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index a781dbee28f..3ae95502341 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/std/functional
@@ -1,7 +1,7 @@
// <functional> -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 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
@@ -58,7 +58,9 @@
#include <bits/functexcept.h>
#include <bits/functional_hash.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_HAS_NESTED_TYPE(result_type)
@@ -835,6 +837,8 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
/// The type of placeholder objects defined by libstdc++.
template<int _Num> struct _Placeholder { };
+ _GLIBCXX_END_NAMESPACE_VERSION
+
/** @namespace std::placeholders
* @brief ISO C++ 0x entities sub namespace for functional.
* @ingroup binders
@@ -845,6 +849,7 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
*/
namespace placeholders
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
extern const _Placeholder<1> _1;
extern const _Placeholder<2> _2;
extern const _Placeholder<3> _3;
@@ -874,8 +879,11 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
extern const _Placeholder<27> _27;
extern const _Placeholder<28> _28;
extern const _Placeholder<29> _29;
+ _GLIBCXX_END_NAMESPACE_VERSION
}
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* Partial specialization of is_placeholder that provides the placeholder
* number for the placeholder objects defined by libstdc++.
@@ -2242,7 +2250,8 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y)
{ __x.swap(__y); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace std
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future
index 7b22b783867..f268d4ab06a 100644
--- a/libstdc++-v3/include/std/future
+++ b/libstdc++-v3/include/std/future
@@ -45,7 +45,9 @@
#include <atomic>
#include <bits/functexcept.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup futures Futures
@@ -1375,7 +1377,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// && _GLIBCXX_ATOMIC_BUILTINS_4
// @} group futures
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/std/iomanip b/libstdc++-v3/include/std/iomanip
index 8fc2e72fd7a..91f90e5cb62 100644
--- a/libstdc++-v3/include/std/iomanip
+++ b/libstdc++-v3/include/std/iomanip
@@ -45,7 +45,9 @@
#include <locale>
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// [27.6.3] standard manipulators
// Also see DR 183.
@@ -344,6 +346,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _GLIBCXX_IOMANIP */
diff --git a/libstdc++-v3/include/std/iosfwd b/libstdc++-v3/include/std/iosfwd
index 4cbd8359b2a..8906a1d34b5 100644
--- a/libstdc++-v3/include/std/iosfwd
+++ b/libstdc++-v3/include/std/iosfwd
@@ -41,7 +41,9 @@
#include <bits/stringfwd.h> // For string forward declarations.
#include <bits/postypes.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup io I/O
@@ -204,6 +206,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
/** @} */
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _GLIBCXX_IOSFWD */
diff --git a/libstdc++-v3/include/std/iostream b/libstdc++-v3/include/std/iostream
index 6a991caee00..7c71ba49358 100644
--- a/libstdc++-v3/include/std/iostream
+++ b/libstdc++-v3/include/std/iostream
@@ -40,7 +40,9 @@
#include <ostream>
#include <istream>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @name Standard Stream Objects
@@ -72,6 +74,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// For construction of filebuffers for cout, cin, cerr, clog et. al.
static ios_base::Init __ioinit;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _GLIBCXX_IOSTREAM */
diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream
index 7b6d1520bf2..ded483349b1 100644
--- a/libstdc++-v3/include/std/istream
+++ b/libstdc++-v3/include/std/istream
@@ -40,7 +40,9 @@
#include <ios>
#include <ostream>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// [27.6.1.1] Template class basic_istream
/**
@@ -848,7 +850,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return (__is >> __x); }
#endif // __GXX_EXPERIMENTAL_CXX0X__
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#include <bits/istream.tcc>
diff --git a/libstdc++-v3/include/std/limits b/libstdc++-v3/include/std/limits
index 77190060bb7..9a311973c4a 100644
--- a/libstdc++-v3/include/std/limits
+++ b/libstdc++-v3/include/std/limits
@@ -145,7 +145,9 @@
#define __glibcxx_max_digits10(T) \
(2 + (T) * 643L / 2136)
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Describes the rounding style for floating-point types.
@@ -1617,7 +1619,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#undef __glibcxx_long_double_traps
#undef __glibcxx_long_double_tinyness_before
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#undef __glibcxx_signed
#undef __glibcxx_min
diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex
index e8f64a44645..36f894efebb 100644
--- a/libstdc++-v3/include/std/mutex
+++ b/libstdc++-v3/include/std/mutex
@@ -48,7 +48,9 @@
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup mutexes Mutexes
@@ -818,7 +820,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
// @} group mutexes
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream
index b25bdb0f5bc..3004d4b69c8 100644
--- a/libstdc++-v3/include/std/ostream
+++ b/libstdc++-v3/include/std/ostream
@@ -40,7 +40,9 @@
#include <ios>
#include <bits/ostream_insert.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// [27.6.2.1] Template class basic_ostream
/**
@@ -580,7 +582,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return (__os << __x); }
#endif // __GXX_EXPERIMENTAL_CXX0X__
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#include <bits/ostream.tcc>
diff --git a/libstdc++-v3/include/std/ratio b/libstdc++-v3/include/std/ratio
index 2eefdb705da..69c0b6e14bb 100644
--- a/libstdc++-v3/include/std/ratio
+++ b/libstdc++-v3/include/std/ratio
@@ -40,7 +40,9 @@
#ifdef _GLIBCXX_USE_C99_STDINT_TR1
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup ratio Rational Arithmetic
@@ -339,7 +341,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typedef ratio< 1000000000000000000, 1> exa;
// @} group ratio
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif //_GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/std/sstream b/libstdc++-v3/include/std/sstream
index c30a5b74b16..6dd0a3d8f56 100644
--- a/libstdc++-v3/include/std/sstream
+++ b/libstdc++-v3/include/std/sstream
@@ -39,7 +39,9 @@
#include <istream>
#include <ostream>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// [27.7.1] template class basic_stringbuf
/**
@@ -567,7 +569,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ _M_stringbuf.str(__s); }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#include <bits/sstream.tcc>
diff --git a/libstdc++-v3/include/std/stdexcept b/libstdc++-v3/include/std/stdexcept
index 62c5578619d..de023d12bb8 100644
--- a/libstdc++-v3/include/std/stdexcept
+++ b/libstdc++-v3/include/std/stdexcept
@@ -39,7 +39,9 @@
#include <exception>
#include <string>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup exceptions
@@ -146,6 +148,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group exceptions
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _GLIBCXX_STDEXCEPT */
diff --git a/libstdc++-v3/include/std/streambuf b/libstdc++-v3/include/std/streambuf
index 9b05e04af21..51d89ce9a89 100644
--- a/libstdc++-v3/include/std/streambuf
+++ b/libstdc++-v3/include/std/streambuf
@@ -43,7 +43,9 @@
#include <bits/cpp_type_traits.h>
#include <ext/type_traits.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits>
streamsize
@@ -793,7 +795,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
basic_streambuf<wchar_t>* __sbout, bool& __ineof);
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#include <bits/streambuf.tcc>
diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error
index 73aaa79dc7b..187c03f01d1 100644
--- a/libstdc++-v3/include/std/system_error
+++ b/libstdc++-v3/include/std/system_error
@@ -40,7 +40,9 @@
#include <iosfwd>
#include <stdexcept>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
class error_code;
class error_condition;
@@ -341,13 +343,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
code() const throw() { return _M_code; }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#ifndef _GLIBCXX_COMPATIBILITY_CXX0X
#include <bits/functional_hash.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// DR 1182.
/// std::hash specialization for error_code.
@@ -363,7 +368,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _GLIBCXX_COMPATIBILITY_CXX0X
diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread
index 8a626feb73f..de58e814100 100644
--- a/libstdc++-v3/include/std/thread
+++ b/libstdc++-v3/include/std/thread
@@ -1,6 +1,6 @@
// <thread> -*- C++ -*-
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 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
@@ -46,7 +46,9 @@
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup threads Threads
@@ -236,12 +238,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __out << __id._M_thread;
}
+_GLIBCXX_END_NAMESPACE_VERSION
+
/** @namespace std::this_thread
* @brief ISO C++ 0x entities sub namespace for thread.
* 30.2.2 Namespace this_thread.
*/
namespace this_thread
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/// get_id
inline thread::id
get_id() { return thread::id(__gthread_self()); }
@@ -280,10 +286,13 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
::nanosleep(&__ts, 0);
}
#endif
+
+ _GLIBCXX_END_NAMESPACE_VERSION
}
// @} group threads
-_GLIBCXX_END_NAMESPACE
+
+} // namespace
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple
index 87dbcb78df6..69513283f93 100644
--- a/libstdc++-v3/include/std/tuple
+++ b/libstdc++-v3/include/std/tuple
@@ -37,7 +37,9 @@
#include <utility>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Adds a const reference to a non-reference type.
template<typename _Tp>
@@ -797,7 +799,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
const _Index_tuple<_Indexes...>&)
{ return _Tp(std::forward<_Args>(get<_Indexes>(__tuple))...); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits
index 8f5b5c993e2..f5d867b6bfb 100644
--- a/libstdc++-v3/include/std/type_traits
+++ b/libstdc++-v3/include/std/type_traits
@@ -37,7 +37,9 @@
#include <bits/c++config.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup metaprogramming
@@ -1181,7 +1183,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#undef _DEFINE_SPEC
// @} group metaprogramming
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/std/typeindex b/libstdc++-v3/include/std/typeindex
index d40306421d4..79b3eadf7a1 100644
--- a/libstdc++-v3/include/std/typeindex
+++ b/libstdc++-v3/include/std/typeindex
@@ -37,7 +37,9 @@
#include <typeinfo>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
@brief The class type_index provides a simple wrapper for type_info
@@ -99,7 +101,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return __ti.hash_code(); }
};
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/std/utility b/libstdc++-v3/include/std/utility
index e54a5868c90..245c41fa75d 100644
--- a/libstdc++-v3/include/std/utility
+++ b/libstdc++-v3/include/std/utility
@@ -74,7 +74,9 @@
#include <bits/move.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<class _Tp>
class tuple_size;
@@ -136,7 +138,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
get(const std::pair<_Tp1, _Tp2>& __in)
{ return __pair_get<_Int>::__const_get(__in); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray
index 40e78e76914..9c18e050310 100644
--- a/libstdc++-v3/include/std/valarray
+++ b/libstdc++-v3/include/std/valarray
@@ -41,7 +41,9 @@
#include <debug/debug.h>
#include <initializer_list>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<class _Clos, typename _Tp>
class _Expr;
@@ -81,12 +83,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<class _Tp> class mask_array; // masked array
template<class _Tp> class indirect_array; // indirected array
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#include <bits/valarray_array.h>
#include <bits/valarray_before.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @defgroup numeric_arrays Numeric Arrays
@@ -556,7 +561,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// @} group numeric_arrays
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#include <bits/valarray_after.h>
#include <bits/slice_array.h>
@@ -565,7 +571,9 @@ _GLIBCXX_END_NAMESPACE
#include <bits/mask_array.h>
#include <bits/indirect_array.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @addtogroup numeric_arrays
@@ -1151,6 +1159,7 @@ _DEFINE_BINARY_OPERATOR(>=, __greater_equal)
// @} group numeric_arrays
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif /* _GLIBCXX_VALARRAY */
diff --git a/libstdc++-v3/include/tr1/array b/libstdc++-v3/include/tr1/array
index 3a1ff4caa8c..058fcfad60e 100644
--- a/libstdc++-v3/include/tr1/array
+++ b/libstdc++-v3/include/tr1/array
@@ -34,10 +34,12 @@
#include <bits/stl_algobase.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* @brief A standard container for storing a fixed size sequence of elements.
*
@@ -242,6 +244,8 @@ namespace tr1
inline const _Tp&
get(const array<_Tp, _Nm>& __arr)
{ return __arr[_Int]; }
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/bessel_function.tcc b/libstdc++-v3/include/tr1/bessel_function.tcc
index 4fb0b89cd41..b525ebc104b 100644
--- a/libstdc++-v3/include/tr1/bessel_function.tcc
+++ b/libstdc++-v3/include/tr1/bessel_function.tcc
@@ -49,16 +49,16 @@
#include "special_function_util.h"
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Compute the gamma functions required by the Temme series
@@ -525,8 +525,8 @@ namespace tr1
* @param __x The argument of the spherical Bessel function.
* @param __j_n The output spherical Bessel function.
* @param __n_n The output spherical Neumann function.
- * @param __jp_n The output derivative of the spherical Bessel function.
- * @param __np_n The output derivative of the spherical Neumann function.
+ * @param __jp_n The output derivative of the spherical Bessel function.
+ * @param __np_n The output derivative of the spherical Neumann function.
*/
template <typename _Tp>
void
@@ -620,6 +620,7 @@ namespace tr1
}
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/beta_function.tcc b/libstdc++-v3/include/tr1/beta_function.tcc
index e387d23f3e6..219f3cbd4d2 100644
--- a/libstdc++-v3/include/tr1/beta_function.tcc
+++ b/libstdc++-v3/include/tr1/beta_function.tcc
@@ -47,16 +47,16 @@
#ifndef _GLIBCXX_TR1_BETA_FUNCTION_TCC
#define _GLIBCXX_TR1_BETA_FUNCTION_TCC 1
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Return the beta function: \f$B(x,y)\f$.
@@ -190,6 +190,7 @@ namespace tr1
return __beta_lgamma(__x, __y);
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/cctype b/libstdc++-v3/include/tr1/cctype
index ca9d18b669b..0cec3d9f455 100644
--- a/libstdc++-v3/include/tr1/cctype
+++ b/libstdc++-v3/include/tr1/cctype
@@ -36,7 +36,7 @@
#undef isblank
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/include/tr1/cfenv b/libstdc++-v3/include/tr1/cfenv
index 14db2ca3f75..980a06c38a2 100644
--- a/libstdc++-v3/include/tr1/cfenv
+++ b/libstdc++-v3/include/tr1/cfenv
@@ -51,7 +51,7 @@
#undef fesetenv
#undef feupdateenv
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/include/tr1/cinttypes b/libstdc++-v3/include/tr1/cinttypes
index e0cd1718e6d..f1ca292790f 100644
--- a/libstdc++-v3/include/tr1/cinttypes
+++ b/libstdc++-v3/include/tr1/cinttypes
@@ -48,7 +48,7 @@
#ifdef _GLIBCXX_USE_C99_INTTYPES_TR1
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/include/tr1/cmath b/libstdc++-v3/include/tr1/cmath
index 36c9a733a6d..3cf1a106b0f 100644
--- a/libstdc++-v3/include/tr1/cmath
+++ b/libstdc++-v3/include/tr1/cmath
@@ -143,10 +143,12 @@
#endif
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
#if _GLIBCXX_USE_C99_MATH_TR1
// types
@@ -997,13 +999,16 @@ namespace tr1
}
#endif
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
// DR 550. What should the return type of pow(float,int) be?
// NB: C++0x and TR1 != C++03.
inline double
@@ -1025,6 +1030,8 @@ namespace tr1
typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
return std::pow(__type(__x), __type(__y));
}
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
@@ -1044,10 +1051,12 @@ namespace tr1
#include <tr1/poly_laguerre.tcc>
#include <tr1/riemann_zeta.tcc>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* @defgroup tr1_math_spec_func Mathematical Special Functions
* @ingroup numerics
@@ -1450,6 +1459,7 @@ namespace tr1
}
/* @} */ // tr1_math_spec_func
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/complex b/libstdc++-v3/include/tr1/complex
index 8cec0b11d8e..908b522e60a 100644
--- a/libstdc++-v3/include/tr1/complex
+++ b/libstdc++-v3/include/tr1/complex
@@ -33,10 +33,12 @@
#include <complex>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* @addtogroup complex_numbers
* @{
@@ -401,6 +403,8 @@ namespace tr1
{ return std::pow(__x, __y); }
// @} group complex_numbers
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/cstdint b/libstdc++-v3/include/tr1/cstdint
index d9675267055..55ce4bcefd0 100644
--- a/libstdc++-v3/include/tr1/cstdint
+++ b/libstdc++-v3/include/tr1/cstdint
@@ -56,7 +56,7 @@
#ifdef _GLIBCXX_USE_C99_STDINT_TR1
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/include/tr1/cstdio b/libstdc++-v3/include/tr1/cstdio
index e7963ae425c..415e8a4d67f 100644
--- a/libstdc++-v3/include/tr1/cstdio
+++ b/libstdc++-v3/include/tr1/cstdio
@@ -35,7 +35,7 @@
#if _GLIBCXX_USE_C99
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/include/tr1/cstdlib b/libstdc++-v3/include/tr1/cstdlib
index a4b8eb1c0d6..6e3e16d0fa4 100644
--- a/libstdc++-v3/include/tr1/cstdlib
+++ b/libstdc++-v3/include/tr1/cstdlib
@@ -37,7 +37,7 @@
#if _GLIBCXX_USE_C99
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/include/tr1/cwchar b/libstdc++-v3/include/tr1/cwchar
index c14111b0cf6..8bf775be196 100644
--- a/libstdc++-v3/include/tr1/cwchar
+++ b/libstdc++-v3/include/tr1/cwchar
@@ -35,7 +35,7 @@
#ifdef _GLIBCXX_USE_WCHAR_T
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/include/tr1/cwctype b/libstdc++-v3/include/tr1/cwctype
index f9de1bea684..452a7b45631 100644
--- a/libstdc++-v3/include/tr1/cwctype
+++ b/libstdc++-v3/include/tr1/cwctype
@@ -35,7 +35,7 @@
#ifdef _GLIBCXX_USE_WCHAR_T
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/include/tr1/ell_integral.tcc b/libstdc++-v3/include/tr1/ell_integral.tcc
index c6b48d6a7f6..4dfe6169c64 100644
--- a/libstdc++-v3/include/tr1/ell_integral.tcc
+++ b/libstdc++-v3/include/tr1/ell_integral.tcc
@@ -43,16 +43,16 @@
#ifndef _GLIBCXX_TR1_ELL_INTEGRAL_TCC
#define _GLIBCXX_TR1_ELL_INTEGRAL_TCC 1
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Return the Carlson elliptic function @f$ R_F(x,y,z) @f$
@@ -742,6 +742,7 @@ namespace tr1
}
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/exp_integral.tcc b/libstdc++-v3/include/tr1/exp_integral.tcc
index e4f2847119b..cf3bd63536b 100644
--- a/libstdc++-v3/include/tr1/exp_integral.tcc
+++ b/libstdc++-v3/include/tr1/exp_integral.tcc
@@ -48,16 +48,16 @@
#include "special_function_util.h"
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Return the exponential integral @f$ E_1(x) @f$
@@ -517,6 +517,7 @@ namespace tr1
return __expint_Ei(__x);
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional
index 869150fd4c3..31e72d63ab5 100644
--- a/libstdc++-v3/include/tr1/functional
+++ b/libstdc++-v3/include/tr1/functional
@@ -1,6 +1,6 @@
// TR1 functional header -*- C++ -*-
-// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -44,10 +44,12 @@
#include <ext/type_traits.h>
#include <bits/move.h> // for std::__addressof
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
template<typename _MemberPointer>
class _Mem_fn;
@@ -840,6 +842,8 @@ namespace tr1
/// The type of placeholder objects defined by libstdc++.
template<int _Num> struct _Placeholder { };
+_GLIBCXX_END_NAMESPACE_VERSION
+
/** @namespace std::placeholders
* @brief ISO C++ 0x entities sub namespace for functional.
*
@@ -849,6 +853,7 @@ namespace tr1
*/
namespace placeholders
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace
{
_Placeholder<1> _1;
@@ -881,8 +886,10 @@ namespace tr1
_Placeholder<28> _28;
_Placeholder<29> _29;
}
+ _GLIBCXX_END_NAMESPACE_VERSION
}
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* Partial specialization of is_placeholder that provides the placeholder
* number for the placeholder objects defined by libstdc++.
@@ -2134,6 +2141,8 @@ namespace tr1
inline void
swap(function<_Signature>& __x, function<_Signature>& __y)
{ __x.swap(__y); }
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/functional_hash.h b/libstdc++-v3/include/tr1/functional_hash.h
index e555acea4d3..1742e152788 100644
--- a/libstdc++-v3/include/tr1/functional_hash.h
+++ b/libstdc++-v3/include/tr1/functional_hash.h
@@ -32,10 +32,12 @@
#pragma GCC system_header
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/// Class template hash.
// Declaration of default hash functor std::tr1::hash. The types for
// which std::tr1::hash<T> is well-defined is in clause 6.3.3. of the PDTR.
@@ -186,6 +188,8 @@ namespace tr1
_GLIBCXX_PURE size_t
hash<const wstring&>::operator()(const wstring&) const;
#endif
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/gamma.tcc b/libstdc++-v3/include/tr1/gamma.tcc
index 6ded87b625e..a7c399cd445 100644
--- a/libstdc++-v3/include/tr1/gamma.tcc
+++ b/libstdc++-v3/include/tr1/gamma.tcc
@@ -49,13 +49,14 @@
#include "special_function_util.h"
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
// Implementation-space details.
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief This returns Bernoulli numbers from a table or by summation
@@ -463,6 +464,7 @@ namespace tr1
}
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/hashtable.h b/libstdc++-v3/include/tr1/hashtable.h
index 2dedc5cd16d..5d1e02c2592 100644
--- a/libstdc++-v3/include/tr1/hashtable.h
+++ b/libstdc++-v3/include/tr1/hashtable.h
@@ -1,6 +1,6 @@
// TR1 hashtable.h header -*- C++ -*-
-// Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2010, 2011 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,12 @@
#include <tr1/hashtable_policy.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
// Class template _Hashtable, class definition.
// Meaning of class template _Hashtable's template parameters
@@ -1171,7 +1173,9 @@ namespace tr1
__throw_exception_again;
}
}
-}
-}
+
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace tr1
+} // namespace std
#endif // _GLIBCXX_TR1_HASHTABLE_H
diff --git a/libstdc++-v3/include/tr1/hashtable_policy.h b/libstdc++-v3/include/tr1/hashtable_policy.h
index 967fb3c3377..82f8fde1841 100644
--- a/libstdc++-v3/include/tr1/hashtable_policy.h
+++ b/libstdc++-v3/include/tr1/hashtable_policy.h
@@ -1,6 +1,6 @@
// Internal policy header for TR1 unordered_set and unordered_map -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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
@@ -28,12 +28,14 @@
* @headername{tr1/unordered_map, tr1/unordered_set}
*/
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
namespace __detail
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
// Helper function: return distance(first, last) for forward
// iterators, or 0 for input iterators.
template<class _Iterator>
@@ -775,6 +777,7 @@ namespace __detail
_H1 _M_h1;
_H2 _M_h2;
};
+_GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
}
}
diff --git a/libstdc++-v3/include/tr1/hypergeometric.tcc b/libstdc++-v3/include/tr1/hypergeometric.tcc
index bf6a0fdeded..b98b5b29c74 100644
--- a/libstdc++-v3/include/tr1/hypergeometric.tcc
+++ b/libstdc++-v3/include/tr1/hypergeometric.tcc
@@ -42,16 +42,16 @@
#ifndef _GLIBCXX_TR1_HYPERGEOMETRIC_TCC
#define _GLIBCXX_TR1_HYPERGEOMETRIC_TCC 1
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief This routine returns the confluent hypergeometric function
@@ -771,6 +771,7 @@ namespace tr1
return __hyperg_luke(__a, __b, __c, __x);
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/legendre_function.tcc b/libstdc++-v3/include/tr1/legendre_function.tcc
index 7fed0ac2872..db41d4e0ac5 100644
--- a/libstdc++-v3/include/tr1/legendre_function.tcc
+++ b/libstdc++-v3/include/tr1/legendre_function.tcc
@@ -47,16 +47,16 @@
#include "special_function_util.h"
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Return the Legendre polynomial by recursion on order
@@ -298,6 +298,7 @@ namespace tr1
}
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/modified_bessel_func.tcc b/libstdc++-v3/include/tr1/modified_bessel_func.tcc
index 74e933fbd91..ec134d5763e 100644
--- a/libstdc++-v3/include/tr1/modified_bessel_func.tcc
+++ b/libstdc++-v3/include/tr1/modified_bessel_func.tcc
@@ -49,16 +49,16 @@
#include "special_function_util.h"
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Compute the modified Bessel functions @f$ I_\nu(x) @f$ and
@@ -429,6 +429,7 @@ namespace tr1
return;
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/poly_hermite.tcc b/libstdc++-v3/include/tr1/poly_hermite.tcc
index c8eefcdde0c..e86b3777c74 100644
--- a/libstdc++-v3/include/tr1/poly_hermite.tcc
+++ b/libstdc++-v3/include/tr1/poly_hermite.tcc
@@ -40,16 +40,16 @@
#ifndef _GLIBCXX_TR1_POLY_HERMITE_TCC
#define _GLIBCXX_TR1_POLY_HERMITE_TCC 1
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief This routine returns the Hermite polynomial
@@ -117,6 +117,7 @@ namespace tr1
return __poly_hermite_recursion(__n, __x);
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/poly_laguerre.tcc b/libstdc++-v3/include/tr1/poly_laguerre.tcc
index fbbab58fb09..769923d34dc 100644
--- a/libstdc++-v3/include/tr1/poly_laguerre.tcc
+++ b/libstdc++-v3/include/tr1/poly_laguerre.tcc
@@ -42,17 +42,16 @@
#ifndef _GLIBCXX_TR1_POLY_LAGUERRE_TCC
#define _GLIBCXX_TR1_POLY_LAGUERRE_TCC 1
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
-
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief This routine returns the associated Laguerre polynomial
@@ -322,6 +321,7 @@ namespace tr1
return __poly_laguerre<unsigned int, _Tp>(__n, 0, __x);
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/random.h b/libstdc++-v3/include/tr1/random.h
index 1b491b0461a..ace37929a0c 100644
--- a/libstdc++-v3/include/tr1/random.h
+++ b/libstdc++-v3/include/tr1/random.h
@@ -33,7 +33,7 @@
#pragma GCC system_header
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
@@ -50,6 +50,8 @@ namespace tr1
*/
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
template<typename _UIntType, int __w,
bool = __w < std::numeric_limits<_UIntType>::digits>
struct _Shift
@@ -210,8 +212,12 @@ namespace tr1
private:
_Engine* _M_g;
};
+
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* Produces random numbers on a given distribution function using a
* non-uniform random number generation engine.
@@ -2404,6 +2410,7 @@ namespace tr1
/* @} */ // group tr1_random_distributions_continuous
/* @} */ // group tr1_random_distributions
/* @} */ // group tr1_random
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/random.tcc b/libstdc++-v3/include/tr1/random.tcc
index d53737774d8..3d8c4fe1c10 100644
--- a/libstdc++-v3/include/tr1/random.tcc
+++ b/libstdc++-v3/include/tr1/random.tcc
@@ -31,7 +31,7 @@
#ifndef _GLIBCXX_TR1_RANDOM_TCC
#define _GLIBCXX_TR1_RANDOM_TCC 1
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
@@ -40,6 +40,8 @@ namespace tr1
*/
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
// General case for x = (ax + c) mod m -- use Schrage's algorithm to avoid
// integer overflow.
//
@@ -90,8 +92,10 @@ namespace tr1
__calc(_Tp __x)
{ return __a * __x + __c; }
};
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
const _UIntType
@@ -1709,6 +1713,8 @@ namespace tr1
__os.precision(__precision);
return __os;
}
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/regex b/libstdc++-v3/include/tr1/regex
index cc5ef05f74f..714a06d3381 100644
--- a/libstdc++-v3/include/tr1/regex
+++ b/libstdc++-v3/include/tr1/regex
@@ -43,7 +43,7 @@
#include <utility>
#include <sstream>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
@@ -58,6 +58,8 @@ namespace tr1
*/
namespace regex_constants
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* @name 5.1 Regular Expression Syntax Options
*/
@@ -395,8 +397,10 @@ namespace regex_constants
static const error_type error_stack(_S_error_stack);
//@}
+_GLIBCXX_END_NAMESPACE_VERSION
}
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// [7.8] Class regex_error
/**
@@ -1992,10 +1996,10 @@ namespace regex_constants
/**
* @name 10.4 Formatting
*
- * These functions perform formatted substitution of the matched character
- * sequences into their target. The format specifiers and escape sequences
- * accepted by these functions are determined by their @p flags parameter
- * as documented above.
+ * These functions perform formatted substitution of the matched
+ * character sequences into their target. The format specifiers
+ * and escape sequences accepted by these functions are
+ * determined by their @p flags parameter as documented above.
*/
//@{
@@ -2718,6 +2722,8 @@ namespace regex_constants
#endif
//@}
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/riemann_zeta.tcc b/libstdc++-v3/include/tr1/riemann_zeta.tcc
index 472025e96c8..18fe20ed82a 100644
--- a/libstdc++-v3/include/tr1/riemann_zeta.tcc
+++ b/libstdc++-v3/include/tr1/riemann_zeta.tcc
@@ -45,16 +45,16 @@
#include "special_function_util.h"
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
// [5.2] Special functions
// Implementation-space details.
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Compute the Riemann zeta function @f$ \zeta(s) @f$
@@ -428,6 +428,7 @@ namespace tr1
return __hurwitz_zeta_glob(__a, __s);
}
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace std::tr1::__detail
}
}
diff --git a/libstdc++-v3/include/tr1/shared_ptr.h b/libstdc++-v3/include/tr1/shared_ptr.h
index a942fcd99ed..13b03842e5c 100644
--- a/libstdc++-v3/include/tr1/shared_ptr.h
+++ b/libstdc++-v3/include/tr1/shared_ptr.h
@@ -49,10 +49,12 @@
#ifndef _TR1_SHARED_PTR_H
#define _TR1_SHARED_PTR_H 1
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* @brief Exception possibly thrown by @c shared_ptr.
* @ingroup exceptions
@@ -1169,6 +1171,8 @@ namespace tr1
mutable weak_ptr<_Tp> _M_weak_this;
};
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/special_function_util.h b/libstdc++-v3/include/tr1/special_function_util.h
index a9626ea2be7..c90fc599f1a 100644
--- a/libstdc++-v3/include/tr1/special_function_util.h
+++ b/libstdc++-v3/include/tr1/special_function_util.h
@@ -37,13 +37,13 @@
#ifndef _GLIBCXX_TR1_SPECIAL_FUNCTION_UTIL_H
#define _GLIBCXX_TR1_SPECIAL_FUNCTION_UTIL_H 1
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
-
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// A class to encapsulate type dependent floating point
/// constants. Not everything will be able to be expressed as
@@ -135,8 +135,8 @@ namespace tr1
#endif
+ _GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
-
}
}
diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple
index ff9f2206143..15ac642a19f 100644
--- a/libstdc++-v3/include/tr1/tuple
+++ b/libstdc++-v3/include/tr1/tuple
@@ -36,10 +36,12 @@
#include <utility>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
// Adds a const reference to a non-reference type.
template<typename _Tp>
struct __add_c_ref
@@ -416,6 +418,8 @@ namespace tr1
{
_Swallow_assign ignore;
}; // anonymous namespace
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits
index 88aae7ad8b1..2825fe6f4e3 100644
--- a/libstdc++-v3/include/tr1/type_traits
+++ b/libstdc++-v3/include/tr1/type_traits
@@ -34,10 +34,12 @@
#include <bits/c++config.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
/**
* @defgroup metaprogramming Type Traits
* @ingroup utilities
@@ -679,6 +681,8 @@ namespace tr1
#undef _DEFINE_SPEC_1_HELPER
#undef _DEFINE_SPEC_2_HELPER
#undef _DEFINE_SPEC
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/unordered_map.h b/libstdc++-v3/include/tr1/unordered_map.h
index cdce7d0df0c..96404d3d07c 100644
--- a/libstdc++-v3/include/tr1/unordered_map.h
+++ b/libstdc++-v3/include/tr1/unordered_map.h
@@ -27,11 +27,13 @@
* Do not attempt to use it directly. @headername{tr1/unordered_map}
*/
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
- // XXX When we get typedef templates these class definitions
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ // NB: When we get typedef templates these class definitions
// will be unnecessary.
template<class _Key, class _Tp,
class _Hash = hash<_Key>,
@@ -270,5 +272,7 @@ namespace tr1
swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y)
{ __x.swap(__y); }
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/unordered_set.h b/libstdc++-v3/include/tr1/unordered_set.h
index 293adf194d4..e65a4cced27 100644
--- a/libstdc++-v3/include/tr1/unordered_set.h
+++ b/libstdc++-v3/include/tr1/unordered_set.h
@@ -27,11 +27,13 @@
* Do not attempt to use it directly. @headername{tr1/unordered_set}
*/
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
- // XXX When we get typedef templates these class definitions
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ // NB: When we get typedef templates these class definitions
// will be unnecessary.
template<class _Value,
class _Hash = hash<_Value>,
@@ -259,5 +261,7 @@ namespace tr1
swap(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)
{ __x.swap(__y); }
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/include/tr1/utility b/libstdc++-v3/include/tr1/utility
index 04ff67a3f8f..ef3673a44c3 100644
--- a/libstdc++-v3/include/tr1/utility
+++ b/libstdc++-v3/include/tr1/utility
@@ -1,6 +1,6 @@
// TR1 utility -*- C++ -*-
-// Copyright (C) 2004, 2005, 2006, 2007, 2008. 2009, 2010
+// Copyright (C) 2004, 2005, 2006, 2007, 2008. 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -36,10 +36,12 @@
#include <bits/stl_relops.h>
#include <bits/stl_pair.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
template<class _Tp>
class tuple_size;
@@ -99,6 +101,8 @@ namespace tr1
inline const typename tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&
get(const std::pair<_Tp1, _Tp2>& __in)
{ return __pair_get<_Int>::__const_get(__in); }
+
+_GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/libsupc++/del_op.cc b/libstdc++-v3/libsupc++/del_op.cc
index f5bdc7819f8..86d4c1e2985 100644
--- a/libstdc++-v3/libsupc++/del_op.cc
+++ b/libstdc++-v3/libsupc++/del_op.cc
@@ -28,9 +28,12 @@
#if !_GLIBCXX_HOSTED
// A freestanding C runtime may not provide "free" -- but there is no
// other reasonable way to implement "operator delete".
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
extern "C" void free(void*);
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#else
# include <cstdlib>
#endif
diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception
index 7f779f93c74..db75ad115f3 100644
--- a/libstdc++-v3/libsupc++/exception
+++ b/libstdc++-v3/libsupc++/exception
@@ -120,7 +120,9 @@ namespace std
// @} group exceptions
} // namespace std
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief A replacement for the standard terminate_handler which
@@ -140,7 +142,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
*/
void __verbose_terminate_handler();
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
} // extern "C++"
diff --git a/libstdc++-v3/libsupc++/hash_bytes.cc b/libstdc++-v3/libsupc++/hash_bytes.cc
index 951f7bb1155..07e77cf8d1d 100644
--- a/libstdc++-v3/libsupc++/hash_bytes.cc
+++ b/libstdc++-v3/libsupc++/hash_bytes.cc
@@ -63,7 +63,9 @@ namespace
#endif
}
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#if __SIZEOF_SIZE_T__ == 4
@@ -183,4 +185,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif /* __SIZEOF_SIZE_T__ */
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/libsupc++/hash_bytes.h b/libstdc++-v3/libsupc++/hash_bytes.h
index 95db644ee25..2f0c0eac645 100644
--- a/libstdc++-v3/libsupc++/hash_bytes.h
+++ b/libstdc++-v3/libsupc++/hash_bytes.h
@@ -34,7 +34,9 @@
#include <bits/c++config.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Hash function implementation for the nontrivial specialization.
// All of them are based on a primitive that hashes a pointer to a
@@ -51,6 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
size_t
_Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/libsupc++/vterminate.cc b/libstdc++-v3/libsupc++/vterminate.cc
index 008d57846ef..96824bb0fd6 100644
--- a/libstdc++-v3/libsupc++/vterminate.cc
+++ b/libstdc++-v3/libsupc++/vterminate.cc
@@ -34,7 +34,9 @@
using namespace std;
using namespace abi;
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// A replacement for the standard terminate_handler which prints
// more information about the terminating exception (if any) on
@@ -93,6 +95,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
abort();
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index 21a1bfd3f8a..d6618f0f8c0 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -147,8 +147,9 @@ basic_file.cc: ${glibcxx_srcdir}/$(BASIC_FILE_CC)
$(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_CC) ./$@ || true
if ENABLE_PARALLEL
-parallel_sources = parallel_list.cc parallel_settings.cc \
- compatibility-parallel_list.cc
+parallel_sources = parallel_settings.cc \
+ compatibility-parallel_list.cc \
+ compatibility-parallel_list-2.cc
else
parallel_sources =
endif
@@ -169,7 +170,9 @@ sources = \
compatibility.cc \
compatibility-c++0x.cc \
compatibility-debug_list.cc \
+ compatibility-debug_list-2.cc \
compatibility-list.cc \
+ compatibility-list-2.cc \
complex_io.cc \
ctype.cc \
debug.cc \
@@ -185,7 +188,6 @@ sources = \
ios_locale.cc \
limits.cc \
list.cc \
- debug_list.cc \
locale.cc \
locale_init.cc \
locale_facets.cc \
@@ -259,20 +261,20 @@ concept-inst.o: concept-inst.cc
# Use special rules for parallel mode compilation.
PARALLEL_FLAGS = -fopenmp -D_GLIBCXX_PARALLEL -I$(glibcxx_builddir)/../libgomp
-parallel_list.lo: parallel_list.cc
- $(LTCXXCOMPILE) $(PARALLEL_FLAGS) -c $<
-parallel_list.o: parallel_list.cc
- $(CXXCOMPILE) $(PARALLEL_FLAGS) -c $<
-
parallel_settings.lo: parallel_settings.cc
$(LTCXXCOMPILE) $(PARALLEL_FLAGS) -c $<
parallel_settings.o: parallel_settings.cc
$(CXXCOMPILE) $(PARALLEL_FLAGS) -c $<
compatibility-parallel_list.lo: compatibility-parallel_list.cc
- $(LTCXXCOMPILE) $(PARALLEL_FLAGS) -c $<
+ $(LTCXXCOMPILE) -c $<
compatibility-parallel_list.o: compatibility-parallel_list.cc
- $(CXXCOMPILE) $(PARALLEL_FLAGS) -c $<
+ $(CXXCOMPILE) -c $<
+
+compatibility-parallel_list-2.lo: compatibility-parallel_list-2.cc
+ $(LTCXXCOMPILE) -c $<
+compatibility-parallel_list-2.o: compatibility-parallel_list-2.cc
+ $(CXXCOMPILE) -c $<
# Use special rules for the C++0x sources so that the proper flags are passed.
functexcept.lo: functexcept.cc
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index 6776eb7e4bb..4d8eb33736e 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -92,19 +92,20 @@ am__objects_1 = atomicity.lo codecvt_members.lo collate_members.lo \
ctype_members.lo messages_members.lo monetary_members.lo \
numeric_members.lo time_members.lo
@GLIBCXX_LDBL_COMPAT_TRUE@am__objects_2 = compatibility-ldbl.lo
-@ENABLE_PARALLEL_TRUE@am__objects_3 = parallel_list.lo \
-@ENABLE_PARALLEL_TRUE@ parallel_settings.lo \
-@ENABLE_PARALLEL_TRUE@ compatibility-parallel_list.lo
+@ENABLE_PARALLEL_TRUE@am__objects_3 = parallel_settings.lo \
+@ENABLE_PARALLEL_TRUE@ compatibility-parallel_list.lo \
+@ENABLE_PARALLEL_TRUE@ compatibility-parallel_list-2.lo
am__objects_4 = basic_file.lo c++locale.lo $(am__objects_2) \
$(am__objects_3)
am__objects_5 = atomic.lo bitmap_allocator.lo pool_allocator.lo \
mt_allocator.lo codecvt.lo compatibility.lo \
compatibility-c++0x.lo compatibility-debug_list.lo \
- compatibility-list.lo complex_io.lo ctype.lo debug.lo \
+ compatibility-debug_list-2.lo compatibility-list.lo \
+ compatibility-list-2.lo complex_io.lo ctype.lo debug.lo \
functexcept.lo globals_io.lo hash_c++0x.lo hash_tr1.lo \
hashtable_c++0x.lo hashtable_tr1.lo ios.lo ios_failure.lo \
- ios_init.lo ios_locale.lo limits.lo list.lo debug_list.lo \
- locale.lo locale_init.lo locale_facets.lo localename.lo \
+ ios_init.lo ios_locale.lo limits.lo list.lo locale.lo \
+ locale_init.lo locale_facets.lo localename.lo \
math_stubs_float.lo math_stubs_long_double.lo stdexcept.lo \
strstream.lo system_error.lo tree.lo allocator-inst.lo \
concept-inst.lo fstream-inst.lo ext-inst.lo ios-inst.lo \
@@ -369,8 +370,9 @@ host_sources_extra = \
basic_file.cc c++locale.cc ${ldbl_compat_sources} ${parallel_sources}
@ENABLE_PARALLEL_FALSE@parallel_sources =
-@ENABLE_PARALLEL_TRUE@parallel_sources = parallel_list.cc parallel_settings.cc \
-@ENABLE_PARALLEL_TRUE@ compatibility-parallel_list.cc
+@ENABLE_PARALLEL_TRUE@parallel_sources = parallel_settings.cc \
+@ENABLE_PARALLEL_TRUE@ compatibility-parallel_list.cc \
+@ENABLE_PARALLEL_TRUE@ compatibility-parallel_list-2.cc
@GLIBCXX_LDBL_COMPAT_FALSE@ldbl_compat_sources =
@GLIBCXX_LDBL_COMPAT_TRUE@ldbl_compat_sources = compatibility-ldbl.cc
@@ -385,7 +387,9 @@ sources = \
compatibility.cc \
compatibility-c++0x.cc \
compatibility-debug_list.cc \
+ compatibility-debug_list-2.cc \
compatibility-list.cc \
+ compatibility-list-2.cc \
complex_io.cc \
ctype.cc \
debug.cc \
@@ -401,7 +405,6 @@ sources = \
ios_locale.cc \
limits.cc \
list.cc \
- debug_list.cc \
locale.cc \
locale_init.cc \
locale_facets.cc \
@@ -847,20 +850,20 @@ concept-inst.lo: concept-inst.cc
$(LTCXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $<
concept-inst.o: concept-inst.cc
$(CXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $<
-parallel_list.lo: parallel_list.cc
- $(LTCXXCOMPILE) $(PARALLEL_FLAGS) -c $<
-parallel_list.o: parallel_list.cc
- $(CXXCOMPILE) $(PARALLEL_FLAGS) -c $<
-
parallel_settings.lo: parallel_settings.cc
$(LTCXXCOMPILE) $(PARALLEL_FLAGS) -c $<
parallel_settings.o: parallel_settings.cc
$(CXXCOMPILE) $(PARALLEL_FLAGS) -c $<
compatibility-parallel_list.lo: compatibility-parallel_list.cc
- $(LTCXXCOMPILE) $(PARALLEL_FLAGS) -c $<
+ $(LTCXXCOMPILE) -c $<
compatibility-parallel_list.o: compatibility-parallel_list.cc
- $(CXXCOMPILE) $(PARALLEL_FLAGS) -c $<
+ $(CXXCOMPILE) -c $<
+
+compatibility-parallel_list-2.lo: compatibility-parallel_list-2.cc
+ $(LTCXXCOMPILE) -c $<
+compatibility-parallel_list-2.o: compatibility-parallel_list-2.cc
+ $(CXXCOMPILE) -c $<
# Use special rules for the C++0x sources so that the proper flags are passed.
functexcept.lo: functexcept.cc
diff --git a/libstdc++-v3/src/allocator-inst.cc b/libstdc++-v3/src/allocator-inst.cc
index 9c6a2490da3..801468016d2 100644
--- a/libstdc++-v3/src/allocator-inst.cc
+++ b/libstdc++-v3/src/allocator-inst.cc
@@ -29,9 +29,12 @@
#include <memory>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template class allocator<char>;
template class allocator<wchar_t>;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/atomic.cc b/libstdc++-v3/src/atomic.cc
index 822e022b7e5..e655dd3e8e6 100644
--- a/libstdc++-v3/src/atomic.cc
+++ b/libstdc++-v3/src/atomic.cc
@@ -49,7 +49,9 @@ namespace
};
} // anonymous namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace __atomic0
{
@@ -116,7 +118,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
} // namespace __atomic0
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// XXX GLIBCXX_ABI Deprecated
diff --git a/libstdc++-v3/src/bitmap_allocator.cc b/libstdc++-v3/src/bitmap_allocator.cc
index 8394ef67137..a9f3a77ba2d 100644
--- a/libstdc++-v3/src/bitmap_allocator.cc
+++ b/libstdc++-v3/src/bitmap_allocator.cc
@@ -1,6 +1,6 @@
// Bitmap Allocator. Out of line function definitions. -*- C++ -*-
-// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009
+// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -25,10 +25,11 @@
#include <ext/bitmap_allocator.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
namespace __detail
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template class __mini_vector<
std::pair<bitmap_allocator<char>::_Alloc_block*,
bitmap_allocator<char>::_Alloc_block*> >;
@@ -41,8 +42,11 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template size_t** __lower_bound(size_t**, size_t**, size_t const&,
free_list::_LT_pointer_compare);
+ _GLIBCXX_END_NAMESPACE_VERSION
}
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
size_t*
free_list::
_M_get(size_t __sz) throw(std::bad_alloc)
@@ -120,4 +124,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template class bitmap_allocator<char>;
template class bitmap_allocator<wchar_t>;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/chrono.cc b/libstdc++-v3/src/chrono.cc
index 4dcd74bcee3..6b5e669a7dc 100644
--- a/libstdc++-v3/src/chrono.cc
+++ b/libstdc++-v3/src/chrono.cc
@@ -1,6 +1,6 @@
// chrono -*- C++ -*-
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 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,11 +33,13 @@
#include <sys/time.h>
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std _GLIBCXX_VISIBILITY(default)
+{
namespace chrono
{
- constexpr bool system_clock::is_monotonic;
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ constexpr bool system_clock::is_monotonic;
system_clock::time_point
system_clock::now() throw ()
@@ -73,8 +75,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
+ chrono::nanoseconds(tp.tv_nsec)));
}
#endif
- }
-_GLIBCXX_END_NAMESPACE
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace chrono
+} // namespace std
#endif // _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/src/codecvt.cc b/libstdc++-v3/src/codecvt.cc
index f88eda59c4e..fdb0896caa2 100644
--- a/libstdc++-v3/src/codecvt.cc
+++ b/libstdc++-v3/src/codecvt.cc
@@ -24,7 +24,9 @@
#include <locale>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Definitions for locale::id of standard facets that are specialized.
locale::id codecvt<char, char, mbstate_t>::id;
@@ -145,4 +147,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return false; }
#endif // _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/compatibility-c++0x.cc b/libstdc++-v3/src/compatibility-c++0x.cc
index 4941b17a3fd..08a572761f9 100644
--- a/libstdc++-v3/src/compatibility-c++0x.cc
+++ b/libstdc++-v3/src/compatibility-c++0x.cc
@@ -30,7 +30,7 @@
# error "compatibility-c++0x.cc must be compiled with -std=gnu++0x"
#endif
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
// gcc-4.4.0
// <mutex> exported std::lock_error
diff --git a/libstdc++-v3/src/debug_list.cc b/libstdc++-v3/src/compatibility-debug_list-2.cc
index 64bfe87f103..c032ff8598b 100644
--- a/libstdc++-v3/src/debug_list.cc
+++ b/libstdc++-v3/src/compatibility-debug_list-2.cc
@@ -1,6 +1,6 @@
-// Debugging mode support code for list -*- C++ -*-
+// Compatibility symbols for previous versions, debug list -*- C++ -*-
-// Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2011 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
@@ -22,7 +22,7 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
-#define _GLIBCXX_DEBUG
-
-#include "list.cc"
+#define _GLIBCXX_BEGIN_NAMESPACE_COMPAT namespace __norm {
+#define _GLIBCXX_END_NAMESPACE_COMPAT }
+#include "compatibility-list-2.cc"
diff --git a/libstdc++-v3/src/compatibility-debug_list.cc b/libstdc++-v3/src/compatibility-debug_list.cc
index 3f14a534250..76cceec7205 100644
--- a/libstdc++-v3/src/compatibility-debug_list.cc
+++ b/libstdc++-v3/src/compatibility-debug_list.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, debug list -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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
@@ -22,6 +22,7 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
-#define _GLIBCXX_DEBUG
+#define _GLIBCXX_BEGIN_NAMESPACE_COMPAT namespace __norm {
+#define _GLIBCXX_END_NAMESPACE_COMPAT }
#include "compatibility-list.cc"
diff --git a/libstdc++-v3/src/compatibility-ldbl.cc b/libstdc++-v3/src/compatibility-ldbl.cc
index 25cbf70a3a7..a9bdb8b0986 100644
--- a/libstdc++-v3/src/compatibility-ldbl.cc
+++ b/libstdc++-v3/src/compatibility-ldbl.cc
@@ -33,7 +33,7 @@
#error "compatibility-ldbl.cc must be compiled with -mlong-double-64"
#endif
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
#define C char
template class num_get<C, istreambuf_iterator<C> >;
@@ -70,7 +70,7 @@ namespace std
// For std::tr1::hash<long double>::operator()
#define _GLIBCXX_LONG_DOUBLE_COMPAT_IMPL
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/src/compatibility-list-2.cc b/libstdc++-v3/src/compatibility-list-2.cc
new file mode 100644
index 00000000000..58f8cea55f2
--- /dev/null
+++ b/libstdc++-v3/src/compatibility-list-2.cc
@@ -0,0 +1,111 @@
+// Compatibility symbols for previous versions, list bits -*- C++ -*-
+
+// Copyright (C) 2011 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, 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.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/move.h>
+
+#ifndef _GLIBCXX_BEGIN_NAMESPACE_COMPAT
+# define _GLIBCXX_BEGIN_NAMESPACE_COMPAT
+#endif
+
+#ifndef _GLIBCXX_END_NAMESPACE_COMPAT
+# define _GLIBCXX_END_NAMESPACE_COMPAT
+#endif
+
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_COMPAT
+
+ struct _List_node_base
+ {
+ _List_node_base* _M_next;
+ _List_node_base* _M_prev;
+
+ void
+ _M_transfer(_List_node_base * const __first,
+ _List_node_base * const __last) throw ();
+
+ void
+ _M_reverse() throw ();
+
+ void
+ _M_hook(_List_node_base * const __position) throw ();
+
+ void
+ _M_unhook() throw ();
+ };
+
+ void
+ _List_node_base::_M_transfer(_List_node_base * const __first,
+ _List_node_base * const __last) throw ()
+ {
+ if (this != __last)
+ {
+ // Remove [first, last) from its old position.
+ __last->_M_prev->_M_next = this;
+ __first->_M_prev->_M_next = __last;
+ this->_M_prev->_M_next = __first;
+
+ // Splice [first, last) into its new position.
+ _List_node_base* const __tmp = this->_M_prev;
+ this->_M_prev = __last->_M_prev;
+ __last->_M_prev = __first->_M_prev;
+ __first->_M_prev = __tmp;
+ }
+ }
+
+ void
+ _List_node_base::_M_reverse() throw ()
+ {
+ _List_node_base* __tmp = this;
+ do
+ {
+ std::swap(__tmp->_M_next, __tmp->_M_prev);
+
+ // Old next node is now prev.
+ __tmp = __tmp->_M_prev;
+ }
+ while (__tmp != this);
+ }
+
+ void
+ _List_node_base::_M_hook(_List_node_base* const __position) throw ()
+ {
+ this->_M_next = __position;
+ this->_M_prev = __position->_M_prev;
+ __position->_M_prev->_M_next = this;
+ __position->_M_prev = this;
+ }
+
+ void
+ _List_node_base::_M_unhook() throw ()
+ {
+ _List_node_base* const __next_node = this->_M_next;
+ _List_node_base* const __prev_node = this->_M_prev;
+ __prev_node->_M_next = __next_node;
+ __next_node->_M_prev = __prev_node;
+ }
+
+_GLIBCXX_END_NAMESPACE_COMPAT
+
+} // namespace std
diff --git a/libstdc++-v3/src/compatibility-list.cc b/libstdc++-v3/src/compatibility-list.cc
index 57a2df97b7e..a0d706b27a9 100644
--- a/libstdc++-v3/src/compatibility-list.cc
+++ b/libstdc++-v3/src/compatibility-list.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, list bits -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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
@@ -24,13 +24,26 @@
#include <bits/move.h>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
+#ifndef _GLIBCXX_BEGIN_NAMESPACE_COMPAT
+# define _GLIBCXX_BEGIN_NAMESPACE_COMPAT
+#endif
+
+#ifndef _GLIBCXX_END_NAMESPACE_COMPAT
+# define _GLIBCXX_END_NAMESPACE_COMPAT
+#endif
+
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_COMPAT
struct _List_node_base
{
_List_node_base* _M_next;
_List_node_base* _M_prev;
+ static void
+ swap(_List_node_base& __x, _List_node_base& __y) throw ();
+
void
transfer(_List_node_base * const __first,
_List_node_base * const __last) throw ();
@@ -46,8 +59,40 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
};
void
+ _List_node_base::swap(_List_node_base& __x, _List_node_base& __y) throw()
+ {
+ if ( __x._M_next != &__x )
+ {
+ if ( __y._M_next != &__y )
+ {
+ // Both __x and __y are not empty.
+ std::swap(__x._M_next,__y._M_next);
+ std::swap(__x._M_prev,__y._M_prev);
+ __x._M_next->_M_prev = __x._M_prev->_M_next = &__x;
+ __y._M_next->_M_prev = __y._M_prev->_M_next = &__y;
+ }
+ else
+ {
+ // __x is not empty, __y is empty.
+ __y._M_next = __x._M_next;
+ __y._M_prev = __x._M_prev;
+ __y._M_next->_M_prev = __y._M_prev->_M_next = &__y;
+ __x._M_next = __x._M_prev = &__x;
+ }
+ }
+ else if ( __y._M_next != &__y )
+ {
+ // __x is empty, __y is not empty.
+ __x._M_next = __y._M_next;
+ __x._M_prev = __y._M_prev;
+ __x._M_next->_M_prev = __x._M_prev->_M_next = &__x;
+ __y._M_next = __y._M_prev = &__y;
+ }
+ }
+
+ void
_List_node_base::transfer(_List_node_base * const __first,
- _List_node_base * const __last) throw ()
+ _List_node_base * const __last) throw ()
{
if (this != __last)
{
@@ -55,7 +100,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
__last->_M_prev->_M_next = this;
__first->_M_prev->_M_next = __last;
this->_M_prev->_M_next = __first;
-
+
// Splice [first, last) into its new position.
_List_node_base* const __tmp = this->_M_prev;
this->_M_prev = __last->_M_prev;
@@ -73,8 +118,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
std::swap(__tmp->_M_next, __tmp->_M_prev);
// Old next node is now prev.
- __tmp = __tmp->_M_prev;
- }
+ __tmp = __tmp->_M_prev;
+ }
while (__tmp != this);
}
@@ -96,4 +141,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
__next_node->_M_prev = __prev_node;
}
-_GLIBCXX_END_NESTED_NAMESPACE
+_GLIBCXX_END_NAMESPACE_COMPAT
+
+} // namespace std
diff --git a/libstdc++-v3/src/parallel_list.cc b/libstdc++-v3/src/compatibility-parallel_list-2.cc
index 7120c13edd8..8dc837a361a 100644
--- a/libstdc++-v3/src/parallel_list.cc
+++ b/libstdc++-v3/src/compatibility-parallel_list-2.cc
@@ -1,6 +1,6 @@
-// Parallel mode support code for list -*- C++ -*-
+// Compatibility symbols for previous versions, parallel list -*- C++ -*-
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2011 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
@@ -22,4 +22,7 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
-#include "list.cc"
+#define _GLIBCXX_BEGIN_NAMESPACE_COMPAT namespace __cxx1998 {
+#define _GLIBCXX_END_NAMESPACE_COMPAT }
+
+#include "compatibility-list-2.cc"
diff --git a/libstdc++-v3/src/compatibility-parallel_list.cc b/libstdc++-v3/src/compatibility-parallel_list.cc
index d9d7b60fd34..05e50fa569d 100644
--- a/libstdc++-v3/src/compatibility-parallel_list.cc
+++ b/libstdc++-v3/src/compatibility-parallel_list.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions, parallel list -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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
@@ -22,4 +22,7 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
+#define _GLIBCXX_BEGIN_NAMESPACE_COMPAT namespace __cxx1998 {
+#define _GLIBCXX_END_NAMESPACE_COMPAT }
+
#include "compatibility-list.cc"
diff --git a/libstdc++-v3/src/compatibility.cc b/libstdc++-v3/src/compatibility.cc
index 7dcd95cb171..d5d39b3317a 100644
--- a/libstdc++-v3/src/compatibility.cc
+++ b/libstdc++-v3/src/compatibility.cc
@@ -1,6 +1,6 @@
// Compatibility symbols for previous versions -*- C++ -*-
-// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -50,7 +50,9 @@
#include <cmath>
#include <ext/numeric_traits.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// std::istream ignore explicit specializations.
template<>
@@ -196,7 +198,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// NB: These symbols renames should go into the shared library only,
@@ -210,7 +213,9 @@ _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv
_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv
*/
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template
istreambuf_iterator<char>&
@@ -222,7 +227,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
istreambuf_iterator<wchar_t>::operator++();
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
/* gcc-4.0.0
@@ -254,7 +260,9 @@ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv
_ZNSt11char_traitsIcE2eqERKcS2_
_ZNSt11char_traitsIwE2eqERKwS2_
*/
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// std::char_traits is explicitly specialized
bool (* __p1)(const char&, const char&) = &char_traits<char>::eq;
@@ -348,7 +356,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
basic_ofstream<wchar_t>::is_open() const;
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// The rename syntax for default exported names is
// asm (".symver name1,exportedname@GLIBCXX_3.4")
@@ -387,24 +396,24 @@ _ZN10__gnu_norm15_List_node_base6unhookEv;
_ZN10__gnu_norm15_List_node_base7reverseEv;
_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_;
*/
-#include "list.cc"
-_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX7_M_hookEPS_, \
+#include "list.cc"
+_GLIBCXX_ASM_SYMVER(_ZNSt8__detail17_List_node_baseXX7_M_hookEPS0_, \
_ZN10__gnu_norm15_List_node_base4hookEPS0_, \
GLIBCXX_3.4)
-_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX4swapERS_S0_, \
+_GLIBCXX_ASM_SYMVER(_ZNSt8__detail17_List_node_baseXX4swapERS0_S1_, \
_ZN10__gnu_norm15_List_node_base4swapERS0_S1_, \
GLIBCXX_3.4)
-_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX9_M_unhookEv, \
+_GLIBCXX_ASM_SYMVER(_ZNSt8__detail17_List_node_baseXX9_M_unhookEv, \
_ZN10__gnu_norm15_List_node_base6unhookEv, \
GLIBCXX_3.4)
-_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX10_M_reverseEv, \
+_GLIBCXX_ASM_SYMVER(_ZNSt8__detail17_List_node_baseXX10_M_reverseEv, \
_ZN10__gnu_norm15_List_node_base7reverseEv, \
GLIBCXX_3.4)
-_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX11_M_transferEPS_S0_, \
+_GLIBCXX_ASM_SYMVER(_ZNSt8__detail17_List_node_baseXX11_M_transferEPS0_S1_, \
_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_, \
GLIBCXX_3.4)
#undef _List_node_base
diff --git a/libstdc++-v3/src/complex_io.cc b/libstdc++-v3/src/complex_io.cc
index 636bc67b469..4e4aeef46f7 100644
--- a/libstdc++-v3/src/complex_io.cc
+++ b/libstdc++-v3/src/complex_io.cc
@@ -24,7 +24,9 @@
#include <complex>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template
basic_istream<char, char_traits<char> >&
@@ -86,7 +88,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
const complex<long double>&);
#endif //_GLIBCXX_USE_WCHAR_T
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// XXX GLIBCXX_ABI Deprecated
#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/libstdc++-v3/src/concept-inst.cc b/libstdc++-v3/src/concept-inst.cc
index e89d16c1f43..829d0db0b68 100644
--- a/libstdc++-v3/src/concept-inst.cc
+++ b/libstdc++-v3/src/concept-inst.cc
@@ -39,7 +39,9 @@
#define _Instantiate(...) template void __function_requires< __VA_ARGS__ > ()
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template void __aux_require_boolean_expr<bool>(bool const&);
@@ -101,7 +103,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_Instantiate(_RandomAccessIteratorConcept<wchar_t const*> );
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#undef _Instantiate
diff --git a/libstdc++-v3/src/condition_variable.cc b/libstdc++-v3/src/condition_variable.cc
index e7adb5251be..7f1e1946a55 100644
--- a/libstdc++-v3/src/condition_variable.cc
+++ b/libstdc++-v3/src/condition_variable.cc
@@ -26,7 +26,9 @@
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
condition_variable::condition_variable() throw ()
{
@@ -85,6 +87,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
condition_variable_any::~condition_variable_any() throw ()
{ }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/src/ctype.cc b/libstdc++-v3/src/ctype.cc
index b44a22e54d0..04d31cc5744 100644
--- a/libstdc++-v3/src/ctype.cc
+++ b/libstdc++-v3/src/ctype.cc
@@ -26,7 +26,9 @@
#include <cstdlib>
#include <cstring>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Definitions for static const data members of ctype_base.
const ctype_base::mask ctype_base::space;
@@ -133,4 +135,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/ext-inst.cc b/libstdc++-v3/src/ext-inst.cc
index ae942c78d43..831f37cf14e 100644
--- a/libstdc++-v3/src/ext-inst.cc
+++ b/libstdc++-v3/src/ext-inst.cc
@@ -29,7 +29,9 @@
#include <ext/rope>
#include <ext/stdio_filebuf.h>
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace
{
@@ -60,4 +62,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template class stdio_filebuf<wchar_t>;
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/fstream-inst.cc b/libstdc++-v3/src/fstream-inst.cc
index 761cbff3bc5..cd7a6cd4546 100644
--- a/libstdc++-v3/src/fstream-inst.cc
+++ b/libstdc++-v3/src/fstream-inst.cc
@@ -29,7 +29,9 @@
#include <fstream>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template class basic_filebuf<char, char_traits<char> >;
template class basic_ifstream<char>;
@@ -43,4 +45,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template class basic_fstream<wchar_t>;
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/functexcept.cc b/libstdc++-v3/src/functexcept.cc
index 1990c3061f5..5cd5ea3b194 100644
--- a/libstdc++-v3/src/functexcept.cc
+++ b/libstdc++-v3/src/functexcept.cc
@@ -39,7 +39,9 @@
# define _(msgid) (msgid)
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#if __EXCEPTIONS
void
@@ -180,4 +182,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif //__EXCEPTIONS
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/future.cc b/libstdc++-v3/src/future.cc
index 6f40c0da32e..cbce2b1a757 100644
--- a/libstdc++-v3/src/future.cc
+++ b/libstdc++-v3/src/future.cc
@@ -64,7 +64,9 @@ namespace
}
}
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
const error_category& future_category()
{ return __future_category_instance(); }
@@ -74,7 +76,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
const char*
future_error::what() const throw() { return _M_code.message().c_str(); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// XXX GLIBCXX_ABI Deprecated
// gcc-4.6.0
@@ -83,7 +86,7 @@ _GLIBCXX_END_NAMESPACE
&& defined(_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE) \
&& defined(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT)
-namespace __gnu_cxx
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
{
const std::error_category* future_category = &__future_category_instance();
}
diff --git a/libstdc++-v3/src/globals_io.cc b/libstdc++-v3/src/globals_io.cc
index 3b36e086203..722abacbe84 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, 2005, 2006, 2009
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -44,7 +44,9 @@
// In macro form:
// _GLIBCXX_ASM_SYMVER(currentname, oldname, GLIBCXX_3.2)
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Standard stream objects.
// NB: Iff <iostream> is included, these definitions become wonky.
@@ -68,9 +70,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
fake_wostream wclog;
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-namespace __gnu_internal _GLIBCXX_VISIBILITY_ATTR(hidden)
+namespace __gnu_internal _GLIBCXX_VISIBILITY(hidden)
{
using namespace std;
using namespace __gnu_cxx;
diff --git a/libstdc++-v3/src/hash_c++0x.cc b/libstdc++-v3/src/hash_c++0x.cc
index ba007f84b54..852498df602 100644
--- a/libstdc++-v3/src/hash_c++0x.cc
+++ b/libstdc++-v3/src/hash_c++0x.cc
@@ -28,7 +28,7 @@
#include <bits/functional_hash.h>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
#include "hash-long-double-aux.cc"
}
diff --git a/libstdc++-v3/src/hash_tr1.cc b/libstdc++-v3/src/hash_tr1.cc
index 03f3ad3c094..e707e827a11 100644
--- a/libstdc++-v3/src/hash_tr1.cc
+++ b/libstdc++-v3/src/hash_tr1.cc
@@ -25,7 +25,7 @@
#include <string>
#include <tr1/functional>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/src/hashtable-aux.cc b/libstdc++-v3/src/hashtable-aux.cc
index 8bd3afb0903..23bb00ec584 100644
--- a/libstdc++-v3/src/hashtable-aux.cc
+++ b/libstdc++-v3/src/hashtable-aux.cc
@@ -1,6 +1,6 @@
// std::__detail and std::tr1::__detail definitions -*- C++ -*-
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 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
@@ -22,8 +22,11 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
+#include <bits/c++config.h>
+
namespace __detail
{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
extern const unsigned long __prime_list[] = // 256 + 1 or 256 + 48 + 1
{
2ul, 3ul, 5ul, 7ul, 11ul, 13ul, 17ul, 19ul, 23ul, 29ul, 31ul,
@@ -88,4 +91,5 @@ namespace __detail
18446744073709551557ul, 18446744073709551557ul
#endif
};
+_GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
diff --git a/libstdc++-v3/src/hashtable_c++0x.cc b/libstdc++-v3/src/hashtable_c++0x.cc
index 0b5f79cc6f1..c9026acdfff 100644
--- a/libstdc++-v3/src/hashtable_c++0x.cc
+++ b/libstdc++-v3/src/hashtable_c++0x.cc
@@ -28,8 +28,7 @@
# error "hashtable_c++0x.cc must be compiled with -std=gnu++0x"
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std _GLIBCXX_VISIBILITY(default)
+{
#include "hashtable-aux.cc"
-
-_GLIBCXX_END_NAMESPACE // namespace std
+} // namespace // namespace std
diff --git a/libstdc++-v3/src/hashtable_tr1.cc b/libstdc++-v3/src/hashtable_tr1.cc
index 70de1bdf310..32d5b63dca8 100644
--- a/libstdc++-v3/src/hashtable_tr1.cc
+++ b/libstdc++-v3/src/hashtable_tr1.cc
@@ -1,6 +1,6 @@
// std::__detail definitions -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -22,7 +22,9 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
-namespace std
+#include <bits/c++config.h>
+
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace tr1
{
diff --git a/libstdc++-v3/src/ios-inst.cc b/libstdc++-v3/src/ios-inst.cc
index 83aa206c325..10fdaf7cd92 100644
--- a/libstdc++-v3/src/ios-inst.cc
+++ b/libstdc++-v3/src/ios-inst.cc
@@ -29,7 +29,9 @@
#include <ios>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template class basic_ios<char>;
@@ -37,4 +39,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template class basic_ios<wchar_t>;
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/ios.cc b/libstdc++-v3/src/ios.cc
index 66052872ac7..292f1f8d02f 100644
--- a/libstdc++-v3/src/ios.cc
+++ b/libstdc++-v3/src/ios.cc
@@ -31,7 +31,9 @@
#include <ios>
#include <limits>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Definitions for static const members of ios_base.
const ios_base::fmtflags ios_base::boolalpha;
@@ -187,4 +189,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_callbacks = 0;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/ios_failure.cc b/libstdc++-v3/src/ios_failure.cc
index d2ac3a64dbc..1c42f01eddd 100644
--- a/libstdc++-v3/src/ios_failure.cc
+++ b/libstdc++-v3/src/ios_failure.cc
@@ -29,7 +29,9 @@
#include <ios>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
ios_base::failure::failure(const string& __str) throw()
: _M_msg(__str) { }
@@ -41,4 +43,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
ios_base::failure::what() const throw()
{ return _M_msg.c_str(); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/ios_init.cc b/libstdc++-v3/src/ios_init.cc
index caf25ed8036..a811daf00cc 100644
--- a/libstdc++-v3/src/ios_init.cc
+++ b/libstdc++-v3/src/ios_init.cc
@@ -1,7 +1,7 @@
// Iostreams base classes -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010
+// 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -35,7 +35,7 @@
#include <ext/stdio_filebuf.h>
#include <ext/stdio_sync_filebuf.h>
-namespace __gnu_internal _GLIBCXX_VISIBILITY_ATTR(hidden)
+namespace __gnu_internal _GLIBCXX_VISIBILITY(hidden)
{
using namespace __gnu_cxx;
@@ -59,7 +59,9 @@ namespace __gnu_internal _GLIBCXX_VISIBILITY_ATTR(hidden)
#endif
} // namespace __gnu_internal
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using namespace __gnu_internal;
@@ -199,4 +201,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __ret;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/ios_locale.cc b/libstdc++-v3/src/ios_locale.cc
index 8b1873e7d49..b98b96c6222 100644
--- a/libstdc++-v3/src/ios_locale.cc
+++ b/libstdc++-v3/src/ios_locale.cc
@@ -31,7 +31,9 @@
#include <ios>
#include <locale>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Called only by basic_ios<>::init.
void
@@ -54,4 +56,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __old;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/iostream-inst.cc b/libstdc++-v3/src/iostream-inst.cc
index 02c681a4d26..60f52061e06 100644
--- a/libstdc++-v3/src/iostream-inst.cc
+++ b/libstdc++-v3/src/iostream-inst.cc
@@ -31,7 +31,9 @@
#include <iomanip>
#include <istream>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template class _Setfill<char>;
template _Setfill<char> setfill(char);
@@ -43,4 +45,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template class basic_iostream<wchar_t>;
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/istream-inst.cc b/libstdc++-v3/src/istream-inst.cc
index 671374f9d5b..4d3bc1a74dc 100644
--- a/libstdc++-v3/src/istream-inst.cc
+++ b/libstdc++-v3/src/istream-inst.cc
@@ -30,7 +30,9 @@
#include <istream>
#include <iomanip>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template class basic_istream<char>;
template istream& ws(istream&);
@@ -90,7 +92,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template wistream& wistream::_M_extract(void*&);
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// XXX GLIBCXX_ABI Deprecated
#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/libstdc++-v3/src/istream.cc b/libstdc++-v3/src/istream.cc
index e4102779aa8..e550306a0e6 100644
--- a/libstdc++-v3/src/istream.cc
+++ b/libstdc++-v3/src/istream.cc
@@ -29,7 +29,9 @@
#include <istream>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<>
basic_istream<char>&
@@ -684,4 +686,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/limits.cc b/libstdc++-v3/src/limits.cc
index ac46cf03a60..5a21239d1bc 100644
--- a/libstdc++-v3/src/limits.cc
+++ b/libstdc++-v3/src/limits.cc
@@ -32,7 +32,9 @@
#include <limits>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#define const _GLIBCXX_USE_CONSTEXPR
@@ -514,7 +516,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#undef const
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// XXX GLIBCXX_ABI Deprecated
#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/libstdc++-v3/src/list.cc b/libstdc++-v3/src/list.cc
index a7a705ca680..92b007f58ae 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, 2005, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2005, 2009, 2010, 2011 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,89 +50,95 @@
#include <list>
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
-
- void
- _List_node_base::swap(_List_node_base& __x, _List_node_base& __y) throw()
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+ namespace __detail
{
- if ( __x._M_next != &__x )
- {
- if ( __y._M_next != &__y )
- {
- // Both __x and __y are not empty.
- std::swap(__x._M_next,__y._M_next);
- std::swap(__x._M_prev,__y._M_prev);
- __x._M_next->_M_prev = __x._M_prev->_M_next = &__x;
- __y._M_next->_M_prev = __y._M_prev->_M_next = &__y;
- }
- else
- {
- // __x is not empty, __y is empty.
- __y._M_next = __x._M_next;
- __y._M_prev = __x._M_prev;
- __y._M_next->_M_prev = __y._M_prev->_M_next = &__y;
- __x._M_next = __x._M_prev = &__x;
- }
- }
- else if ( __y._M_next != &__y )
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ void
+ _List_node_base::swap(_List_node_base& __x, _List_node_base& __y) throw()
{
- // __x is empty, __y is not empty.
- __x._M_next = __y._M_next;
- __x._M_prev = __y._M_prev;
- __x._M_next->_M_prev = __x._M_prev->_M_next = &__x;
- __y._M_next = __y._M_prev = &__y;
+ if ( __x._M_next != &__x )
+ {
+ if ( __y._M_next != &__y )
+ {
+ // Both __x and __y are not empty.
+ std::swap(__x._M_next,__y._M_next);
+ std::swap(__x._M_prev,__y._M_prev);
+ __x._M_next->_M_prev = __x._M_prev->_M_next = &__x;
+ __y._M_next->_M_prev = __y._M_prev->_M_next = &__y;
+ }
+ else
+ {
+ // __x is not empty, __y is empty.
+ __y._M_next = __x._M_next;
+ __y._M_prev = __x._M_prev;
+ __y._M_next->_M_prev = __y._M_prev->_M_next = &__y;
+ __x._M_next = __x._M_prev = &__x;
+ }
+ }
+ else if ( __y._M_next != &__y )
+ {
+ // __x is empty, __y is not empty.
+ __x._M_next = __y._M_next;
+ __x._M_prev = __y._M_prev;
+ __x._M_next->_M_prev = __x._M_prev->_M_next = &__x;
+ __y._M_next = __y._M_prev = &__y;
+ }
}
- }
- void
- _List_node_base::_M_transfer(_List_node_base * const __first,
- _List_node_base * const __last) throw()
- {
- if (this != __last)
+ void
+ _List_node_base::_M_transfer(_List_node_base * const __first,
+ _List_node_base * const __last) throw()
{
- // Remove [first, last) from its old position.
- __last->_M_prev->_M_next = this;
- __first->_M_prev->_M_next = __last;
- this->_M_prev->_M_next = __first;
-
- // Splice [first, last) into its new position.
- _List_node_base* const __tmp = this->_M_prev;
- this->_M_prev = __last->_M_prev;
- __last->_M_prev = __first->_M_prev;
- __first->_M_prev = __tmp;
+ if (this != __last)
+ {
+ // Remove [first, last) from its old position.
+ __last->_M_prev->_M_next = this;
+ __first->_M_prev->_M_next = __last;
+ this->_M_prev->_M_next = __first;
+
+ // Splice [first, last) into its new position.
+ _List_node_base* const __tmp = this->_M_prev;
+ this->_M_prev = __last->_M_prev;
+ __last->_M_prev = __first->_M_prev;
+ __first->_M_prev = __tmp;
+ }
}
- }
- void
- _List_node_base::_M_reverse() throw()
- {
- _List_node_base* __tmp = this;
- do
+ void
+ _List_node_base::_M_reverse() throw()
{
- std::swap(__tmp->_M_next, __tmp->_M_prev);
+ _List_node_base* __tmp = this;
+ do
+ {
+ std::swap(__tmp->_M_next, __tmp->_M_prev);
- // Old next node is now prev.
- __tmp = __tmp->_M_prev;
- }
- while (__tmp != this);
- }
+ // Old next node is now prev.
+ __tmp = __tmp->_M_prev;
+ }
+ while (__tmp != this);
+ }
- void
- _List_node_base::_M_hook(_List_node_base* const __position) throw()
- {
- this->_M_next = __position;
- this->_M_prev = __position->_M_prev;
- __position->_M_prev->_M_next = this;
- __position->_M_prev = this;
- }
+ void
+ _List_node_base::_M_hook(_List_node_base* const __position) throw()
+ {
+ this->_M_next = __position;
+ this->_M_prev = __position->_M_prev;
+ __position->_M_prev->_M_next = this;
+ __position->_M_prev = this;
+ }
- void
- _List_node_base::_M_unhook() throw()
- {
- _List_node_base* const __next_node = this->_M_next;
- _List_node_base* const __prev_node = this->_M_prev;
- __prev_node->_M_next = __next_node;
- __next_node->_M_prev = __prev_node;
- }
+ void
+ _List_node_base::_M_unhook() throw()
+ {
+ _List_node_base* const __next_node = this->_M_next;
+ _List_node_base* const __prev_node = this->_M_prev;
+ __prev_node->_M_next = __next_node;
+ __next_node->_M_prev = __prev_node;
+ }
-_GLIBCXX_END_NESTED_NAMESPACE
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace __detail
+} // namespace std
diff --git a/libstdc++-v3/src/locale-inst.cc b/libstdc++-v3/src/locale-inst.cc
index 0418c6fa0f1..e77c5c95d69 100644
--- a/libstdc++-v3/src/locale-inst.cc
+++ b/libstdc++-v3/src/locale-inst.cc
@@ -1,7 +1,7 @@
// Locale support -*- C++ -*-
// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-// 2009 Free Software Foundation, Inc.
+// 2009, 2011 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,7 +35,9 @@
# define C_is_char
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// moneypunct, money_get, and money_put
template class moneypunct<C, false>;
@@ -44,7 +46,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template struct __moneypunct_cache<C, true>;
template class moneypunct_byname<C, false>;
template class moneypunct_byname<C, true>;
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
+_GLIBCXX_BEGIN_NAMESPACE_LDBL
template class money_get<C, istreambuf_iterator<C> >;
template class money_put<C, ostreambuf_iterator<C> >;
template
@@ -70,13 +72,13 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
money_put<C, ostreambuf_iterator<C> >::
_M_insert<false>(ostreambuf_iterator<C>, ios_base&, C,
const string_type&) const;
-_GLIBCXX_END_LDBL_NAMESPACE
+_GLIBCXX_END_NAMESPACE_LDBL
// numpunct, numpunct_byname, num_get, and num_put
template class numpunct<C>;
template struct __numpunct_cache<C>;
template class numpunct_byname<C>;
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
+_GLIBCXX_BEGIN_NAMESPACE_LDBL
template class num_get<C, istreambuf_iterator<C> >;
template class num_put<C, ostreambuf_iterator<C> >;
template
@@ -160,7 +162,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
num_put<C, ostreambuf_iterator<C> >::
_M_insert_float(ostreambuf_iterator<C>, ios_base&, C, char,
long double) const;
-_GLIBCXX_END_LDBL_NAMESPACE
+_GLIBCXX_END_NAMESPACE_LDBL
// time_get and time_put
template class __timepunct<C>;
@@ -317,7 +319,8 @@ _GLIBCXX_END_LDBL_NAMESPACE
ios_base::fmtflags, bool);
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// XXX GLIBCXX_ABI Deprecated
#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined C_is_char
diff --git a/libstdc++-v3/src/locale.cc b/libstdc++-v3/src/locale.cc
index 937e99c8b14..09dccf0d7d3 100644
--- a/libstdc++-v3/src/locale.cc
+++ b/libstdc++-v3/src/locale.cc
@@ -55,7 +55,9 @@ _GLIBCXX_LOC_ID (_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2
# endif
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Definitions for static const data members of locale.
const locale::category locale::none;
@@ -438,4 +440,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return _M_index - 1;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/locale_facets.cc b/libstdc++-v3/src/locale_facets.cc
index 77686c6c3ea..92552227f80 100644
--- a/libstdc++-v3/src/locale_facets.cc
+++ b/libstdc++-v3/src/locale_facets.cc
@@ -24,7 +24,9 @@
#include <locale>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Definitions for static const data members of time_base.
template<>
@@ -112,4 +114,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __test;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/locale_init.cc b/libstdc++-v3/src/locale_init.cc
index 45f67f67e31..98c228cf15f 100644
--- a/libstdc++-v3/src/locale_init.cc
+++ b/libstdc++-v3/src/locale_init.cc
@@ -203,7 +203,9 @@ namespace
#endif
} // anonymous namespace
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
locale::locale() throw() : _M_impl(0)
{
@@ -468,4 +470,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/localename.cc b/libstdc++-v3/src/localename.cc
index 6d4306adb68..52e22828191 100644
--- a/libstdc++-v3/src/localename.cc
+++ b/libstdc++-v3/src/localename.cc
@@ -27,7 +27,9 @@
#include <cstdlib>
#include <locale>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using namespace __gnu_cxx;
@@ -348,4 +350,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/misc-inst.cc b/libstdc++-v3/src/misc-inst.cc
index f4101784a4e..ad09c9b84dd 100644
--- a/libstdc++-v3/src/misc-inst.cc
+++ b/libstdc++-v3/src/misc-inst.cc
@@ -32,7 +32,9 @@
#include <ostream>
#include <ext/stdio_sync_filebuf.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// string related to iostreams
template
@@ -62,15 +64,19 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
getline(basic_istream<wchar_t>&, wstring&);
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template class stdio_sync_filebuf<char>;
#ifdef _GLIBCXX_USE_WCHAR_T
template class stdio_sync_filebuf<wchar_t>;
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/mt_allocator.cc b/libstdc++-v3/src/mt_allocator.cc
index b04fe5b05e4..16c2fb8063e 100644
--- a/libstdc++-v3/src/mt_allocator.cc
+++ b/libstdc++-v3/src/mt_allocator.cc
@@ -84,7 +84,9 @@ namespace
#endif
} // anonymous namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
void
__pool<false>::_M_destroy() throw()
@@ -812,4 +814,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template class __mt_alloc<char>;
template class __mt_alloc<wchar_t>;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/mutex.cc b/libstdc++-v3/src/mutex.cc
index e6eb6d28a72..d6f2f03700f 100644
--- a/libstdc++-v3/src/mutex.cc
+++ b/libstdc++-v3/src/mutex.cc
@@ -37,7 +37,9 @@ namespace
}
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
#ifdef _GLIBCXX_HAVE_TLS
__thread void* __once_callable;
@@ -89,7 +91,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// XXX GLIBCXX_ABI Deprecated
// gcc-4.6.0
@@ -98,7 +101,7 @@ _GLIBCXX_END_NAMESPACE
&& defined(_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE) \
&& defined(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT)
-namespace __gnu_cxx
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
{
std::defer_lock_t defer_lock;
std::try_to_lock_t try_to_lock;
diff --git a/libstdc++-v3/src/ostream-inst.cc b/libstdc++-v3/src/ostream-inst.cc
index 9c0163393df..9c25228771b 100644
--- a/libstdc++-v3/src/ostream-inst.cc
+++ b/libstdc++-v3/src/ostream-inst.cc
@@ -30,7 +30,9 @@
#include <ostream>
#include <iomanip>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// ostream
template class basic_ostream<char>;
@@ -93,7 +95,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template wostream& wostream::_M_insert(const void*);
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
// XXX GLIBCXX_ABI Deprecated
#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/libstdc++-v3/src/placeholders.cc b/libstdc++-v3/src/placeholders.cc
index 1d68bb7cf9e..967ce178a32 100644
--- a/libstdc++-v3/src/placeholders.cc
+++ b/libstdc++-v3/src/placeholders.cc
@@ -28,10 +28,11 @@
#include <functional>
-namespace std
+namespace std _GLIBCXX_VISIBILITY(default)
{
namespace placeholders
{
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
extern const _Placeholder<1> _1{};
extern const _Placeholder<2> _2{};
extern const _Placeholder<3> _3{};
@@ -61,5 +62,6 @@ namespace std
extern const _Placeholder<27> _27{};
extern const _Placeholder<28> _28{};
extern const _Placeholder<29> _29{};
+ _GLIBCXX_END_NAMESPACE_VERSION
}
}
diff --git a/libstdc++-v3/src/pool_allocator.cc b/libstdc++-v3/src/pool_allocator.cc
index 80f07ba863b..f94656b03ba 100644
--- a/libstdc++-v3/src/pool_allocator.cc
+++ b/libstdc++-v3/src/pool_allocator.cc
@@ -40,7 +40,9 @@ namespace
}
} // anonymous namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Definitions for __pool_alloc_base.
__pool_alloc_base::_Obj* volatile*
@@ -171,4 +173,5 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template class __pool_alloc<char>;
template class __pool_alloc<wchar_t>;
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/sstream-inst.cc b/libstdc++-v3/src/sstream-inst.cc
index 97d32b2a434..5c6877904dd 100644
--- a/libstdc++-v3/src/sstream-inst.cc
+++ b/libstdc++-v3/src/sstream-inst.cc
@@ -29,7 +29,9 @@
#include <sstream>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template class basic_stringbuf<char>;
template class basic_istringstream<char>;
@@ -43,4 +45,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template class basic_stringstream<wchar_t>;
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/stdexcept.cc b/libstdc++-v3/src/stdexcept.cc
index 4d7ea37f697..0b78f9a9b2e 100644
--- a/libstdc++-v3/src/stdexcept.cc
+++ b/libstdc++-v3/src/stdexcept.cc
@@ -30,7 +30,9 @@
#include <string>
#include <stdexcept>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
logic_error::logic_error(const string& __arg)
: exception(), _M_msg(__arg) { }
@@ -71,5 +73,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
underflow_error::underflow_error(const string& __arg)
: runtime_error(__arg) { }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/streambuf-inst.cc b/libstdc++-v3/src/streambuf-inst.cc
index 1b30040a734..5b563c8e173 100644
--- a/libstdc++-v3/src/streambuf-inst.cc
+++ b/libstdc++-v3/src/streambuf-inst.cc
@@ -30,7 +30,9 @@
#include <ios>
#include <streambuf>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// streambuf
template class basic_streambuf<char>;
@@ -58,4 +60,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
basic_streambuf<wchar_t>*, bool&);
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/streambuf.cc b/libstdc++-v3/src/streambuf.cc
index c040ae14b02..2e72559d827 100644
--- a/libstdc++-v3/src/streambuf.cc
+++ b/libstdc++-v3/src/streambuf.cc
@@ -28,7 +28,9 @@
#include <streambuf>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
template<>
streamsize
@@ -110,4 +112,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/string-inst.cc b/libstdc++-v3/src/string-inst.cc
index 4ba178a5ad4..879ccec7e8d 100644
--- a/libstdc++-v3/src/string-inst.cc
+++ b/libstdc++-v3/src/string-inst.cc
@@ -37,7 +37,9 @@
# define C char
#endif
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef basic_string<C> S;
@@ -72,12 +74,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
S::_S_construct(const C*, const C*, const allocator<C>&,
forward_iterator_tag);
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
using std::S;
template bool operator==(const S::iterator&, const S::iterator&);
template bool operator==(const S::const_iterator&, const S::const_iterator&);
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/strstream.cc b/libstdc++-v3/src/strstream.cc
index fbc5f518297..d6c936e5f9d 100644
--- a/libstdc++-v3/src/strstream.cc
+++ b/libstdc++-v3/src/strstream.cc
@@ -48,7 +48,9 @@
#include <string.h>
#include <limits.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
strstreambuf::strstreambuf(streamsize initial_capacity)
: _Base(), _M_alloc_fun(0), _M_free_fun(0), _M_dynamic(true),
@@ -411,4 +413,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
strstream::str() throw ()
{ return _M_buf.str(); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/system_error.cc b/libstdc++-v3/src/system_error.cc
index be6af3bced8..156f8fcf7a0 100644
--- a/libstdc++-v3/src/system_error.cc
+++ b/libstdc++-v3/src/system_error.cc
@@ -70,7 +70,9 @@ namespace
const system_error_category system_category_instance;
}
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
const error_category&
system_category() throw() { return system_category_instance; }
@@ -96,4 +98,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
error_code::default_error_condition() const
{ return category().default_error_condition(value()); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/thread.cc b/libstdc++-v3/src/thread.cc
index acc6c038531..c164e8a0161 100644
--- a/libstdc++-v3/src/thread.cc
+++ b/libstdc++-v3/src/thread.cc
@@ -1,6 +1,6 @@
// thread -*- C++ -*-
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 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
@@ -28,8 +28,8 @@
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
+namespace std _GLIBCXX_VISIBILITY(default)
+{
namespace
{
extern "C" void*
@@ -52,6 +52,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
void
thread::join()
{
@@ -96,6 +98,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace std
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/src/tree.cc b/libstdc++-v3/src/tree.cc
index b5f229f4da5..0a7f6f9e485 100644
--- a/libstdc++-v3/src/tree.cc
+++ b/libstdc++-v3/src/tree.cc
@@ -52,7 +52,9 @@
#include <bits/stl_tree.h>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
_Rb_tree_node_base*
_Rb_tree_increment(_Rb_tree_node_base* __x) throw ()
@@ -448,4 +450,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return __sum;
}
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/src/valarray-inst.cc b/libstdc++-v3/src/valarray-inst.cc
index 821dafcf9ce..4d21ab171ba 100644
--- a/libstdc++-v3/src/valarray-inst.cc
+++ b/libstdc++-v3/src/valarray-inst.cc
@@ -29,7 +29,9 @@
#include <valarray>
-_GLIBCXX_BEGIN_NAMESPACE(std)
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
// Some explicit instantiations.
template void
@@ -103,4 +105,5 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_index(__l.size() == 0 ? 0 : __valarray_product(__l))
{ __gslice_to_index(__o, __l, __s, _M_index); }
-_GLIBCXX_END_NAMESPACE
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
index 0fea060d7e5..617d76b80da 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
-// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free
-// Software Foundation
+// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011
+// 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
@@ -47,6 +47,6 @@ main()
test01();
return 0;
}
-// { dg-error "::auto_ptr|no known conversion" "" { target *-*-* } 134 }
-// { dg-error "note" "" { target *-*-* } 152 }
-// { dg-error "::auto_ptr|no known conversion" "" { target *-*-* } 262 }
+// { dg-error "::auto_ptr|no known conversion" "" { target *-*-* } 136 }
+// { dg-error "note" "" { target *-*-* } 154 }
+// { dg-error "::auto_ptr|no known conversion" "" { target *-*-* } 264 }
diff --git a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
index 32f2d23f9ad..9113c031be0 100644
--- a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
@@ -2,7 +2,7 @@
// { dg-do compile }
// 2009-11-12 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 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
@@ -19,7 +19,7 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-error "static assertion failed" "" { target *-*-* } 1132 }
+// { dg-error "static assertion failed" "" { target *-*-* } 1134 }
#include <utility>
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc
index e33c5131f4a..5965f03b1b3 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// 2008-07-31 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 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
@@ -31,5 +31,5 @@ void test01()
test_type d;
}
-// { dg-error "rep cannot be a duration" "" { target *-*-* } 218 }
+// { dg-error "rep cannot be a duration" "" { target *-*-* } 226 }
// { dg-error "instantiated from here" "" { target *-*-* } 31 }
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
index a865effb6dd..d84ab9e8cf5 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
@@ -32,6 +32,6 @@ void test01()
test_type d;
}
-// { dg-error "must be a specialization of ratio" "" { target *-*-* } 219 }
+// { dg-error "must be a specialization of ratio" "" { target *-*-* } 227 }
// { dg-error "instantiated from here" "" { target *-*-* } 32 }
// { dg-excess-errors "In instantiation of" }
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc
index c168357edd1..7c73bf996dd 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// 2008-07-31 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 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,5 +33,5 @@ void test01()
test_type d;
}
-// { dg-error "period must be positive" "" { target *-*-* } 221 }
+// { dg-error "period must be positive" "" { target *-*-* } 229 }
// { dg-error "instantiated from here" "" { target *-*-* } 33 }
diff --git a/libstdc++-v3/testsuite/20_util/forward/c_neg.cc b/libstdc++-v3/testsuite/20_util/forward/c_neg.cc
index 919fe56cc27..50bfbf02850 100644
--- a/libstdc++-v3/testsuite/20_util/forward/c_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/c_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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
@@ -18,7 +18,7 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-error "static assertion failed" "" { target *-*-* } 64 }
+// { dg-error "static assertion failed" "" { target *-*-* } 69 }
#include <list>
diff --git a/libstdc++-v3/testsuite/20_util/forward/f_neg.cc b/libstdc++-v3/testsuite/20_util/forward/f_neg.cc
index 6b5a365efd1..418a469dfd9 100644
--- a/libstdc++-v3/testsuite/20_util/forward/f_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/f_neg.cc
@@ -18,7 +18,7 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-error "static assertion failed" "" { target *-*-* } 64 }
+// { dg-error "static assertion failed" "" { target *-*-* } 69 }
#include <utility>
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
index 205da120f90..5179abfeb08 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
@@ -48,5 +48,5 @@ void test01()
// { dg-error "instantiated from here" "" { target *-*-* } 40 }
// { dg-error "instantiated from here" "" { target *-*-* } 42 }
-// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1095 }
-// { dg-error "declaration of" "" { target *-*-* } 1059 }
+// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1097 }
+// { dg-error "declaration of" "" { target *-*-* } 1061 }
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
index c6e00075178..1a1724d74b7 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
@@ -3,7 +3,7 @@
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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,5 +48,5 @@ void test01()
// { dg-error "instantiated from here" "" { target *-*-* } 40 }
// { dg-error "instantiated from here" "" { target *-*-* } 42 }
-// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1018 }
-// { dg-error "declaration of" "" { target *-*-* } 982 }
+// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1020 }
+// { dg-error "declaration of" "" { target *-*-* } 984 }
diff --git a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
index e7f448deca1..51dcdac4b2d 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
@@ -2,7 +2,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-require-cstdint "" }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2008, 2009, 2010, 2011 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
@@ -49,9 +49,9 @@ test04()
// { dg-error "instantiated from here" "" { target *-*-* } 34 }
// { dg-error "instantiated from here" "" { target *-*-* } 40 }
// { dg-error "instantiated from here" "" { target *-*-* } 46 }
-// { dg-error "denominator cannot be zero" "" { target *-*-* } 153 }
-// { dg-error "out of range" "" { target *-*-* } 154 }
-// { dg-error "non-constant expression" "" { target *-*-* } 59 }
-// { dg-error "overflow in constant expression" "" { target *-*-* } 59 }
-// { dg-error "not a member" "" { target *-*-* } 162 }
-// { dg-error "not a valid template argument" "" { target *-*-* } 164 }
+// { dg-error "denominator cannot be zero" "" { target *-*-* } 155 }
+// { dg-error "out of range" "" { target *-*-* } 156 }
+// { dg-error "non-constant expression" "" { target *-*-* } 61 }
+// { dg-error "overflow in constant expression" "" { target *-*-* } 61 }
+// { dg-error "not a member" "" { target *-*-* } 164 }
+// { dg-error "not a valid template argument" "" { target *-*-* } 166 }
diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
index 214ae7e190e..b7076dfc57a 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
@@ -4,7 +4,7 @@
// 2008-07-03 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008, 2009 Free Software Foundation
+// Copyright (C) 2008, 2009, 2011 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
@@ -39,8 +39,8 @@ test02()
// { dg-error "instantiated from here" "" { target *-*-* } 29 }
// { dg-error "instantiated from here" "" { target *-*-* } 35 }
// { dg-error "instantiated from here" "" { target *-*-* } 36 }
-// { dg-error "overflow in addition" "" { target *-*-* } 130 }
-// { dg-error "overflow in multiplication" "" { target *-*-* } 98 }
+// { dg-error "overflow in addition" "" { target *-*-* } 132 }
+// { dg-error "overflow in multiplication" "" { target *-*-* } 104 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 100 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 102 }
// { dg-excess-errors "In instantiation of" }
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
index 837c668efe9..c594461a4b9 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
-// Copyright (C) 2010 Free Software Foundation
+// Copyright (C) 2010, 2011 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
@@ -32,9 +32,9 @@ void test01()
{
X* px = 0;
std::shared_ptr<X> p1(px); // { dg-error "here" }
- // { dg-error "incomplete" "" { target *-*-* } 763 }
+ // { dg-error "incomplete" "" { target *-*-* } 765 }
std::shared_ptr<X> p9(ap()); // { dg-error "here" }
- // { dg-error "incomplete" "" { target *-*-* } 855 }
+ // { dg-error "incomplete" "" { target *-*-* } 857 }
}
diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
index 357e32f97e9..098dbfd89df 100644
--- a/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x " }
// { dg-do compile }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2008, 2009, 2010, 2011 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
@@ -42,12 +42,12 @@ main()
return 0;
}
-// { dg-warning "note" "" { target *-*-* } 352 }
-// { dg-warning "note" "" { target *-*-* } 1083 }
-// { dg-warning "note" "" { target *-*-* } 465 }
-// { dg-warning "note" "" { target *-*-* } 585 }
-// { dg-warning "note" "" { target *-*-* } 1048 }
-// { dg-warning "note" "" { target *-*-* } 1042 }
-// { dg-warning "note" "" { target *-*-* } 340 }
-// { dg-warning "note" "" { target *-*-* } 290 }
-// { dg-warning "note" "" { target *-*-* } 205 }
+// { dg-warning "note" "" { target *-*-* } 354 }
+// { dg-warning "note" "" { target *-*-* } 1085 }
+// { dg-warning "note" "" { target *-*-* } 467 }
+// { dg-warning "note" "" { target *-*-* } 587 }
+// { dg-warning "note" "" { target *-*-* } 1050 }
+// { dg-warning "note" "" { target *-*-* } 1056 }
+// { dg-warning "note" "" { target *-*-* } 342 }
+// { dg-warning "note" "" { target *-*-* } 292 }
+// { dg-warning "note" "" { target *-*-* } 207 }
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
index bd6ee636305..ecd115e3aaf 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1659 }
+// { dg-error "no matching" "" { target *-*-* } 1661 }
// { dg-excess-errors "" }
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
index 21c9d4e4f3c..4de01c82609 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1592 }
+// { dg-error "no matching" "" { target *-*-* } 1594 }
// { dg-excess-errors "" }
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
index 08f54d68018..78eeb8dbc6c 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1592 }
+// { dg-error "no matching" "" { target *-*-* } 1594 }
// { dg-excess-errors "" }
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
index a5bd6065c1c..f29152cb7c8 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1743 }
+// { dg-error "no matching" "" { target *-*-* } 1745 }
// { dg-excess-errors "" }
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc
index fec4fff46ac..4798e93e077 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/capacity/1.cc
@@ -37,7 +37,7 @@ test01()
VERIFY(fld.empty() == true);
#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PROFILE)
- using std::_GLIBCXX_STD_D::_Fwd_list_node;
+ using std::_GLIBCXX_STD_C::_Fwd_list_node;
#else
using std::_Fwd_list_node;
#endif
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
index fe426e0a803..e87fa60c3fa 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// { dg-error "no matching" "" { target *-*-* } 1204 }
+// { dg-error "no matching" "" { target *-*-* } 1206 }
// { dg-excess-errors "" }
// Copyright (C) 2009, 2010 Free Software Foundation
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc
index d4cd3d71f3c..5da159c1350 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc
@@ -1,9 +1,9 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// { dg-error "no matching" "" { target *-*-* } 1204 }
+// { dg-error "no matching" "" { target *-*-* } 1206 }
// { dg-excess-errors "" }
-// Copyright (C) 2009, 2010 Free Software Foundation
+// Copyright (C) 2009, 2010, 2011 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
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc
index ac07af20d6c..785fe513642 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc
@@ -1,9 +1,9 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// { dg-error "no matching" "" { target *-*-* } 1204 }
+// { dg-error "no matching" "" { target *-*-* } 1206 }
// { dg-excess-errors "" }
-// Copyright (C) 2009, 2010 Free Software Foundation
+// Copyright (C) 2009, 2010, 2011 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
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc
index 06016c792ce..aabc8b8f715 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc
@@ -1,9 +1,9 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// { dg-error "no matching" "" { target *-*-* } 1204 }
+// { dg-error "no matching" "" { target *-*-* } 1206 }
// { dg-excess-errors "" }
-// Copyright (C) 2009, 2010 Free Software Foundation
+// Copyright (C) 2009, 2010, 2011 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
diff --git a/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc
index d51fc3bb662..f2f51f22352 100644
--- a/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/capacity/29134.cc
@@ -31,7 +31,7 @@ void test01()
#if ! defined _GLIBCXX_DEBUG && ! defined _GLIBCXX_PROFILE
using std::_List_node;
#else
- using std::_GLIBCXX_STD_D::_List_node;
+ using std::_GLIBCXX_STD_C::_List_node;
#endif
VERIFY( l.max_size() == std::allocator<_List_node<int> >().max_size() );
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
index 2446157597f..96a14e4dade 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1478 }
+// { dg-error "no matching" "" { target *-*-* } 1491 }
// { dg-excess-errors "" }
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
index cbac8e80cbf..cc10877fab4 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1434 }
+// { dg-error "no matching" "" { target *-*-* } 1447 }
// { dg-excess-errors "" }
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
index 232bd042ddb..acc64e4afd1 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1434 }
+// { dg-error "no matching" "" { target *-*-* } 1447 }
// { dg-excess-errors "" }
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
index aefb1f583fd..8df0ac528c0 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1434 }
+// { dg-error "no matching" "" { target *-*-* } 1447 }
// { dg-excess-errors "" }
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc
index 4b45d79fc1c..cd5a6a42483 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/capacity/29134.cc
@@ -30,9 +30,9 @@ void test01()
using std::numeric_limits;
#ifdef _GLIBCXX_DEBUG
- using std::_GLIBCXX_STD_D::_S_word_bit;
+ using std::_GLIBCXX_STD_C::_S_word_bit;
#elif defined(_GLIBCXX_PROFILE)
- using std::_GLIBCXX_STD_PR::_S_word_bit;
+ using std::_GLIBCXX_STD_C::_S_word_bit;
#else
using std::_S_word_bit;
#endif
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
index 40d09dbf752..52f8ddf0f44 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
@@ -24,9 +24,9 @@
#include <testsuite_hooks.h>
#ifdef _GLIBCXX_DEBUG
- using std::_GLIBCXX_STD_D::_S_word_bit;
+ using std::_GLIBCXX_STD_C::_S_word_bit;
#elif defined(_GLIBCXX_PROFILE)
- using std::_GLIBCXX_STD_PR::_S_word_bit;
+ using std::_GLIBCXX_STD_C::_S_word_bit;
#else
using std::_S_word_bit;
#endif
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
index 6925c1776a4..f13dd016383 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1148 }
+// { dg-error "no matching" "" { target *-*-* } 1150 }
// { dg-excess-errors "" }
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
index 662bf169b23..471d4589bf3 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1078 }
+// { dg-error "no matching" "" { target *-*-* } 1080 }
// { dg-excess-errors "" }
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
index fe2a2b25475..8d1b72c63ee 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1078 }
+// { dg-error "no matching" "" { target *-*-* } 1080 }
// { dg-excess-errors "" }
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
index 9869af131df..2f10c55036d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
@@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
@@ -18,7 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1189 }
+// { dg-error "no matching" "" { target *-*-* } 1191 }
// { dg-excess-errors "" }
#include <vector>
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc b/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc
index 33078817da6..c16b96dfd7a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort/35588.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2011 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
@@ -24,7 +24,7 @@ int main()
{
using namespace std;
using namespace tr1;
- using namespace placeholders;
+ using namespace std::tr1::placeholders;
int t[10];
sort(t, t+10, bind(less<int>(), _1, _2));
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc b/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc
index 8e97d329942..4bbe5b11925 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-// Foundation, Inc.
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+// 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,5 +34,5 @@ void test01()
}
// { dg-error "synthesized" "" { target *-*-* } 33 }
// { dg-error "within this context" "" { target *-*-* } 26 }
-// { dg-error "is private" "" { target *-*-* } 789 }
+// { dg-error "is private" "" { target *-*-* } 791 }
// { dg-error "operator=" "" { target *-*-* } 0 }
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc b/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc
index 6e527cdc262..6f453736e87 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-// Foundation, Inc.
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+// 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,5 +34,5 @@ void test02()
}
// { dg-error "within this context" "" { target *-*-* } 26 }
// { dg-error "synthesized" "" { target *-*-* } 33 }
-// { dg-error "is private" "" { target *-*-* } 786 }
+// { dg-error "is private" "" { target *-*-* } 788 }
// { dg-error "copy constructor" "" { target *-*-* } 0 }
diff --git a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
index b53dc40e5b4..b81418f7293 100644
--- a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
+++ b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
@@ -22,4 +22,4 @@
#include <vector>
-// { dg-error "Cannot use -D_GLIBCXX_PROFILE with " "" { target *-*-* } 220 }
+// { dg-error "multiple inlined namespaces" "" { target *-*-* } 243 }
diff --git a/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc b/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc
index 37dfbfee27c..fb9c8080d80 100644
--- a/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc
+++ b/libstdc++-v3/testsuite/ext/profile/profiler_algos.cc
@@ -4,7 +4,7 @@
// Unit tests for profile/impl/profile_algos.h.
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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
@@ -24,7 +24,7 @@
#include <vector>
#include <profile/impl/profiler.h>
-using std::__norm::vector;
+using std::_GLIBCXX_STD_C::vector;
enum Failure
{
diff --git a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc
index de72e141c0c..98202bdb867 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_floating_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2009, 2011 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,4 +35,4 @@ int main()
}
// { dg-error "instantiated from" "" { target *-*-* } 28 }
-// { dg-error "no type" "" { target *-*-* } 67 }
+// { dg-error "no type" "" { target *-*-* } 69 }
diff --git a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc
index ba3dd763bd5..f08c879e5a8 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/add_unsigned_integer_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2009, 2011 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,4 +36,4 @@ int main()
}
// { dg-error "invalid use of incomplete" "" { target *-*-* } 28 }
-// { dg-error "declaration of" "" { target *-*-* } 61 }
+// { dg-error "declaration of" "" { target *-*-* } 63 }
diff --git a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
index 847beda5bc7..486baad93b7 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2009, 2011 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,4 +35,4 @@ int main()
}
// { dg-error "instantiated from" "" { target *-*-* } 28 }
-// { dg-error "no type" "" { target *-*-* } 110 }
+// { dg-error "no type" "" { target *-*-* } 112 }
diff --git a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc
index 2347a14c0e7..1ad1d93bfb9 100644
--- a/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc
+++ b/libstdc++-v3/testsuite/ext/type_traits/remove_unsigned_integer_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// -*- C++ -*-
-// Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2009, 2011 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,4 +36,4 @@ int main()
}
// { dg-error "invalid use of incomplete" "" { target *-*-* } 28 }
-// { dg-error "declaration of" "" { target *-*-* } 104 }
+// { dg-error "declaration of" "" { target *-*-* } 106 }
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc
index 73a0f9e276b..0b86e8eeb92 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc
@@ -30,9 +30,9 @@ void test01()
{
X* px = 0;
std::tr1::shared_ptr<X> p1(px); // { dg-error "here" }
- // { dg-error "incomplete" "" { target *-*-* } 561 }
+ // { dg-error "incomplete" "" { target *-*-* } 563 }
std::tr1::shared_ptr<X> p9(ap()); // { dg-error "here" }
- // { dg-error "incomplete" "" { target *-*-* } 600 }
+ // { dg-error "incomplete" "" { target *-*-* } 602 }
}