Jakub Jelinek
99dee82307
Update copyright years.
2021-01-04 10:26:59 +01:00
Jonathan Wakely
74270a546c
libstdc++: Fix null pointer dereferences in __gnu_cxx::rope
...
This fixes UBsan errors like:
/usr/include/c++/10/ext/ropeimpl.h:593:9: runtime error: member access within null pointer of type 'struct _RopeRep'
/usr/include/c++/10/ext/ropeimpl.h:593:9: runtime error: member call on null pointer of type 'struct _Rope_rep_base'
/usr/include/c++/10/ext/rope:556:17: runtime error: reference binding to null pointer of type 'struct allocator_type'
/usr/include/c++/10/ext/ropeimpl.h:593:9: runtime error: reference binding to null pointer of type 'struct allocator_type'
/usr/include/c++/10/ext/rope:1700:30: runtime error: member call on null pointer of type 'struct new_allocator'
/usr/include/c++/10/ext/new_allocator.h:105:29: runtime error: member call on null pointer of type 'struct new_allocator'
/usr/include/c++/10/ext/rope:1702:26: runtime error: reference binding to null pointer of type 'const struct allocator'
/usr/include/c++/10/bits/allocator.h:148:34: runtime error: reference binding to null pointer of type 'const struct new_allocator'
/usr/include/c++/10/ext/rope:1664:39: runtime error: reference binding to null pointer of type 'const struct allocator'
/usr/include/c++/10/ext/rope:1665:9: runtime error: reference binding to null pointer of type 'const struct allocator_type'
/usr/include/c++/10/ext/rope:725:36: runtime error: reference binding to null pointer of type 'const struct allocator_type'
/usr/include/c++/10/ext/rope:614:64: runtime error: reference binding to null pointer of type 'const struct allocator_type'
The problem is calling r->_M_get_allocator() when r is null.
libstdc++-v3/ChangeLog:
* include/ext/rope (rope::_S_concat_char_iter)
(rope::_S_destr_concat_char_iter): Add allocator parameter.
(rope::push_back, rope::append, rope::insert, operator+):
Pass allocator.
* include/ext/ropeimpl.h (rope::_S_concat_char_iter)
(rope::_S_destr_concat_char_iter): Add allocator parameter
and use it.
(_Rope_char_ref_proxy::operator=(_CharT)): Pass allocator.
2020-12-02 12:29:00 +00:00
Jonathan Wakely
d38fbb5a86
libstdc++: Fix indentation in rope
...
libstdc++-v3/ChangeLog:
* include/ext/rope: Fix indentation of access specifiers.
2020-12-02 12:28:22 +00:00
Jonathan Wakely
d067bd7293
libstdc++: Do not use volatile for __gnu_cxx::rope reference counting
...
The rope extension uses a volatile variable for its reference count.
This is not only unnecessary for correctness (volatile provides neither
atomicity nor memory visibility, and the variable is only modified while
a lock is held) but it now causes deprecated warnings with
-Wsystem-headers due to the use of ++ and -- operators.
It would be possible to use __gnu_cxx::__exchange_and_add in _M_incr and
_M_decr when __atomic_is_lock_free(sizeof(_RC_t), &_M_ref_count) is
true, rather than locking a mutex. That would probably be a significant
improvement for multi-threaded and single-threaded code (because
__exchange_and_add will use non-atomic ops when possible, and even in MT
code it should be faster than the mutex lock/unlock pair). However,
mixing objects compiled with the old and new code would result in
inconsistent synchronization being used for the reference count.
libstdc++-v3/ChangeLog:
* include/ext/rope (_Refcount_Base::_M_ref_count): Remove
volatile qualifier.
(_Refcount_Base::_M_decr()): Likewise.
2020-10-29 14:47:17 +00:00
Jakub Jelinek
8d9254fc8a
Update copyright years.
...
From-SVN: r279813
2020-01-01 12:51:42 +01:00
Jonathan Wakely
2cae56bd61
Remove redundant std::allocator members for C++20
...
C++20 removes a number of std::allocator members that have correct
defaults provided by std::allocator_traits, so aren't needed.
Several extensions including __gnu_cxx::hash_map and tr1 containers are
no longer usable with std::allocator in C++20 mode. They need to be
updated to use __gnu_cxx::__alloc_traits in a follow-up patch.
* include/bits/alloc_traits.h
(allocator_traits<allocator<T>>::allocate): Ignore hint for C++20.
(allocator_traits<allocator<T>>::construct): Perform placement new
directly for C++20, instead of calling allocator<T>::construct.
(allocator_traits<allocator<T>>::destroy): Call destructor directly
for C++20, instead of calling allocator<T>::destroy.
(allocator_traits<allocator<T>>::max_size): Return value directly
for C++20, instead of calling std::allocator<T>::max_size().
(__do_alloc_on_copy, __do_alloc_on_move, __do_alloc_on_swap): Do not
define for C++17 and up.
(__alloc_on_copy, __alloc_on_move, __alloc_on_swap): Use if-constexpr
for C++17 and up, instead of tag dispatching.
* include/bits/allocator.h (allocator<void>): Remove for C++20.
(allocator::pointer, allocator::const_pointer, allocator::reference)
(allocator::const_reference, allocator::rebind): Remove for C++20.
* include/bits/basic_string.h (basic_string): Use __alloc_traits to
rebind allocator.
* include/bits/memoryfwd.h (allocator<void>): Remove for C++20.
* include/ext/debug_allocator.h: Use __alloc_traits for rebinding.
* include/ext/malloc_allocator.h (malloc_allocator::~malloc_allocator)
(malloc_allocator::pointer, malloc_allocator::const_pointer)
(malloc_allocator::reference, malloc_allocator::const_reference)
(malloc_allocator::rebind, malloc_allocator::max_size)
(malloc_allocator::construct, malloc_allocator::destroy): Do not
define for C++20.
(malloc_allocator::_M_max_size): Define new function.
* include/ext/new_allocator.h (new_allocator::~new_allocator)
(new_allocator::pointer, new_allocator::const_pointer)
(new_allocator::reference, new_allocator::const_reference)
(new_allocator::rebind, new_allocator::max_size)
(new_allocator::construct, new_allocator::destroy): Do not
define for C++20.
(new_allocator::_M_max_size): Define new function.
* include/ext/rc_string_base.h (__rc_string_base::_Rep): Use
__alloc_traits to rebind allocator.
* include/ext/rope (_Rope_rep_base, _Rope_base): Likewise.
(rope::rope(CharT, const allocator_type&)): Use __alloc_traits
to construct character.
* include/ext/slist (_Slist_base): Use __alloc_traits to rebind
allocator.
* include/ext/sso_string_base.h (__sso_string_base::_M_max_size):
Use __alloc_traits.
* include/ext/throw_allocator.h (throw_allocator): Do not use optional
members of std::allocator, use __alloc_traits members instead.
* include/ext/vstring.h (__versa_string): Use __alloc_traits.
* include/ext/vstring_util.h (__vstring_utility): Likewise.
* include/std/memory: Include <bits/alloc_traits.h>.
* testsuite/20_util/allocator/8230.cc: Use __gnu_test::max_size.
* testsuite/20_util/allocator/rebind_c++20.cc: New test.
* testsuite/20_util/allocator/requirements/typedefs.cc: Do not check
for pointer, const_pointer, reference, const_reference or rebind in
C++20.
* testsuite/20_util/allocator/requirements/typedefs_c++20.cc: New test.
* testsuite/23_containers/deque/capacity/29134.cc: Use
__gnu_test::max_size.
* testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
* testsuite/23_containers/list/capacity/29134.cc: Likewise.
* testsuite/23_containers/map/capacity/29134.cc: Likewise.
* testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
* testsuite/23_containers/set/capacity/29134.cc: Likewise.
* testsuite/23_containers/vector/capacity/29134.cc: Likewise.
* testsuite/ext/malloc_allocator/variadic_construct.cc: Do not run
test for C++20.
* testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
* testsuite/ext/vstring/capacity/29134.cc: Use __gnu_test::max_size.
* testsuite/util/replacement_memory_operators.h: Do not assume
Alloc::pointer exists.
* testsuite/util/testsuite_allocator.h (__gnu_test::max_size): Define
helper to call max_size for any allocator.
From-SVN: r277300
2019-10-22 22:48:39 +01:00
Jonathan Wakely
3263fb9c6b
Remove using-declarations that add std names to __gnu_cxx
...
These using-declarations appear to have been added for simplicity when
moving the non-standard extensions from namespace std to namespace
__gnu_cxx. Dumping all these names into namespace __gnu_cxx allows
unportable uses like __gnu_cxx::size_t and __gnu_cxx::pair, which serve
no useful purpose.
This patch removes most of the using-declarations from namespace scope,
then either qualifies names as needed or adds using-declarations at
block scope or typedefs at class scope.
* include/backward/hashtable.h (size_t, ptrdiff_t)
(forward_iterator_tag, input_iterator_tag, _Construct, _Destroy)
(distance, vector, pair, __iterator_category): Remove
using-declarations that add these names to namespace __gnu_cxx.
* include/ext/bitmap_allocator.h (size_t, ptrdiff_t): Likewise.
* include/ext/debug_allocator.h (size_t): Likewise.
* include/ext/functional (size_t, unary_function, binary_function)
(mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t, const_mem_fun1_ref_t):
Likewise.
* include/ext/malloc_allocator.h (size_t, ptrdiff_t): Likewise.
* include/ext/memory (ptrdiff_t, pair, __iterator_category): Likewise.
* include/ext/mt_allocator.h (size_t, ptrdiff_t): Likewise.
* include/ext/new_allocator.h (size_t, ptrdiff_t): Likewise.
* include/ext/numeric (iota): Fix outdated comment.
* include/ext/pool_allocator.h (size_t, ptrdiff_t): Likewise.
* include/ext/rb_tree (_Rb_tree, allocator): Likewise.
* include/ext/rope (size_t, ptrdiff_t, allocator, _Destroy): Likewise.
* include/ext/ropeimpl.h (size_t, printf, basic_ostream)
(__throw_length_error, _Destroy, std::__uninitialized_fill_n_a):
Likewise.
* include/ext/slist (size_t, ptrdiff_t, _Construct, _Destroy)
(allocator, __true_type, __false_type): Likewise.
From-SVN: r271807
2019-05-31 11:35:07 +01:00
Ulrich Drepper
d715f55431
Fix after P0600.
...
gcc/testsuite/ChangeLog
2019-02-20 Ulrich Drepper <drepper@redhat.com>
Fix after P0600.
* g++.dg/init/new39.C: Don't just ignore result of new.
libstdc++/ChangeLog
2019-02-20 Ulrich Drepper <drepper@redhat.com>
Implement C++20 P0600r1.
* include/backward/hash_map: Add nodiscard attribute to empty.
* include/backward/hash_set: Likewise.
* backward/hashtable.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/forward_list.h: Likewise.
* include/bits/hashtable.h: Likewise.
* include/bits/regex.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_queue.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_stack.h: Likewise.
* include/bits/stl_tree.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/unordered_map.h: Likewise.
* include/bits/unordered_set.h: Likewise.
* include/debug/array: Likewise.
* include/experimental/any: Likewise.
* include/experimental/bits/fs_path.h: Likewise.
* include/experimental/internet: Likewise.
* include/experimental/string_view: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp:
Likewise.
* include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp:
Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp:
Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp:
Likewise.
*
include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp:
Likewise.
* include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp:
Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hp:
Likewise.
* include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp:
Likewise.
* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp:
Likewise.
* include/ext/pb_ds/detail/tree_trace_base.hpp: Likewise.
* include/ext/pb_ds/trie_policy.hpp: Likewise.
* include/ext/rope: Likewise.
* include/ext/slist: Likewise.
* include/ext/vstring.h: Likewise.
* include/profile/array: Likewise.
* include/std/array: Likewise.
* include/tr1/array: Likewise.
* include/tr1/hashtable.h: Likewise.
* include/tr1/regex: Likewise.
* include/tr2/dynamic_bitset: Likewise.
* include/bits/alloc_traits.h: Add nodiscard attribute to
allocate.
* include/experimental/memory_resource: Likewise.
* include/ext/alloc_traits.h: Likewise.
* include/ext/array_allocator.h: Likewise.
* include/ext/bitmap_allocator.h: Likewise.
* include/ext/debug_allocator.h: Likewise.
* include/ext/extptr_allocator.h: Likewise.
* include/ext/mt_allocator.h: Likewise.
* include/ext/new_allocator.h: Likewise.
* include/ext/pool_allocator.h: Likewise.
* include/ext/throw_allocator.h: Likewise.
* include/std/scoped_allocator: Likewise.
* libsupc++/eh_alloc.cc: Likewise.
* include/std/future: Add nodiscard attribute to async.
* libsupc++/new: Add nodiscard attribute to new.
From-SVN: r268111
2019-01-21 11:47:30 +00:00
Jakub Jelinek
a554497024
Update copyright years.
...
From-SVN: r267494
2019-01-01 13:31:55 +01:00
Jeremy Sawicki
3ffa55de60
Rope iterators: don't retain pointers when copied
...
Rope iterators sometimes contain pointers to an internal buffer
inside the iterator itself. When such an iterator is copied, the
copy incorrectly retains pointers to the original.
This patch takes the simple approach of not copying the cached
information when the internal buffer is being used, instead
requiring it to be recomputed when the copied iterator is
dereferenced. An alternative would be to adjust the pointers so
they refer to the buffer in the copy.
2018-08-14 Jeremy Sawicki <jeremy-gcc@sawicki.us>
* include/ext/rope (_Rope_iterator_base(const _Rope_iterator_base&))
(_Rope_const_iterator::operator=(const _Rope_const_iterator&))
(_Rope_iterator::operator=(const _Rope_iterator&)): Ensure
copied/assigned rope iterators don't retain pointers to the iterator
they were copied/assigned from.
* testsuite/ext/rope/7.cc: New.
From-SVN: r263534
2018-08-14 12:23:50 +01:00
Jakub Jelinek
85ec4feb11
Update copyright years.
...
From-SVN: r256169
2018-01-03 11:03:58 +01:00
François Dumont
4a15d84228
re PR libstdc++/81064 (Inline namespace regression)
...
2017-07-23 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/81064
* include/bits/algorithmfwd.h: Reorganize versioned namespace.
* include/bits/basic_string.h: Likewise.
* include/bits/c++config: Likewise.
* include/bits/deque.tcc: Likewise.
* include/bits/forward_list.h: Likewise.
* include/bits/forward_list.tcc: Likewise.
* include/bits/hashtable_policy.h: Likewise.
* include/bits/list.tcc: Likewise.
* include/bits/move.h: Likewise.
* include/bits/quoted_string.h: Likewise.
* include/bits/random.h: Likewise.
* include/bits/random.tcc: Likewise.
* include/bits/regex.h: Likewise.
* include/bits/regex.tcc: Likewise.
* include/bits/regex_automaton.h: Likewise.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_compiler.h: Likewise.
* include/bits/regex_compiler.tcc: Likewise.
* include/bits/regex_constants.h: Likewise.
* include/bits/regex_error.h: Likewise.
* include/bits/regex_executor.h: Likewise.
* include/bits/regex_executor.tcc: Likewise.
* include/bits/regex_scanner.h: Likewise.
* include/bits/regex_scanner.tcc: Likewise.
* include/bits/specfun.h: Likewise.
* include/bits/stl_algo.h: Likewise.
* include/bits/stl_algobase.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_iterator.h: Likewise.
* include/bits/stl_iterator_base_funcs.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_relops.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/uniform_int_dist.h: Likewise.
* include/bits/unordered_map.h: Likewise.
* include/bits/unordered_set.h: Likewise.
* include/bits/vector.tcc: Likewise.
* include/c_global/cmath: Likewise.
* include/c_std/cmath: Likewise.
* include/decimal/decimal: Likewise.
* include/decimal/decimal.h: Likewise.
* include/experimental/algorithm: Likewise.
* include/experimental/any: Likewise.
* include/experimental/array: Likewise.
* include/experimental/bits/erase_if.h: Likewise.
* include/experimental/bits/fs_dir.h: Likewise.
* include/experimental/bits/fs_fwd.h: Likewise.
* include/experimental/bits/fs_ops.h: Likewise.
* include/experimental/bits/fs_path.h: Likewise.
* include/experimental/bits/lfts_config.h: Likewise.
* include/experimental/bits/shared_ptr.h: Likewise.
* include/experimental/bits/string_view.tcc: Likewise.
* include/experimental/chrono: Likewise.
* include/experimental/deque: Likewise.
* include/experimental/filesystem: Likewise.
* include/experimental/forward_list: Likewise.
* include/experimental/functional: Likewise.
* include/experimental/iterator: Likewise.
* include/experimental/list: Likewise.
* include/experimental/map: Likewise.
* include/experimental/memory: Likewise.
* include/experimental/memory_resource: Likewise.
* include/experimental/numeric: Likewise.
* include/experimental/optional: Likewise.
* include/experimental/propagate_const: Likewise.
* include/experimental/random: Likewise.
* include/experimental/ratio: Likewise.
* include/experimental/regex: Likewise.
* include/experimental/set: Likewise.
* include/experimental/source_location: Likewise.
* include/experimental/string: Likewise.
* include/experimental/string_view: Likewise.
* include/experimental/system_error: Likewise.
* include/experimental/tuple: Likewise.
* include/experimental/type_traits: Likewise.
* include/experimental/unordered_map: Likewise.
* include/experimental/unordered_set: Likewise.
* include/experimental/utility: Likewise.
* include/experimental/vector: Likewise.
* include/ext/bitmap_allocator.h: Likewise.
* include/ext/codecvt_specializations.h: Likewise.
* include/ext/rope: Likewise.
* include/ext/typelist.h: Likewise.
* include/std/chrono: Likewise.
* include/std/complex: Likewise.
* include/std/functional: Likewise.
* include/std/numeric: Likewise.
* include/std/string_view: Likewise.
* include/std/thread: Likewise.
* include/std/variant: Likewise.
* include/tr1/array: Likewise.
* include/tr1/bessel_function.tcc: Likewise.
* include/tr1/beta_function.tcc: Likewise.
* include/tr1/cmath: Likewise.
* include/tr1/complex: Likewise.
* include/tr1/ell_integral.tcc: Likewise.
* include/tr1/exp_integral.tcc: Likewise.
* include/tr1/functional: Likewise.
* include/tr1/functional_hash.h: Likewise.
* include/tr1/gamma.tcc: Likewise.
* include/tr1/hashtable.h: Likewise.
* include/tr1/hashtable_policy.h: Likewise.
* include/tr1/hypergeometric.tcc: Likewise.
* include/tr1/legendre_function.tcc: Likewise.
* include/tr1/modified_bessel_func.tcc: Likewise.
* include/tr1/poly_hermite.tcc: Likewise.
* include/tr1/poly_laguerre.tcc: Likewise.
* include/tr1/random.h: Likewise.
* include/tr1/random.tcc: Likewise.
* include/tr1/regex: Likewise.
* include/tr1/riemann_zeta.tcc: Likewise.
* include/tr1/shared_ptr.h: Likewise.
* include/tr1/special_function_util.h: Likewise.
* include/tr1/tuple: Likewise.
* include/tr1/type_traits: Likewise.
* include/tr1/unordered_map.h: Likewise.
* include/tr1/unordered_set.h: Likewise.
* include/tr1/utility: Likewise.
* include/tr2/bool_set: Likewise.
* include/tr2/bool_set.tcc: Likewise.
* include/tr2/dynamic_bitset: Likewise.
* include/tr2/dynamic_bitset.tcc: Likewise.
* include/tr2/ratio: Likewise.
* include/tr2/type_traits: Likewise.
* src/c++11/chrono.cc: Likewise.
* src/c++11/compatibility-c++0x.cc: Likewise.
* src/c++11/compatibility-chrono.cc: Likewise.
* src/c++11/cxx11-shim_facets.cc: Likewise.
* src/c++11/hashtable_c++0x.cc: Likewise.
* src/c++11/placeholders.cc: Likewise.
* src/c++11/thread.cc: Likewise.
* src/c++98/bitmap_allocator.cc: Likewise.
* src/c++98/hashtable_tr1.cc: Likewise.
* src/c++98/list.cc: Likewise.
* src/shared/hashtable-aux.cc: Likewise.
* testsuite/20_util/duration/literals/range.cc: Adapt line number.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
* testsuite/20_util/forward/c_neg.cc: Likewise.
* testsuite/20_util/forward/f_neg.cc: Likewise.
* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
* testsuite/26_numerics/random/pr60037-neg.cc: Likewise.
* python/libstdcxx/v6/printers.py: Adapt.
From-SVN: r250458
2017-07-23 08:41:35 +00:00
Volker Reichelt
57c51668ee
new (bad_array_new_length): Remove redundant semicolon after in-class member function definition.
...
* libsupc++/new (bad_array_new_length): Remove redundant
semicolon after in-class member function definition.
* include/bits/locale_facets.h (ctype_byname, num_put): Likewise.
* include/bits/locale_facets_nonio.h (time_put_byname): Likewise.
* include/bits/random.h (mersenne_twister_engine): Likewise.
* include/tr1/random.h (mersenne_twister): Likewise
* include/ext/random (simd_fast_mersenne_twister_engine): Likewise.
* include/ext/rope (char_producer, _Rope_char_consumer,
_Rope_self_destruct_ptr, _Rope_const_iterator, _Rope_iterator):
Likewise.
* include/ext/ropeimpl.h (_Rope_flatten_char_consumer,
_Rope_insert_char_consumer): Likewise.
From-SVN: r250357
2017-07-19 16:59:00 +00:00
Jakub Jelinek
cbe34bb5ed
Update copyright years.
...
From-SVN: r243994
2017-01-01 13:07:43 +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
Jonathan Wakely
0f3d27f01a
re PR libstdc++/64276 (would be better to use __cpp_exceptions rather than __EXCEPTIONS to determine whether exceptions are available)
...
PR libstdc++/64276
* doc/doxygen/user.cfg.in: Define __cpp_exceptions and __cpp_rtti.
* doc/html/manual/using_exceptions.html: Regenerate.
* doc/xml/manual/using_exceptions.xml: Use SD-6 feature-testing
macros, __cpp_exceptions and __cpp_rtti, instead of __EXCEPTIONS and
__GXX_RTTI.
* include/bits/c++config: Likewise.
* include/bits/locale_classes.tcc: Likewise.
* include/bits/shared_ptr.h: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* include/debug/formatter.h: Likewise.
* include/experimental/any: Likewise.
* include/ext/rope: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/std/functional: Likewise.
* include/tr1/functional: Likewise.
* include/tr1/shared_ptr.h: Likewise.
* libsupc++/eh_call.cc: Likewise.
* libsupc++/eh_personality.cc: Likewise.
* libsupc++/exception_defines.h: Likewise.
* libsupc++/exception_ptr.h: Likewise.
* libsupc++/guard.cc: Likewise.
* libsupc++/pbase_type_info.cc: Likewise.
* libsupc++/pointer_type_info.cc: Likewise.
* libsupc++/vterminate.cc: Likewise.
* src/c++11/thread.cc: Likewise.
From-SVN: r218679
2014-12-12 15:58:49 +00:00
Jonathan Wakely
aec20dcf39
re PR libstdc++/61946 (rope construction, passing allocator referenct without const)
...
PR libstdc++/61946
* include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
const allocator_type&)): Pass non-const allocator to
_S_new_RopeFunction.
* testsuite/ext/rope/61946.cc: New.
From-SVN: r213220
2014-07-29 18:30:25 +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
Jonathan Wakely
eb407c3432
re PR libstdc++/53270 (Error when bootstrapping gcc on hppa2.0-unknown-linux-gcc)
...
PR libstdc++/53270
* include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
NSDMI in C++98 mode too.
* include/ext/rope: Add system_header pragma.
(_Refcount_Base, _Rope_RopeRep): Use NSDMI.
(_Rope_RopeRep::~_Rope_RopeRep): Destroy mutex.
From-SVN: r189553
2012-07-16 22:57:18 +01:00
Jonathan Wakely
01f83b7d26
re PR libstdc++/53270 (Error when bootstrapping gcc on hppa2.0-unknown-linux-gcc)
...
PR libstdc++/53270
* include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
NSDMI in C++11 mode.
* include/ext/rope (_Refcount_Base): Likewise. Destroy mutex in
destructor when initialized by function.
From-SVN: r188637
2012-06-14 23:20:52 +01:00
Jason Merrill
94df301fa0
re PR c++/24163 (dependent Base class scope examined during unqualified name lookup in template)
...
PR c++/24163
PR c++/29131
gcc/cp/
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating
unqualified lookup.
* semantics.c (perform_koenig_lookup): Add complain parm.
* cp-tree.h: Adjust.
* parser.c (cp_parser_postfix_expression): Adjust.
(cp_parser_perform_range_for_lookup): Adjust.
libstdc++-v3/
* include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to
functions from dependent bases.
* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/tree_policy/
order_statistics_imp.hpp: Likewise.
* include/ext/pb_ds/detail/trie_policy/
prefix_search_node_update_imp.hpp: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/rope: Likewise.
* include/ext/ropeimpl.h: Likewise.
* testsuite/util/exception/safety.h: Likewise.
* testsuite/util/native_type/native_priority_queue.hpp: Likewise.
* testsuite/util/testsuite_io.h: Likewise.
* include/std/functional: Declare mem_fn earlier.
* include/tr1/functional: Likewise.
* include/tr1/exp_integral.tcc: Declare __expint_E1 earlier.
From-SVN: r173965
2011-05-20 14:01:22 -04: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
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
bc2631e0c6
re PR libstdc++/25191 (exception_defines.h #defines try/catch)
...
2009-02-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/25191
* libsupc++/exception_defines.h: Depending on __EXCEPTIONS,
deal consistently with __try and __catch too.
* src/localename.cc: Replace try -> __try, catch -> __catch.
* src/ios.cc: Likewise.
* src/locale.cc: Likewise.
* src/istream.cc: Likewise.
* src/thread.cc: Likewise.
* src/compatibility.cc: Likewise.
* src/bitmap_allocator.cc: Likewise.
* src/ios_init.cc: Likewise.
* include/debug/deque: Likewise.
* include/debug/list: Likewise.
* include/tr1_impl/hashtable: Likewise.
* include/std/bitset: Likewise.
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: Likewise.
* include/ext/pb_ds/detail/resize_policy/
hash_standard_resize_policy_imp.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
resize_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
constructor_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/
split_join_branch_bag.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/
resize_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/
constructor_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binary_heap_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binary_heap_/
erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binary_heap_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/
constructor_destructor_fn_imps.hpp: Likewise.
* include/ext/slist: Likewise.
* include/ext/memory: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/ext/vstring.tcc: Likewise.
* include/ext/rope: Likewise.
* include/ext/sso_string_base.h: Likewise.
* include/bits/shared_ptr.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/locale_classes.tcc: Likewise.
* include/bits/locale_facets.tcc: Likewise.
* include/bits/locale_classes.h: Likewise.
* include/bits/forward_list.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/istream.tcc: Likewise.
* include/bits/stl_uninitialized.h: Likewise.
* include/bits/ostream.tcc: Likewise.
* include/bits/vector.tcc: Likewise.
* include/bits/stl_tempbuf.h: Likewise.
* include/bits/deque.tcc: Likewise.
* include/bits/basic_string.tcc: Likewise.
* include/bits/ostream_insert.h: Likewise.
* include/bits/locale_facets_nonio.tcc: Likewise.
* include/bits/stl_tree.h: Likewise.
* include/bits/fstream.tcc: Likewise.
* include/tr1/shared_ptr.h: Likewise.
* include/tr1/hypergeometric.tcc: Likewise.
* include/backward/hashtable.h: Likewise.
* libsupc++/exception_ptr.h: Likewise.
* libsupc++/eh_personality.cc: Likewise.
* libsupc++/eh_call.cc: Likewise.
* config/locale/gnu/monetary_members.cc: Likewise.
* config/locale/gnu/time_members.h: Likewise.
* config/locale/generic/time_members.h: Likewise.
From-SVN: r143913
2009-02-03 23:44:53 +00:00
Paolo Carlini
91efdb828d
re PR libstdc++/36832 (error compiling with crope)
...
2008-07-15 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/36832
* include/ext/rope (_Destroy_const): Add.
(rope<>::copy): Call it.
* testsuite/ext/rope/36832.cc: New.
From-SVN: r137829
2008-07-15 10:14:40 +00:00
Ralf Wildenhues
28dac70a08
auto_ptr.h: Fix comment typos.
...
2008-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* include/backward/auto_ptr.h: Fix comment typos.
* include/bits/algorithmfwd.h: Likewise.
* include/bits/basic_ios.h: Likewise.
* include/bits/c++config: Likewise.
* include/bits/char_traits.h: Likewise.
* include/bits/codecvt.h: Likewise.
* include/bits/gslice.h: Likewise.
* include/bits/ios_base.h: Likewise.
* include/bits/locale_facets.h: Likewise.
* include/bits/locale_facets_nonio.tcc: Likewise.
* include/bits/postypes.h: Likewise.
* include/bits/sstream.tcc: Likewise.
* include/bits/stl_algo.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_iterator.h: Likewise.
* include/bits/stl_iterator_base_types.h Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/valarray_array.h: Likewise.
* include/debug/safe_base.h: Likewise.
* include/ext/bitmap_allocator.h: Likewise.
* include/ext/codecvt_specializations.h Likewise.
* include/ext/mt_allocator.h: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/rope: Likewise.
* include/parallel/checkers.h: Likewise.
* include/parallel/find.h: Likewise.
* include/parallel/multiseq_selection.h: Likewise.
* include/parallel/partition.h: Likewise.
* include/parallel/settings.h: Likewise.
* include/std/bitset: Likewise.
* include/std/complex: Likewise.
* include/std/fstream: Likewise.
* include/std/istream: Likewise.
* include/std/limits: Likewise.
* include/std/ostream: Likewise.
* include/std/stdexcept: Likewise.
* include/std/streambuf: Likewise.
* include/tr1/bessel_function.tcc: Likewise.
* include/tr1/cmath: Likewise.
* include/tr1/ell_integral.tcc: Likewise.
* include/tr1/hypergeometric.tcc: Likewise.
* include/tr1/legendre_function.tcc: Likewise.
* include/tr1_impl/random: Likewise.
* include/tr1_impl/regex: Likewise.
From-SVN: r131982
2008-01-31 18:44:55 +00:00
Benjamin Kosnik
0c3de9003f
Convert ext/hash_map, set to tr1/functional, tr1/unordered_map, set.
...
2007-10-11 Benjamin Kosnik <bkoz@redhat.com>
Convert ext/hash_map, set to tr1/functional, tr1/unordered_map, set.
* include/ext/rope: Use tr1/functional hash instead of ext/hash_fun.h.
* include/ext/pb_ds/detail/standard_policies.hpp: Same.
* include/precompiled/extc++.h: Remove hash_map, hash_set.
* testsuite/util/testsuite_abi.h (__gnu_cxx): Use unordered_map
instead of hash_map. Remove hash specialization for string.
* testsuite/util/testsuite_abi.cc: Include <vector>.
* testsuite/util/native_type/assoc/native_hash_set.hpp: Remove
hash_set code.
* testsuite/util/native_type/assoc/native_hash_map.hpp: Remove
hash_map code.
* testsuite/util/native_type/assoc/native_hash_multimap.hpp:
Change hash_multimap to unordered_multimap.
* testsuite/util/testsuite_common_types.h: Remove hash_map, hash_set.
* testsuite/ext/headers.cc: Same.
* testsuite/17_intro/headers/all_c++200x_compatibility.cc: Remove
hash_map.h, hash_set.h.
* testsuite/17_intro/headers/all.cc: Same.
* testsuite/17_intro/headers/all_pedantic_errors.cc: Same.
* include/ext/pb_ds/detail/standard_policies.hpp: Format.
* testsuite/util/native_type/assoc/native_set.hpp: Same,
update comment.
* testsuite/util/native_type/assoc/native_map.hpp: Same.
* testsuite/util/native_type/assoc/native_multimap.hpp: Same.
* testsuite/util/performance/assoc/timing/
multimap_insert_test.hpp: Same.
* testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
From-SVN: r129243
2007-10-11 21:48:54 +00:00
Benjamin Kosnik
bd1a56a0c3
libstdc++.exp: Check CXXFLAGS.
...
2007-09-06 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/lib/libstdc++.exp: Check CXXFLAGS.
* scripts/testsuite_flags.in: CXXFLAGS_default, matching dejagnu.
* include/std/ostream: Spacing tweak.
* include/ext/hashtable.h: Use <algorithm>.
* include/ext/slist: Same.
* include/ext/rope: Same.
* include/bits/stl_function.h: Format.
* include/tr1_impl/array: Remove section number in doxygen markup.
* src/list.cc: Comment tweak.
* docs/doxygen/user.cfg.in: Update for include/tr1_impl.
* testsuite/25_algorithms/search_n/iterator.cc: Add using declaration.
* testsuite/25_algorithms/nth_element/1.cc: Same.
* testsuite/21_strings/char_traits/requirements/short/1.cc: Use
char_type typedef to the underlying character type.
* testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc:
Remove -ansi -pedantic-errors.
* testsuite/21_strings/char_traits/requirements/char/typedefs.cc: Same.
* testsuite/tr1/6_containers/headers/functional/synopsis.cc:
Remove specializations.
From-SVN: r128225
2007-09-07 03:01:53 +00:00
Paolo Carlini
c531371e87
stl_construct.h (_Destroy(_ForwardIterator, _ForwardIterator __last, _Allocator)): Change the last parameter to _Allocator&.
...
2007-05-04 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
_ForwardIterator __last, _Allocator)): Change the last parameter
to _Allocator&.
* include/bits/stl_uninitialized.h (__uninitialized_copy_a,
__uninitialized_fill_a, __uninitialized_fill_n_a,
__uninitialized_fill_copy, __uninitialized_copy_fill,
__uninitialized_copy_copy): Likewise.
* include/ext/rope: Adjust everywhere.
* include/ext/ropeimpl.h: Likewise.
From-SVN: r124427
2007-05-04 15:06:46 +00:00
Paolo Carlini
bd91a8c4ed
PR libstdc++/28080 (final)
...
2007-03-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (final)
* include/std/iosfwd: Do not include <bits/c++io.h>.
* config/io/basic_file_stdio.h: Do it here.
* include/ext/stdio_sync_filebuf.h: Likewise.
* include/ext/rope: Include <bits/gthr.h> unconditionally.
* include/std/fstream: Do not include <bits/gthr.h>.
* include/std/ios: Do not include <cstdio>.
* include/bits/ios_base.h: Do it here.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
line numbers.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
From-SVN: r122818
2007-03-11 12:03:34 +00:00
Paolo Carlini
39b8cd70c2
PR libstdc++/28080 (partial)
...
2007-03-03 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/bits/stl_algobase.h: Do not include <iosfwd>,
<bits/functexcept.h> is enough; adjust __copy_aux declarations;
remove declaration of copy overload for istreambuf_iterator /
ostreambuf_iterator.
* src/debug.cc: Include <cstdio>.
* include/ext/rope: Include <iosfwd>.
* include/bits/char_traits.h: Include <cstdio> and <cwchar>.
* include/bits/stl_algo.h: Remove declaration of find overload
for istreambuf_iterator.
* include/std/queue: Clean up includes.
* include/std/stack: Likewise.
* include/std/memory: Likewise.
* include/std/algorithm: Likewise.
* include/std/vector: Likewise.
* include/std/deque: Likewise.
* include/std/list: Likewise.
* include/bits/stl_tree.h: Likewise.
* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Adjust
dg-error markers.
* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Likewise.
* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
* testsuite/23_containers/map/operators/1_neg.cc: Likewise.
* testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
* include/ext/type_traits.h: Fix type of __max_digits10; clean up
includes.
* testsuite/util/testsuite_hooks.h: Do not include <cstddef>.
* testsuite/util/testsuite_hooks.cc: Do it here.
From-SVN: r122502
2007-03-03 10:29:14 +00:00
Richard Guenther
c3f824ce13
traits.hpp: Qualify types.
...
2006-12-11 Richard Guenther <rguenther@suse.de>
Paolo Carlini <pcarlini@suse.de>
* include/ext/pb_ds/detail/pat_trie_/traits.hpp: Qualify types.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Likewise.
* include/ext/rope: Likewise.
* include/bits/stl_tree.h (struct _Rb_tree): Change the _Link_type
typedefs to use _Rb_tree_node<_Val> directly.
(_M_get_node, _M_put_node): Use _Link_type.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r119732
2006-12-11 10:48:56 +00:00
Benjamin Kosnik
46db415941
re PR libstdc++/28514 (libstdc++ vs. anonymous namespaces)
...
2006-10-17 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/28514
* include/bits/cpp_type_traits.h (__detail): Uglify namespace.
* include/ext/rope: Remove global-scope anonymous namespace, use
nested __detail. Fixup resulting formatting issues.
* include/ext/ropeimpl.h: Same.
* include/tr1/hashtable_policy.h: Remove anonymous namespace
nesting for __detail.
* include/tr1/random: Revert anonymous namespace to nested
__detail namespace.
* include/tr1/random.tcc: Same.
* src/ext-inst.cc: Fixups for above.
From-SVN: r117824
2006-10-17 11:56:21 +00:00
Benjamin Kosnik
06e744948b
re PR c++/28871 (massive C++ compile time slowdown)
...
2006-09-04 Benjamin Kosnik <bkoz@redhat.com>
PR c++/28871
* include/ext/bitmap_allocator.h: Add comment for end of anonymous
namespace.
* include/ext/rope: Same.
* include/bits/cpp_type_traits.h: Same.
* include/tr1/tuple: Same.
* include/tr1/functional_iterate.h: Same.
* include/bits/cpp_type_traits.h: Revert anonymous namespace
change, use nested detail instead.
* testsuite/lib/libstdc++.exp (libstdc++_init): PCHFLAGS revert to
stdc++.h.
From-SVN: r116680
2006-09-04 15:41:18 +00:00
Benjamin Kosnik
b82f782bfb
PR libstdc++/19664 round 3
...
2006-07-27 Benjamin Kosnik <bkoz@wells.artheist.org>
PR libstdc++/19664 round 3
* include/Makefile.am (tr1_headers): Add hashtable_policy.h.
* include/Makefile.in: Regenerate.
* include/tr1/hashtable: Move policy classes into...
* include/tr1/hashtable_policy.h: ... this. New.
* src/globals_locale.cc: Move contents....
* src/locale_init.cc: ... to here, put in anonymous namespace.
* src/Makefile.am: Remove globals_locale.cc.
* src/Makefile.in: Regenerate.
* src/locale.cc: Convert __gnu_internal to anonymous namespace.
* src/debug.cc: Same.
* src/ext-inst.cc: Same.
* src/mt_allocator.cc: Same.
* src/pool_allocator.cc: Same.
* include/tr1/random: Convert std::tr1::_Private to anonymous
namespace.
* include/tr1/random.tcc: Same.
* include/tr1/hashtable: Move ::Internal to std::tr1::detail and
enclose bits that can actually be internal in in anonymous
namespace.
* include/tr1/unordered_set: Adjust explicit qualifications for
namespace changes.
* include/tr1/unordered_map: Same.
* include/tr1/cmath: Convert __gnu_internal to nested detail namespace.
* include/bits/cpp_type_traits.h: Move __type_type into anonymous
namespace.
* include/ext/rope: Change _Rope_constants to anonymous namespace.
* include/ext/ropeimpl.h: Same.
* src/ext-inst.cc: Same.
From-SVN: r115790
2006-07-28 04:57:34 +00:00
Douglas Gregor
49525c762c
re PR libstdc++/27404 (Rope iterators are not InputIterators)
...
2006-05-04 Douglas Gregor <dgregor@cs.indiana.edu>
PR libstdc++/27404
* include/ext/rope (_Rope_const_iterator<>::operator*() const,
_Rope_iterator<>::operator*() const): Add.
From-SVN: r113519
2006-05-04 09:37:56 +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
Paolo Carlini
a9dd5a466a
PR libstdc++/21244 (cont)
...
2005-04-28 Paolo Carlini <pcarlini@suse.de>
Gabriel Dos Reis <gdr@integrable-solutions.net>
PR libstdc++/21244 (cont)
* include/bits/cpp_type_traits.h (struct __traitor): Convert
to bool the values.
* include/bits/stl_algo.h: Convert _S_threshold to int.
* include/bits/stl_bvector.h: Revert previous change, convert
_S_word_bit to int.
* include/debug/formatter.h: Convert __max_parameters to
size_t.
* include/ext/mt_allocator.h: Likewise for _S_chunk_size.
* include/ext/pool_allocator.h: Likewise for _S_max_bytes and
_S_align.
* include/ext/rope: Likewise for _S_alloc_granularity; convert
_S_max_rope_depth to int.
* include/ext/ropeimpl.h: Convert _S_path_cache_len to int;
_S_max_rope_depth to int; _S_copy_max to size_t.
Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>
From-SVN: r98915
2005-04-28 07:50:48 +00:00
Jonathan Wakely
412dc870cb
rope: Qualify calls to std::copy() by sequence_buffer.
...
2005-01-16 Jonathan Wakely <redi@gcc.gnu.org>
* include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
* testsuite/ext/rope/4.cc: Add.
From-SVN: r93736
2005-01-16 19:16:27 +00:00
Benjamin Kosnik
0aa06b18fc
doxygroups.cc: Add std::tr1 namespace.
...
2004-11-23 Benjamin Kosnik <bkoz@redhat.com>
* docs/doxygen/doxygroups.cc: Add std::tr1 namespace.
* docs/doxygen/run_doxygen: Renames for std::tr1.
* docs/doxygen/user.cfg.in: Add cxxabi.h.
* include/bits/*.tcc: Add file markup.
* include/bits/allocator.h: Add link to allocator.html.
* include/bits/atomicity.h: Add file markup.
* include/bits/concurrence.h: Same.
* include/bits/functexcept.h: Same.
* include/ext*: Adjust file markup, remove GCC3 bits.
* include/std/*: Adjust file markup, remove bits about renamed files.
* libsupc++/cxxabi.h: Add file markup.
* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust line numbers.
From-SVN: r91135
2004-11-24 04:11:23 +00:00
Matt Austern
1985f1cdaa
stl_construct.h (_Destroy): New three-argument overload that takes an allocator argument.
...
* include/bits/stl_construct.h (_Destroy): New three-argument
overload that takes an allocator argument. Another inline
three-argument overload that takes std::allocator and dispatches
to the two-argument version.
* include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
Change return type to void to match uninitialized_fill_n.
(__uninitialized_copy_a_): New function. Like uninitialized_copy
except that it takes an allocator and uses it for construct and
destroy. If the allocator is std::allocator, dispatches to
uninitialized_copy.
(__uninitialized_fill_a): Likewise.
(__uninitialized_fill_n_a): Likewise.
(__uninitialized_copy_copy): Give it an allocator argument.
(__uninitialized_fill_copy): Likewise.
(__uninitialized_copy_fill): Likewise.
* include/bits/deque.tcc: Use new forms defined in stl_construct.h
and stl_uninitialized.h. Replace use of single-argument _Construct
and _Destroy with use of allocator's construct and destroy methods.
* include/bits/list.tcc: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_tree.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/vector.tcc: Likewise.
* include/ext/hashtable.h: Use rebind so that allocator_type
has correct type for a container's allocator. Replace use of
single-argument _Construct and _Destroy with use of allocator's
construct and destroy methods.
* include/ext/memory (__uninitialized_copy_n_a): New function.
Like uninitialized_copy_n except that it takes an extra parameter,
an allocator, and uses it for construct and destroy operations.
* include/ext/rope: Use new forms defined in stl_construct.h,
stl_uninitialized.h, and ext/memory. Replace use of single-argument
_Construct and _Destroy with allocator construct and destroy methods.
* include/ext/ropeimpl.h: Likewise.
* include/ext/slist.h: Likewise.
* testsuite/testsuite_allocator.h (check_construct_destroy): New.
* testsuite/testsuite_allocator.cc (check_construct_destroy): New.
* testsuite/23_containers/deque/check_construct_destroy.cc: New.
* testsuite/23_containers/list/check_construct_destroy.cc: New.
* testsuite/23_containers/set/check_construct_destroy.cc: New.
* testsuite/23_containers/vector/check_construct_destroy.cc: New.
* testsuite/ext/hash_check_construct_destroy.cc: New.
* testsuite/ext/slist_check_construct_destroy.cc: New.
From-SVN: r85265
2004-07-28 16:37:20 +00:00
Paolo Carlini
a6048f2903
rope: Trivial formatting fixes.
...
2004-06-27 Paolo Carlini <pcarlini@suse.de>
* include/ext/rope: Trivial formatting fixes.
* include/ext/ropeimpl.h: Likewise.
From-SVN: r83737
2004-06-27 17:51:08 +00:00
Paolo Carlini
e751adc3b1
rope (rope(_CharT, const allocator_type&)): Fix to use _Data_allocate.
...
2004-06-16 Paolo Carlini <pcarlini@suse.de>
* include/ext/rope (rope(_CharT, const allocator_type&)): Fix
to use _Data_allocate.
* include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
(rope<>::_S_substring): Likewise.
(rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
(rope<>::c_str()): Likewise.
(rope<>::replace_with_c_str()): Likewise.
* include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
not _RopeRep.
(_Rope_iterator_base<>::_S_setcache): Likewise.
(_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
(rope<>::_S_substring): Likewise.
(rope<>::_S_dump): Likewise.
(rope<>::_S_fetch_ptr): Likewise.
(rope<>::_S_compare): Likewise.
(rope<>::replace_with_c_str()): Likewise.
* testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
* testsuite/ext/rope/2.cc: New.
2004-06-16 Paolo Carlini <pcarlini@suse.de>
Matt Austern <austern@apple.com>
* testsuite/ext/rope/3.cc: New.
Co-Authored-By: Matt Austern <austern@apple.com>
From-SVN: r83251
2004-06-16 17:29:16 +00:00
Benjamin Kosnik
26c691a88b
re PR libstdc++/12854 (libstdc++ vs. -Weffc++)
...
2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/12854
Fixups for -Weffc++.
* include/bits/basic_string.h (basic_string::operator=): Return
pointer to this instead of result of assign. Although redundant,
this doesn't impact resultant codegen.
* include/bits/locale_facets.h (__numpunct_cache): Declare
assignment opxserator and copy constructor private.
(__timepunct_cache): Same.
(__moneypunct_cache): Same.
(collate): Use member initialization list for _M_c_locale_collate.
* config/locale/gnu/messages_members.h: Same.
* config/locale/gnu/time_members.h (__timepunct): Same.
* src/codecvt.cc: Use member initialization list to initialize
_M_c_locale_codecvt.
* src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
* config/os/gnu-linux/ctype_noninline.h: Same.
* src/locale.cc (_Impl): Same.
* src/locale_init.cc: Same.
* src/localename.cc: Same.
* include/bits/basic_ios.h (basic_ios): Complete member
initialization list.
* include/bits/istream.tcc (basic_istream::sentry): Same.
* include/bits/ostream.tcc (basic_ostream::sentry): Same.
* include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
_M_pback to member initialization list.
* include/std/std_streambuf.h: Same.
* include/std/std_sstream.h: Same, for _M_mode.
* src/ios.cc (ios_base): Same.
* include/ext/rope: Make derived classes match exception
specifications. Add copy constructors and assignment operators.
* include/debug/safe_base.h (_Safe_sequence_base): Declare copy
constructor and assignment operator protected.
(_Safe_iterator_base): Same.
* include/debug/formatter.h (_Error_formatter): Define copy
constructor and assignment operator.
* include/backward/strstream: Declare assignment operator and copy
constructor private.
From-SVN: r82153
2004-05-22 23:46:34 +00:00
Benjamin Kosnik
563ae04fec
Fixups for EDG front end.
...
2004-04-06 Benjamin Kosnik <bkoz@redhat.com>
Fixups for EDG front end.
* include/ext/rope: Instead of non-existent function
_Data_allocate, use allocator's allocate. Use this.
(namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
enumerations from _Rope_RopeRep here.
* include/ext/ropeimpl.h: Same.
* src/ext-inst.cc (_S_min_len): Fix up definition.
* config/locale/gnu/ctype_members.cc: Qualify base class members
with this.
* config/locale/generic/ctype_members.cc: Same.
* config/locale/gnu/messages_members.h: Same.
* config/locale/generic/messages_members.h: Same.
* src/ctype.cc: Same.
* include/bits/codecvt.h: Same.
* include/bits/boost_concept_check.h: Declare.
(__error_type_must_be_an_unsigned_integer_type): Remove this.
(__error_type_must_be_an_integer_type): Remove this.
(__error_type_must_be_a_signed_integer_type): Remove this.
* config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
* libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
specification to definition.
(__cxa_allocate_exception): Same.
* libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
* libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
(__cxa_get_globals): Same.
* libsupc++/del_op.cc: Add comment about freestanding.
From-SVN: r80475
2004-04-07 03:33:36 +00:00
Paolo Carlini
5640461d2f
rope (_Rope_rep_alloc_base): Eliminate.
...
2004-01-13 Paolo Carlini <pcarlini@suse.de>
* include/ext/rope (_Rope_rep_alloc_base): Eliminate.
(_Rope_rep_base): Inherit directly from the rope allocator;
use rebinding instead of _Alloc_traits; pick up data member
from _Rope_rep_alloc_base.
(_Rope_alloc_base): Eliminate.
(_Rope_base): Inherit directly from the rope allocator; use
rebinding instead of _Alloc_traits; pick up data member from
_Rope_alloc_base.
(rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
From-SVN: r75800
2004-01-13 11:46:50 +00:00
Bernardo Innocenti
fa30fe72d1
algorithm, [...]: Remove trailing whitespace.
...
* include/ext/algorithm, include/ext/debug_allocator.h,
include/ext/enc_filebuf.h, include/ext/functional,
include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
include/ext/hashtable.h, include/ext/iterator,
include/ext/malloc_allocator.h, include/ext/memory,
include/ext/mt_allocator.h, include/ext/numeric,
include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
include/ext/slist, include/ext/stdio_filebuf.h,
include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.
From-SVN: r74464
2003-12-09 05:31:53 +01:00