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
Paolo Carlini
e2792913bd
re PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc execution test)
...
2009-05-21 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40094
Revert:
2009-05-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/throw_allocator.h (throw_allocator_base): Avoid
out of line member functions definitions.
(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
Remove, use static locals instead.
(throw_allocator_base::do_check_allocated, print_to_string): Declare.
* src/throw_allocator.cc: New.
* src/Makefile.am: Add.
* config/abi/pre/gnu.ver: Add exports.
* src/Makefile.in: Regenerate.
From-SVN: r147788
2009-05-22 01:28:50 +00:00
Paolo Carlini
c8036448d1
re PR libstdc++/40184 (locale(const char* std_name) can create invalid facets for nonuniform locale)
...
2009-05-19 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40184
* include/bits/locale_classes.h (locale::facet::_S_lc_ctype_c_locale):
Declare...
* config/locale/gnu/c_locale.cc: ... and define.
* config/locale/generic/c_locale.cc: Define.
* src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
Use it.
* testsuite/22_locale/locale/cons/40184.cc: New.
From-SVN: r147714
2009-05-19 18:20:47 +00:00
Paolo Carlini
9fcf9c24a1
throw_allocator.h (throw_allocator_base): Avoid out of line member functions definitions.
...
2009-05-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/throw_allocator.h (throw_allocator_base): Avoid
out of line member functions definitions.
(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
Remove, use static locals instead.
(throw_allocator_base::do_check_allocated, print_to_string): Declare.
* src/throw_allocator.cc: New.
* src/Makefile.am: Add.
* config/abi/pre/gnu.ver: Add exports.
* src/Makefile.in: Regenerate.
From-SVN: r147264
2009-05-08 00:39:28 +00: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
Jan Hubicka
b91cc3b9dc
settings.h (get): Mark const.
...
* include/parallel/settings.h (get): Mark const.
* libsupc++/unwind-cxx.h (__cxa_call_terminate): Mark throw ().
* libsupc++/eh_call.cc (__cxa_call_terminate): Mark throw ().
* config/io/basic_file_stdio.cc (sys_open, is_open, fd, seekoff): Mark
throw ().
* config/io/basic_file_stdio.h (__basic_file, sys_open): Mark throw ().
(is_open, fd): Mark pure and throw ().
(seekoff): Mark throw ().
From-SVN: r147077
2009-05-03 16:51:50 +00: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
Jan Hubicka
09f2a1e440
* include/ext/atomicity.h
...
(__exchange_and_add, __atomic_add): Mark throw ().
* config/os/aix/atomicity.h
* config/os/aix/atomicity.h
* config/os/irix/atomicity.h
* config/cpu/cris/atomicity.h
* config/cpu/m68k/atomicity.h
* config/cpu/hppa/atomicity.h
* config/cpu/sparc/atomicity.h
* config/cpu/i386/atomicity.h
* config/cpu/i486/atomicity.h
* config/cpu/sh/atomicity.h
* config/cpu/generic/atomicity_mutex/atomicity.h
* config/cpu/generic/atomicity_builtins/atomicity.h
(__exchange_and_add, __atomic_add): Mark throw ().
From-SVN: r146576
2009-04-22 13:13:55 +00:00
Uros Bizjak
e31f581411
baseline_symbols.txt: Regenerated.
...
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
From-SVN: r146252
2009-04-17 14:10:22 +02: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
Adam Nemet
0b83c44bdf
baseline_symbols.txt: Regenerate.
...
* config/abi/post/mips64-linux-gnu/baseline_symbols.txt:
Regenerate.
* config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: New
file.
From-SVN: r145779
2009-04-08 21:47:24 +00:00
Andrew Stubbs
8f2b104d09
atomicity.h: Put the SH4A specific functions in the __gnu_cxx namespace.
...
2009-04-06 Andrew Stubbs <ams@codesourcery.com>
* config/cpu/sh/atomicity.h: Put the SH4A specific functions in the
__gnu_cxx namespace. Remove "static inline".
From-SVN: r145613
2009-04-06 16:47:32 +00:00
Jakub Jelinek
4bb7dbf60e
baseline_symbols.txt: Regenerated.
...
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
Regenerated.
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
Regenerated.
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
Regenerated.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
From-SVN: r145437
2009-04-02 08:50:55 +02:00
Benjamin Kosnik
9b3003d590
system_error (system_category): To system_category().
...
2009-02-17 Benjamin Kosnik <bkoz@redhat.com>
* include/std/system_error (system_category): To system_category().
(generic_category): To generic_category. DR 890.
* src/system_error.cc: Define.
* include/bits/functexcept.h: Only one __throw_system_error.
* src/functexcept.cc: Same.
* include/std/mutex: Fixup for changes above.
* testsuite/19_diagnostics/error_condition/cons/1.cc: Same.
* testsuite/19_diagnostics/error_code/cons/1.cc: Same.
* testsuite/19_diagnostics/system_error/cons-1.cc: Same.
* config/abi/pre/gnu.ver: Clean up exports.
From-SVN: r144259
2009-02-18 07:35:36 +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
Adam Nemet
8deecedf4c
configure.host: Set abi_baseline_pair for mips64*-linux.
...
* configure.host: Set abi_baseline_pair for mips64*-linux.
* config/abi/post/mips64-linux-gnu/baseline_symbols.txt: New file.
From-SVN: r144041
2009-02-09 20:24:08 +00:00
Chris Fairles
8644ecf59d
thread (__thread_data_base): Nest class in std::thread.
...
2009-02-05 Chris Fairles <cfairles@gcc.gnu.org>
Benjamin Kosnik <bkoz@redhat.com>
* include/std/thread (__thread_data_base): Nest class in std::thread.
(__thread_data): Likewise.
(__thread_data_ptr): Nest typedef in std::thread.
* src/thread.cc (__thread_proxy): Qualify the above names.
* config/abi/pre/gnu.ver: Remove unused exports.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r143969
2009-02-05 17:47:56 +00:00
Paolo Carlini
bc2631e0c6
re PR libstdc++/25191 (exception_defines.h #defines try/catch)
...
2009-02-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/25191
* libsupc++/exception_defines.h: Depending on __EXCEPTIONS,
deal consistently with __try and __catch too.
* src/localename.cc: Replace try -> __try, catch -> __catch.
* src/ios.cc: Likewise.
* src/locale.cc: Likewise.
* src/istream.cc: Likewise.
* src/thread.cc: Likewise.
* src/compatibility.cc: Likewise.
* src/bitmap_allocator.cc: Likewise.
* src/ios_init.cc: Likewise.
* include/debug/deque: Likewise.
* include/debug/list: Likewise.
* include/tr1_impl/hashtable: Likewise.
* include/std/bitset: Likewise.
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: Likewise.
* include/ext/pb_ds/detail/resize_policy/
hash_standard_resize_policy_imp.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
resize_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
constructor_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/
split_join_branch_bag.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/
resize_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/
constructor_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binary_heap_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binary_heap_/
erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binary_heap_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
constructors_destructor_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/
constructor_destructor_fn_imps.hpp: Likewise.
* include/ext/slist: Likewise.
* include/ext/memory: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/ext/vstring.tcc: Likewise.
* include/ext/rope: Likewise.
* include/ext/sso_string_base.h: Likewise.
* include/bits/shared_ptr.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/locale_classes.tcc: Likewise.
* include/bits/locale_facets.tcc: Likewise.
* include/bits/locale_classes.h: Likewise.
* include/bits/forward_list.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/istream.tcc: Likewise.
* include/bits/stl_uninitialized.h: Likewise.
* include/bits/ostream.tcc: Likewise.
* include/bits/vector.tcc: Likewise.
* include/bits/stl_tempbuf.h: Likewise.
* include/bits/deque.tcc: Likewise.
* include/bits/basic_string.tcc: Likewise.
* include/bits/ostream_insert.h: Likewise.
* include/bits/locale_facets_nonio.tcc: Likewise.
* include/bits/stl_tree.h: Likewise.
* include/bits/fstream.tcc: Likewise.
* include/tr1/shared_ptr.h: Likewise.
* include/tr1/hypergeometric.tcc: Likewise.
* include/backward/hashtable.h: Likewise.
* libsupc++/exception_ptr.h: Likewise.
* libsupc++/eh_personality.cc: Likewise.
* libsupc++/eh_call.cc: Likewise.
* config/locale/gnu/monetary_members.cc: Likewise.
* config/locale/gnu/time_members.h: Likewise.
* config/locale/generic/time_members.h: Likewise.
From-SVN: r143913
2009-02-03 23:44:53 +00:00
Benjamin Kosnik
2319eb4e23
os_defines.h: Remove superfluous __NO_STRING_INLINES.
...
2009-02-02 Benjamin Kosnik <bkoz@redhat.com>
* config/os/gnu-linux/os_defines.h: Remove superfluous
__NO_STRING_INLINES.
From-SVN: r143883
2009-02-02 22:07:48 +00:00
Jonathan Wakely
78b580a99e
thread (__thread_data_base, thread): Rename member functions to match coding style.
...
2009-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/thread (__thread_data_base, thread): Rename member
functions to match coding style.
(thread::thread,thread::operator=): Define move operations.
* src/thread.cc (__thread_data_base, thread): Rename member functions.
* config/abi/pre/gnu.ver: Adjust.
From-SVN: r143577
2009-01-22 22:33:02 +00:00
Benjamin Kosnik
954a782e53
re PR libstdc++/38834 (FAIL: abi_check on alpha)
...
2009-01-20 Benjamin Kosnik <bkoz@redhat.com>
Uros Bizjak <ubizjak@gmail.com>
PR libstdc++/38834
* config/abi/pre/gnu.ver: Correct char16_t and char32_t exports.
* config/os/gnu-linux/ldbl-extra.ver: Tweak.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r143538
2009-01-21 04:04:24 +00:00
Benjamin Kosnik
adc8a1e3e0
re PR libstdc++/32666 (FAIL: abi_check hppa)
...
2009-01-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/32666
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2009-01-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/32666
* Makefile.am (hosted_source): Remove libmath directory.
* Makefile.in: Regenerate.
* linkage.m4 (GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT): Remove.
(AC_REPLACE_MATHFUNCS): Remove.
(GLIBCXX_CHECK_MATH_SUPPORT): Remove copysign, copysignl checks as done
in GLIBCXX_CHECK_C99_TR1.
* acinclude.m4: Remove libmath, need_math.
* crossconfig.m4: Remove use of HAVE_COPYSIGN, HAVE_COPYSIGNL,
HAVE_COPYSIGNF, GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT, need_libmath.
* configure.ac: Same.
* configure: Regenerate.
* fragment.am: Fix comment.
* config.h.in: Regenerate.
* src/Makefile.in: Regenerate.
* src/Makefile.am: Remove libmath references.
* doc/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* src/compatibility.cc: Also export long double versions of "C" math
library if hppa-linux.
* config/abi/pre/gnu.ver: Remove unused __signbit exports.
* doc/xml/manual/appendix_contributing.xml: Remove libmath reference.
* libmath: Remove.
* libmath/signbit.c: Same.
* libmath/stubs.c: Same.
* libmath/Makefile.in: Same.
* libmath/copysignf.c: Same.
* libmath/mathconf.h: Same.
* libmath/signbitf.c: Same.
* libmath/Makefile.am: Same.
* libmath/signbitl.c: Same.
From-SVN: r143406
2009-01-15 20:02:11 +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
Benjamin Kosnik
9982752346
re PR libstdc++/36801 (config/cpu/generic/atomicity_mutex/atomicity.h incorrectly relies on global constructor ordering)
...
2009-01-07 Benjamin Kosnik <bkoz@redhat.com>
Jonathan Larmour <jifl@eCosCentric.com>
PR libstdc++/36801
* config/cpu/generic/atomicity_mutex/atomicity.h (get_atomic_mutex):
New.
(__gnu_cxx::__exchange_and_add): Use it.
* src/atomic.cc (get_atomic_mutex): New.
* src/debug.cc (get_safe_base_mutex): New.
* src/locale.cc (get_locale_cache_mutex): New.
* src/mt_allocator.cc (get_freelist): New.
(get_freelist_mutex): New.
* src/pool_allocator.cc (get_palloc_mutex): New.
* include/std/mutex (__once_functor_lock): To
(__get_once_functor_lock): ...this.
* src/mutex.cc (__once_mutex): Don't export, use
(get_once_mutex): ...this.
* config/abi/pre/gnu.ver: Adjust exports.
From-SVN: r143182
2009-01-08 03:14:24 +00:00
Benjamin Kosnik
50ce8d3d78
cstdatomic: Update to N2798.
...
2008-12-11 Benjamin Kosnik <bkoz@redhat.com>
Richard Henderson <rth@redhat.com>
* include/c_global/cstdatomic: Update to N2798.
(atomic): Remove explicit constructors as per DR 845.
* include/bits/atomic_0.h: New. Switchable implementation.
* include/bits/atomic_2.h: New. Lock-free implementation.
* include/c_compatibility/stdatomic.h: Use foward headers.
* include/bits/atomicfwd_cxx.h: New.
* include/bits/atomicfwd_c.h: New.
* src/atomic.cc: Adjust.
* acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove,
unconditionally use default/deleted syntax.
(GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for 2, 8.
* include/Makefile.am (bits_headers): Add atomicfwd_c.h,
atomicfwd_cxx.h, atomic_0.h, atomic_2.h.
* include/Makefile.in: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.
* config/abi/pre/gnu.ver: Adjust exports.
* testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: Adjust.
* testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: Same.
* testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: Same.
* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Move to..
* testsuite/29_atomics/atomic_address/cons/single_value.cc: ...this.
* testsuite/29_atomics/atomic_address/cons/copy_neg.cc
* testsuite/29_atomics/atomic_integral/cons/single_value.cc: New.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: New.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: New.
* testsuite/29_atomics/atomic_integral/cons/default.cc: New.
* testsuite/29_atomics/atomic_integral/cons/direct_list.cc: New.
* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
* testsuite/29_atomics/atomic_integral/requirements/
standard_layout.cc: New.
* testsuite/29_atomics/atomic_integral/operators/
integral_assignment.cc: New.
* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: New.
* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: New.
* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: New.
* testsuite/29_atomics/atomic_integral/operators/increment.cc: New.
* testsuite/29_atomics/atomic_integral/operators/decrement.cc: New.
* testsuite/29_atomics/atomic_integral/operators/bitwise.cc: New.
* testsuite/29_atomics/atomic_integral/operators/
integral_conversion.cc: New.
* testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Adjust.
* testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
* testsuite/29_atomics/atomic_flag/requirements/
standard_layout.cc: Same.
* testsuite/29_atomics/atomic_flag/
atomic_global_fence_compatibility.cc: Kill.
* testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Adjust.
* testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
* testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic/cons/explicit_value.cc: Move to...
* testsuite/29_atomics/atomic/cons/single_value.cc: ...this.
* testsuite/29_atomics/atomic/cons/copy_neg.cc
* testsuite/29_atomics/atomic/cons/direct_list.cc: New.
* testsuite/29_atomics/atomic/cons/copy_list.cc: New.
* testsuite/29_atomics/atomic/requirements/standard_layout.cc: New.
* testsuite/29_atomics/atomic/requirements/base_classes.cc: New.
* testsuite/29_atomics/atomic/operators/integral_assignment.cc: New.
* testsuite/29_atomics/atomic/operators/integral_conversion.cc: New.
* testsuite/util/testsuite_hooks.h (bitmask_operators): Move...
* testsuite/util/testsuite_common_types.h: ...here.
(atomic_integrals_no_bool): New.
(atomic_integrals): New.
(has_increment_operators, has_decrement_operators)
(direct_list_initializable, single_value_constructible)
(standard_layout, has_bitwise_operators, integral_convertable)
(integral_assignable): Add.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r142714
2008-12-12 17:10:16 +00:00
Paolo Carlini
1d9aba8105
re PR libstdc++/38368 (locale(const char* std_name) may create locale with broken facets)
...
2008-12-04 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38368
* config/locale/gnu/numeric_members.cc (numpunct<char>::
_M_initialize_numpunct, numpunct<wchar_t>::_M_initialize_numpunct):
Fix for THOUSANDS_SEP == '\0' consistently with "C" locale.
* config/locale/gnu/monetary_members.cc (moneypunct<char, true>::
_M_initialize_moneypunct, moneypunct<char, false>::
_M_initialize_moneypunct, moneypunct<wchar_t, true>::
_M_initialize_moneypunct, moneypunct<wchar_t, false>::
_M_initialize_moneypunct): Fix for __MON_DECIMAL_POINT == '\0' or
__MON_THOUSANDS_SEP == '\0' consistently with "C" locale.
* testsuite/22_locale/locale/cons/38368.cc: New.
From-SVN: r142439
2008-12-04 17:16:27 +00:00
Paolo Carlini
c8a5f8f292
re PR libstdc++/38067 (monetary_members.cc: 4 * call to wrong C++ delete)
...
2008-11-10 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/38067
* config/locale/gnu/monetary_members.cc (moneypunct<>::
_M_initialize_moneypunct(__c_locale, const char*)): Use correct vector
delete for __wcs_ps and __wcs_ns.
From-SVN: r141740
2008-11-10 13:47:12 +00:00
Paolo Carlini
83b83ae97a
re PR libstdc++/37522 (Incorrect vswprintf prototype breaks __to_xstring)
...
2008-10-27 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/37522
* config/os/mingw32/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSWPRINTF
* include/bits/basic_string.h: Guard string conversions with
!defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) too.
* testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
New.
* testsuite/lib/dg-options.exp (dg-require-string-conversions): New.
* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
Use the latter.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/
stoull.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/
to_string.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
Likewise.
From-SVN: r141382
2008-10-27 15:01:28 +00:00
Paolo Carlini
918bf5c10e
error_constants.h (enum errc): Remove no_posix_equivalent.
...
2008-10-24 Paolo Carlini <paolo.carlini@oracle.com>
* config/os/generic/error_constants.h (enum errc): Remove
no_posix_equivalent.
* config/os/mingw32/error_constants.h (enum errc): Likewise.
* testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
Adjust.
From-SVN: r141341
2008-10-24 10:41:42 +00:00
Chris Fairles
1fa8718bc8
error_constants.h (errc): Use long type.
...
2008-10-23 Chris Fairles <cfairles@gcc.gnu.org>
* config/os/generic/error_constants.h (errc): Use long type.
* config/os/mingw32/error_constants.h (errc): Likewise.
From-SVN: r141324
2008-10-23 15:16:45 +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
Jason Merrill
38179091cc
PR c++/37376, other mangling issues
...
gcc/cp/:
PR c++/37376, other mangling issues
* mangle.c (write_type): Update TYPE_PACK_EXPANSION mangling.
(write_member_name): Break out from...
(write_expression): ...here. Handle dependent COMPONENT_REF.
(write_template_arg): Wrap an argument pack in 'I'/'E'.
(write_builtin_type): Update char16/32_t mangling.
(write_nested_name, write_prefix): Don't forget template args
for typename types.
* operators.def: Add ARROW_EXPR, update COMPONENT_REF and
EXPR_PACK_EXPANSION.
libstdc++-v3/:
* config/abi/pre/gnu.ver: Update char16/32_t manglings.
include/:
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_PACK_EXPANSION.
libiberty/:
* cp-demangle.c (struct d_print_info): Add pack_index.
(d_dump): Add DEMANGLE_COMPONENT_PACK_EXPANSION.
(d_make_comp): Likewise. DEMANGLE_COMPONENT_ARGLIST and
DEMANGLE_COMPONENT_TEMPLATE_ARGLIST can have two null args.
(cplus_demangle_builtin_types): Add char16/32_t.
(cplus_demangle_type): Recognize them.
(d_template_args): Handle empty argument packs.
(d_template_arg): Handle argument packs.
(d_expression): Handle dependent name.
(d_index_template_argument): New fn.
(d_lookup_template_argument): New fn.
(d_find_pack, d_pack_length): New fn.
(d_print_subexpr): Split out...
(d_print_comp): ...from here. Use d_*_template_argument.
Handle empty arg lists. Support pack expansions.
* cp-demangle.h (D_BUILTIN_TYPE_COUNT): Increase to 32.
From-SVN: r140916
2008-10-06 18:29:42 -04:00
Andrew Pinski
ffecec4dce
c_locale.cc (__convert_to_v): Fix !__FLT_HAS_INFINITY__ case.
...
2008-10-01 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/locale/generic/c_locale.cc (__convert_to_v): Fix
!__FLT_HAS_INFINITY__ case.
From-SVN: r140823
2008-10-01 16:16:19 -07: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
Paolo Carlini
5ef46f9559
PR libstdc++/32422, DR 23 [Ready in R60]
...
2008-09-23 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/32422, DR 23 [Ready in R60]
* config/locale/gnu/c_locale.cc (__convert_to_v(const char*, float&,
ios_base::iostate&, const __c_locale&), __convert_to_v(const char*,
double&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
char*, long double&, ios_base::iostate&, const __c_locale&)): Implement
DR 23 and deal correctly with broken exponents.
* config/locale/generic/c_locale.cc (__convert_to_v(const char*,
float&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
char*, double&, ios_base::iostate&, const __c_locale&),
__convert_to_v(const char*, long double&, ios_base::iostate&, const
__c_locale&)): Likewise.
* include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
_InIter, ios_base&, ios_base::iostate&, _ValueT&)): Likewise.
(num_get<>::_M_extract_float(_InIter, _InIter, ios_base&,
ios_base::iostate&, string&): Change grouping check to set instead of
OR failbit; do not check for eofbit here...
(num_get<>::do_get(iter_type, iter_type, ios_base&,
ios_base::iostate&, float&), num_get<>::do_get(iter_type, iter_type,
ios_base&, ios_base::iostate&, double&), num_get<>::do_get(iter_type,
iter_type, ios_base&, ios_base::iostate&, long double&),
num_get<>::__do_get(iter_type, iter_type, ios_base&,
ios_base::iostate&, double&)): ... do it here instead.
(num_get<>::do_get(iter_type, iter_type, ios_base&,
ios_base::iostate&, bool&)): Implement DR 23.
(num_get<>::do_get(iter_type, iter_type, ios_base&,
ios_base::iostate&, void*&)): Adjust.
* doc/xml/manual/intro.xml: Add and entry for DR 23.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
Adjust.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
Likewise.
* testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
* testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
* testsuite/22_locale/num_get/get/char/10.cc: Likewise.
* testsuite/22_locale/num_get/get/char/12.cc: Likewise.
* testsuite/22_locale/num_get/get/char/15.cc: Likewise.
* testsuite/22_locale/num_get/get/char/16.cc: Likewise.
From-SVN: r140574
2008-09-23 00:47:02 +00:00
Chris Fairles
46e113bf2b
thread: New.
...
2008-09-12 Chris Fairles <chris.fairles@gmail.com>
Benjamin Kosnik <bkoz@redhat.com>
* include/std/thread: New.
* include/Makefile.am: Update.
* include/Makefile.in: Regenerate.
* src/thread.cc: New.
* src/Makefile.am: Update.
* src/Makefile.in: Regenerate.
* acinclude.m4: Add check for nanosleep.
* configure.ac: Call it.
* configure: Regenerate.
* config.h.in: Likewise.
* config/abi/pre/gnu.ver: Add exports.
* doc/doxygen/user.cfg.in: Add thread header.
* testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Add.
* testsuite/lib/dg-options.exp (dg-require-nanosleep): Add.
* testsuite/30_threads/thread/cons/1.cc: New.
* testsuite/30_threads/thread/cons/2.cc: Likewise.
* testsuite/30_threads/thread/cons/3.cc: Likewise.
* testsuite/30_threads/thread/cons/4.cc: Likewise.
* testsuite/30_threads/thread/algorithm/1.cc: Likewise.
* testsuite/30_threads/thread/algorithm/2.cc: Likewise.
* testsuite/30_threads/thread/member/1.cc: Likewise.
* testsuite/30_threads/thread/member/2.cc: Likewise.
* testsuite/30_threads/thread/member/3.cc: Likewise.
* testsuite/30_threads/thread/this_thread/1.cc: Likewise.
* testsuite/30_threads/thread/this_thread/2.cc: Likewise.
* testsuite/30_threads/thread/this_thread/3.cc: Likewise.
* testsuite/30_threads/thread/this_thread/4.cc: Likewise.
* testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
* testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
* testsuite/17_intro/headers/c++200x/all.cc: Add thread.
* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc:
Add thread, condition_variable and mutex.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r140332
2008-09-13 00:32:37 +00:00
Paolo Carlini
1834f167ee
ctype_members.cc (ctype<char>::_M_narrow_init, [...]): Don't define here.
...
2008-09-10 Paolo Carlini <paolo.carlini@oracle.com>
* config/locale/darwin/ctype_members.cc (ctype<char>::_M_narrow_init,
ctype<char>::_M_widen_init): Don't define here.
* config/locale/gnu/ctype_members.cc: Likewise.
* config/locale/generic/ctype_members.cc: Likewise.
* src/ctype.cc: Define here.
From-SVN: r140240
2008-09-10 17:37:30 +00:00
Paolo Carlini
6c43852a18
re PR libstdc++/37455 (Code bloat for ostream.widen('\n'))
...
2008-09-10 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/37455
* include/bits/locale_facets.h (ctype<char>::_M_narrow_init,
ctype<char>::_M_widen_init): Don't define inline.
* config/locale/darwin/ctype_members.cc: ... define here.
* config/locale/gnu/ctype_members.cc: ... likewise.
* config/locale/generic/ctype_members.cc: ... likewise.
* config/abi/pre/gnu.ver: Export.
From-SVN: r140238
2008-09-10 16:48:47 +00:00
Paolo Carlini
37383ef55e
gnu.ver: Also export __once_functor_lock...
...
2008-09-03 Paolo Carlini <paolo.carlini@oracle.com>
* config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten
GLIBCXX_3.4 exports (necessary in case of undef _GLIBCXX_HAVE_TLS).
* Makefile.in: Regenerate.
* src/Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* libmath/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r139968
2008-09-04 00:57:57 +00:00
Chris Fairles
7b800287b7
condition_variable: Use new deleted ctors.
...
2008-09-03 Chris Fairles <chris.fairles@gmail.com>
* include/std/condition_variable: Use new deleted ctors.
* include/std/mutex: Likewise plus implement timed_mutex,
recursive_timed_mutex and call_once.
* src/condition_variable.cc: Implement wait(). Use gthread types.
Remove _GTHREADS_HAS_COND checks in favor of global
_GLIBCXX_HAS_GTHREADS.
* src/mutex.cc (call_once): Implementation using TLS with mutex
fallback.
* config/abi/pre/gnu.ver: Add exported symbols.
* testsuite/lib/libstdc++.exp (check_v3_target_gthreads): New.
* testsuite/lib/dg-options.exp (dg-require-gthreads): Likewise.
* testsuite/30_threads/lock_guard/requirements/typedefs.cc: Use
dg-require-gthreads and dg-require-cstdint.
* testsuite/30_threads/lock_guard/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/mutex/cons/1.cc: Likewise.
* testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/mutex/lock/1.cc: Likewise.
* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/unique_lock/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
* testsuite/30_threads/mutex/cons/assign_neg.cc: Also adjust dg-error
lines for deleted members.
* testsuite/30_threads/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/call_once/once_flag.cc: New.
* testsuite/30_threads/call_once/call_once1.cc: Likewise.
* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise
* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
From-SVN: r139943
2008-09-03 17:46:09 +00:00
Paolo Carlini
30a333ceeb
[multiple changes]
...
2008-08-23 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
* testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
* testsuite/18_support/exception_ptr/current_exception.cc: Use it.
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
* testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
2008-08-23 Sebastian Redl <sebastian.redl@getdesigned.at>
Add (again) exception propagation support as per N2179. Feature is
available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
* libsupc++/exception_ptr.h (exception_ptr, current_exception,
copy_exception, rethrow_exception): New file, implement exception
propagation.
* libsupc++/eh_ptr.cc (exception_ptr, current_exception,
rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
* libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
__cxa_free_dependent_exception, __get_dependent_exception_from_ue,
__GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
__gxx_dependent_exception_class, __get_object_from_ue,
__get_object_from_ambiguous_exception): Add.
(__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
(__is_gxx_exception_class): Handle dependent exceptions.
* libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
* libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
* libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
* libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
* libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
__cxa_free_dependent_exception): Add.
* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
counting.
* libsupc++/exception: Conditionally include exception_ptr.h.
* libsupc++/Makefile.am: Register new files.
* libsupc++/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add new symbols.
* testsuite/18_support/exception_ptr/current_exception.cc: Test the
core functionality of current_exception().
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
core functionality of rethrow_exception().
* testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
exception objects during exception propagation.
From-SVN: r139509
2008-08-23 11:28:30 +00:00
Paolo Carlini
9b410dd0ec
2008-08-22 Paolo Carlini <paolo.carlini@oracle.com>
...
Revert again the N2179 patch.
From-SVN: r139497
2008-08-22 18:59:41 +00:00
Paolo Carlini
6d419a6ef3
Re-instate last patch...
...
2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
Re-instate last patch, amended to use __exchange_and_add_dispatch
and __atomic_add_dispatch in eh_ptr.cc and eh_throw.cc.
From-SVN: r139091
2008-08-14 01:17:09 +00:00
Paolo Carlini
ec001bc928
2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
...
Revert the last patch.
From-SVN: r139074
2008-08-13 20:08:55 +00:00
Sebastian Redl
0292e6d2bb
Add exception propagation support as per N2179.
...
2008-08-13 Sebastian Redl <sebastian.redl@getdesigned.at>
Add exception propagation support as per N2179.
* libsupc++/exception_ptr.h (exception_ptr, current_exception,
copy_exception, rethrow_exception): New file, implement exception
propagation.
* libsupc++/eh_ptr.cc (exception_ptr, current_exception,
rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
* libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
__cxa_free_dependent_exception, __get_dependent_exception_from_ue,
__GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
__gxx_dependent_exception_class, __get_object_from_ue,
__get_object_from_ambiguous_exception): Add.
(__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
(__is_gxx_exception_class): Handle dependent exceptions.
* libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
* libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
* libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
* libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
* libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
__cxa_free_dependent_exception): Add.
* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
counting.
* libsupc++/exception: Conditionally include exception_ptr.h.
* libsupc++/Makefile.am: Register new files.
* libsupc++/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add new symbols.
* testsuite/18_support/exception_ptr/current_exception.cc: Test the
core functionality of current_exception().
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
core functionality of rethrow_exception().
* testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
exception objects during exception propagation.
From-SVN: r139064
2008-08-13 18:14:51 +00:00
Paolo Carlini
4d5670aa93
c_locale.cc: Include <cstdio>.
...
2008-08-11 Paolo Carlini <paolo.carlini@oracle.com>
* config/locale/generic/c_locale.cc: Include <cstdio>.
From-SVN: r138966
2008-08-11 19:28:35 +00:00
Paolo Carlini
a031f958a6
ctype_members.cc: Include <cstdio>.
...
2008-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* config/locale/darwin/ctype_members.cc: Include <cstdio>.
From-SVN: r138905
2008-08-09 15:02:30 +00:00
Paolo Carlini
1814157e88
acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for common values of EOF, SEEK_CUR, SEEK_END.
...
2008-08-06 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for
common values of EOF, SEEK_CUR, SEEK_END.
* configure.ac: Use it.
* include/bits/ios_base.h: Likewise.
* include/bits/char_traits.h: Likewise.
* config/locale/gnu/ctype_members.cc: Include <cstdio>.
* config/locale/generic/ctype_members.cc: Likewise.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error lines.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* configure: Regenerate.
* config.h.in: Likewise.
From-SVN: r138829
2008-08-06 23:17:05 +00:00
Jason Merrill
988499f434
Add initializer_list support as per N2679.
...
* include/debug/unordered_map: Add initializer_list support.
* include/debug/safe_association.h: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/vector: Likewise.
* include/debug/deque: Likewise.
* include/debug/map.h: Likewise.
* include/debug/set.h: Likewise.
* include/debug/string: Likewise.
* include/debug/list: Likewise.
* include/debug/multimap.h: Likewise.
* include/tr1_impl/unordered_map: Likewise.
* include/tr1_impl/hashtable: Likewise.
* include/tr1_impl/unordered_set: Likewise.
* include/tr1_impl/regex: Likewise.
* include/std/valarray: Likewise.
* include/std/unordered_map: Likewise.
* include/std/unordered_set: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/basic_string.tcc: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/ext/vstring.h: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/sso_string_base.h: Likewise.
* src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
* src/Makefile.in: Likewise.
* config/abi/pre/gnu.ver: Add new w?string exports.
...
From-SVN: r138043
2008-07-21 15:40:39 -04:00