54 Commits
Author SHA1 Message Date
Jakub Jelinek 254a858ae7 Update copyright years. 2026-01-02 09:56:11 +01:00
Jonathan Wakely f534db54a6 libstdc++: Constrain __gnu_debug::bitset(const CharT*) constructor [PR121046]
The r16-3435-gbbc0e70b610f19 change (for LWG 4294) needs to be applied
to the debug mode __gnu_debug::bitset as well as the normal one.

libstdc++-v3/ChangeLog:

	PR libstdc++/121046
	* include/debug/bitset (bitset(const CharT*, ...)): Add
	constraints on CharT type.
2025-09-12 14:08:23 +01:00
Nathan Myers 5a433ecf4d libstdc++: provide debug impl of P2697 ctor [PR119742]
This adds the new bitset constructor from string_view
defined in P2697 to the debug version of the type.

libstdc++-v3/Changelog:
	PR libstdc++/119742
	* include/debug/bitset: Add new ctor.
2025-07-28 05:34:32 -04:00
Jakub Jelinek 6441eb6dc0 Update copyright years. 2025-01-02 11:59:57 +01:00
Jason Merrill 63a598deb0 libstdc++: #ifdef out #pragma GCC system_header
In r15-3714-gd3a7302ec5985a I added -Wsystem-headers to the libstdc++ build
flags to help catch problems in the library.  This patch takes a different
approach, of disabling the #pragma system_header unless _GLIBCXX_SYSHDR is
defined.  As a result, the testsuites will treat them as non-system-headers
to get better warning coverage during regression testing of both gcc and
libstdc++, not just when building the library.

My rationale for the #ifdef instead of just removing the #pragma is the
three G++ tests that want to test libstdc++ system header behavior, so we
need a way to select it.

This doesn't affect installed libraries, as they get their
system-header status from the lookup path.  But testsuite_flags
--build-includes gives -I directives rather than -isystem.

This patch doesn't change the headers in config/ because I'm not compiling
with most of them, so won't see any warnings that need fixing.  Adjusting
them could happen later, or we can not bother.

libstdc++-v3/ChangeLog:

	* acinclude.m4 (WARN_FLAGS): Remove -Wsystem-headers.
	* configure: Regenerate.
	* include/bits/algorithmfwd.h: #ifdef out #pragma GCC system_header.
	* include/bits/atomic_base.h
	* include/bits/atomic_futex.h
	* include/bits/atomic_timed_wait.h
	* include/bits/atomic_wait.h
	* include/bits/basic_ios.h
	* include/bits/basic_string.h
	* include/bits/boost_concept_check.h
	* include/bits/char_traits.h
	* include/bits/charconv.h
	* include/bits/chrono.h
	* include/bits/chrono_io.h
	* include/bits/codecvt.h
	* include/bits/concept_check.h
	* include/bits/cpp_type_traits.h
	* include/bits/elements_of.h
	* include/bits/enable_special_members.h
	* include/bits/erase_if.h
	* include/bits/forward_list.h
	* include/bits/functional_hash.h
	* include/bits/gslice.h
	* include/bits/gslice_array.h
	* include/bits/hashtable.h
	* include/bits/indirect_array.h
	* include/bits/invoke.h
	* include/bits/ios_base.h
	* include/bits/iterator_concepts.h
	* include/bits/locale_classes.h
	* include/bits/locale_facets.h
	* include/bits/locale_facets_nonio.h
	* include/bits/localefwd.h
	* include/bits/mask_array.h
	* include/bits/max_size_type.h
	* include/bits/memory_resource.h
	* include/bits/memoryfwd.h
	* include/bits/move_only_function.h
	* include/bits/node_handle.h
	* include/bits/ostream_insert.h
	* include/bits/out_ptr.h
	* include/bits/parse_numbers.h
	* include/bits/postypes.h
	* include/bits/quoted_string.h
	* include/bits/range_access.h
	* include/bits/ranges_base.h
	* include/bits/refwrap.h
	* include/bits/sat_arith.h
	* include/bits/semaphore_base.h
	* include/bits/slice_array.h
	* include/bits/std_abs.h
	* include/bits/std_function.h
	* include/bits/std_mutex.h
	* include/bits/std_thread.h
	* include/bits/stl_iterator_base_funcs.h
	* include/bits/stl_iterator_base_types.h
	* include/bits/stl_tree.h
	* include/bits/stream_iterator.h
	* include/bits/streambuf_iterator.h
	* include/bits/stringfwd.h
	* include/bits/this_thread_sleep.h
	* include/bits/unique_lock.h
	* include/bits/uses_allocator_args.h
	* include/bits/utility.h
	* include/bits/valarray_after.h
	* include/bits/valarray_array.h
	* include/bits/valarray_before.h
	* include/bits/version.h
	* include/c_compatibility/fenv.h
	* include/c_compatibility/inttypes.h
	* include/c_compatibility/stdint.h
	* include/decimal/decimal.h
	* include/experimental/bits/net.h
	* include/experimental/bits/shared_ptr.h
	* include/ext/aligned_buffer.h
	* include/ext/alloc_traits.h
	* include/ext/atomicity.h
	* include/ext/concurrence.h
	* include/ext/numeric_traits.h
	* include/ext/pod_char_traits.h
	* include/ext/pointer.h
	* include/ext/stdio_filebuf.h
	* include/ext/stdio_sync_filebuf.h
	* include/ext/string_conversions.h
	* include/ext/type_traits.h
	* include/ext/vstring.h
	* include/ext/vstring_fwd.h
	* include/ext/vstring_util.h
	* include/parallel/algorithmfwd.h
	* include/parallel/numericfwd.h
	* include/tr1/functional_hash.h
	* include/tr1/hashtable.h
	* include/tr1/random.h
	* libsupc++/exception.h
	* libsupc++/hash_bytes.h
	* include/bits/basic_ios.tcc
	* include/bits/basic_string.tcc
	* include/bits/fstream.tcc
	* include/bits/istream.tcc
	* include/bits/locale_classes.tcc
	* include/bits/locale_facets.tcc
	* include/bits/locale_facets_nonio.tcc
	* include/bits/ostream.tcc
	* include/bits/sstream.tcc
	* include/bits/streambuf.tcc
	* include/bits/string_view.tcc
	* include/bits/version.tpl
	* include/experimental/bits/string_view.tcc
	* include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
	* include/ext/random.tcc
	* include/ext/vstring.tcc
	* include/tr2/bool_set.tcc
	* include/tr2/dynamic_bitset.tcc
	* include/bits/c++config
	* include/c/cassert
	* include/c/cctype
	* include/c/cerrno
	* include/c/cfloat
	* include/c/ciso646
	* include/c/climits
	* include/c/clocale
	* include/c/cmath
	* include/c/csetjmp
	* include/c/csignal
	* include/c/cstdarg
	* include/c/cstddef
	* include/c/cstdio
	* include/c/cstdlib
	* include/c/cstring
	* include/c/ctime
	* include/c/cuchar
	* include/c/cwchar
	* include/c/cwctype
	* include/c_global/cassert
	* include/c_global/ccomplex
	* include/c_global/cctype
	* include/c_global/cerrno
	* include/c_global/cfenv
	* include/c_global/cfloat
	* include/c_global/cinttypes
	* include/c_global/ciso646
	* include/c_global/climits
	* include/c_global/clocale
	* include/c_global/cmath
	* include/c_global/csetjmp
	* include/c_global/csignal
	* include/c_global/cstdalign
	* include/c_global/cstdarg
	* include/c_global/cstdbool
	* include/c_global/cstddef
	* include/c_global/cstdint
	* include/c_global/cstdio
	* include/c_global/cstdlib
	* include/c_global/cstring
	* include/c_global/ctgmath
	* include/c_global/ctime
	* include/c_global/cuchar
	* include/c_global/cwchar
	* include/c_global/cwctype
	* include/c_std/cassert
	* include/c_std/cctype
	* include/c_std/cerrno
	* include/c_std/cfloat
	* include/c_std/ciso646
	* include/c_std/climits
	* include/c_std/clocale
	* include/c_std/cmath
	* include/c_std/csetjmp
	* include/c_std/csignal
	* include/c_std/cstdarg
	* include/c_std/cstddef
	* include/c_std/cstdio
	* include/c_std/cstdlib
	* include/c_std/cstring
	* include/c_std/ctime
	* include/c_std/cuchar
	* include/c_std/cwchar
	* include/c_std/cwctype
	* include/debug/array
	* include/debug/bitset
	* include/debug/deque
	* include/debug/forward_list
	* include/debug/list
	* include/debug/map
	* include/debug/set
	* include/debug/string
	* include/debug/unordered_map
	* include/debug/unordered_set
	* include/debug/vector
	* include/decimal/decimal
	* include/experimental/algorithm
	* include/experimental/any
	* include/experimental/array
	* include/experimental/buffer
	* include/experimental/chrono
	* include/experimental/contract
	* include/experimental/deque
	* include/experimental/executor
	* include/experimental/filesystem
	* include/experimental/forward_list
	* include/experimental/functional
	* include/experimental/internet
	* include/experimental/io_context
	* include/experimental/iterator
	* include/experimental/list
	* include/experimental/map
	* include/experimental/memory
	* include/experimental/memory_resource
	* include/experimental/net
	* include/experimental/netfwd
	* include/experimental/numeric
	* include/experimental/propagate_const
	* include/experimental/ratio
	* include/experimental/regex
	* include/experimental/scope
	* include/experimental/set
	* include/experimental/socket
	* include/experimental/string
	* include/experimental/string_view
	* include/experimental/synchronized_value
	* include/experimental/system_error
	* include/experimental/timer
	* include/experimental/tuple
	* include/experimental/type_traits
	* include/experimental/unordered_map
	* include/experimental/unordered_set
	* include/experimental/vector
	* include/ext/algorithm
	* include/ext/cmath
	* include/ext/functional
	* include/ext/iterator
	* include/ext/memory
	* include/ext/numeric
	* include/ext/random
	* include/ext/rb_tree
	* include/ext/rope
	* include/parallel/algorithm
	* include/std/algorithm
	* include/std/any
	* include/std/array
	* include/std/atomic
	* include/std/barrier
	* include/std/bit
	* include/std/bitset
	* include/std/charconv
	* include/std/chrono
	* include/std/codecvt
	* include/std/complex
	* include/std/concepts
	* include/std/condition_variable
	* include/std/coroutine
	* include/std/deque
	* include/std/execution
	* include/std/expected
	* include/std/filesystem
	* include/std/format
	* include/std/forward_list
	* include/std/fstream
	* include/std/functional
	* include/std/future
	* include/std/generator
	* include/std/iomanip
	* include/std/ios
	* include/std/iosfwd
	* include/std/iostream
	* include/std/istream
	* include/std/iterator
	* include/std/latch
	* include/std/limits
	* include/std/list
	* include/std/locale
	* include/std/map
	* include/std/memory
	* include/std/memory_resource
	* include/std/mutex
	* include/std/numbers
	* include/std/numeric
	* include/std/optional
	* include/std/ostream
	* include/std/print
	* include/std/queue
	* include/std/random
	* include/std/ranges
	* include/std/ratio
	* include/std/regex
	* include/std/scoped_allocator
	* include/std/semaphore
	* include/std/set
	* include/std/shared_mutex
	* include/std/span
	* include/std/spanstream
	* include/std/sstream
	* include/std/stack
	* include/std/stacktrace
	* include/std/stdexcept
	* include/std/streambuf
	* include/std/string
	* include/std/string_view
	* include/std/syncstream
	* include/std/system_error
	* include/std/text_encoding
	* include/std/thread
	* include/std/tuple
	* include/std/type_traits
	* include/std/typeindex
	* include/std/unordered_map
	* include/std/unordered_set
	* include/std/utility
	* include/std/valarray
	* include/std/variant
	* include/std/vector
	* include/std/version
	* include/tr1/array
	* include/tr1/cfenv
	* include/tr1/cinttypes
	* include/tr1/cmath
	* include/tr1/complex
	* include/tr1/cstdbool
	* include/tr1/cstdint
	* include/tr1/cstdio
	* include/tr1/cstdlib
	* include/tr1/cwchar
	* include/tr1/cwctype
	* include/tr1/functional
	* include/tr1/memory
	* include/tr1/random
	* include/tr1/regex
	* include/tr1/tuple
	* include/tr1/type_traits
	* include/tr1/unordered_map
	* include/tr1/unordered_set
	* include/tr1/utility
	* include/tr2/bool_set
	* include/tr2/dynamic_bitset
	* include/tr2/type_traits
	* libsupc++/atomic_lockfree_defines.h
	* libsupc++/compare
	* libsupc++/cxxabi.h
	* libsupc++/cxxabi_forced.h
	* libsupc++/cxxabi_init_exception.h
	* libsupc++/exception
	* libsupc++/initializer_list
	* libsupc++/new
	* libsupc++/typeinfo: Likewise.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc
	* testsuite/23_containers/array/tuple_interface/get_neg.cc
	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc
	* testsuite/24_iterators/operations/prev_neg.cc
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Adjust
	line numbers.

gcc/testsuite/ChangeLog

	* g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C
	* g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C
	* g++.dg/diagnostic/disable.C: #define _GLIBCXX_SYSHDR.
2024-09-25 08:20:45 -04:00
Jakub Jelinek a945c346f5 Update copyright years. 2024-01-03 12:19:35 +01:00
Jakub Jelinek 83ffe9cde7 Update copyright years. 2023-01-16 11:52:17 +01:00
Jonathan Wakely 4ceb5bc42d libstdc++: Enable constexpr std::bitset for debug mode
We already disable all debug mode checks for C++11 and later, so we can
easily make everything constexpr. This fixes the FAIL results for the
new tests when using -D_GLIBCXX_DEBUG.

Also fix some other tests failing with non-default test flags.

libstdc++-v3/ChangeLog:

	* include/debug/bitset (__debug::bitset): Add constexpr to all
	member functions.
	(operator&, operator|, operator^): Add inline and constexpr.
	(operator>>, operator<<): Add inline.
	* testsuite/20_util/bitset/access/constexpr.cc: Only check using
	constexpr std::string for the cxx11 ABI.
	* testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
	* testsuite/20_util/headers/bitset/synopsis.cc: Check constexpr
	for C++23.
2022-09-23 12:53:51 +01:00
Jakub Jelinek 7adcbafe45 Update copyright years. 2022-01-03 10:42:10 +01:00
Jakub Jelinek 99dee82307 Update copyright years. 2021-01-04 10:26:59 +01:00
Jonathan Wakely de1e3b8795 libstdc++: Fix ambiguous comparisons in __gnu_debug::bitset [PR 96303]
With -pedantic the debug mode bitset has an ambiguous equality
comparison operator, because it tries to compare the non-debug base to
the debug object. The base object can be converted to another debug
bitset, making the same operator== a candidate again.

The fix is to do the comparison on both base objects, so the operator
for the derived type isn't a candidate.

For the inequality operator the same change should be done, but that
operator can be removed entirely for C++20 because it can be synthesized
by the compiler.

I don't think either equality or inequality operators are really needed,
because the public _GLIBCXX_STD_C::bitset base class cam always be
compared using its own comparison operators. I'm not changing that here
though.

libstdc++-v3/ChangeLog:

	PR libstdc++/96303
	* include/debug/bitset (bitset::operator==): Call _M_base() on
	right operand.
	(bitset::operator!=): Likewise, but don't define it at all when
	default comparisons are supported by the compiler.
	* testsuite/23_containers/bitset/operations/96303.cc: New test.
2020-08-07 20:29:11 +01:00
Jakub Jelinek 8d9254fc8a Update copyright years.
From-SVN: r279813
2020-01-01 12:51:42 +01:00
Jakub Jelinek a554497024 Update copyright years.
From-SVN: r267494
2019-01-01 13:31:55 +01:00
Jakub Jelinek 85ec4feb11 Update copyright years.
From-SVN: r256169
2018-01-03 11:03:58 +01:00
Jakub Jelinek cbe34bb5ed Update copyright years.
From-SVN: r243994
2017-01-01 13:07:43 +01:00
François Dumont 5d04532430 bitset (bitset::reference::reference(const _Base_ref&, bitset*)): Remove __unused__ attribute.
2016-09-25  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/bitset (bitset::reference::reference(const _Base_ref&,
	bitset*)): Remove __unused__ attribute.
	* include/debug/safe_base.h (_Safe_iterator_base): Make
	_Safe_sequence_base a friend.
	(_Safe_iterator_base::_M_attach): Make protected.
	(_Safe_iterator_base::_M_attach_single): Likewise.
	(_Safe_iterator_base::_M_detach): Likewise.
	(_Safe_iterator_base::_M_detach_single): Likewise.
	(_Safe_sequence_base): Make _Safe_iterator_base a friend.
	(_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
	(_Safe_sequence_base::_M_swap): Make protected.
	(_Safe_sequence_base::_M_attach): Make private.
	(_Safe_sequence_base::_M_attach_single): Likewise.
	(_Safe_sequence_base::_M_detach): Likewise.
	(_Safe_sequence_base::_M_detach_single): Likewise.
	* include/debug/safe_container.h
	(_Safe_container::_Safe_container(_Safe_container&&)): Make default.
	* include/debug/safe_iterator.h
	(_Safe_iterator::operator++()): Name __scoped_lock instance.
	* include/debug/safe_iterator.tcc: Remove trailing line.
	* include/debug/safe_unordered_base.h
	(_Safe_local_iterator_base::_M_attach): Make protected.
	(_Safe_local_iterator_base::_M_attach_single): Likewise.
	(_Safe_local_iterator_base::_M_detach): Likewise.
	(_Safe_local_iterator_base::_M_detach_single): Likewise.
	(_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
	(_Safe_unordered_container_base::_M_attach_local): Make private.
	(_Safe_unordered_container_base::_M_attach_local_single): Likewise.
	(_Safe_unordered_container_base::_M_detach_local): Likewise.
	(_Safe_unordered_container_base::_M_detach_local_single): Likewise.

From-SVN: r240478
2016-09-25 20:15:21 +00:00
Jonathan Wakely 4f5f9962c8 Replace references to C++0x with C++11 in comments
* include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
	* include/bits/move.h: Likewise.
	* include/bits/postypes.h: Likewise.
	* include/debug/bitset: Likewise.
	* include/ext/pb_ds/detail/type_utils.hpp: Likewise.
	* include/ext/string_conversions.h: Change C++0x to __cxx11 in
	comment.
	* testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
	* testsuite/util/thread/all.h: Likewise.

From-SVN: r238402
2016-07-15 21:23:08 +01:00
Jonathan Wakely 541a9b104b libstdc++/71073 add system_header pragma to Debug Mode headers
PR libstdc++/71073
	* include/debug/bitset: Add #pragma GCC system_header.
	* include/debug/deque: Likewise.
	* include/debug/list: Likewise.
	* include/debug/map: Likewise.
	* include/debug/set: Likewise.
	* include/debug/string: Likewise.
	* include/debug/unordered_map: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/vector: Likewise.
	* include/debug/functions.h: Adjust whitespace.

From-SVN: r236211
2016-05-13 15:47:46 +01:00
Jakub Jelinek 818ab71a41 Update copyright years.
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Jakub Jelinek 5624e564d2 Update copyright years.
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Richard Sandiford aa118a03c4 Update copyright years in libstdc++-v3/
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Richard Sandiford 405feeb871 Update copyright in libstdc++-v3.
From-SVN: r195701
2013-02-03 17:54:05 +00:00
Jason Merrill 734f50238f * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
From-SVN: r193392
2012-11-10 12:27:22 -05:00
Paolo Carlini fc09e5b6bd bitset (operator[](size_t) const): Declare constexpr.
2011-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (operator[](size_t) const): Declare constexpr.
	* include/profile/bitset: Likewise.
	* testsuite/23_containers/bitset/operations/constexpr.cc: Split out
	non portable bits to...
	* testsuite/23_containers/bitset/operations/constexpr-2.cc: ... here.

From-SVN: r181506
2011-11-19 11:50:44 +00:00
Paolo Carlini 72f1c34bd4 hash-long-double-aux.cc: Rename to...
2011-11-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/hash-long-double-aux.cc: Rename to...
	* src/hash-long-double-tr1-aux.cc: ... this.
	* src/compatibility-ldbl.cc: Adjust.
	* src/hash_tr1.cc: Likewise.
	* src/hash_c++0x.cc: Don't use src/hash-long-double-aux.cc.
	* include/bits/functional_hash.h (hash<_Tp*>::operator(), specs
	for integer types, hash<float>::operator(), hash<double>::operator(),
	hash<long double>::operator()): Declare noexcept.
	* include/debug/bitset (hash<__debug::bitset>::operator()): Likewise.
	* include/debug/vector (hash<__debug::vector>::operator()): Likewise.
	* include/std/system_error (hash<error_code>::operator()): Likewise.
	* include/std/thread (hash<thread::id>::operator()): Likewise.
	* include/std/bitset (hash<bitset>::operator()): Likewise.
	* include/std/typeindex (hash<type_index>::operator()): Likewise.
	* include/profile/bitset (hash<__profile::vector>::operator()):
	Likewise.
	* include/profile/vector (hash<__profile::vector>::operator()):
	Likewise.
	* include/ext/vstring.h (hash<__vstring>::operator(),
	hash<__wvstring>::operator(), hash<__u16vstring>::operator(),
	hash<__u32vstring>::operator()): Likewise.
	* include/bits/shared_ptr.h (hash<shared_ptr>::operator()): Likewise.
	* include/bits/shared_ptr_base.h (hash<__shared_ptr>::operator()):
	Likewise.
	* include/bits/unique_ptr.h (hash<unique_ptr>::operator()): Likewise.
	* include/bits/basic_string.h (hash<string>::operator(),
	hash<wstring>::operator(), hash<u16string>::operator(),
	hash<u32string>::operator()): Likewise.
	* include/bits/vector.tcc (hash<vector>::operator()): Likewise.
	* include/bits/stl_bvector.h (hash<vector>::operator()): Likewise.
	* libsupc++/typeinfo (type_info::hash_code): Use noexcept instead of
	throw().

From-SVN: r181473
2011-11-18 12:37:06 +00:00
Paolo Carlini 5d861bf2cb initializer_list: Use noexcept specifier.
2011-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* libsupc++/initializer_list: Use noexcept specifier.
	(initializer_list<>::size, begin, end): Qualify as const.
	* include/bits/move.h (__addressof, forward, move, addressof): Specify
	as noexcept.
	* include/std/bitset: Use noexcept specifier throughout.
	* include/debug/bitset: Update.
	* include/profile/bitset: Likewise.

From-SVN: r173871
2011-05-18 18:05:17 +00:00
Benjamin Kosnik 12ffa22844 PR libstdc++/36104 part four
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.

From-SVN: r169421
2011-01-30 22:39:36 +00:00
François Dumont c5589aa7e1 bitset (bitset<>::reference): Clean code, use normal reference type in experimental mode.
2010-11-27  François Dumont  <francois.cppdevs@free.fr>

        * include/debug/bitset (bitset<>::reference): Clean code, use normal 
        reference type in experimental mode.
        * testsuite/23_containers/bitset/debug/invalid/1.cc: Fix for
        experimental mode.

From-SVN: r167196
2010-11-27 10:04:19 +00:00
Paolo Carlini 17e3f4aa17 bitset: Do not derive from _Safe_sequence_base in C++0x mode...
2010-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset: Do not derive from _Safe_sequence_base in
	C++0x mode, otherwise std::bitset isn't a literal type anymore;
	adjust everywhere.

	* include/debug/bitset (bitset<>::bitset(), bitset<>::
	bitset(unsigned long long)):  Add missing constexpr specifier.

From-SVN: r166416
2010-11-07 15:15:28 +00:00
Paolo Carlini a0a2a39912 [multiple changes]
2010-10-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/23_containers/bitset/cons/2.cc: Tweak.

2010-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::bitset(const _CharT*,
	typename std::basic_string<>::size_type, _CharT, _CharT)):
	Implement new proposed resolution for DR 1325.
	* include/debug/bitset: Likewise.
	* include/profile/bitset: Likewise.
	* testsuite/23_containers/bitset/cons/dr1325-1.cc: New.
	* testsuite/23_containers/bitset/cons/dr1325-2.cc: Likewise.

From-SVN: r165338
2010-10-11 22:32:01 +00:00
Paolo Carlini 5d64ee190c functional_hash.h (__hash_base): Add.
2010-09-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (__hash_base): Add.
	(hash): Derive from __hash_base instead.
	* include/debug/bitset (hash): Likewise.
	* include/debug/vector (hash): Likewise.
	* include/std/system_error (hash): Likewise.
	* include/std/thread (hash): Likewise.
	* include/std/bitset (hash): Likewise.
	* include/profile/bitset (hash): Likewise.
	* include/profile/vector (hash): Likewise.
	* include/bits/basic_string.h (hash): Likewise.
	* include/bits/stl_bvector.h (hash): Likewise.
	* include/std/typeindex (hash): Do not derive from unary_function,
	add result_type and argument_type typedefs; trim includes.

From-SVN: r164528
2010-09-22 17:50:36 +00:00
Paolo Carlini 95addb1b84 bitset (hash): Minor tweaks.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (hash): Minor tweaks.
	* include/debug/vector (hash): Likewise.
	* include/profile/bitset (hash): Likewise.
	* include/profile/vector (hash): Likewise.

From-SVN: r157186
2010-03-03 02:01:56 +00:00
Paolo Carlini 4cd533a7c7 stl_bvector.h (hash<vector<bool, _Alloc>>): Add.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_bvector.h (hash<vector<bool, _Alloc>>): Add.
	* include/debug/vector (hash<__debug::vector<bool, _Alloc>>):
	Likewise.
	* include/profile/vector (hash<__profile::vector<bool, _Alloc>>):
	Likewise.
	* testsuite/23_containers/vector/bool/hash/1.cc: New.

	* include/std/bitset (hash<bitset<_Nb>>): Small tweaks.
	(hash<bitset<0>>): Add.
	* include/debug/bitset (hash<__debug::bitset<_Nb>>): Forward to
	hash<bitset<_Nb>>.
	* include/profile/bitset (hash<__profile::bitset<_Nb>>): Likewise.
	* testsuite/23_containers/bitset/hash/1.cc: Improve.

From-SVN: r157176
2010-03-02 21:11:19 +00:00
Paolo Carlini ec7058d64d bitset (_Base_bitset<>::_M_getdata()): Add.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (_Base_bitset<>::_M_getdata()): Add.
	(hash<_GLIBCXX_STD_D::bitset<_Nb>>): Add, use the latter.
	* include/debug/bitset (hash<std::__debug::bitset<_Nb>>): Add.
	* include/profile/bitset (hash<std::__profile::bitset<_Nb>>): Likewise.
	* testsuite/23_containers/bitset/hash/1.cc: New.

From-SVN: r157165
2010-03-02 14:08:52 +00:00
Paolo Carlini eb07a8f567 bitset (bitset<>::bitset(unsigned long long)): Add in C++0x mode.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/bitset (bitset<>::bitset(unsigned long long)): Add
	in C++0x mode.
	* include/debug/bitset (bitset<>::bitset(unsigned long long)): 
	Likewise.

From-SVN: r155589
2010-01-03 16:17:44 +00:00
Paolo Carlini 700d289947 bitset (bitset<>::to_ullong, [...]): Add.
2009-12-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::to_ullong, _M_do_to_ullong): Add.
	(_Base_bitset<>::_M_do_to_ullong): Add.
	* include/debug/bitset (bitset<>): Add using _Base::to_ullong.
	* include/profile/bitset (bitset<>): Likewise.
	* testsuite/23_containers/bitset/to_ullong/1.cc: New.

From-SVN: r155504
2009-12-29 12:24:36 +00:00
Paolo Carlini 2838468cc3 bitset (bitset<>::bitset(const char*)): Add.
2009-12-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (bitset<>::bitset(const char*)): Add.
	* include/profile/bitset (bitset<>::bitset(const char*)): Likewise.

From-SVN: r155498
2009-12-29 00:29:12 +00:00
Benjamin Kosnik 1ceb9e066c bitset: Add doxygen markup.
2009-11-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/debug/bitset: Add doxygen markup.
	* include/debug/deque: Same.
	* include/debug/list: Same.
	* include/debug/map.h: Same.
	* include/debug/multimap.h: Same.
	* include/debug/set.h: Same.
	* include/debug/multiset.h: Same.
	* include/debug/unordered_map: Same.
	* include/debug/unordered_set: Same.
	* include/debug/string: Same.
	* include/debug/vector: Same.

From-SVN: r154268
2009-11-17 20:38:33 +00:00
Jakub Jelinek 748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Paolo Carlini c32f57c054 PR libstdc++/38244 (cont, debug bits)
2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38244 (cont, debug bits)
	* include/debug/bitset (bitset<>::bitset(const char*, char, char)):
	Remove, do not implement DR 778.

From-SVN: r142153
2008-11-24 11:19:39 +00:00
Paolo Carlini 19a6a2ea61 bitset: Adjust comment to reflect DR 853.
2008-09-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset: Adjust comment to reflect DR 853.
	* include/debug/bitset: Likewise.
	* doc/xml/manual/intro.xml: Add an entry for DR 853.

From-SVN: r140637
2008-09-24 17:49:21 +00:00
Paolo Carlini 47cd155763 Implement DR 396 [Ready].
2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

	Implement DR 396 [Ready].
	* include/std/bitset (bitset<>::bitset(const std::basic_string<>&,
	size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
	char, char), bitset<>::to_string(_CharT, _CharT),
	bitset<>::_M_copy_from_string(const std::basic_string<>&, size_t,
	size_t, _CharT, _CharT), bitset<>::_M_copy_to_string
	(std::basic_string<>&, _CharT, _CharT), bitset<>::_M_copy_from_ptr(
	const _CharT*, size_t, size_t, size_t, _CharT, _CharT)): Add.
	(operator>>(std::basic_istream<>&, bitset<_Nb>&), operator<<(
	std::basic_ostream<>&, const bitset<_Nb>&)): Adjust.
	* include/debug/bitset (bitset<>::bitset(const std::basic_string<>&,
	size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
	char, char), bitset<>::to_string(_CharT, _CharT)): Add.
	* doc/xml/manual/intro.xml: Add an entry for DR 396.
	* testsuite/23_containers/bitset/cons/dr396.cc: Add.
	* testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.

From-SVN: r140607
2008-09-23 18:14:24 +00:00
Paolo Carlini 37f449aa3b bitset (bitset(const char*)): Implement DR 778 in debug-mode too.
2008-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (bitset(const char*)): Implement DR 778
	in debug-mode too.

	* include/bits/cpp_type_traits.h (__is_integer): In C++0x mode
	deal with char16_t and char32_t.

From-SVN: r136158
2008-05-29 11:42:08 +00:00
Paolo Carlini b96817da11 bitset (bitset<>::all): Add, per DR 693 [Ready].
2007-11-23  Paolo Carlini  <pcarlini@suse.de>

	* include/std/bitset (bitset<>::all): Add, per DR 693 [Ready].
	(_Base_bitset<>::_M_are_all_aux()): Add.
	* include/debug/bitset (bitset<>::all): Add.
	* testsuite/23_containers/bitset/all/1.cc: New.
	* docs/html/ext/howto.html: Add an entry for DR 693.
	
	* include/std/bitset (bitset<0>::set, reset, flip, test): Remove,
	not necessary anymore.

From-SVN: r130384
2007-11-23 22:14:56 +00:00
c2ba97097b Add parallel mode.
2007-09-11  Johannes Singler  <singler@ira.uka.de>
	    Leonor Frias Moya  <lfrias@lsi.upc.edu>
            Felix Putze  <kontakt@felix-putze.de>
            Marius Elvert  <marius.elvert@ira.uka.de>
	    Felix Bondarenko  <f.bondarenko@web.de>
	    Robert Geisberger  <robert.geisberger@stud.uni-karlsruhe.de>
	    Robin Dapp  <r.dapp@freenet.de>
  	    Benjamin Kosnik  <bkoz@redhat.com>

	Add parallel mode.
	* include/parallel: New.
	* include/parallel/iterator.h: New.
	* include/parallel/multiway_merge.h: New.
	* include/parallel/parallel.h: New.
	* include/parallel/algorithm
	* include/parallel/find_selectors.h: New.
	* include/parallel/losertree.h: New.
	* include/parallel/list_partition.h: New.
	* include/parallel/types.h: New.
	* include/parallel/for_each.h: New.
	* include/parallel/multiseq_selection.h: New.
	* include/parallel/workstealing.h: New.
	* include/parallel/base.h: New.
	* include/parallel/par_loop.h: New.
	* include/parallel/numeric
	* include/parallel/features.h: New.
	* include/parallel/quicksort.h: New.
	* include/parallel/algorithmfwd.h: New.
	* include/parallel/equally_split.h: New.
	* include/parallel/compiletime_settings.h: New.
	* include/parallel/for_each_selectors.h: New.
	* include/parallel/basic_iterator.h: New.
	* include/parallel/omp_loop_static.h: New.
	* include/parallel/random_shuffle.h: New.
	* include/parallel/balanced_quicksort.h: New.
	* include/parallel/set_operations.h: New.
	* include/parallel/tags.h: New.
	* include/parallel/merge.h: New.
	* include/parallel/tree.h: New.
	* include/parallel/settings.h: New.
	* include/parallel/unique_copy.h: New.
	* include/parallel/multiway_mergesort.h: New.
	* include/parallel/numericfwd.h: New.
	* include/parallel/search.h: New.
	* include/parallel/partition.h: New.
	* include/parallel/compatibility.h: New.
	* include/parallel/algobase.h: New.
	* include/parallel/find.h: New.
	* include/parallel/partial_sum.h: New.
	* include/parallel/algo.h: New.
	* include/parallel/omp_loop.h: New.
	* include/parallel/queue.h: New.
	* include/parallel/timing.h: New.
	* include/parallel/sort.h: New.
	* include/parallel/checkers.h: New.
	* include/parallel/random_number.h: New.
	* include/bits/algorithmfwd.h: New.

	* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): New.
	* configure.host: Add atomic_flags.
	* configure.ac: Export ATOMIC_FLAGS, call GLIBCXX_ENABLE_PARALLEL.
	* src/Makefile.am: Add parallel_list rules.
	* include/Makefile.am: Add parallel files.
	* testsuite/Makefile.am (check-parallel): Add.
	(check-performance-parallel): Add.
	* config.h.in: Regenerate.
	* configure: Same.
	* libsupc++/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* include/Makefile.in: Same.
	* src/Makefile.in: Same.
	* po/Makefile.in: Same.
	
	* config/abi/pre/gnu.ver: Export parallel list bits.

	* docs/html/parallel_mode.html: New.
	* docs/html/documentation.html: Add link.
	* docs/doxygen/user.cfg.in: Adjust for new files and directory.
	* docs/doxygen/doxygroups.cc: Adjust namespace markup.

	* include/debug/set.h: Adjust for _GLIBCXX_STD_D or _P change.
	* include/debug/bitset: Same.
	* include/debug/multiset.h: Same.
	* include/debug/vector: Same.
	* include/debug/map.h: Same.
	* include/debug/deque: Same.
	* include/debug/list: Same.
	* include/debug/debug.h: Same.
	* include/debug/multimap.h: Same.
	* include/std/algorithm: Same.
	* include/std/numeric: Same.
	* include/std/bitset: Same.
	* include/std/string: Same.
	* include/ext/hash_map: Same.
	* include/ext/hash_set: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/c++config: Same.
	* include/bits/vector.tcc: Same.
	* include/bits/deque.tcc: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/list.tcc: Same.
	* src/list.cc: Same.
	* src/parallel_list.cc: New.

	* testsuite/lib/libstdc++.exp (check_v3_target_parallel_mode): New.
	* testsuite/lib/dg-options.exp (dg-require-parallel-mode): New.
	* scripts/testsuite_flags.in (--cxxparallelflags): New.
	* scripts/check_performance: Adjust.
	* testsuite/25_algorithms/headers/parallel_algorithm.cc: New.
	* testsuite/25_algorithms/headers/algorithm_parallel_mode.cc: New.
	* testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc: New.
	* testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc: New.
	* testsuite/26_numerics/headers/numeric/parallel_numeric.cc: New.
	* testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc: New.
	* testsuite/26_numerics/headers/numeric/
	parallel_numeric_mixed1.cc: New.
	* testsuite/26_numerics/headers/numeric/
	parallel_numeric_mixed2.cc: New.
	

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
Co-Authored-By: Felix Bondarenko <f.bondarenko@web.de>
Co-Authored-By: Felix Putze <kontakt@felix-putze.de>
Co-Authored-By: Leonor Frias Moya <lfrias@lsi.upc.edu>
Co-Authored-By: Marius Elvert <marius.elvert@ira.uka.de>
Co-Authored-By: Robert Geisberger <robert.geisberger@stud.uni-karlsruhe.de>
Co-Authored-By: Robin Dapp <r.dapp@freenet.de>

From-SVN: r128395
2007-09-11 22:32:51 +00:00
Benjamin Kosnik 78a5388739 throw_allocator.h: Consistent @file markup.
2006-11-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/throw_allocator.h: Consistent @file markup.
	* include/ext/type_traits.h: Same.
	* include/debug/hash_map: Same.
	* include/debug/hash_multimap.h: Same.
	* include/debug/set.h: Same.
	* include/debug/hash_set.h: Same.
	* include/debug/formatter.h: Same.
	* include/debug/bitset: Same.
	* include/debug/set: Same.
	* include/debug/multiset.h: Same.
	* include/debug/safe_sequence.h: Same.
	* include/debug/hash_set: Same.
	* include/debug/functions.h: Same.
	* include/debug/safe_base.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/safe_iterator.tcc: Same.
	* include/debug/vector: Same.
	* include/debug/map.h: Same.
	* include/debug/deque: Same.
	* include/debug/hash_map.h: Same.
	* include/debug/string: Same.
	* include/debug/macros.h: Same.
	* include/debug/list: Same.
	* include/debug/debug.h: Same.
	* include/debug/map: Same. 
	* include/debug/safe_iterator.h: Same.
	* include/debug/multimap.h: Same.
	* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
	* config/cpu/generic/atomicity_builtins/atomicity.h: Same.
	* config/cpu/generic/atomic_word.h: Same.
	* include/tr1/memory: Same.
	* include/tr1/random: Same.	
	* include/std/std_queue.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_deque.h: Same.
	* include/std/std_utility.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_string.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_map.h: Same.
	* libsupc++/typeinfo: Same.
	* libsupc++/exception: Same.
	* libsupc++/exception_defines.h: Same.
	* libsupc++/new: Same.
	
	* include/ext/bitmap_allocator.h: Change namespace __balloc to
	__detail.
	* src/bitmap_allocator.cc: Same.
	
	* include/bits/cpp_type_traits.h: Change __true_type and
	__false_type from global to namespace std scope.
	* include/ext/slist: Same.
	* include/ext/vstring.h: Same.
	* include/ext/vstring.tcc: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/sso_string_base.h: Same.

	* include/bits/codecvt.h: Adjust markup so that correct namespace
	scope information is in all files.
	* include/bits/locale_facets.h: Same. Include ctype_base directly.
	* config/os/windiss/ctype_base.h: Add in namespace markup.
	* config/os/newlib/ctype_base.h: Same.
	* config/os/aix/ctype_base.h: Same.
	* config/os/vxworks/ctype_base.h: Same.
	* config/os/hpux/ctype_base.h: Same.
	* config/os/mingw32/ctype_base.h: Same.
	* config/os/gnu-linux/ctype_base.h: Same.
	* config/os/tpf/ctype_base.h: Same.
	* config/os/uclibc/ctype_base.h: Same.
	* config/os/djgpp/ctype_base.h: Same.
	* config/os/qnx/qnx6.1/ctype_base.h: Same.
	* config/os/bsd/netbsd/ctype_base.h: Same.
	* config/os/bsd/darwin/ctype_base.h: Same.
	* config/os/bsd/freebsd/ctype_base.h: Same.
	* config/os/irix/irix5.2/ctype_base.h: Same.
	* config/os/irix/irix6.5/ctype_base.h: Same.
	* config/os/solaris/solaris2.5/ctype_base.h: Same.
	* config/os/solaris/solaris2.6/ctype_base.h: Same.
	* config/os/solaris/solaris2.7/ctype_base.h: Same.
	* config/os/generic/ctype_base.h: Same.
	* include/tr1/mu_iterate.h: Same.
	* include/tr1/tuple: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/tuple_defs.h: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_iterate.h: Same.
	
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Line
	number changes.	
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.

	* docs/doxygen/user.cfg.in: Update to doxygen 1.5.1.
	* docs/html/17_intro/license.html: Updated info for generated docs.
	* docs/doxygen/guide.html: Adjust.
	* docs/doxygen/run_doxygen: Adjust.
	* docs/doxygen/mainpage.html: Same.
	* docs/doxygen/doxygroups.cc: Same.
	* docs/doxygen/Intro.3: Same.
	* docs/doxygen/tables.html: Same.

From-SVN: r119334
2006-11-29 20:59:22 +00:00
Benjamin Kosnik 45f388bb44 c++config: Simplify debug namespaces.
2006-02-21  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Simplify debug namespaces.
	* include/ext/hash_set: Specialize insert_iterator after norm,
	debug containers have been (optionally) declared. Use nested
	namespaces.	
	* include/ext/hash_map: Same.
	* include/debug/hash_map.h (insert): Add specialization for value
	pointer types.
	* include/debug/hash_set.h (insert): Same.
	* include/debug/hash_multimap.h: Change __gnu_debug_def to __debug.
	* include/debug/set.h: Same.
	* include/debug/bitset: Same.
	* include/debug/multiset.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/vector: Same.
	* include/debug/map.h: Same.
	* include/debug/deque: Same.
	* include/debug/list: Same.
	* include/debug/multimap.h. Same.
	* include/debug/macros.h: Use __gnu_debug.
	* include/debug/debug.h: Same.
	* include/debug/formatter.h: Same.
	* include/debug/safe_sequence.h: Same.
	* include/debug/functions.h: Same.
	* include/debug/safe_base.h: Same.
	* include/debug/safe_iterator.h: Same.
	* include/debug/safe_iterator.tcc: Same.
	(_M_invalidate): Adjust compare order.
	* include/debug/string: Change std::__gnu_debug to __gnu_debug.
	* include/ext/hashtable.h: Formatting fixes.
	* include/bits/stl_map.h: Formatting fixes.		
	* src/compatibility.cc: Adjust compatibility symbols for old debug
	mode model.	
	* src/debug_list.cc: Tweak.
	* src/debug.cc: Adjust namespaces.
	* docs/html/debug_mode.html: Adjust namespace names.
	* testsuite/25_algorithms/heap/heap.cc: Restore _GLIBCXX_DEBUG
	macro guards, as count values differ when in debug mode.	
	* testsuite/23_containers/vector/26412.cc: Move to...
	* testsuite/23_containers/vector/26412-1.cc: ... here.
	* testsuite/23_containers/vector/26412-2.cc: Add.

	* include/ext/pb_assoc/detail/standard_policies.hpp
	(PB_ASSOC_HASH_NAMESPACE): Remove, use __gnu_cxx::hash_map and
	std::equal_to.

	* configure.ac (libtool_VERSION): To 6:8:0.
	* configure: Regenerate.
	* config/abi/pre/gnu.ver: Revert to exporting __gnu_debug symbols.
	(GLIBCXX_3.4.8): New.
	* testsuite/testsuite_abi.cc: Add GLIBCXX_3.4.8 to known versions.

From-SVN: r111356
2006-02-22 00:57:24 +00:00
Benjamin Kosnik 3cbc7af037 c++config: Add in revised namespace associations.
2005-12-18  Benjamin Kosnik  <bkoz@redhat.com>
	
	* include/bits/c++config: Add in revised namespace associations.
	_GLIBCXX_BEGIN_NAMESPACE: New macro.
	_GLIBCXX_END_NAMESPACE: Same.
	_GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
	_GLIBCXX_END_NESTED_NAMESPACE: Same.
	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
	* configure: Regenerated.
	* config.h.in: Same.
	* config/abi/pre/gnu-versioned-namespace.ver: New.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
	debug mode items. 
	* include/Makefile.am (${host_builddir}/c++config.h): Fill in
	values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
	* include/Makefile.in: Regnerate.
	* src/compatibility.cc: Alias new, nested definitions to exported
	symbols from non-nested __gnu_debug.
	* src/Makefile.am:  Add in ENABLE_SYMVERS_GNU_NAMESPACE.
	* src/Makefile.in: Regenerate.
	
	* docs/html/debug_mode.html: Revise for nested design.
	* docs/html/debug.html: Use debug qualifications instead of
	__gnu_debug.
	* docs/html/configopts.html: Revise documentation for
	--enable-symvers.
	
	* include/debug/formatter: Simplify namespace qualifications for
	current, nested-only reality. Add top-level namespace alias,
	namespace debug, for debug-mode containers.
	* include/debug/safe_iterator.h: Same.	
	* include/debug/set.h: Same.
	* include/debug/hash_multimap.h: Same.
	* include/debug/hash_set.h: Same.
	* include/debug/bitset
	* include/debug/safe_sequence.h: Same.
	* include/debug/multiset.h: Same.
	* include/debug/safe_base.h: Same.
	* include/debug/functions.h: Same.
	* include/debug/safe_iterator.tcc
	* include/debug/hash_multiset.h: Same.
	* include/debug/vector
	* include/debug/map.h: Same.
	* include/debug/deque
	* include/debug/hash_map.h: Same.
	* include/debug/string
	* include/debug/macros.h: Same.
	* include/debug/list
	* include/debug/debug.h: Same.
	* include/debug/multimap.h: Same.	
	* src/debug.cc: Same.
	* testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
	* testsuite/23_containers/vector/invalidation/2.cc: Same.
	* testsuite/23_containers/vector/invalidation/3.cc: Same.
	* testsuite/23_containers/vector/invalidation/4.cc: Same.
	* testsuite/23_containers/deque/invalidation/1.cc: Same.
	* testsuite/23_containers/deque/invalidation/2.cc: Same.
	* testsuite/23_containers/deque/invalidation/3.cc: Same.
	* testsuite/23_containers/deque/invalidation/4.cc: Same.
	* testsuite/23_containers/multiset/invalidation/1.cc: Same.
	* testsuite/23_containers/multiset/invalidation/2.cc: Same.
	* testsuite/23_containers/multimap/invalidation/1.cc: Same.
	* testsuite/23_containers/multimap/invalidation/2.cc: Same.
	* testsuite/23_containers/bitset/invalidation/1.cc: Same.
	* testsuite/23_containers/bitset/cons/16020.cc: Same.
	* testsuite/23_containers/bitset/operations/13838.cc: Same.
	* testsuite/23_containers/list/invalidation/1.cc: Same.
	* testsuite/23_containers/list/invalidation/2.cc: Same.
	* testsuite/23_containers/list/invalidation/3.cc: Same.
	* testsuite/23_containers/list/invalidation/4.cc: Same.
	* testsuite/23_containers/set/invalidation/1.cc: Same.
	* testsuite/23_containers/set/invalidation/2.cc: Same.
	* testsuite/23_containers/map/invalidation/1.cc: Same.
	* testsuite/23_containers/map/invalidation/2.cc: Same.
	* testsuite/23_containers/map/insert/16813.cc: Same.
	
	* include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
	friends.	
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/localefwd.h: Same.
	* include/bits/valarray_array.tcc: Same.
	* include/bits/valarray_after.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/locale_facets.tcc: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/stl_heap.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/atomicity.h: Same.
	* include/bits/stream_iterator.h: Same.
	* include/bits/concurrence.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_pair.h: Same.
	* include/bits/basic_ios.tcc: Same.
	* include/bits/stl_raw_storage_iter.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/postypes.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/stl_iterator_base_funcs.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stringfwd.h: Same.
	* include/bits/c++config
	* include/bits/stl_iterator.h: Same.
	* include/bits/valarray_array.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/vector.tcc: Same.
	* include/bits/deque.tcc: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/basic_string.tcc: Same.
	* include/bits/list.tcc: Same.
	* include/bits/streambuf_iterator.h: Same.
	* include/bits/valarray_before.h: Same.
	* include/bits/stl_construct.h: Same.
	* include/bits/stl_function.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/streambuf.tcc: Same.
	* include/bits/allocator.h: Same.
	* include/bits/stl_tree.h: Same.
	* include/bits/fstream.tcc: Same.
	* include/bits/stl_relops.h: Same.
	* include/bits/functexcept.h: Same.
	* include/std/std_valarray.h: Same.
	* include/std/std_iostream.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_iosfwd.h: Same.
	* include/std/std_iomanip.h: Same.
	* include/std/std_fstream.h: Same.
	* include/std/std_limits.h: Same.
	* include/std/std_stdexcept.h: Same.
	* include/std/std_istream.h: Same.
	* include/std/std_complex.h: Same.
	* include/std/std_memory.h: Same.
	* include/std/std_ostream.h: Same.
	* include/std/std_sstream.h: Same.
	* include/c_std/std_csignal.h: Same.
	* include/c_std/std_cstdlib.h: Same.
	* include/c_std/std_cstdio.h: Same.
	* include/c_std/std_cstdarg.h: Same.
	* include/c_std/std_cctype.h: Same.
	* include/c_std/std_cmath.h: Same.
	* include/c_std/std_ctime.h: Same.
	* include/c_std/std_clocale.h: Same.
	* include/c_std/std_csetjmp.h: Same.
	* include/c_std/std_cwchar.h: Same.
	* include/c_std/std_cstring.h: Same.
	* include/c_std/std_cstddef.h: Same.
	* include/c_std/std_cwctype.h: Same.
	* include/backward/iterator.h: Same.
	* include/backward/set.h: Same.
	* include/backward/hashtable.h: Same.
	* include/backward/fstream.h: Same.
	* include/backward/tempbuf.h: Same.
	* include/backward/istream.h: Same.
	* include/backward/bvector.h: Same.
	* include/backward/stack.h: Same.
	* include/backward/rope.h: Same.
	* include/backward/complex.h: Same.
	* include/backward/ostream.h: Same.
	* include/backward/heap.h: Same.
	* include/backward/iostream.h: Same.
	* include/backward/function.h: Same.
	* include/backward/multimap.h: Same.
	* include/backward/pair.h: Same.
	* include/backward/stream.h: Same.
	* include/backward/iomanip.h: Same.
	* include/backward/strstream
	* include/backward/slist.h: Same.
	* include/backward/tree.h: Same.
	* include/backward/vector.h: Same.
	* include/backward/deque.h: Same.
	* include/backward/multiset.h: Same.
	* include/backward/list.h: Same.
	* include/backward/map.h: Same.
	* include/backward/algobase.h: Same.
	* include/backward/hash_map.h: Same.
	* include/backward/algo.h: Same.
	* include/backward/queue.h: Same.
	* include/backward/streambuf.h: Same.
	* src/allocator-inst.cc: Same.
	* src/complex_io.cc: Same.
	* src/localename.cc: Same.
	* src/limits.cc: Same.
	* src/ios_failure.cc: Same.
	* src/locale-misc-inst.cc: Same.
	* src/streambuf-inst.cc: Same.
	* src/misc-inst.cc: Same.
	* src/concept-inst.cc: Same.
	* src/ios_locale.cc: Same.
	* src/pool_allocator.cc: Same.
	* src/fstream-inst.cc: Same.
	* src/istream-inst.cc: Same.
	* src/string-inst.cc: Same.
	* src/locale_init.cc: Same.
	* src/ctype.cc: Same.
	* src/strstream.cc: Same.
	* src/ostream-inst.cc: Same.
	* src/functexcept.cc: Same.
	* src/streambuf.cc: Same.
	* src/sstream-inst.cc: Same.
	* src/ios.cc: Same.
	* src/valarray-inst.cc: Same.
	* src/locale.cc: Same.
	* src/tree.cc: Same.
	* src/stdexcept.cc: Same.
	* src/istream.cc: Same.
	* src/compatibility.cc: Same.
	* src/locale-inst.cc: Same.
	* src/globals_io.cc: Same.
	* src/list.cc: Same.
	* src/ios_init.cc: Same.
	* src/locale_facets.cc: Same.
	* src/codecvt.cc: Same.

	* include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/tuple
	* include/tr1/hashtable
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/unordered_set
	* include/tr1/functional
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/utility
	* include/tr1/type_traits
	* include/tr1/array

	* include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
	* include/ext/typelist.h: Same.
	* include/ext/hash_map: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/iterator: Same.
	* include/ext/rb_tree: Same.
	* include/ext/numeric: Same.
	* include/ext/vstring.tcc: Same.
	* include/ext/sso_string_base.h: Same.
	* include/ext/stdio_filebuf.h: Same.
	* include/ext/algorithm: Same.
	* include/ext/codecvt_specializations.h: Same.
	* include/ext/new_allocator.h: Same.
	* include/ext/array_allocator.h: Same.
	* include/ext/vstring_util.h: Same.
	* include/ext/vstring_fwd.h: Same.
	* include/ext/mt_allocator.h: Same.
	* include/ext/debug_allocator.h: Same.
	* include/ext/slist: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/hash_fun.h: Same.
	* include/ext/malloc_allocator.h: Same.
	* include/ext/functional: Same.
	* include/ext/bitmap_allocator.h: Same.
	* include/ext/pod_char_traits.h: Same.
	* include/ext/vstring.h: Same.
	* include/ext/ropeimpl.h: Same.
	* include/ext/hash_set: Same.
	* include/ext/memory: Same.
	* include/ext/rope: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/concurrence.h: Same.
	* include/bits/atomicity.h: Same.
	* config/locale/gnu/numeric_members.cc: Same.
	* config/locale/gnu/collate_members.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/gnu/codecvt_members.cc: Same.
	* config/locale/gnu/messages_members.cc: Same.
	* config/locale/gnu/c_locale.h: Same.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/ieee_1003.1-2001/c_locale.h: Same.
	* config/locale/generic/numeric_members.cc: Same.
	* config/locale/generic/collate_members.cc: Same.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/generic/c_locale.cc: Same.
	* config/locale/generic/codecvt_members.cc: Same.
	* config/locale/generic/messages_members.cc: Same.
	* config/locale/generic/c_locale.h: Same.
	* config/locale/generic/monetary_members.cc: Same.
	* config/locale/generic/time_members.cc: Same.
	* config/os/aix/atomicity.h: Same.
	* config/os/irix/atomicity.h: Same.
	* config/cpu/powerpc/atomicity.h: Same.
	* config/cpu/cris/atomicity.h: Same.
	* config/cpu/ia64/atomicity.h: Same.
	* config/cpu/alpha/atomicity.h: Same.
	* config/cpu/m68k/atomicity.h: Same.
	* config/cpu/hppa/atomicity.h: Same.
	* config/cpu/mips/atomicity.h: Same.
	* config/cpu/sparc/atomicity.h: Same.
	* config/cpu/i386/atomicity.h: Same.
	* config/cpu/i486/atomicity.h: Same.
	* config/cpu/sh/atomicity.h: Same.
	* config/cpu/generic/atomicity.h: Same.
	* config/cpu/s390/atomicity.h: Same.
	* config/io/c_io_stdio.h: Same.
	* config/io/basic_file_stdio.cc: Same.
	* config/io/basic_file_stdio.h: Same.	
	* src/misc-inst.cc: Same.
	* src/concept-inst.cc: Same.
	* src/ext-inst.cc: Same.
	* src/string-inst.cc: Same.
	* src/pool_allocator.cc: Same.
	* src/bitmap_allocator.cc: Same.
	* src/mt_allocator.cc: Same.
	* libsupc++/exception: Same.
	* libsupc++/vterminate.cc: Same.
	* testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
	* testsuite/ext/hash_map/14648.cc: Same.	

	* libsupc++/eh_alloc.cc: Correct comment line spacing.

From-SVN: r108775
2005-12-19 00:56:05 +00:00
Kelley Cook 83f517994d All files: Update FSF address.
2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update FSF address.

From-SVN: r103192
2005-08-17 02:28:44 +00:00
Jonathan Wakely 48cf14eb9a DR 434.
DR 434. bitset::to_string() hard to use [Ready]
	* include/debug/bitset (to_string): Add three overloads, taking
	fewer template arguments.

From-SVN: r99433
2005-05-09 13:45:05 +01:00