Benjamin Kosnik
2e362c7474
atomicity.h: Move to...
...
2006-09-13 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/atomicity.h: Move to...
* include/ext/atomicity.h: ...here.
* include/bits/concurrence.h: Move to...
* include/ext/concurrence.h: ...here.
* include/Makefile.am (ext_headers): Additions.
(bits_headers): Subtractions.
* include/Makefile.in: Regenerate.
* include/ext/bitmap_allocator.h (_Mutex), __threads_enabled,
_Lock, _Auto_Lock): Subsume into...
* include/bits/concurrence.h (__mutex): ..this. Error check
locking and unlocking.
(lock): Uglify to...
(__scoped_lock): Use __mutex.
(__glibcxx_mutex_define_initialized): Remove.
(__glibcxx_mutex_type): Remove.
* include/tr1/boost_shared_ptr.h: Formating tweaks, adjustments.
(_Lock_policy): Move from here...
* include/ext/concurrence.h: ... to here.
(__shared_ptr_default_lock_mode): To __default_lock_policy.
(_S_lockfree): To _S_atomic.
Document.
* libsupc++/guard.cc (static_mutex): Subsume into and fixup for...
* include/ext/concurrence.h (__recursive_mutex): ...this. Error
check locking and unlocking.
* libsupc++/eh_alloc.cc: Use __scoped_lock.
* config/os/aix/atomicity.h: Fixups for include paths, mutex to
__scoped_mutex change, removal of locking defines.
* config/os/irix/atomicity.h: Same.
* config/cpu/cris/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_mutex/atomicity.h: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/bitmap_allocator.h: Same.
* include/ext/rc_string_base.h: Same.
* include/ext/mt_allocator.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/ios_base.h: Same.
* include/tr1/memory: Same.
* src/pool_allocator.cc: Same.
* src/mt_allocator.cc: Same.
* src/locale_init.cc: Same.
* src/ios.cc: Same.
* src/locale.cc: Same.
* src/bitmap_allocator.cc: Same.
* src/ios_init.cc: Same.
* src/debug.cc: Same.
From-SVN: r116942
2006-09-14 09:48:15 +00:00
Benjamin Kosnik
c1a03f0311
eh_globals.cc: Remove __gnu_internal.
...
2006-09-12 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/eh_globals.cc: Remove __gnu_internal.
* config/io/basic_file_stdio.cc: Same.
* config/abi/compatibility.h: Same.
* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
* config/cpu/sh/atomicity.h: Same.
From-SVN: r116899
2006-09-12 17:48:45 +00:00
Andrew Pinski
f2fb70e83d
Fix some whitespace issues in the changeLog.
...
From-SVN: r116877
2006-09-12 00:43:23 -07:00
Paolo Carlini
8cfb1bca83
stl_heap.h (sort_heap): Iterator post-decrement is only required to be convertible to the iterator type.
...
2006-09-10 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_heap.h (sort_heap): Iterator post-decrement is
only required to be convertible to the iterator type.
From-SVN: r116812
2006-09-10 09:23:59 +00:00
Paolo Carlini
96b9f9a4d8
random.tcc (poisson_distribution<>::operator()): Avoid potential warnings when _IntType is unsigned.
...
2006-09-08 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (poisson_distribution<>::operator()):
Avoid potential warnings when _IntType is unsigned.
From-SVN: r116779
2006-09-08 14:40:47 +00:00
Benjamin Kosnik
47bea7b87a
debug.h (_GLIBCXX_DEBUG_ONLY): New.
...
2006-09-08 Benjamin Kosnik <bkoz@redhat.com>
* include/debug/debug.h (_GLIBCXX_DEBUG_ONLY): New.
* include/ext/bitmap_allocator.h (_BALLOC_SANITY_CHECK,
_BALLOC_ASSERT): Remove. Use _GLIBCXX_DEBUG,
_GLIBCXX_DEBUG_ASSERT.
* include/ext/pb_ds/hash_policy.hpp (PB_DS_DBG_ASSERT): Convert to
_GLIBCXX_DEBUG_ASSERT. Formatting corrections.
(PB_DS_DBG_VERIFY): Remove, unused.
(PB_DS_DBG_ONLY): Convert to _GLIBCXX_DEBUG blocks.
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_base_/
insert_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_base_/
binomial_heap_base_.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_base_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_base_/
split_join_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/
constructor_destructor_no_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/
erase_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/
insert_no_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/
constructor_destructor_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/
insert_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/
debug_no_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/
constructor_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/
debug_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/
erase_no_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
* include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
* include/ext/pb_ds/detail/unordered_iterator/
const_point_iterator.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/head.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/
split_join_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
constructor_destructor_no_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
erase_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
insert_no_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
resize_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
constructor_destructor_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
insert_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
debug_no_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
constructor_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
debug_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
erase_no_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/
resize_no_store_hash_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/types_traits.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pairing_heap_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
* include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
* include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
left_child_next_sibling_heap_.hpp: Same.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
const_iterator.hpp: Same.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
insert_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
const_point_iterator.hpp: Same.
* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
* include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/thin_heap_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/map_debug_base.hpp: Same.
* include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
* include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
* include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/splay_tree_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
* include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
* include/ext/pb_ds/detail/list_update_map_/
constructor_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/list_update_map_/
iterators_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/rc_binomial_heap_/
rc_binomial_heap_.hpp: Same.
* include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/rc_binomial_heap_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
* include/ext/pb_ds/detail/rc_binomial_heap_/
split_join_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/rb_tree_map_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
* include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
* testsuite/util/regression/res_mng/forced_exception.hpp: Same.
* testsuite/util/regression/res_mng/dbg_ex_allocator_base.hpp: Same.
* testsuite/util/regression/res_mng/dbg_ex_allocator.hpp: Same.
* testsuite/util/rng/twister_rand_gen.cc
* testsuite/util/native_type/assoc/native_multimap.hpp: Same.
* testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
From-SVN: r116766
2006-09-07 22:48:50 +00:00
Paolo Carlini
5527be59f4
basic_string.tcc (find(const _CharT*, size_type, size_type)): Robustify.
...
2006-09-05 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.tcc (find(const _CharT*, size_type,
size_type)): Robustify.
* include/ext/vstring.tcc (find(const _CharT*, size_type,
size_type)): Likewise.
From-SVN: r116700
2006-09-05 17:38:44 +00:00
Paolo Carlini
1a4ba99f96
basic_string.tcc (find(const _CharT*, size_type, size_type)): Reimplement in terms of traits::eq and traits::compare.
...
2006-09-05 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.tcc (find(const _CharT*, size_type,
size_type)): Reimplement in terms of traits::eq and traits::compare.
* include/ext/vstring.tcc (find(const _CharT*, size_type,
size_type)): Likewise.
* src/string-inst.cc: Remove unneded std::search instantiation.
From-SVN: r116698
2006-09-05 15:43:47 +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
Paolo Carlini
c4338a62e0
mt_allocator.cc (__pool<true>::_M_reclaim_block): Do not name a variable __used, badname on BSD.
...
2006-09-04 Paolo Carlini <pcarlini@suse.de>
* src/mt_allocator.cc (__pool<true>::_M_reclaim_block): Do
not name a variable __used, badname on BSD.
From-SVN: r116678
2006-09-04 08:00:35 +00:00
Paolo Carlini
1d3e6248e5
re PR libstdc++/24469 (Possible race condition in mt_allocator causing SIGSEGV)
...
2006-09-02 Paolo Carlini <pcarlini@suse.de>
Richard Guenther <rguenther@suse.de>
PR libstdc++/24469
* src/mt_allocator.cc (__pool<true>::_M_reserve_block,
__pool<true>::_M_reclaim_block): Fix the logic to avoid
races, exploit atomic counters stored in second part of
the memory pointed by _M_used.
(__pool<true>::_M_initialize): Adjust _M_used allocation.
* include/ext/mt_allocator.h (__pool<true>::_Bin_record):
Update comment.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r116660
2006-09-02 08:31:45 +00:00
Benjamin Kosnik
1b98c24e32
PR libstdc++/28671 continued
...
2006-08-31 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/28671 continued
* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't use
CXXFLAGS when checking for atomic builtins.
* configure: Regenerate.
* include/bits/atomicity.h: Revert.
From-SVN: r116608
2006-08-31 22:20:09 +00:00
Richard Guenther
e282a2bc9f
mt_allocator.h: Remove volatile qualifiers from data members and corresponding locals and...
...
2006-08-31 Richard Guenther <rguenther@suse.de>
* include/ext/mt_allocator.h: Remove volatile qualifiers
from data members and corresponding locals and function
signatures.
From-SVN: r116606
2006-08-31 19:52:16 +00:00
Paolo Carlini
a7cfb1af9e
gnu.ver: Correct atomic helper function signature for case where _Atomic_word is long.
...
2006-08-31 Paolo Carlini <pcarlini@suse.de>
* config/abi/pre/gnu.ver: Correct atomic helper function signature
for case where _Atomic_word is long.
From-SVN: r116602
2006-08-31 11:46:31 +00:00
Benjamin Kosnik
f640f39eef
re PR libstdc++/28671 (undefined reference to `__sync_fetch_and_add_4')
...
2006-08-31 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/28671
* include/bits/atomicity.h (__exchange_and_add): Declare only.
(__atomic_add): Same.
* config/cpu/generic/atomicity_builtins/atomicity.h: Remove comment.
From-SVN: r116601
2006-08-31 10:45:59 +00:00
Benjamin Kosnik
b93d5ca9df
gnu.ver: Spell out exact signatures for atomic access functions.
...
2006-08-30 Benjamin Kosnik <bkoz@redhat.com>
Richard Guenther <rguenther@suse.de>
* config/abi/pre/gnu.ver: Spell out exact signatures for atomic
access functions.
* include/bits/atomicity.h (__atomic_add_dispatch): Remove
volatile qualification for _Atomic_word argument.
(__atomic_add_single): Same.
(__exchange_and_add_dispatch): Same.
(__exchange_and_add_single): Same.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r116584
2006-08-30 09:39:45 +00:00
Paolo Carlini
a3b6119721
random (subtract_with_carry_01<>::_M_initialize_npows): New.
...
2006-08-29 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (subtract_with_carry_01<>::_M_initialize_npows):
New.
(subtract_with_carry_01<>::subtract_with_carry_01(),
subtract_with_carry_01<>::subtract_with_carry_01(unsigned long),
subtract_with_carry_01<>::subtract_with_carry_01(_Gen&)): Use it.
* include/tr1/random.tcc: Define.
* include/tr1/random (xor_combine<>::_M_initialize_max()): New.
(xor_combine<>::xor_combine(), xor_combine<>::xor_combine(const
base1_type&, const base2_type&), xor_combine<>::xor_combine(unsigned
long), xor_combine<>::xor_combine(_Gen&)): Use it.
(xor_combine<>::min, xor_combine<>::max): Adjust.
* include/tr1/random.tcc: Define.
From-SVN: r116559
2006-08-29 11:46:54 +00:00
Benjamin Kosnik
d99cc02542
acinclude.m4 (glibcxx_PCHFLAGS): Set to stdtr1c++.h.
...
2006-08-29 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4(glibcxx_PCHFLAGS): Set to stdtr1c++.h.
* configure: Regenerate.
* scripts/check_compile: Output current compile line.
From-SVN: r116558
2006-08-29 10:53:04 +00:00
Benjamin Kosnik
689e7ddada
PR libstdc++/23773 partial
...
2006-08-28 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/23773 partial
* docs/html/abi.html: Update.
From-SVN: r116527
2006-08-28 20:18:22 +00:00
Roger Sayle
8c093661a3
stl_algo.h (__heap_select, [...]): New.
...
2006-08-28 Roger Sayle <roger@eyesopen.com>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (__heap_select, __introselect): New.
(nth_element): New implementation.
(partial_copy): Use __heap_select.
* testsuite/performance/25_algorithms/nth_element_worst_case.cc: New.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r116520
2006-08-28 18:32:35 +00:00
Paolo Carlini
da8c0ebea2
2.cc: New.
...
2006-08-28 Paolo Carlini <pcarlini@suse.de>
Roger Sayle <roger@eyesopen.com>
* testsuite/25_algorithms/nth_element/2.cc: New.
Co-Authored-By: Roger Sayle <roger@eyesopen.com>
From-SVN: r116508
2006-08-28 13:26:22 +00:00
Paolo Carlini
0370f61a54
re PR libstdc++/28830 (FAIL: tr1/2_general_utilities/memory/shared_ptr/thread/lockfree_weaktoshared.cc)
...
2006-08-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28830
* testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
lockfree_weaktoshared.cc: Rename to...
* testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
default_weaktoshared.cc: ... this; test the default base class.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
mutex_weaktoshared.cc: Run like the other thread tests.
From-SVN: r116489
2006-08-27 15:19:23 +00:00
Paolo Carlini
d718b7aae7
tr1.html: Update.
...
2006-08-25 Paolo Carlini <pcarlini@suse.de>
* docs/html/ext/tr1.html: Update.
From-SVN: r116415
2006-08-25 17:11:10 +00:00
Paolo Carlini
7849b3de89
random (bernoulli_distribution::operator()): Fix wrt generators returning integers.
...
2006-08-25 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (bernoulli_distribution::operator()): Fix
wrt generators returning integers.
(uniform_int<>::_M_call): Add.
(uniform_int<>::operator()): Use it.
* include/tr1/random (_Adaptor<>::min, _Adaptor<>::max): Add.
(_Adaptor<>::operator()): Allow for nonzero _M_g.min().
* include/tr1/random.tcc (linear_congruential<>::min, max):
Move inline...
(__mod): Move ...
* include/tr1/random: ... here.
(struct _Mod): Declare.
* include/tr1/random (struct _To_Unsigned_Type): Only declare,
move...
* include/tr1/random.tcc: ... here.
From-SVN: r116402
2006-08-25 16:02:23 +00:00
Phillip Jordan
3467cfd982
boost_shared_ptr.h: Added locking policy to tr1::shared_ptr<> and related classes.
...
2006-08-22 Phillip Jordan <phillip.m.jordan@gmail.com>
*include/tr1/boost_shared_ptr.h: Added locking policy to
tr1::shared_ptr<> and related classes.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/thread: New.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
lockfree_weaktoshared.cc: New.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
mutex_weaktoshared.cc: New.
*testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
shared_ptr_neg.cc: Modify.
From-SVN: r116345
2006-08-23 10:16:31 +00:00
Paolo Carlini
53fdb33908
random.tcc (subtract_with_carry_01<>:: seed(_Gen&, false_type)): Fix _M_carry initialization.
...
2006-08-22 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (subtract_with_carry_01<>::
seed(_Gen&, false_type)): Fix _M_carry initialization.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/default.cc: Qualify 1 as 1UL.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/gen1.cc: Likewise.
From-SVN: r116334
2006-08-22 22:57:53 +00:00
Phillip Jordan
a25ce4dbf9
added locking policy to tr1::shared_ptr<> and related classes
...
From-SVN: r116333
2006-08-22 22:34:45 +00:00
Paolo Carlini
6d3c522156
2006-08-22 Paolo Carlini <pcarlini@suse.de>
...
* Fix/complete last ChangeLog entry.
From-SVN: r116328
2006-08-22 18:15:22 +00:00
Paolo Carlini
9aa53350c3
random (class subtract_with_carry_01): Add.
...
2006-08-22 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (class subtract_with_carry_01): Add.
* include/tr1/random.tcc (subtract_with_carry_01<>::
seed(unsigned long), subtract_with_carry_01<>::
seed(_Gen&, false_type), subtract_with_carry_01<>::
operator(), operator<<(std::basic_ostream<>&, const
subtract_with_carry_01<>&), operator>>(std::basic_istream<>&,
subtract_with_carry_01<>&)): Define.
* testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc:
New.
* testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc:
Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/cons/seed1.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/cons/seed2.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/cons/default.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/cons/gen1.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/operators/equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/operators/not_equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/operators/serialize.cc: Likewise.
* docs/html/ext/howto.html: Add two implemented TR1 issues.
* include/tr1/random.tcc (struct _To_Unsigned_Type): Move...
* include/tr1/random: ... here.
(class subtract_with_carry): Use it everywhere.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/seed1.cc: Qualify 1 as 1UL.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/seed2.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/default.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/cons/gen1.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/requirements/typedefs.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/operators/equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/operators/not_equal.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/operators/serialize.cc: Likewise.
From-SVN: r116327
2006-08-22 18:07:55 +00:00
Paolo Carlini
96ddac7425
random (gamma_distribution<>::_M_initialize, [...]): Add.
...
2006-08-20 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (gamma_distribution<>::_M_initialize,
gamma_distribution<>::_M_l_d): Add.
(gamma_distribution<>::gamma_distribution(const result_type&),
operator>>(std::basic_istream<>&, gamma_distribution&)): Use it.
include/tr1/random.tcc (gamma_distribution<>::_M_initialize):
Define.
(gamma_distribution<>::operator()): Adjust.
* include/tr1/random (geometric_distribution<>::_M_initialize): Add.
(geometric_distribution<>::geometric_distribution(const _RealType&),
operator>>(std::basic_istream<>&, geometric_distribution&)): Use it.
From-SVN: r116273
2006-08-20 16:05:05 +00:00
Paolo Carlini
42031254bf
random (class binomial_distribution<>): Add.
...
2006-08-18 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (class binomial_distribution<>): Add.
* include/tr1/random.tcc (binomial_distribution<>::operator(),
operator<<(std::basic_ostream<>&, const binomial_distribution<>&),
operator>>(std::basic_istream<>&, binomial_distribution<>&,
binomial_distribution<>::_M_waiting(), binomial_distribution<>::
_M_initialize()): Define.
* testsuite/tr1/5_numerical_facilities/random/binomial_distribution/
requirements/typedefs.cc: New.
* include/tr1/random (geometric_distribution<>::
geometric_distribution(const _RealType&)): Fix DEBUG_ASSERT
limits.
* include/tr1/random (poisson_distribution): Add normal_distribution
member, adjust consistently; minor tweaks and rearrangements of the
arithmetic.
(operator>>(std::basic_istream<>&, poisson_distribution<>&)): Move
out of line.
* include/tr1/random.tcc: Adjust.
* include/tr1/random.tcc (normal_distribution<>::operator()): Minor
tweaks.
From-SVN: r116245
2006-08-18 17:15:43 +00:00
Paolo Carlini
7867a3f739
re PR libstdc++/28765 (__gnu_cxx::__vstring::clear() is slow)
...
2006-08-18 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28765
* include/ext/rc_string_base.h (_M_clear): New.
* include/ext/sso_string_base.h (_M_clear): Likewise.
* include/ext/vstring.h (clear): Use it.
From-SVN: r116240
2006-08-18 15:42:05 +00:00
Paolo Carlini
482e4739cd
random (poisson_distribution<>::_M_initialize): Add.
...
2006-08-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (poisson_distribution<>::_M_initialize): Add.
(poisson_distribution<>::poisson_distribution(const _RealType&):
Use it.
(operator>>(std::basic_istream<>&, poisson_distribution<>&)):
Likewise.
(poisson_distribution<>::_M_large): Remove.
* include/tr1/random.tcc (poisson_distribution<>::_M_initialize):
Define.
(operator<<(std::basic_ostream<>&, const poisson_distribution<>&)):
Do not output the constants.
* include/tr1/random (operator>>(std::basic_istream<>&,
gamma_distribution&)): Minor tweak.
* include/tr1/random.tcc (poisson_distribution<>::operator()):
Minor tweak.
* include/tr1/random: Consistently, all data members private.
From-SVN: r116155
2006-08-15 15:11:24 +00:00
Paolo Carlini
64c23908ee
random.tcc (mersenne_twister<>::operator()): Revert last change (per gcc-patches/2006-08/msg00484.html).
...
2006-08-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (mersenne_twister<>::operator()): Revert
last change (per gcc-patches/2006-08/msg00484.html).
From-SVN: r116151
2006-08-15 09:08:31 +00:00
Paolo Carlini
bbddd5d0c2
random (class poisson_distribution<>): Add.
...
2006-08-14 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random (class poisson_distribution<>): Add.
* include/tr1/random.tcc (poisson_distribution<>::operator(),
operator<<(std::basic_ostream<>&, const poisson_distribution<>&),
operator>>(std::basic_istream<>&, poisson_distribution<>&,
poisson_distribution<>::poisson_distribution(const _RealType&)):
Define.
* testsuite/tr1/5_numerical_facilities/random/poisson_distribution/
requirements/typedefs.cc: New.
* include/tr1/random.tcc (mersenne_twister<>::operator()): Tweak
a bit for efficiency.
* include/tr1/random.tcc (operator<<(std::basic_ostream<>&,
const normal_distribution<>&), operator>>(std::basic_istream<>&,
normal_distribution<>&)): Do not output _M_saved unnecessarily.
* include/tr1/random: Trivial formatting fixes.
* include/tr1/cmath: Likewise.
From-SVN: r116149
2006-08-15 02:28:45 +00:00
Paolo Carlini
4e571cd5ac
stl_bvector.h (__fill_bvector(_Bit_iterator, _Bit_iterator, bool)): New.
...
2006-08-11 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_bvector.h (__fill_bvector(_Bit_iterator,
_Bit_iterator, bool)): New.
(fill(_Bit_iterator, _Bit_iterator, const bool&)): Use it.
From-SVN: r116081
2006-08-11 10:39:37 +00:00
Paolo Carlini
4a93bc5db2
random.tcc (gamma_distribution<>::operator()): Fixes from the Errata of Devroye's book.
...
2006-08-10 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (gamma_distribution<>::operator()): Fixes
from the Errata of Devroye's book.
From-SVN: r116061
2006-08-10 14:38:11 +00:00
Paolo Carlini
22a8ed6556
stl_bvector.h (_Bit_iterator_base::_M_incr(ptrdiff_t)): Tidy a bit, thus reducing generated code size.
...
2006-08-10 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_bvector.h (_Bit_iterator_base::_M_incr(ptrdiff_t)):
Tidy a bit, thus reducing generated code size.
From-SVN: r116059
2006-08-10 10:35:27 +00:00
Paolo Carlini
976e25f422
stl_bvector.h (vector<bool>::_M_copy_aligned): New.
...
2006-08-09 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_bvector.h (vector<bool>::_M_copy_aligned): New.
(vector<bool>::vector(const vector&), operator=(const vector&),
reserve(size_type), _M_fill_insert(iterator, size_type, bool),
_M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Use it.
* testsuite/performance/23_containers/copy_construct/
vector_bool.cc: New.
* testsuite/23_containers/vector/bool/cons/1.cc: New.
* testsuite/23_containers/vector/bool/cons/2.cc: Likewise.
* include/bits/stl_bvector.h (vector<bool>::_M_fill): Remove.
(fill(_Bit_iterator, _Bit_iterator, const bool&)): New.
(vector<bool>::_M_fill_insert(iterator, size_type, bool)): Adjust.
* include/bits/stl_bvector.h (_M_initialize_range(_InputIterator,
_InputIterator, std::input_iterator_tag)): Remove redundant
assignments.
* include/bits/stl_algo.h (find(istreambuf_iterator<>,
istreambuf_iterator<>, _CharT)): Adjust signature.
* include/bits/streambuf_iterator.h: Likewise.
* include/std/std_streambuf.h: Likewise.
From-SVN: r116049
2006-08-09 23:39:16 +00:00
Paolo Carlini
62c7a041bb
stl_algobase.h (fill(const _Deque_iterator<>&, const _Deque_iterator<>&, const _Tp&)): Move...
...
2006-08-09 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
const _Deque_iterator<>&, const _Tp&)): Move...
* include/bits/deque.tcc: ... here.
* include/bits/stl_deque.h: Declare.
From-SVN: r116034
2006-08-09 09:56:15 +00:00
Paolo Carlini
da452330ca
re PR libstdc++/16611 (Terrible code generated for vector<bool>)
...
2006-08-06 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/16611
* include/bits/stl_bvector.h (vector<bool>::operator[],
vector<bool>::operator[] const): Do not use iterator::operator+,
hand code.
From-SVN: r115972
2006-08-06 14:45:04 +00:00
Paolo Carlini
15ecde8ebf
re PR libstdc++/28587 (vector<bool> is extremely slow (900x slower than it should be))
...
2006-08-05 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28587
* include/bits/stl_bvector.h (vector<bool>::_M_fill): New.
(vector<bool>::_M_fill_insert): Use it.
* testsuite/performance/23_containers/resize/vector_bool.cc: New.
* testsuite/23_containers/vector/bool/modifiers/insert/1.cc: New.
* testsuite/23_containers/vector/bool/capacity/1.cc: Likewise.
From-SVN: r115947
2006-08-05 10:11:13 +00:00
Paolo Carlini
8443c250af
stl_queue.h (priority_queue<>::push, [...]): Remove try/catch, just follow the letter of the Standard.
...
2006-08-04 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_queue.h (priority_queue<>::push,
priority_queue<>::pop): Remove try/catch, just follow the
letter of the Standard.
From-SVN: r115923
2006-08-04 09:34:17 +00:00
Paolo Carlini
d508327cc8
stl_queue.h: Trivial formatting fixes.
...
2006-08-03 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_queue.h: Trivial formatting fixes.
* include/bits/stl_stack.h: Likewise.
From-SVN: r115911
2006-08-03 21:11:13 +00:00
Ed Smith-Rowland
8218f92fdf
tr1.html: Update.
...
2006-08-01 Ed Smith-Rowland <3dw4rd@verizon.net>
* docs/html/ext/tr1.html: Update.
From-SVN: r115860
2006-08-01 18:22:35 +00:00
Paolo Carlini
caade1927f
locale_facets.tcc (num_put<>::_M_insert_float): Find the decimal point in cs, instead of ws; tidy.
...
2006-07-31 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
Find the decimal point in cs, instead of ws; tidy.
From-SVN: r115840
2006-07-31 19:26:58 +00:00
Roger Sayle
bd11bebe1b
codevt_specializations.h (__iconv_adaptor): Use identifier _Tp instead of _T in template argument to avoid conflict.
...
* include/ext/codevt_specializations.h (__iconv_adaptor): Use
identifier _Tp instead of _T in template argument to avoid conflict.
From-SVN: r115823
2006-07-30 16:42:39 +00:00
Paolo Carlini
43804767bb
stl_algo.h (stable_sort): Uglify the buf variable.
...
2006-07-30 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (stable_sort): Uglify the buf variable.
* include/bits/stl_tempbuf.h (_Temporary_buffer<>::
_M_initialize_buffer): Uglify the val parameter.
From-SVN: r115820
2006-07-30 13:02:58 +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
Paolo Carlini
a0cbafebd7
cinttypes: Simply protect everything with _GLIBCXX_USE_C99_INTTYPES_TR1.
...
2006-07-24 Paolo Carlini <pcarlini@suse.de>
* include/tr1/cinttypes: Simply protect everything with
_GLIBCXX_USE_C99_INTTYPES_TR1.
* include/tr1/cfenv: Likewise with _GLIBCXX_USE_C99_FENV_TR1.
* include/tr1/cstdint: Likewise with _GLIBCXX_USE_C99_STDINT_TR1.
From-SVN: r115715
2006-07-24 12:30:28 +00:00