Paolo Carlini
8fc810787b
c++config (std::size_t, [...]): Provide typedefs.
...
2010-06-03 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/c++config (std::size_t, std::ptrdiff_t,
std::nullptr_t): Provide typedefs.
* include/c_std/cstddef: Don't provide std::size_t and
std::ptrdiff_t here.
* include/c_global/cstddef: Likewise.
* src/condition_variable.cc: Don't include <cstddef>,
don't use NULL, use std::size_t and std::ptrdiff_t.
* src/mt_allocator.cc: Likewise.
* src/localename.cc: Likewise.
* src/chrono.cc: Likewise.
* src/thread.cc: Likewise.
* include/debug/formatter.h: Likewise.
* include/debug/functions.h: Likewise.
* include/std/valarray: Likewise.
* include/std/thread: Likewise.
* include/std/type_traits: Likewise.
* include/std/atomic: Likewise.
* include/std/iterator: Likewise.
* include/std/bitset: Likewise.
* include/std/fstream: Likewise.
* include/std/mutex: Likewise.
* include/c_std/cstdlib: Likewise.
* include/c_std/cstdio: Likewise.
* include/c_std/ctime: Likewise.
* include/c_std/cwchar: Likewise.
* include/c_std/cstring: Likewise.
* include/parallel/multiway_merge.h: Likewise.
* include/parallel/multiseq_selection.h: Likewise.
* include/parallel/base.h: Likewise.
* include/parallel/basic_iterator.h: Likewise.
* include/parallel/multiway_mergesort.h
* include/parallel/partition.h: Likewise.
* include/ext/string_conversions.h: Likewise.
* include/ext/pb_ds/assoc_container.hpp: Likewise.
* include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp:
Likewise.
* include/ext/pb_ds/detail/resize_policy/
hash_prime_size_policy_imp.hpp: Likewise.
* include/ext/pb_ds/detail/resize_policy/
sample_resize_policy.hpp: Likewise.
* include/ext/pb_ds/detail/resize_policy/
sample_resize_trigger.hpp: Likewise.
* include/ext/pb_ds/detail/binomial_heap_base_/
erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binomial_heap_base_/
find_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binomial_heap_base_/
insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binomial_heap_base_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binomial_heap_base_/
debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binomial_heap_base_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
erase_store_hash_fn_imps.hpp: Likewise.
* include/ext/pb_ds/d: Likewise.etail/cc_hash_table_map_/
insert_no_store_hash_fn_imps.hpp
* include/ext/pb_ds/detail/cc_hash_table_map_/
cmp_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
find_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
insert_store_hash_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
debug_fn_imps.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_/
entry_list_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
trace_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
erase_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_/
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/cc_hash_table_map_/
erase_no_store_hash_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/unordered_iterator/
iterator.hpp: Likewise.
* include/ext/pb_ds/detail/unordered_iterator/
const_iterator.hpp: Likewise.
* include/ext/pb_ds/detail/unordered_iterator/
point_iterator.hpp: Likewise.
* include/ext/pb_ds/detail/unordered_iterator/
const_point_iterator.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/
insert_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/
const_child_iterator.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
find_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
r_erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
rotate_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
node_iterators.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
point_iterators.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
iterators_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/
find_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_/
resize_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/
standard_policies.hpp: Likewise.
* include/ext/pb_ds/detail/tree_policy/
sample_tree_node_update.hpp: Likewise.
* include/ext/pb_ds/detail/basic_tree_policy/
null_node_metadata.hpp: Likewise.
* include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Likewise.
* include/ext/pb_ds/detail/binary_heap_/
const_point_iterator.hpp: Likewise.
* include/ext/pb_ds/detail/binary_heap_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/trie_policy/
sample_trie_node_update.hpp: Likewise.
* include/ext/pb_ds/detail/trie_policy/
sample_trie_e_access_traits.hpp: Likewise.
* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pairing_heap_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_policy/
counter_lu_metadata.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
trace_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
null_metadata.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
const_iterator.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
insert_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/left_child_next_sibling_heap_/
debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
iterators_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
const_point_iterator.hpp: Likewise.
* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/thin_heap_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/thin_heap_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/
iterators_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Likewise.
* include/ext/pb_ds/detail/hash_fn/
sample_ranged_probe_fn.hpp: Likewise.
* include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Likewise.
* include/ext/pb_ds/detail/hash_fn/
sample_ranged_hash_fn.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/debug_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/list_update_map_/
trace_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/
erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/
find_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/
constructor_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/
insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/
info_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/
iterators_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rc_binomial_heap_/
erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rc_binomial_heap_/
insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rc_binomial_heap_/
debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Likewise.
* include/ext/pb_ds/list_update_policy.hpp: Likewise.
* include/ext/pb_ds/exception.hpp: Likewise.
* include/ext/pb_ds/tree_policy.hpp: Likewise.
* include/ext/pb_ds/tag_and_trait.hpp: Likewise.
* include/ext/pb_ds/hash_policy.hpp: Likewise.
* include/ext/pb_ds/trie_policy.hpp: Likewise.
* include/ext/pb_ds/priority_queue.hpp: Likewise.
* include/ext/throw_allocator.h: Likewis: Likewise.e.
* include/ext/bitmap_allocator.h
* include/ext/rc_string_base.h: Likewise.
* include/ext/new_allocator.h: Likewise.
* include/ext/codecvt_specializations.h: Likewise.
* include/ext/functional: Likewise.: Likewise.
* include/ext/array_allocator.h: Likewise.
* include/ext/mt_allocator.h: Likewise.
* include/ext/sso_string_base.h: Likewise.
* include/profile/impl/profiler_trace.h: Likewise.
* include/profile/impl/profiler_node.h: Likewise.
* include/bits/stl_algobase.h: Likewise.
* include/bits/functional_hash.h: Likewise.
* include/bits/locale_facets.tcc: Likewise.
* include/bits/locale_facets.h: Likewise.
* include/bits/stl_iterator_base_types.h: Likewise.
* include/bits/move.h: Likewise.
* include/bits/boost_concept_check.h: Likewise.
* include/bits/basic_string.tcc: Likewise.
* include/bits/locale_facets_nonio.tcc: Likewise.
* include/bits/fstream.tcc: Likewise.
* include/bits/locale_facets_nonio.h: Likewise.
* include/c_global/cstdlib: Likewise.
* include/c_global/cstdio: Likewise.
* include/c_global/ctime: Likewise.
* include/c_global/cwchar: Likewise.
* include/c_global/cstring
* include/tr1/type_traits: Likewise.
* include/backward/hash_fun.h: Likewise.
* libsupc++/new: Likewise.
* libsupc++/initializer_list: Likewise.
* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
* testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
* testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc: Likewise.
* testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
* testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
* testsuite/27_io/basic_streambuf/sputc/char/1057.cc: Likewise.
* testsuite/27_io/objects/wchar_t/5268.cc: Likewise.
* testsuite/27_io/objects/char/9661-1.cc: Likewise.
* testsuite/27_io/objects/char/5268.cc: Likewise.
* testsuite/27_io/objects/char/10.cc: Likewise.
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
* testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
* testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputc/char/1057.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputn/char/1057.cc: Likewise.
* testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_null.cc
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/cons/3.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/
wchar_t/01.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/
char/01.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_character/
wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_character/
wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_character/
wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_character/
char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_character/
char/2.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_character/
char/3.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_character/
char/9826.cc: Likewise.
* testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
* testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/
wchar_t/8.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/
char/8.cc: Likewise.
* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/1057.cc: Likewise.
* testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
* testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/1057.cc: Likewise.
* testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
* testsuite/18_support/bad_exception/23591_thread-1.c
* testsuite/18_support/new_delete_placement.cc: Likewise.
* testsuite/18_support/pthread_guard.cc: Likewise.
* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string/operations/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/thread/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/
assign_neg.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/
copy_neg.cc: Likewise.
* testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
* testsuite/ext/slist/23781.cc: Likewise.
* testsuite/ext/rope/pthread7-rope.cc: Likewise.
* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
* testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
* testsuite/22_locale/ctype/is/char/1.cc: Likewise.
* testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
* testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
* testsuite/22_locale/locale/cons/2.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
* testsuite/22_locale/locale/cons/29217.cc: Likewise.
* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
* testsuite/tr1/6_containers/unordered_multimap/
requirements/iterator_null_neg.cc: Likewise.
* testsuite/tr1/6_containers/unordered_multiset/
requirements/iterator_null_neg.cc: Likewise.
* testsuite/29_atomics/atomic_address/cons/single_value.cc: Likewise.
* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Likewise.
* testsuite/23_containers/multimap/23781.cc: Likewise.
* testsuite/23_containers/set/23781.cc: Likewise.
* testsuite/23_containers/multiset/23781.cc: Likewise.
* testsuite/23_containers/list/pthread1.cc: Likewise.
* testsuite/23_containers/list/23781.cc: Likewise.
* testsuite/23_containers/map/pthread6.cc: Likewise.
* testsuite/23_containers/map/23781.cc: Likewise.
* testsuite/util/regression/rand/priority_queue/
rand_regression_test.hpp: Likewise.
* testsuite/util/regression/rand/priority_queue/
container_rand_regression_test.tcc: Likewise.
* testsuite/util/regression/rand/assoc/
rand_regression_test.hpp: Likewise.
* testsuite/util/regression/rand/assoc/
container_rand_regression_test.tcc: Likewise.
* testsuite/util/testsuite_hooks.cc: Likewise.
* testsuite/util/testsuite_io.h: Likewise.
* testsuite/util/testsuite_iterators.h: Likewise.
* testsuite/util/replacement_memory_operators.h: Likewise.
* testsuite/util/testsuite_allocator.h: Likewise.
* testsuite/util/testsuite_performance.h: Likewise.
From-SVN: r160231
2010-06-03 19:15:56 +00:00
Jonathan Wakely
9908949ca6
wait.cc (wait): Rename.
...
2010-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/30_threads/future/members/wait.cc (wait): Rename.
* testsuite/30_threads/shared_future/members/wait.cc (wait): Likewise.
From-SVN: r159593
2010-05-19 19:48:48 +01:00
Jonathan Wakely
ac4983563d
mutex (lock_guard::lock_guard): Do not lock mutex when adopt_lock_t constructor is used.
...
2010-03-02 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/mutex (lock_guard::lock_guard): Do not lock mutex when
adopt_lock_t constructor is used.
* testsuite/30_threads/lock_guard/cons/1.cc: New.
From-SVN: r157180
2010-03-02 23:00:21 +00:00
Jonathan Wakely
38f86abadf
re PR libstdc++/43230 (Revision 157158 failed 30_threads/promise/members/set_value3.cc)
...
2010-03-02 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/43230
* testsuite/30_threads/promise/members/set_value3.cc
(tester::~tester): Remove.
From-SVN: r157166
2010-03-02 15:36:00 +00:00
Paolo Carlini
5c8db18ac6
functional_hash.h (struct _Fnv_hash): Rename to _Fnv_hash_base.
...
2010-02-23 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/functional_hash.h (struct _Fnv_hash): Rename
to _Fnv_hash_base.
(struct _Fnv_hash): Add, derives from the latter.
(__hash_combine): Add.
(hash<float>::operator()(float), hash<double>::operator()(double)):
Adjust.
* include/bits/basic_string.h (hash<string>, hash<wstring>,
hash<u16string>, hash<u32string>): Adjust.
* src/hash-string-aux.cc: Adjust.
* src/compatibility-c++0x.cc (hash<error_code>): Use __hash_combine.
* include/std/system_error (hash<error_code>): Likewise.
* include/std/thread (struct hash<thread::id>): Add.
* include/tr1/functional_hash.h : Rename to _Fnv_hash_base.
(struct _Fnv_hash): Add, derives from the latter.
(hash<float>::operator()(float), hash<double>::operator()(double)):
Adjust.
* testsuite/30_threads/thread/id/hash.cc: New.
* testsuite/30_threads/thread/cons/assign_neg.cc: Adjust dg-error
line number.
* testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.
From-SVN: r157005
2010-02-23 15:23:37 +00:00
Jonathan Wakely
73c5c5bbb3
PR libstdc++/42819, DR 1315
...
2010-02-12 Jonathan Wakely <jwakely.gcc@gmail.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/42819, DR 1315
* include/std/future (async): Use std::result_of for the template
argument of the std::future return type; adjust everywhere.
* testsuite/30_threads/async/42819.cc: New.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust
dg-error line number.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/future/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/future/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r156742
2010-02-12 22:31:15 +00:00
Paolo Carlini
1950140626
future (swap(packaged_task<>&, packaged_task<>&), [...]): Add; minor formatting fixes.
...
2010-02-05 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/future (swap(packaged_task<>&, packaged_task<>&),
swap(promise<>&, promise<>&)): Add; minor formatting fixes.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust
dg-error line number.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/promise/cons/copy_neg.cc: Likewise.
From-SVN: r156522
2010-02-05 17:19:10 +00:00
Jonathan Wakely
b7200e3fbe
condition_variable (condition_variable_any): Provide definitions for all members.
...
2010-02-03 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/condition_variable (condition_variable_any): Provide
definitions for all members.
* src/condition_variable.cc (condition_variable_any): Adjust
definitions.
* config/abi/pre/gnu.ver: Adjust exports for condition_variable_any.
* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
Adjust dg-error line number.
* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/members/1.cc: New.
* testsuite/30_threads/condition_variable_any/members/2.cc: New.
* testsuite/30_threads/condition_variable_any/requirements/
standard_layout.cc: Remove.
* testsuite/30_threads/condition_variable_any/native_handle/
typesizes.cc: Remove.
From-SVN: r156479
2010-02-03 20:16:22 +00:00
Paolo Carlini
823268870f
unique_future: Rename to /future.
...
2010-02-01 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/30_threads/unique_future: Rename to /future.
From-SVN: r156451
2010-02-02 14:59:53 +00:00
Paolo Carlini
6e4a660f12
revert: condition_variable (condition_variable_any:: wait<>(_Lock&)): Provide definition.
...
2010-01-31 Paolo Carlini <paolo.carlini@oracle.com>
Revert last changes. Also revert, among the previous changes:
* include/std/condition_variable (condition_variable_any::
wait<>(_Lock&)): Provide definition.
From-SVN: r156403
2010-01-31 16:54:49 +00:00
Paolo Carlini
023cee968b
condition_variable (condition_variable_any:: __wait_until_impl): Add.
...
2010-01-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/condition_variable (condition_variable_any::
__wait_until_impl): Add.
(condition_variable_any::wait_until): Provide definitions.
* testsuite/30_threads/condition_variable_any/members/2.cc: New.
* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
Adjust dg-error line number.
* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/condition_variable/members/1.cc: Minor
stylistic changes.
* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
From-SVN: r156367
2010-01-29 22:46:31 +00:00
Paolo Carlini
cdf5f5a34d
condition_variable (enum class cv_status): Add and use it throughout, per N3000.
...
2010-01-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/condition_variable (enum class cv_status): Add and
use it throughout, per N3000.
(condition_variable_any::wait<>(_Lock&), wait<>(_Lock&, _Predicate),
wait_until<>(_Lock&, const chrono::time_point<>&, _Predicate)):
Provide definitions.
* src/condition_variable.cc (condition_variable_any::notify_one,
condition_variable_any::notify_all): Likewise.
* config/abi/pre/gnu.ver: Export.
* testsuite/30_threads/condition_variable_any/requirements/
typedefs.cc: New.
* testsuite/30_threads/condition_variable_any/requirements/
standard_layout.cc: Likewise.
* testsuite/30_threads/condition_variable/members/1.cc: Adjust.
* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Adjust
dg-error line numbers.
* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
Likewise.
From-SVN: r156358
2010-01-29 16:59:55 +00:00
Jonathan Wakely
b3eed6fe78
re PR libstdc++/42201 ([C++0x] std::vector<std::unique_future<T>>::push_back fails)
...
2010-01-21 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/42201
* include/std/future: Update to latest WP.
* src/functexcept.cc (__throw_future_error): Use make_error_code.
* testsuite/30_threads/async/any.cc: New.
* testsuite/30_threads/async/async.cc: New.
* testsuite/30_threads/async/sync.cc: New.
* testsuite/30_threads/packaged_task/cons/alloc.cc: New.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Adjust.
* testsuite/30_threads/packaged_task/members/get_future.cc: Adjust.
* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke.cc: Adjust.
* testsuite/30_threads/packaged_task/members/invoke2.cc: Adjust.
* testsuite/30_threads/packaged_task/members/invoke3.cc: Adjust.
* testsuite/30_threads/packaged_task/members/invoke4.cc: Adjust.
* testsuite/30_threads/packaged_task/members/reset.cc: Adjust.
* testsuite/30_threads/packaged_task/members/reset2.cc: Adjust.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Remove.
* testsuite/30_threads/shared_future/cons/default_neg.cc: Remove.
* testsuite/30_threads/shared_future/cons/default.cc: New.
* testsuite/30_threads/shared_future/cons/assign.cc: New.
* testsuite/30_threads/shared_future/cons/copy.cc: Adjust.
* testsuite/30_threads/shared_future/cons/move.cc: Adjust.
* testsuite/30_threads/shared_future/cons/move_assign.cc: New.
* testsuite/30_threads/shared_future/members/is_ready.cc: Remove.
* testsuite/30_threads/shared_future/members/has_value.cc: Remove.
* testsuite/30_threads/shared_future/members/has_exception.cc: Remove.
* testsuite/30_threads/shared_future/members/valid.cc: New.
* testsuite/30_threads/unique_future/cons/default_neg.cc: Remove.
* testsuite/30_threads/unique_future/cons/default.cc: New.
* testsuite/30_threads/unique_future/cons/move_assign.cc: New.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: Adjust.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: Adjust.
* testsuite/30_threads/unique_future/cons/move.cc: Adjust.
* testsuite/30_threads/unique_future/requirements/
explicit_instantiation.cc: Adjust.
* testsuite/30_threads/unique_future/members/is_ready.cc: Remove.
* testsuite/30_threads/unique_future/members/has_value.cc: Remove.
* testsuite/30_threads/unique_future/members/has_exception.cc: Remove.
* testsuite/30_threads/unique_future/members/valid.cc: New.
* testsuite/30_threads/unique_future/members/get.cc: Adjust.
* testsuite/30_threads/unique_future/members/get2.cc: Adjust.
* testsuite/30_threads/unique_future/members/wait.cc: Adjust.
* testsuite/30_threads/unique_future/members/wait_for.cc: Adjust.
* testsuite/30_threads/unique_future/members/wait_until.cc: Adjust.
* testsuite/30_threads/headers/future/types_std_c++0x.cc: Adjust.
* testsuite/30_threads/promise/cons/alloc.cc: New.
* testsuite/30_threads/promise/cons/assign_neg.cc: Adjust.
* testsuite/30_threads/promise/cons/copy_neg.cc: Adjust.
* testsuite/30_threads/promise/cons/move.cc: Adjust.
* testsuite/30_threads/promise/cons/move_assign.cc: Adjust.
* testsuite/30_threads/promise/members/get_future.cc: Adjust.
* testsuite/30_threads/promise/members/set_value.cc: Adjust.
* testsuite/30_threads/promise/members/set_exception.cc: Adjust.
* testsuite/30_threads/promise/members/set_exception2.cc: Adjust.
* testsuite/30_threads/promise/members/set_value2.cc: Adjust.
* testsuite/30_threads/promise/members/set_value3.cc: Adjust.
* testsuite/30_threads/promise/members/swap.cc: Adjust.
From-SVN: r156097
2010-01-21 00:01:47 +00:00
Paolo Carlini
a957d12f7a
condition_variable: Revert inadvertent changes.
...
2009-12-18 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/condition_variable: Revert inadvertent changes.
* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Ditto.
* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Ditto.
* testsuite/30_threads/condition_variable/members/1.cc: Ditto.
* testsuite/30_threads/condition_variable/members/2.cc: Ditto.
* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Ditto.
* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Ditto.
From-SVN: r155343
2009-12-18 09:44:54 +00:00
Jimmy Guo
4ef8972563
re PR libstdc++/40088 (Creating a std::ostringstream object locks a global mutex)
...
2009-12-18 Jimmy Guo <jguo@yahoo-inc.com>
PR libstdc++/40088
* src/locale_init.cc (locale::locale()): Optimize the common case
where _S_global still points to _S_classic.
From-SVN: r155342
2009-12-18 09:41:03 +00:00
Jonathan Wakely
abcd7e0847
future (unique_future::get, [...]): Remove workaround for c++/34022.
...
2009-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/future (unique_future::get, promise::set_value): Remove
workaround for c++/34022.
(packaged_task::get_future, packaged_task::operator()): Use
__throw_bad_function_call.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/promise/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: Likewise.
From-SVN: r155269
2009-12-15 20:17:27 +00:00
Benjamin Kosnik
c36abf0326
future: Use base class with nested types.
...
2009-11-02 Benjamin Kosnik <bkoz@redhat.com>
* include/std/future: Use base class with nested types.
(__future_base): New.
(__future_base::_Result_base): From _Future_result_base.
(__future_base::_Result): From _Future_result.
(__future_base::_Move_result): From _Move_future_result.
(__future_base::_Ptr): From _Future_ptr.
(__future_base::_State): From _Future_state.
(__basic_future): From _Future_impl.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust line
numbers.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/copy_neg.cc: Same.
From-SVN: r153834
2009-11-03 00:47:48 +00:00
Jason Merrill
20f2653ef0
PR c++/38796, Core issue 906
...
PR c++/38796, Core issue 906
gcc/cp
* cp-tree.h (DECL_DEFAULTED_OUTSIDE_CLASS_P): New.
(DECL_DEFAULTED_IN_CLASS_P): New.
* class.c (user_provided_p): Non-static.
(check_methods): Use it.
(check_bases_and_members): Check defaulted fns.
(defaultable_fn_p): Move and rename to...
* method.c (defaultable_fn_check): ...this.
(defaulted_late_check): New.
* pt.c (tsubst_decl): Call it.
* decl2.c (grokfield): Adjust.
* decl.c (cp_finish_decl): Adjust.
(grok_special_member_properties): Use user_provided_p.
libstdc++-v3
* include/std/future (~Future_result_base): Default outside class
body.
* include/std/system_error (error_category()): Likewise.
* libsupc++/nested_exception.h (nested_exception): Remove
exception specifications from defaulted methods.
From-SVN: r153565
2009-10-26 15:07:14 -04:00
Loren J. Rittle
29cd5cc56a
typesizes.cc: Remove *-*-freebsd* from both dg-do and dg-options.
...
2009-09-09 Loren J. Rittle <ljrittle@acm.org>
* testsuite/30_threads/thread/native_handle/typesizes.cc: Remove
*-*-freebsd* from both dg-do and dg-options.
From-SVN: r151578
2009-09-09 21:59:40 +00:00
Paolo Carlini
0df3d1adec
typedefs.cc: Add missing dg-require directives.
...
2009-08-20 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/30_threads/packaged_task/requirements/typedefs.cc: Add
missing dg-require directives.
From-SVN: r150977
2009-08-20 21:45:46 +00:00
Benjamin Kosnik
e83fd9d7f5
typedefs.cc: New.
...
2009-08-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/30_threads/packaged_task/requirements/typedefs.cc: New.
From-SVN: r150857
2009-08-17 19:21:38 +00:00
Benjamin Kosnik
8d1b99e26a
future: Fixes for -fno-exceptions.
...
2009-08-10 Benjamin Kosnik <bkoz@redhat.com>
* include/std/future: Fixes for -fno-exceptions.
* include/bits/functexcept.h: Same.
* libsupc++/exception_ptr.h: Same.
* src/pool_allocator.cc: Same.
* src/future.cc: Same.
* src/functexcept.cc: Same.
* config/abi/pre/gnu.ver: New exports.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/copy_neg.cc: Same.
* testsuite/23_containers/deque/operators/1.cc: Separate in two...
* testsuite/23_containers/deque/operators/2.cc: New.
From-SVN: r150633
2009-08-10 18:24:47 +00:00
Jason Merrill
4c65085391
forward_list.h (splice_after): Use forward.
...
* include/bits/forward_list.h (splice_after): Use forward.
(merge): Likewise.
* include/bits/stl_iterator.h (move_iterator::operator*): Use move.
(move_iterator::operator[]): Use move.
* include/bits/stl_list.h (insert): Use move.
* include/std/thread (_Callable constructor): Use forward.
* include/std/tuple: Don't specify explicit template args to move.
From-SVN: r150326
2009-07-31 22:26:32 -04:00
Benjamin Kosnik
3259554a05
user.cfg.in (PREDEFINED): Add _GLIBCXX_ATOMIC_BUILTINS_*.
...
2009-06-23 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in (PREDEFINED): Add _GLIBCXX_ATOMIC_BUILTINS_*.
(INPUT): Add future.
* include/std/future: Adjust markup.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Adjust
line numbers.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/copy_neg.cc: Same.
From-SVN: r148883
2009-06-23 23:24:20 +00:00
Jonathan Wakely
c910ceff6a
future: New.
...
2009-06-21 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/future: New.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
* src/future.cc: New.
* src/Makefile.am: Add.
* src/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add export.
* testsuite/30_threads/headers/future/std_c++0x_neg.cc: New.
* testsuite/30_threads/headers/future/types_std_c++0x.cc: New.
* testsuite/30_threads/packaged_task/cons/1.cc: New.
* testsuite/30_threads/packaged_task/cons/2.cc: New.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: New.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: New.
* testsuite/30_threads/packaged_task/cons/move_assign.cc: New.
* testsuite/30_threads/packaged_task/cons/move.cc: New.
* testsuite/30_threads/packaged_task/members/boolconv.cc: New.
* testsuite/30_threads/packaged_task/members/get_future.cc: New.
* testsuite/30_threads/packaged_task/members/get_future2.cc: New.
* testsuite/30_threads/packaged_task/members/invoke.cc: New.
* testsuite/30_threads/packaged_task/members/invoke2.cc: New.
* testsuite/30_threads/packaged_task/members/invoke3.cc: New.
* testsuite/30_threads/packaged_task/members/invoke4.cc: New.
* testsuite/30_threads/packaged_task/members/invoke5.cc: New.
* testsuite/30_threads/packaged_task/members/reset.cc: New.
* testsuite/30_threads/packaged_task/members/reset2.cc: New.
* testsuite/30_threads/packaged_task/members/swap.cc: New.
* testsuite/30_threads/packaged_task/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/promise/cons/1.cc: New.
* testsuite/30_threads/promise/cons/assign_neg.cc: New.
* testsuite/30_threads/promise/cons/copy_neg.cc: New.
* testsuite/30_threads/promise/cons/move_assign.cc: New.
* testsuite/30_threads/promise/cons/move.cc: New.
* testsuite/30_threads/promise/members/get_future.cc: New.
* testsuite/30_threads/promise/members/get_future2.cc: New.
* testsuite/30_threads/promise/members/set_exception.cc: New.
* testsuite/30_threads/promise/members/set_exception2.cc: New.
* testsuite/30_threads/promise/members/set_value.cc: New.
* testsuite/30_threads/promise/members/set_value2.cc: New.
* testsuite/30_threads/promise/members/set_value3.cc: New.
* testsuite/30_threads/promise/members/swap.cc: New.
* testsuite/30_threads/promise/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: New.
* testsuite/30_threads/shared_future/cons/copy.cc: New.
* testsuite/30_threads/shared_future/cons/default_neg.cc: New.
* testsuite/30_threads/shared_future/cons/move.cc: New.
* testsuite/30_threads/shared_future/members/get.cc: New.
* testsuite/30_threads/shared_future/members/get2.cc: New.
* testsuite/30_threads/shared_future/members/has_exception.cc: New.
* testsuite/30_threads/shared_future/members/has_value.cc: New.
* testsuite/30_threads/shared_future/members/is_ready.cc: New.
* testsuite/30_threads/shared_future/members/wait.cc: New.
* testsuite/30_threads/shared_future/members/wait_for.cc: New.
* testsuite/30_threads/shared_future/members/wait_until.cc: New.
* testsuite/30_threads/shared_future/requirements/
explicit_instantiation.cc: New.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: New.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: New.
* testsuite/30_threads/unique_future/cons/default_neg.cc: New.
* testsuite/30_threads/unique_future/cons/move.cc: New.
* testsuite/30_threads/unique_future/members/get.cc: New.
* testsuite/30_threads/unique_future/members/get2.cc: New.
* testsuite/30_threads/unique_future/members/has_exception.cc: New.
* testsuite/30_threads/unique_future/members/has_value.cc: New.
* testsuite/30_threads/unique_future/members/is_ready.cc: New.
* testsuite/30_threads/unique_future/members/wait.cc: New.
* testsuite/30_threads/unique_future/members/wait_for.cc: New.
* testsuite/30_threads/unique_future/members/wait_until.cc: New.
* testsuite/30_threads/unique_future/requirements/
explicit_instantiation.cc: New.
* testsuite/performance/30_threads/future/polling.cc: New.
From-SVN: r148765
2009-06-21 15:02:09 +01:00
Jonathan Wakely
ff74fd1325
stl_pair.h (swap): Do not swap rvalues.
...
2009-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/stl_pair.h (swap): Do not swap rvalues.
* include/bits/stl_deque.h (swap): Likewise.
* include/bits/stl_list.h (swap): Likewise.
* include/bits/stl_vector.h (swap): Likewise.
* include/bits/stl_bvector.h (swap): Likewise.
* include/bits/stl_queue.h (swap): Likewise.
* include/bits/stl_stack.h (swap): Likewise.
* include/bits/stl_tree.h (swap): Likewise.
* include/bits/stl_map.h (swap): Likewise.
* include/bits/stl_multimap.h (swap): Likewise.
* include/bits/stl_set.h (swap): Likewise.
* include/bits/stl_multiset.h (swap): Likewise.
* include/bits/forward_list.h (swap): Likewise.
* include/bits/unique_ptr.h (swap): Likewise.
* include/debug/deque (swap): Likewise.
* include/debug/list (swap): Likewise.
* include/debug/vector (swap): Likewise.
* include/debug/map.h (swap): Likewise.
* include/debug/multimap.h (swap): Likewise.
* include/debug/set.h (swap): Likewise.
* include/debug/multiset.h (swap): Likewise.
* include/debug/unordered_map (swap): Likewise.
* include/debug/unordered_set (swap): Likewise.
* include/ext/vstring.h (swap): Likewise.
* include/tr1_impl/unordered_map (swap): Likewise.
* include/tr1_impl/hashtable (swap): Likewise.
* include/tr1_impl/unordered_set (swap): Likewise.
* include/std/tuple (swap): Likewise.
* include/std/mutex (swap): Likewise.
* include/std/thread (swap): Likewise.
(operator<<): Only output to lvalue streams.
* testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: Remove.
* testsuite/23_containers/headers/forward_list/synopsis.cc: Adjust.
* testsuite/23_containers/deque/requirements/dr438/
assign_neg.cc: Adjust line numbers.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/30_threads/thread/swap/1.cc: Swap with lvalue and also
test non-member swap.
* testsuite/30_threads/thread/swap/2.cc: Remove.
From-SVN: r147678
2009-05-18 23:15:56 +01:00
Jonathan Wakely
5c64575096
mutex: Move std::lock_error to ...
...
2009-05-13 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/mutex: Move std::lock_error to ...
* src/compatibility.cc: Here.
* src/mutex.cc: Likewise.
* testsuite/30_threads/headers/mutex/types_std_c++0x.cc: Add checks
for lock types and remove std::lock_error check.
From-SVN: r147609
2009-05-16 11:09:02 +01:00
Jonathan Wakely
efdb734755
re PR libstdc++/39909 (non-TLS version of std::call_once causes terminate)
...
2009-05-05 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/39909
* include/std/mutex (__get_once_functor_lock, __get_once_mutex,
__set_once_functor_lock_ptr): Replace global lock object with local
locks on global mutex.
* src/mutex.cc (__get_once_functor_lock, __get_once_mutex,
__set_once_functor_lock_ptr): Likewise, keeping old function to
preserve ABI.
(__once_proxy): Use pointer to local lock if set, global lock
otherwise.
* config/abi/pre/gnu.ver: Add new symbols to new ABI version.
* testsuite/util/testsuite_abi.cc: Add GLIBCX_3.4.12 version.
* testsuite/30_threads/call_once/39909.cc: New.
From-SVN: r147137
2009-05-05 22:32:38 +01:00
Paolo Carlini
cca36d72b9
2009-04-26 Paolo Carlini <paolo.carlini@oracle.com>
...
Revert the last commit.
From-SVN: r146796
2009-04-26 10:12:08 +00:00
Jonathan Wakely
afdb7762cb
mutex (__get_once_functor_lock, [...]): Replace global lock object with local locks on global mutex.
...
2009-04-25 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/mutex (__get_once_functor_lock, __get_once_mutex):
Replace global lock object with local locks on global mutex.
* src/mutex.cc: Likewise.
* config/abi/pre/gnu.ver: Adjust.
* testsuite/30_threads/call_once/call_once2.cc: New.
From-SVN: r146785
2009-04-25 21:14:27 +01:00
Paolo Carlini
bb81f9a082
re PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist)
...
2009-04-25 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/39880
PR libstdc++/39881
PR libstdc++/39882
* include/std/system_error (is_error_code_enum<errc>): Remove.
(error_condition<>::error_condition(_ErrorCodeEnum,)
error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
(error_code<>::error_code(_ErrorCodeEnum,),
error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
* testsuite/19_diagnostics/system_error/39880.cc: New.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
Adjust.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
Likewise.
* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
Likewise.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
From-SVN: r146780
2009-04-25 19:00:52 +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
Benjamin Kosnik
8f6678383c
typesizes.cc: Include tweaks.
...
2009-03-12 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/30_threads/condition_variable_any/native_handle/
typesizes.cc: Include tweaks.
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/condition_variable/native_handle/
typesizes.cc: Same.
From-SVN: r144830
2009-03-13 05:38:16 +00:00
Benjamin Kosnik
4e0bdc5e22
this_thread: Move...
...
2009-02-20 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/30_threads/thread/this_thread: Move...
* testsuite/30_threads/this_thread: ...here.
* testsuite/20_util/unique_ptr/assign/assign.cc: Move...
* testsuite/20_util/unique_ptr/assign/assign_neg.cc: ...here.
* testsuite/20_util/ratio/cons/cons_overflow.cc: Move...
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: ...here.
* testsuite/20_util/ratio/operations/ops_overflow.cc: Move...
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: ...here.
From-SVN: r144346
2009-02-21 03:56:21 +00:00
Benjamin Kosnik
5b9daa7e60
user.cfg.in: Tweaks.
...
2009-02-20 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in: Tweaks.
* doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere,
be elsewhere.
* include/tr1_impl/unordered_map: Just use most specialized
container module.
* include/tr1_impl/unordered_set: Same.
* include/tr1_impl/array: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/forward_list.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_bvector.h: Same.
* include/backward/binders.h: Change binder module to binders.
* include/std/complex: Add complex_numers module.
* include/tr1_impl/complex: Same.
* include/std/valarray: Add numeric_arrays module.
* include/bits/gslice_array.h: Same.
* include/bits/gslice.h: Same.
* include/bits/mask_array.h: Same.
* include/bits/slice_array.h: Same.
* include/bits/indirect_array.h: Same.
* include/bits/allocator.h: Add allocators module.
* include/ext/throw_allocator.h
* include/ext/pool_allocator.h
* include/ext/bitmap_allocator.h
* include/ext/new_allocator.h
* include/ext/malloc_allocator.h
* include/ext/array_allocator.h
* include/ext/mt_allocator.h
* include/ext/debug_allocator.h
* include/ext/extptr_allocator.h
* include/tr1_impl/functional: Move namespace markup here.
* include/tr1_impl/regex: Same.
* include/tr1_impl/type_traits: Add metaprogramming module.
* include/std/type_traits: Same.
* include/std/memory: Add memory module.
* include/std/ratio: Add ratio module.
* include/std/chrono: Move namespace markup here, add time module.
* include/std/thread: Move namespace markup here, add concurrency
module.
* include/std/mutex: Use concurrency module.
* include/std/condition_variable: Same.
* include/bits/ios_base.h: Refine io module.
* include/bits/basic_ios.h: Same.
* include/std/fstream: Same.
* include/std/istream: Same.
* include/std/ostream: Same.
* include/std/sstream: Same.
* include/ext/vstring.h: Correct parameter markup.
* include/bits/shared_ptr.h: Add pointer_abstractions module.
* include/bits/unique_ptr.h: Same.
* include/bits/algorithmfwd.h: Add mutating_algorithms,
non_mutating_algorithms, sorting_algorithms. Adjust nesting.
* include/bits/stl_heap.h: Add markup for new groupings.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_algo.h: Same.
* include/c_compatibility/stdatomic.h: Add atomics module.
* include/c_global/cstdatomic: Same.
* libsupc++/exception: Add exceptions module.
* libsupc++/typeinfo: Same.
* libsupc++/new: Same.
* libsupc++/exception_ptr.h: Same.
* include/std/system_error: Same.
* include/std/stdexcept: Same.
* libsupc++/cxxabi.h: Move doxygroups.cc markup here.
* libsupc++/cxxabi-forced.h: Same.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same.
* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
* testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
* testsuite/30_threads/thread/cons/assign_neg.cc: Same.
* testsuite/30_threads/thread/cons/copy_neg.cc: Same.
* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/insert_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/deque/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/insert_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/list/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/insert_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/20_util/duration/cons/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/unique_ptr/modifiers/reset_neg.cc: Same.
* testsuite/20_util/unique_ptr/assign/assign.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.cc: Same.
* testsuite/20_util/ratio/operations/ops_overflow.cc: Same.
From-SVN: r144343
2009-02-21 00:45:21 +00:00
Chris Fairles
626dda69bc
thread (_Impl_base): Move _M_id out and into ...
...
2009-02-13 Chris Fairles <cfairles@gcc.gnu.org>
Benjamin Kosnik <bkoz@redhat.com>
* include/std/thread (_Impl_base): Move _M_id out and into ...
(thread): ...here. Call _M_make_routine in body of constructors.
Adjust data member usage to reflect changes.
(_M_make_routine): From _M_make_shared_data.
(_M_start_thread): Add __shared_base_type argument.
* src/thread.cc: Fixups for above.
* config/abi/pre/gnu.ver: Adjust exports.
* testsuite/30_threads/thread/native_handle/typesizes.cc: Enable.
* testsuite/30_threads/thread/cons/assign_neg.cc: Adjust line numbers.
* testsuite/30_threads/thread/cons/copy_neg.cc: Same.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r144171
2009-02-13 23:08:50 +00:00
Benjamin Kosnik
f3eb9681f0
all.h (compare_type_to_native_type_sizes): To...
...
2009-02-12 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/util/thread/all.h (compare_type_to_native_type_sizes): To...
(compare_type_to_native_type): ...this, add alignment check.
* testsuite/30_threads/condition_variable_any/native_handle/
typesizes.cc: Modify as above.
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/condition_variable/native_handle/
typesizes.cc: Same.
* testsuite/30_threads/recursive_timed_mutex/native_handle/
typesizes.cc: Same.
* testsuite/30_threads/thread/cons/1.cc: Add comments.
* testsuite/30_threads/thread/cons/2.cc: Same.
* testsuite/30_threads/thread/cons/3.cc: Same.
* testsuite/30_threads/thread/cons/4.cc: Same.
* testsuite/30_threads/thread/cons/5.cc: Same.
* testsuite/30_threads/thread/cons/6.cc: Same.
* testsuite/30_threads/thread/cons/7.cc: Same.
* testsuite/30_threads/thread/cons/8.cc: Same.
* testsuite/30_threads/thread/cons/9.cc: New.
* testsuite/30_threads/thread/cons/moveable.cc: New.
* src/condition_variable.cc: Clean up whitespace.
* include/std/condition_variable: Same.
From-SVN: r144147
2009-02-13 00:25:16 +00:00
Benjamin Kosnik
d5cf20212b
all.h (compare_type_to_native_type_sizes): To...
...
2009-02-12 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/util/thread/all.h (compare_type_to_native_type_sizes): To...
(compare_type_to_native_type): ...this, add alignment check.
* testsuite/30_threads/condition_variable_any/native_handle/
typesizes.cc: Modify as above.
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/condition_variable/native_handle/
typesizes.cc: Same.
* testsuite/30_threads/recursive_timed_mutex/native_handle/
typesizes.cc: Same.
* testsuite/30_threads/thread/cons/1.cc: Add comments.
* testsuite/30_threads/thread/cons/2.cc: Same.
* testsuite/30_threads/thread/cons/3.cc: Same.
* testsuite/30_threads/thread/cons/4.cc: Same.
* testsuite/30_threads/thread/cons/5.cc: Same.
* testsuite/30_threads/thread/cons/6.cc: Same.
* testsuite/30_threads/thread/cons/7.cc: Same.
* testsuite/30_threads/thread/cons/8.cc: Same.
* testsuite/30_threads/thread/cons/9.cc: New.
* testsuite/30_threads/thread/cons/moveable.cc: New.
* src/condition_variable.cc: Clean up whitespace.
* include/std/condition_variable: Same.
From-SVN: r144142
2009-02-13 00:14:42 +00:00
Benjamin Kosnik
f7459b6c53
condition_variable (condition_variable): Remove _M_internal_mutex.
...
2009-02-09 Benjamin Kosnik <bkoz@redhat.com>
* include/std/condition_variable (condition_variable): Remove
_M_internal_mutex. Add private __native_type typedef.
* src/condition_variable.cc (condition_variable::notify_one):
Remove _M_internal_mutex use. Use typedef.
(condition_variable::notify_all): Same.
* include/std/mutex (mutex): Add private __native_type typedef. Use it.
(recursive_mutex): Same.
(timed_mutex): Same.
(recursive_timed_mutex): Same.
(once_flag): Make __native_type typedef private.
* include/std/thread (this_thread): Add minimal markup.
* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
Adjust line numbers.
* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
* testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
* testsuite/30_threads/thread/cons/assign_neg.cc: Same.
* testsuite/30_threads/thread/cons/copy_neg.cc: Same.
* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
* testsuite/util/thread/all.h: Testsuite utilities for testing thread.
* testsuite/30_threads/condition_variable_any/native_handle/
typesizes.cc: New.
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
* testsuite/30_threads/condition_variable/native_handle/
typesizes.cc: Same.
* testsuite/30_threads/recursive_timed_mutex/native_handle/
typesizes.cc: Same.
From-SVN: r144053
2009-02-10 08:29:57 +00:00
Chris Fairles
b47f0044ab
thread (thread<>::thread(_Callable)): Explicitly use _Callable as template argument for _M_make_shared_data.
...
2009-02-08 Chris Fairles <cfairles@gcc.gnu.org>
* include/std/thread (thread<>::thread(_Callable)): Explicitly use
_Callable as template argument for _M_make_shared_data.
* testsuite/30_threads/thread/cons/6.cc: New.
* testsuite/30_threads/thread/cons/7.cc: New.
* testsuite/30_threads/thread/cons/8.cc: New.
From-SVN: r144023
2009-02-09 00:13:47 +00:00
Benjamin Kosnik
ede965edbc
member: To..
...
2009-02-07 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/30_threads/thread/member: To..
* testsuite/30_threads/thread/members: ...this.
* testsuite/30_threads/condition_variable/member: To...
* testsuite/30_threads/condition_variable/members: ...this.
From-SVN: r144014
2009-02-08 09:10:15 +00:00
Benjamin Kosnik
d7afcd2b9b
thread (thread::id): Move definition inside thread.
...
2009-02-06 Benjamin Kosnik <bkoz@redhat.com>
* include/std/thread (thread::id): Move definition inside thread.
Use native_handle_type. Remove this_thread::get_id friend.
Change __thread_data_ptr to __shared_base_ptr.
(thread:🆔 :id(native_handle_type): Make public. Still explicit.
Use native_handle_type. Change _M_thread_id to _M_thread.
(thread::__thread_data_base): Rename to _Impl_base. Use id, change
_M_thread_handle to _M_id.
(thread::__thread_data): Rename to _Impl.
Fixup for renames.
(thread::_M_make_thread_data): Return derived type.
(thread::hardware_concurrency): Add definition for default case.
(thread::get_id): Now can define inline.
(thread): Change _M_thread_data to _M_data.
(this_thread::get_id): Now can define inline.
* src/thread.cc (__thread_proxy): Rename to
execute_native_thread_routine.
Fixup for other renames.
* testsuite/30_threads/thread/cons/assign_neg.cc: New.
* testsuite/30_threads/thread/cons/copy_neg.cc: New.
* testsuite/30_threads/thread/algorithm: Move to..
* testsuite/30_threads/thread/swap: ...this.
* testsuite/30_threads/thread/member/hardware_concurrency.cc: Add.
* testsuite/30_threads/thread/id/operators.cc: New.
From-SVN: r144007
2009-02-07 21:56:55 +00:00
Jonathan Wakely
cbdab9c897
thread: Remove unused headers.
...
2009-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/thread: Remove unused headers.
(__thread_data_base): Remove unused mutex and base.
(thread::~thread): Only detach if joinable.
(thread::joinable): Test if thread data ptr is empty.
(thread::_M_thread_data_mutex): Remove.
(thread::_M_get_thread_data): Remove.
(thread::_M_make_thread_data): Remove overload, use make_shared.
(thread:🆔 :id): Make constructor explicit.
* src/thread.cc (thread::join,thread::detach): Throw if not joinable.
(thread::_M_start_thread): Break shared_ptr cycle on error.
(__thread_proxy): Use shared_ptr swap instead of copy and reset.
* testsuite/30_threads/thread/member/4.cc: New.
* testsuite/30_threads/thread/member/5.cc: New.
From-SVN: r143772
2009-01-29 23:24:05 +00:00
Benjamin Kosnik
5292c0337d
testsuite_common_types.h (has_trivial_cons_dtor): New.
...
2009-01-28 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/util/testsuite_common_types.h (has_trivial_cons_dtor): New.
(standard_layout): Just use !has_virtual_destructor for now.
* testsuite/30_threads/mutex/requirements/standard_layout.cc: New.
* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: New.
* testsuite/30_threads/recursive_mutex/requirements/
standard_layout.cc: New.
* testsuite/30_threads/condition_variable/requirements/
standard_layout.cc: New.
* testsuite/29_atomics/atomic_address/requirements/
standard_layout.cc: Adjust.
* testsuite/29_atomics/atomic_flag/requirements/
standard_layout.cc: Same.
* testsuite/29_atomics/atomic_address/requirements/trivial.cc: New.
* testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same.
* testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same.
* testsuite/30_threads/condition_variable/requirements/typedefs.cc: New.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust
line numbers.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
* testsuite/29_atomics/atomic/requirements/standard_layout.cc:
Remove, not required.
From-SVN: r143749
2009-01-29 00:25:17 +00:00
Jonathan Wakely
8b6ded8d4f
thread (__thread_data_base::__run): Make non-const.
...
* include/std/thread (__thread_data_base::__run): Make non-const.
* testsuite/30_threads/thread/cons/5.cc: New.
From-SVN: r143483
2009-01-18 12:38:10 +00:00
Chris Fairles
959d14e166
acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME], [...]): Remove.
...
2009-01-15 Chris Fairles <cfairles@gcc.gnu.org>
Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME],
[GLIBCXX_CHECK_NANOSLEEP]): Remove.
([GLIBCXX_ENABLE_LIBSTDCXX_TIME]): Add.
* configure.ac: Adjust.
* doc/xml/manual/configure.xml: Update.
* testsuite/lib/libstdc++.exp (check_v3_target_sched_yield): Add.
* testsuite/lib/dg-options.exp (dg-require-sched-yield): Add.
* testsuite/30_threads/thread/this_thread/2.cc: Use the latter.
* configure: Regenerate.
* config.h.in: Likewise.
* src/thread.cc (thread::thread(), thread::~thread, thread::get_id,
thread::joinable, thread::swap, this_thread::get_id,
this_thread::yield): Define inline...
* include/std/thread: ... here.
* config/abi/pre/gnu.ver: Adjust.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r143397
2009-01-15 14:01:04 +00:00
Chris Fairles
92010a793b
system_error (is_error_code_enum): Specialize for errc.
...
2008-10-22 Chris Fairles <cfairles@gcc.gnu.org>
* include/std/system_error (is_error_code_enum): Specialize for errc.
(error_category::error_category): Defaulted and protected.
(error_category::~error_category): New, virtual.
(error_category::error_category(const error_category&),
error_category::operator=(const error_category&)): Deleted.
(get_system_category, get_posix_category): Remove (DR 890).
(system_category): External linkage (DR 890).
(posix_category): Remove.
(generic_category): Add. External linkage (DR 890).
(error_code::error_code<>(_ErrorCodeEnum)): Use generic_category.
(error_code::clear, error_code::operator=<>(_ErrorCodeEnum)): Forward to
error_code::assign, use generic_category.
(error_condition::error_condition,
error_condition::error_condition<>(_ErrorConditionEnum)): Use
generic_category.
(error_condition::clear,
error_condition::operator=<>(_ErrorConditionEnum)): Forward to
error_code::assign, use generic_category.
(make_error_code, make_error_condition): Define in namespace std.
* include/std/mutex (unique_lock<>::lock, unique_lock<>::try_lock,
unique_lock<>::try_lock_until<>(duration),
unique_lock<>::try_lock_for<>(duration)): Replace posix_error with errc.
* src/system_error.cc (system_error_category, generic_error_category):
New.
(gnu_error_category): Remove.
(get_system_category, get_posix_category): Remove (DR 890).
(system_category, generic_category): Define.
* src/functexcept.cc (__throw_system_error): Use generic_category.
* config/abi/pre/gnu.ver: Export system_category and generic_category,
remove get_system_category and get_generic_category (DR 890).
* config/os/generic/error_constants.h (posix_errno): Rename to errc, use
enum class type. Fix spelling.
* config/os/mingw32/error_constants.h (posix_errno): Likewise.
* testsuite/19_diagnostics/error_code/cons/1.cc: Use errc and
generic_category.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Use errc.
* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Update
dg-error line numbers.
* testsuite/19_diagnostics/error_condition/cons/1.cc: Use
generic_category.
* testsuite/19_diagnostics/error_condition/operators/bool.cc: Use errc.
* testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
Likewise.
* testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: New.
* testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
Remove using tests since errc is not a namespace.
* testsuite/19_diagnostics/system_error/cons-1.cc: Use errc.
* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
From-SVN: r141297
2008-10-22 15:27:44 +00:00
Paolo Carlini
4661c8fd43
system_error (native_category): Remove.
...
2008-10-10 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/system_error (native_category): Remove.
(posix_category): Add.
(error_code::error_code(_ErrorCodeEnum, typename enable_if<>:type*):
Fix _M_cat initialization.
(error_code::operator=(_ErrorCodeEnum)): Assign _M_cat too.
(error_condition::_M_cat, error_condtion::operator=
(_ErrorConditionEnum)): Implement resolution of DR 804.
(error_condition::error_condition(_ErrorConditionEnum, typename
enable_if<>:type*): Fix.
(error_condition::clear, error_condition::assign): Implement.
(operator==, operator!=): Fix uglification of parameters.
(make_error_code, make_error_condition): Define in namespace
posix_error.
(operator<<(basic_ostream<>&, const error_code&)): Define here.
* include/std/ostream (operator<<(basic_ostream<>&,
const error_code&)): Do not define here.
* testsuite/19_diagnostics/error_condition/cons/1.cc: New.
* testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/operators/equal.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
Likewise.
* testsuite/19_diagnostics/error_code/cons/1.cc: Tweak.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
dg-error line numbers.
* testsuite/30_threads/unique_lock/locking/2.cc: Tweak.
* testsuite/util/testsuite_error.h: Minor tweaks.
* testsuite/util/testsuite_hooks.cc: Avoid uninitialized warning.
From-SVN: r141039
2008-10-10 12:39:01 +00:00
Chris Fairles
57cb79efa4
mutex (try_lock): Implement generic try_lock.
...
2008-09-28 Chris Fairles <cfairles@gcc.gnu.org>
* include/std/mutex (try_lock): Implement generic try_lock.
* testsuite/30_threads/try_lock/1.cc: New.
* testsuite/30_threads/try_lock/2.cc: Likewise.
* testsuite/30_threads/try_lock/3.cc: Likewise.
* testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
* testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
From-SVN: r140729
2008-09-28 09:05:07 +00:00
Chris Fairles
8839907955
chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined...
...
2008-09-23 Chris Fairles <cfairles@gcc.gnu.org>
* include/std/chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined, don't
typedef monotonic_clock to system_clock and instead declare new class.
* src/chrono.cc: Conditionally define monotonic_clock::now().
* include/std/condition_variable (wait_until): Throw exception if
__gthread_cond_timedwait returns with error other than timed_out. Use
system_clock as known clock type (__clock_t) and add overloads for known
and unknown clocks. In the unknown case, sync to the known clock.
Implement overload taking a predicate.
(wait_for): Implement overload taking a predicate.
* config/abi/pre/gnu.ver: Add exports for monotonic_clock.
* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Modify
line numbers.
* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/condition_variable/member/1.cc: New.
* testsuite/30_threads/condition_variable/member/2.cc: Likewise.
From-SVN: r140603
2008-09-23 17:34:29 +00:00