c08472eaf6
46 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Jonathan Wakely
|
a58a38b32c |
shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
* include/bits/shared_ptr_base.h (_Sp_counted_ptr): Make 'final'. (_Sp_counted_deleter): Make 'final'. Use allocator_traits. (_Sp_counted_ptr_inplace): Make 'final'. Use allocator_traits. Derive from _Sp_counted_ptr instead of _Sp_counted_deleter to use EBO for the allocator. (__shared_count, __shared_ptr): Use allocator_traits. * include/std/future (__future_base::_Result_alloc): Make 'final'. Use allocator traits. (__future_base::_Task_state): Make 'final'. (__future_base::_Deferred_state): Likewise. (__future_base::_Async_state): Likewise. * testsuite/20_util/shared_ptr/cons/alloc_min.cc: New. * testsuite/20_util/shared_ptr/creation/alloc_min.cc: New. * testsuite/20_util/shared_ptr/creation/private.cc: New. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. * testsuite/30_threads/packaged_task/cons/alloc_min.cc: New. * testsuite/30_threads/promise/cons/alloc_min.cc: New. From-SVN: r181171 |
||
Jason Merrill
|
6573e8a0a9 |
pt.c (tinst_level_tick, [...]): Replace with last_error_tinst_level.
gcc/cp/ * pt.c (tinst_level_tick, last_template_error_tick): Replace with last_error_tinst_level. (push_tinst_level, pop_tinst_level): Adjust. (problematic_instantiation_changed): Adjust. (record_last_problematic_instantiation): Adjust. * error.c (cp_print_error_function): Don't print current_function_decl if we're in a template instantiation context. (print_instantiation_full_context): Always print first line. gcc/testsuite/ * lib/prune.exp (prune_gcc_output): Prune "In substitution" too. From-SVN: r176366 |
||
Paolo Carlini
|
6a97dbf748 |
valarray (~valarray): Use noexcept.
2011-06-14 Paolo Carlini <paolo.carlini@oracle.com> * include/std/valarray (~valarray): Use noexcept. * include/bits/unique_ptr.h (~unique_ptr): Likewise. * testsuite/26_numerics/valarray/noexcept_move_construct.cc: New. * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc: Likewise. * testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc: Likewise. * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc: Likewise. From-SVN: r175039 |
||
Jason Merrill
|
377a536430 |
prune.exp (libstdc++-dg-prune): Prune notes.
* testsuite/lib/prune.exp (libstdc++-dg-prune): Prune notes. * testsuite/20_util/duration/cons/1_neg.cc: Remove dg-excess-errors. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. * testsuite/20_util/forward/1_neg.cc: Likewise. * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise. * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise. * testsuite/20_util/reference_wrapper/ref_neg.cc: Likewise. * testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Likewise. * testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: Likewise. * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc: Likewise. * testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc: Likewise. * testsuite/23_containers/forward_list/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/23_containers/map/operators/1_neg.cc: Likewise. * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Likewise. * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise. * testsuite/decimal/mixed-mode-cmp_neg.cc: Likewise. * testsuite/decimal/operator_neg.cc: Likewise. From-SVN: r174884 |
||
Jason Merrill
|
3ff6097510 |
re PR c++/48969 (ICE with -std=c++0x)
PR c++/48969 PR c++/44175 gcc/c-family/ * c-common.c (max_tinst_depth): Lower default to 900. gcc/cp/ * error.c (subst_to_string): New. (cp_printer): Use it for 'S'. (print_instantiation_partial_context_line): Handle subst context. * pt.c (push_tinst_level): Handle subst context. (deduction_tsubst_fntype): Don't track specific substitutions. Use push_tinst_level. From-SVN: r174772 |
||
Jonathan Wakely
|
cf70f97b95 |
shared_ptr_base.h: Use noexcept.
2011-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> * include/bits/shared_ptr_base.h: Use noexcept. Define special member functions as defaulted/deleted. * include/bits/shared_ptr.h: Use noexcept. * 20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line numbers. * 20_util/weak_ptr/comparison/cmp_neg.cc: Likewise. From-SVN: r173882 |
||
Paolo Carlini
|
355e71b9df |
shared_ptr.h (operator>, [...]): Add, per DR 1401.
2011-03-22 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/shared_ptr.h (operator>, operator<=, operator>=): Add, per DR 1401. (operator==, operator!=, operator<): Fix per the letter of DR 1401. * include/bits/shared_ptr_base.h: Likewise for __shared_ptr. * include/bits/unique_ptr.h (operator==, operator!=, operator<, operator<=, operator>, operator>=): Fix per the letter of DR 1401. * testsuite/20_util/shared_ptr/comparison/dr1401.cc: New. * testsuite/20_util/unique_ptr/comparison/dr1401.cc: Likewise. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust. From-SVN: r171293 |
||
Benjamin Kosnik
|
e95992339f |
Makefile.am: Add functional.cc, shared_ptr.cc.
2011-03-14 Benjamin Kosnik <bkoz@redhat.com> * src/Makefile.am: Add functional.cc, shared_ptr.cc. * src/Makefile.in: Regenerate. * libsupc++/Makefile.am: Add nested_exception.cc. * libsupc++/Makefile.in: Regenerate. * src/system_error.cc: Add ctor and dtor definitions for error_category. * src/functional.cc: New. Add dtor definition for bad_function_call. * src/stdexcept.cc: Add dtor definitions for domain_error, invalid_argument, length_error, out_of_range, range_error, overflow_error, underflow_error. * src/future.cc: Add dtor definition for __future_base::_Result_base. * src/shared_ptr.cc: New. Add dtor definition for bad_weak_ptr. * src/thread.cc: Add dtor for thread::_Impl_base. * include/std/system_error: Adjust. * include/std/stdexcept: Same. * include/std/future: Same. * include/std/functional: Same. * include/std/thread: Same. * include/bits/shared_ptr_base.h: Same. * libsupc++/nested_exception.cc: New. Add dtor for nested_exception. * libsupc++/nested_exception.h: Adjust. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same. * config/abi/pre/gnu.ver: Add new exports. * include/bits/regex_compiler.h: Nest namespace versioning. * include/bits/regex_grep_matcher.tcc: Same. * include/bits/regex_grep_matcher.h: Same. * include/bits/regex_cursor.h: Same. * include/bits/regex_nfa.h: Same. * include/bits/regex_nfa.tcc: Same. From-SVN: r170975 |
||
Benjamin Kosnik
|
12ffa22844 |
PR libstdc++/36104 part four
2011-01-30 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/36104 part four * include/bits/c++config (_GLIBCXX_STD): Remove. (_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C. (_GLIBCXX_P): Now _GLIBCXX_STD_A. (_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL, _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove. (_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL, _GLIBCXX_INLINE_PROFILE): Remove. (_GLIBCXX_BEGIN_NAMESPACE(X)): Remove. (_GLIBCXX_END_NAMESPACE): Remove. (_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove. (_GLIBCXX_END_NESTED_NAMESPACE): Remove. (_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add. (_GLIBCXX_END_NAMESPACE_ALGO): Add. (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add. (_GLIBCXX_END_NAMESPACE_CONTAINER): Add. (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add. (_GLIBCXX_END_NAMESPACE_VERSION): Add. (_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL. (_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL. (_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY. * include/*: Use new macros for namespace scope. * config/*: Same. * src/*: Same. * src/Makefile.am (sources): Remove debug_list.cc, add compatibility-debug_list-2.cc. (parallel_sources): Remove parallel_list.cc, add compatibility-parallel_list-2.cc. (compatibility-parallel_list-2.[o,lo]): New rule. * src/Makefile.in: Regenerate. * src/debug_list.cc: Remove. * src/parallel_list.cc: Remove. * src/compatibility-list-2.cc: New. * src/compatibility-debug_list-2.cc: New. * src/compatibility-parallel_list-2.cc: New. * doc/doxygen/user.cfg.in: Adjust macros. * testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros. * testsuite/20_util/declval/requirements/1_neg.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same. * testsuite/20_util/forward/c_neg.cc: Same. * testsuite/20_util/forward/f_neg.cc: Same. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same. * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same. * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/forward_list/capacity/1.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ assign_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/forward_list/requirements/dr438/ insert_neg.cc: Same. * testsuite/23_containers/list/capacity/29134.cc: Same. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/vector/bool/capacity/29134.cc: Same. * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same. * testsuite/25_algorithms/sort/35588.cc: Same. * testsuite/27_io/ios_base/cons/assign_neg.cc: Same. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. * testsuite/ext/profile/mutex_extensions_neg.cc: Same. * testsuite/ext/profile/profiler_algos.cc: Same. * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same. * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same. * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same. * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same. From-SVN: r169421 |
||
John David Anglin
|
0b1432029a |
re PR libstdc++/46869 (FAIL: 20_util/enable_shared_from_this/cons/constexpr.cc scan-assembler-not _ZNSt23enable_shared_from_thisIiEC2Ev)
2010-12-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR libstdc++/46869 * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Compile with -g0. * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise. * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise. * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise. From-SVN: r168063 |
||
Benjamin Kosnik
|
cb2168c966 |
testsuite_iterators.h: Guard move.h includes.
2010-11-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/util/testsuite_iterators.h: Guard move.h includes. * testsuite/util/testsuite_allocator.h: Same. * testsuite/20_util/temporary_buffer.cc: Use typedef, qualify. * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Define PB_DS_REGRESSION in the source file. * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same. * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same. * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same. * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same. * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same. * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same. * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same. * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same. * testsuite/21_strings/c_strings/wchar_t/3_neg.cc: Move to this. Use _neg suffix. * testsuite/21_strings/c_strings/wchar_t/3.cc: ...from this. * testsuite/21_strings/c_strings/char/3_neg.cc: Same. * testsuite/21_strings/c_strings/char/3.cc: Same. * testsuite/ext/slist/23781_neg.cc: Same. * testsuite/ext/slist/23781.cc: Same. * testsuite/ext/profile/mutex_extensions.cc: Same. * testsuite/ext/profile/mutex_extensions_neg.cc: Same. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc: Same. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same. * testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc: Same. * testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc: Same. * testsuite/23_containers/multimap/23781_neg.cc: Same. * testsuite/23_containers/multimap/23781.cc: Same. * testsuite/23_containers/set/23781_neg.cc: Same. * testsuite/23_containers/set/23781.cc: Same. * testsuite/23_containers/multiset/23781_neg.cc: Same. * testsuite/23_containers/multiset/23781.cc: Same. * testsuite/23_containers/list/23781_neg.cc: Same. * testsuite/23_containers/list/23781.cc: Same. * testsuite/23_containers/map/23781_neg.cc: Same. * testsuite/23_containers/map/23781.cc: Same. * testsuite/20_util/duration/cons/dr974_neg.cc: Same. * testsuite/20_util/duration/cons/dr974.cc: Same. * testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Same. * testsuite/20_util/tuple/comparison_operators/35480.cc: Same. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same. * testsuite/20_util/shared_ptr/cons/43820.cc: Same. * testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc: Same. * testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc: Same. From-SVN: r167956 |
||
Jonathan Wakely
|
86137e8127 |
re PR libstdc++/46910 (std::shared_ptr requires public destructor for a class with friend deleter)
2010-12-14 Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/46910 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Do not derive from _Sp_counted_ptr. * testsuite/20_util/shared_ptr/cons/46910.cc: New. * testsuite/20_util/shared_ptr/cons/43820.cc: Adjust. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust. From-SVN: r167819 |
||
Paolo Carlini
|
403b89a874 |
shared_ptr.h (shared_ptr<>::shared_ptr(_Tp1*, _Deleter, const _Alloc&), [...]): Take the allocator by value, per N3225.
2010-12-06 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/shared_ptr.h (shared_ptr<>::shared_ptr(_Tp1*, _Deleter, const _Alloc&), shared_ptr(nullptr_t, _Deleter, const _Alloc&)): Take the allocator by value, per N3225. (shared_ptr<>::shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...), allocate_shared(_Alloc, _Args&&...): Viceversa, take the allocator by const lvalue ref. * include/bits/shared_ptr_base.h (__shared_count<>:: __shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...), __shared_ptr<>::__shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...), __allocate_shared(_Alloc, _Args&&...)): Likewise. (__shared_ptr<>::__shared_ptr(_Tp1*, _Deleter, const _Alloc&), __shared_ptr(nullptr_t, _Deleter, const _Alloc&), reset(_Tp1*, _Deleter, const _Alloc&)): Take the allocator by value. * testsuite/20_util/shared_ptr/cons/43820.cc: Adjust dg-error line numbers. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise. From-SVN: r167510 |
||
Jonathan Wakely
|
68f378af29 |
re PR libstdc++/46689 (FAIL: 20_util/shared_ptr/comparison/cmp.cc)
2010-11-28 Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/46689 * testsuite/20_util/shared_ptr/comparison/cmp.cc: Remove tests for invalid comparisons. From-SVN: r167217 |
||
Benjamin Kosnik
|
85db9dcc30 |
chrono: Constexpr markup for is_monotonic.
2010-11-23 Benjamin Kosnik <bkoz@redhat.com> * include/std/chrono: Constexpr markup for is_monotonic. * src/chrono.cc: Same. * testsuite/20_util/clocks/1.cc: Move... * testsuite/20_util/system_clock/1.cc: ...here. * testsuite/20_util/system_clock/constexpr_data.cc * testsuite/20_util/monotonic_clock/constexpr_data.cc * include/std/complex: Mark primary template constexpr. * testsuite/26_numerics/complex/cons/constexpr_primary.cc: Add. * testsuite/26_numerics/complex/complex_value.cc: Move... * testsuite/26_numerics/complex/dr387.cc: Move... * testsuite/26_numerics/complex/value_operations/1.cc: ... here. * testsuite/26_numerics/complex/value_operations/dr387.cc: ...here. * testsuite/26_numerics/complex/value_operations/constexpr.cc: New. 2010-11-23 Benjamin Kosnik <bkoz@redhat.com> Jason Merrill <jason@redhat.com> * testsuite/lib/libstdc++.exp: Use scanasm. * testsuite/util/testsuite_common_types.h (constexpr_default_constructible): Add support for non-literal types. (constexpr_single_value_constructible): Same. * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove xfail. * testsuite/20_util/shared_ptr/cons/constexpr.cc: Add. * testsuite/20_util/unique_ptr/cons/constexpr.cc: Add. * testsuite/20_util/weak_ptr/cons/constexpr.cc: Add. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line number. 2010-11-23 Benjamin Kosnik <bkoz@redhat.com> Jonathan Wakely <jwakely.gcc@gmail.com> * include/std/future (shared_future): Default ctor constexpr. (future): Same. * testsuite/30_threads/shared_future/cons/constexpr.cc: New. * testsuite/30_threads/future/cons/constexpr.cc: New. Co-Authored-By: Jason Merrill <jason@redhat.com> Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com> From-SVN: r167099 |
||
Paolo Carlini
|
be9d3d7342 |
shared_ptr.h (shared_ptr<>::__shared_ptr(), [...]): Add constexpr specifier.
2010-11-05 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/shared_ptr.h (shared_ptr<>::__shared_ptr(), shared_ptr<>::shared_ptr(nullptr_t), weak_ptr<>::weak_ptr(), enable_shared_from_this::enable_shared_from_this()): Add constexpr specifier. * include/bits/shared_ptr_base.h (__shared_count::__shared_count(), __shared_count::__shared_count(), __shared_ptr<>::__shared_ptr(), __shared_ptr<>::__shared_ptr(nullptr_t), __weak_ptr<>::__weak_ptr(), __enable_shared_from_this::__enable_shared_from_this()): Likewise. * include/bits/unique_ptr.h (default_delete, unique_ptr<>::unique_ptr(), unique_ptr<>::unique_ptr(nullptr_t)): Likewise. * testsuite/20_util/default_delete/cons/constexpr.cc: Do not xfail. * testsuite/20_util/shared_ptr/cons/constexpr.cc: Remove, the test cannot work for a non-literal type like std::shared_ptr. * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise. * testsuite/util/testsuite_common_types.h: Add comments. * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/43820.cc: Adjust dg-error line numbers. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise. From-SVN: r166386 |
||
Paolo Carlini
|
53dc5044ed |
cinttypes: Remove, move contents to C++0x and TR1 headers.
2010-11-02 Paolo Carlini <paolo.carlini@oracle.com> * include/tr1_impl/cinttypes: Remove, move contents to C++0x and TR1 headers. * include/tr1_impl/cstdlib: Likewise. * include/tr1_impl/cstdio: Likewise. * include/tr1_impl/cctype: Likewise. * include/tr1_impl/boost_sp_counted_base.h: Likewise. * include/tr1_impl/cmath: Likewise. * include/tr1_impl/cfenv: Likewise. * include/tr1_impl/utility: Likewise. * include/tr1_impl/complex: Likewise. * include/tr1_impl/cwchar: Likewise. * include/tr1_impl/type_traits: Likewise. * include/tr1_impl/cstdint: Likewise. * include/tr1_impl/regex: Likewise. * include/tr1_impl/array: Likewise. * include/tr1_impl/cwctype: Likewise. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. * src/condition_variable.cc: Adjust; consistently use _GLIBCXX_BEGIN_NAMESPACE and _GLIBCXX_END_NAMESPACE. * src/mutex.cc: Likewise. * src/future.cc: Likewise. * src/atomic.cc: Likewise. * src/chrono.cc: Likewise. * src/thread.cc: Likewise. * include/std/tuple: Likewise. * include/std/utility: Likewise. * include/std/thread: Likewise.: Likewise. * include/std/type_traits: Likewise. * include/std/memory: Likewise. * include/std/future: Likewise. * include/std/ratio: Likewise. * include/std/chrono: Likewise. * include/std/condition_variable: Likewise. * include/std/mutex: Likewise. * include/std/functional: Likewise. * include/std/complex: Likewise. * include/std/typeindex: Likewise. * include/std/array: Likewise. * include/bits/regex_compiler.h: Likewise. * include/bits/regex_grep_matcher.tcc: Likewise. * include/bits/regex_grep_matcher.h: Likewise. * include/bits/regex_constants.h: Likewise. * include/bits/regex_cursor.h: Likewise. * include/bits/regex_nfa.tcc: Likewise. * include/bits/shared_ptr_base.h: Likewise. * include/bits/regex_nfa.h: Likewise. * include/bits/random.tcc: Likewise. * include/bits/regex.h: Likewise. * include/bits/random.h: Likewise. * include/bits/regex_error.h: Likewise. * include/c_global/cinttypes: Likewise. * include/c_global/cstdlib: Likewise. * include/c_global/cstdio: Likewise. * include/c_global/cctype: Likewise. * include/c_global/cmath: Likewise. * include/c_global/cfenv: Likewise. * include/c_global/cwchar: Likewise. * include/c_global/cstdint: Likewise. * include/c_global/cwctype: Likewise. * include/tr1/shared_ptr.h: Likewise. * include/tr1/cinttypes: Likewise. * include/tr1/cstdio: Likewise. * include/tr1/cfenv: Likewise. * include/tr1/utility: Likewise. * include/tr1/cwchar: Likewise. * include/tr1/type_traits: Likewise. * include/tr1/memory: Likewise. * include/tr1/cstdint: Likewise. * include/tr1/regex: Likewise. * include/tr1/cwctype: Likewise. * include/tr1/cstdlib: Likewise. * include/tr1/cctype: Likewise. * include/tr1/cmath: Likewise. * include/tr1/complex: Likewise. * include/tr1/array: Likewise. * include/c_compatibility/fenv.h: Likewise. * include/c_compatibility/stdint.h: Likewise. * include/c_compatibility/inttypes.h: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc: Adjust dg-error line numbers. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/ typedefs_neg.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/43820.cc: Likewise. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise. From-SVN: r166211 |
||
Benjamin Kosnik
|
94a86be0dd |
libstdc++: N3126 draft support.
* include/std/chrono: Extend constexpr application. * testsuite/util/testsuite_common_types.h (constexpr_default_constructible, constexpr_single_value_constructible) : Add comments about implied constraints. * testsuite/20_util/duration/cons/constexpr.cc: Activate all tests. * testsuite/20_util/time_point/cons/constexpr.cc: Same. * testsuite/20_util/time_point/requirements/constexpr_functions.cc: Same. * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line numbers. * testsuite/20_util/time_point_cast/constexpr.cc: New. * include/std/bitset: Use __SIZEOF_* macros to re-create original logic instead of slipshod application of std::numeric_limits<T>::max() macros. * testsuite/util/testsuite_common_types.h (constexpr_default_constructible): Modify. * include/std/chrono: Tested constexpr. * testsuite/20_util/duration_cast/constexpr.cc: New. * testsuite/20_util/time_point/cons/constexpr.cc: New. * testsuite/20_util/duration/cons/constexpr.cc: Add single_value tests. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust line numbers. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same. * testsuite/20_util/time_point/cons/constexpr.cc: Add single_value tests. * testsuite/20_util/time_point/requirements/constexpr_functions.cc: Add. * testsuite/util/testsuite_common_types.h: Adjust init. * include/std/chrono (duration): Remove defaulted constructor, replace with mem-init list. * testsuite/20_util/duration/cons/constexpr.cc: Add single value. * testsuite/20_util/duration/requirements/constexpr_functions.cc: Add non-static member functions. * testsuite/20_util/default_delete/cons/constexpr.cc: New, xfail. * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Same. * testsuite/20_util/shared_ptr/cons/constexpr.cc: Same. * testsuite/20_util/time_point/requirements/constexpr_functions.cc: Same. * testsuite/20_util/unique_ptr/cons/constexpr.cc: Same. * testsuite/20_util/weak_ptr/cons/constexpr.cc: Same. * include/std/bitset: Add constexpr as per N3126 draft. * testsuite/23_containers/bitset/cons/constexpr.cc: New. * testsuite/23_containers/bitset/requirements/constexpr_functions.cc: New. * testsuite/util/testsuite_common_types.h: Reset condition. * include/bits/random.h: Remove misleading comments. * include/bits/regex.h: Add constexpr. * testsuite/28_regex/05_constants/syntax_option_type.cc: Add tests. * testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc: New. PR libstdc++/46134 * include/std/chrono: Use default constructor. * testsuite/util/testsuite_common_types.h (constexpr_default_constructible): Adjust condition. PR libstdc++/46133 * include/std/complex: Adjust complex specialization default constructors for constexpr. * testsuite/26_numerics/complex/cons/constexpr.cc: Enable tests. * include/bits/random.h: Adjust for constexpr as per N3126 draft. * testsuite/26_numerics/random/discard_block_engine/requirements/ constexpr_data.cc: New. * testsuite/26_numerics/random/discard_block_engine/requirements/ constexpr_functions.cc: New. * testsuite/26_numerics/random/independent_bits_engine/requirements/ constexpr_functions.cc: New. * testsuite/26_numerics/random/linear_congruential_engine/requirements/ constexpr_data.cc: New. * testsuite/26_numerics/random/linear_congruential_engine/requirements/ constexpr_functions.cc: New. * testsuite/26_numerics/random/mersenne_twister_engine/requirements/ constexpr_data.cc: New. * testsuite/26_numerics/random/mersenne_twister_engine/requirements/ constexpr_functions.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/requirements/ constexpr_data.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/requirements/ constexpr_functions.cc: New. * testsuite/26_numerics/random/subtract_with_carry_engine/requirements/ constexpr_data.cc: New. * testsuite/26_numerics/random/subtract_with_carry_engine/requirements/ constexpr_functions.cc: New. * include/bits/stream_iterator.h: Add constexpr as per N3126 draft. * include/bits/streambuf_iterator.h: Same. * include/std/complex: Same. * testsuite/24_iterators/istream_iterator/cons/constexpr.cc: New. * testsuite/24_iterators/istreambuf_iterator/cons/constexpr.cc: New. * testsuite/26_numerics/complex/cons/constexpr.cc: New. * testsuite/26_numerics/complex/requirements/constexpr_functions.cc: New. * include/bits/char_traits.h: Add constexpr as per N3126 draft. * testsuite/21_strings/char_traits/requirements/constexpr_functions.cc: New. * include/tr1_impl/array: Add constexpr as per N3126 draft. * testsuite/23_containers/array/requirements/ constexpr_functions.cc: New. * include/bits/shared_ptr.h: Revert changes. * include/bits/unique_ptr.h: Same. * include/std/chrono: Adjust. * include/tr1_impl/type_traits: Same. * testsuite/util/testsuite_common_types.h: Add test functors. * testsuite/20_util/duration/cons/constexpr.cc: New. * testsuite/20_util/duration/requirements/constexpr_functions.cc: Same. * testsuite/20_util/pair/cons/constexpr.cc: Same. * testsuite/20_util/ratio/requirements/constexpr_data.cc: Same. * testsuite/27_io/ios_base/types/fmtflags/constexpr_operators.cc: Same. * testsuite/27_io/ios_base/types/iostate/constexpr_operators.cc: Same. * testsuite/27_io/ios_base/types/openmode/constexpr_operators.cc: Same. * testsuite/30_threads/call_once/constexpr.cc: Same. * testsuite/30_threads/mutex/cons/constexpr.cc: Same. * testsuite/30_threads/once_flag/cons/constexpr.cc: Same. * testsuite/tr1/4_metaprogramming/integral_constant/requirements/ constexpr_data.cc: Same. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same. * include/bits/allocator.h: Add constexpr as per N3126 draft. * include/bits/ios_base.h: Same. * include/bits/shared_ptr.h: Same. * include/bits/unique_ptr.h: Same. * include/bits/stl_iterator.h: Same. * include/bits/stl_pair.h: Same. * include/std/tuple: Same. * include/tr1_impl/type_traits: Same. * include/std/chrono: Same. * include/std/ratio: Same. * include/std/mutex: Same. * src/mutex.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same. * testsuite/27_io/ios_base/cons/assign_neg.cc: Same. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. * doc/doxygen/user.cfg.in: Replace _GLIBCXX_USE_CONSTEXPR, _GLIBCXX_CONSTEXPR for doxygen generation. * src/limits.cc: Undef. * testsuite/29_atomics/atomic/cons/constexpr.cc: Adjust. * testsuite/29_atomics/atomic_address/cons/constexpr.cc: Same. * testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same. * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.c: Same. * testsuite/18_support/numeric_limits/constexpr.cc: To... * testsuite/18_support/numeric_limits/requirements/ constexpr_data.cc, constexpr_functions.cc: ...this * testsuite/util/testsuite_common_types.h (constexpr_single_value_constructible): Add. * testsuite/29_atomics/atomic/cons/constexpr.cc: Adjust name. * testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same. * testsuite/29_atomics/atomic_address/cons/constexpr.cc: New. * testsuite/18_support/numeric_limits/constexpr.cc: New. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers. * testsuite/29_atomics/atomic/cons/constexpr.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same. * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same. * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: Same. * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Same. * include/bits/c++config (_GLIBCXX_CONSTEXPR): Add. (_GLIBCXX_USE_CONSTEXPR): Add. * include/std/limits: Use it. * src/limits.cc: Adjust. * testsuite/ext/profile/mutex_extensions.cc: Change line number. * include/bits/atomic_0.h: Rework for N3126 draft, add constexpr. * include/bits/atomic_2.h: Same. * include/bits/atomic_base.h: Same. * include/std/atomic: Same. * src/atomic.cc: Same. * include/bits/atomicfwd_c.h: Remove. * include/bits/atomicfwd_cxx.h: Remove. * include/c_compatibility/stdatomic.h: Remove. * include/Makefile.am: Remove atomicfwd_c.h, atomicfwd_cxx.h, stdatomic.h. * include/Makefile.in: Regenerate. * doc/xml/manual/using.xml: Update list of header files for changes. * testsuite/util/testsuite_common_types.h (constexpr_constructible): Add. * testsuite/29_atomics/atomic/cons/constexpr.cc: New. * testsuite/29_atomics/atomic_integral/cons/constexpr.cc: New. * testsuite/17_intro/headers/c++200x/stdc++.cc: Modify. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/1.cc: Same. * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same. * testsuite/29_atomics/headers/atomic/macros.cc: Same. * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Same. * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Remove. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same. * testsuite/29_atomics/atomic_flag/clear/1.c: Same. * testsuite/29_atomics/headers/stdatomic.h/debug_mode.c: Same. * testsuite/29_atomics/headers/stdatomic.h/functions.c: Same. * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same. * testsuite/29_atomics/headers/stdatomic.h/types.c: Same. * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16. From-SVN: r166171 |
||
Paolo Carlini
|
3abeaf8f89 |
re PR libstdc++/42925 ([GB 99] Not possible to compare unique_ptr with 0)
2010-08-11 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/42925 * include/bits/unique_ptr.h (operator==(const unique_ptr<>&, nullptr_t), operator==(nullptr_t, const unique_ptr<>&), operator!=(const unique_ptr<>&, nullptr_t), operator!=(nullptr_t, const unique_ptr<>&)): Add. * include/bits/shared_ptr_base.h (operator==(const __shared_ptr<>&, nullptr_t), operator==(nullptr_t, const __shared_ptr<>&), operator!=(const __shared_ptr<>&, nullptr_t), operator!=(nullptr_t, const __shared_ptr<>&)): Likewise. * include/bits/shared_ptr.h (operator==(const shared_ptr<>&, nullptr_t), operator==(nullptr_t, const shared_ptr<>&), operator!=(const shared_ptr<>&, nullptr_t), operator!=(nullptr_t, const shared_ptr<>&)): Likewise. * testsuite/20_util/unique_ptr/comparison/42925.cc: New. * testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error line numbers. From-SVN: r163094 |
||
Paolo Carlini
|
c1510a4900 |
shared_ptr_base.h: Remove a few now redundant __glibcxx_function_requires(_ConvertibleConcept...).
2010-08-10 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/shared_ptr_base.h: Remove a few now redundant __glibcxx_function_requires(_ConvertibleConcept...). * testsuite/20_util/shared_ptr/cons/43820.cc: Adjust dg-error line number. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise. From-SVN: r163075 |
||
Paolo Carlini
|
5aadb69b90 |
cons_overflow_neg.cc: Avoid -Wall warnings.
2010-08-10 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Avoid -Wall warnings. * include/bits/shared_ptr.h (shared_ptr<>::shared_ptr (const shared_ptr<>&), shared_ptr(shared_ptr<>&&), weak_ptr<>:: weak_ptr(const weak_ptr<>&), weak_ptr(const shared_ptr<>&)): Constrain appropriately via std::is_convertible, etc. * include/bits/shared_ptr_base.h: Likewise. * include/bits/unique_ptr.h (default_delete<>:: default_delete(const default_delete<>&), unique_ptr<>::unique_ptr(unique_ptr<>&&), operator=(unique_ptr<>&&)): Likewise. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/shared_ptr/cons/43820.cc: Likewise. * include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(auto_ptr<>&&)): Add. * include/std/memory: Adjust includes order. * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: New. * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Minor tweaks. From-SVN: r163053 |
||
Jason Merrill
|
a40cc81fff |
libstdc++.exp: Set additional_prunes.
* testsuite/lib/libstdc++.exp: Set additional_prunes. (libstdc++-dg-test): Don't prune here. * testsuite/lib/prune.exp (dg-prune-output): New. (libstdc++-dg-prune): Rename from prune_g++_output. Add a bunch of prunes from gcc's prune.exp. From-SVN: r160812 |
||
Paolo Carlini
|
b0e788cc09 |
shared_ptr.h (hash<shared_ptr>): Add.
2010-06-11 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/shared_ptr.h (hash<shared_ptr>): Add. * include/bits/shared_ptr_base.h (hash<__shared_ptr>): Likewise. * include/bits/unique_ptr.h (hash<unique_ptr>): Likewise. * testsuite/20_util/shared_ptr/hash/1.cc: New. * testsuite/20_util/unique_ptr/hash/1.cc: Likewise. From-SVN: r160621 |
||
Jonathan Wakely
|
6d00745b6d |
[multiple changes]
2010-06-05 Magnus Fromreide <magfr@lysator.liu.se> Jonathan Wakely <jwakely.gcc@gmail.com> * include/std/functional (function): Add nullptr_t support. * include/bits/shared_ptr.h (shared_ptr): Likewise. * include/bits/unique_ptr.h (unique_ptr): Likewise. 2010-06-05 Jonathan Wakely <jwakely.gcc@gmail.com> * include/bits/shared_ptr_base.h (__shared_ptr): Add nullptr_t support. (__shared_count): Add nullptr_t support and make constructors explicit. * testsuite/20_util/shared_ptr/cons/43820.cc: Adjust. * testsuite/20_util/shared_ptr/cons/nullptr.cc: New. * testsuite/20_util/unique_ptr/cons/nullptr.cc: New. * testsuite/20_util/unique_ptr/assign/nullptr.cc: New. * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust. * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust. From-SVN: r160324 |
||
Jonathan Wakely
|
c440459b92 |
pointer.cc: Fix which tests are run.
2010-06-02 Jonathan Wakely <jwakely.gcc@gmail.com> * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc: Fix which tests are run. * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise. From-SVN: r160182 |
||
Jonathan Wakely
|
4585cf7236 |
re PR libstdc++/43820 (auto_ptr used with incomplete type no longer triggers warning)
2010-05-31 Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/43820 * include/bits/shared_ptr_base.h: Require complete type. * include/tr1/shared_ptr.h: Likewise. * testsuite/20_util/shared_ptr/cons/43820.cc: New. * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc: New. From-SVN: r160082 |
||
Rodolfo Lima
|
28de604e8c |
shared_ptr.h (shared_ptr(unique_ptr&&), [...]): Remove explicit specifier (as per DR 925).
2010-03-19 Rodolfo Lima <rodolfo@rodsoft.org> * include/bits/shared_ptr.h (shared_ptr(unique_ptr&&), shared_ptr(auto_ptr&&)): Remove explicit specifier (as per DR 925). * include/bits/shared_ptr_base.h: Likewise. * testsuite/20_util/shared_ptr/creation/dr925.cc: New. From-SVN: r157570 |
||
Paolo Carlini
|
d779a59199 |
unique_ptr.h: (unique_ptr<>:: unique_ptr(const unique_ptr<_Up...
2010-02-16 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/unique_ptr.h: (unique_ptr<>:: unique_ptr(const unique_ptr<_Up, _Up_Deleter>&), operator=(const unique_ptr<_Up, _Up_Deleter>&)): Remove, redundant, per DR 1303. * include/bits/shared_ptr.h (shared_ptr<>:: shared_ptr(const unique_ptr<_Up, _Up_Deleter>&), operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise. * include/bits/shared_ptr_base.h (__shared_ptr<>:: __shared_ptr(const unique_ptr<_Up, _Up_Deleter>&), operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise. * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust. * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: Likewise. From-SVN: r156807 |
||
Jonathan Wakely
|
70826946ea |
re PR libstdc++/42019 (shared_ptr can not be used with -fno-rtti)
2009-11-20 Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/42019 * include/tr1/shared_ptr.h: Only use typeid when RTTI is enabled. * include/bits/shared_ptr_base.h: Likewise. * include/bits/shared_ptr.h: Likewise. * testsuite/tr1/2_general_utilities/shared_ptr/misc/42019.cc: New. * testsuite/20_util/shared_ptr/misc/42019.cc: New. From-SVN: r154377 |
||
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 |
||
Jonathan Wakely
|
2ea259393d |
shared_ptr.h: Do not swap rvalues.
2009-06-23 Jonathan Wakely <jwakely.gcc@gmail.com> * include/bits/shared_ptr.h: Do not swap rvalues. * testsuite/20_util/owner_less/cmp.cc: Add missing test variables. * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise. * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. * testsuite/20_util/tuple/swap.cc: Likewise. From-SVN: r148880 |
||
Benjamin Kosnik
|
d29d4507b2 |
functional (function): Use explicit operator bool.
2009-05-20 Benjamin Kosnik <bkoz@redhat.com> * include/tr1_impl/functional (function): Use explicit operator bool. * include/bits/shared_ptr.h (__shared_ptr): Same. * include/bits/unique_ptr.h (unique_ptr): Same. * include/std/mutex (unique_lock): Same. * include/std/system_error (error_code): Same. (error_condition): Same. * include/std/ostream (sentry): Same. * include/std/istream (sentry): Same. * testsuite/19_diagnostics/error_condition/operators/bool.cc: Adjust. * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: Same. * testsuite/19_diagnostics/error_code/operators/bool.cc: Same. * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Same. * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same. * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Same. * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Same. From-SVN: r147756 |
||
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 |
||
Jakub Jelinek
|
748086b7b2 |
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841 |
||
Benjamin Kosnik
|
8e79468d01 |
[multiple changes]
2009-04-02 Benjamin Kosnik <bkoz@redhat.com> * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Change to mersenne_twister_engine, add same defaults as mersenne_twister_engine/cons/default.cc. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Same. * include/bits/random.tcc (seed_seq::seed_seq): Uglify parameter to __il. * include/bits/random.h (mersenne_twister_engine): Qualify _ShiftMin1 with namespace __detail. (__detail::_ShiftMin1): Use __gnu_cxx::__numeric_traits::max until constexpr std::numeric_limits::max() can be used. (mersenne_twister_engine): Split apart static asserts into one assert per message. Temporarily disable the last three. 2009-04-02 Edward Smith-Rowland <3dw4rd@verizon.net> * include/Makefile.am: Update to N2836. Modified for new random headers. * include/Makefile.in: Ditto. * include/tr1_impl/random: Moved to tr1/random.h * include/tr1_impl/random.tcc: Moved to tr1 * include/tr1/random: Just point to moved tr1 random headers. * include/tr1/random.tcc: Moved from tr1_impl. * include/tr1/random.h: Moved from tr1_impl/random. * include/std/random: Modified to point to std random headers. * include/bits/random.tcc: New implementation of std random facilities. * include/bits/random.h: Ditto. * testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Changed. * testsuite/26_numerics/random/linear_congruential_engine/cons/ seed1.cc: New. * testsuite/26_numerics/random/linear_congruential_engine/cons/ seed2.cc: New. * testsuite/26_numerics/random/linear_congruential_engine/cons/ default.cc: New. * testsuite/26_numerics/random/linear_congruential_engine/requirements/ non_uint_neg.cc: New. * testsuite/26_numerics/random/linear_congruential_engine/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/linear_congruential_engine/operators/ equal.cc: New. * testsuite/26_numerics/random/linear_congruential_engine/operators/ serialize.cc: New. * testsuite/26_numerics/random/mersenne_twister_engine/cons/ seed1.cc: New. * testsuite/26_numerics/random/mersenne_twister_engine/cons/ seed2.cc: New. * testsuite/26_numerics/random/mersenne_twister_engine/cons/ default.cc: New. * testsuite/26_numerics/random/mersenne_twister_engine/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/mersenne_twister_engine/operators/ equal.cc: New. * testsuite/26_numerics/random/mersenne_twister_engine/operators/ serialize.cc: New. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ seed1.cc: New. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ seed2.cc: New. * testsuite/26_numerics/random/subtract_with_carry_engine/cons/ default.cc: New. * testsuite/26_numerics/random/subtract_with_carry_engine/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/subtract_with_carry_engine/operators/ equal.cc: New. * testsuite/26_numerics/random/subtract_with_carry_engine/operators/ serialize.cc: New. * testsuite/26_numerics/random/discard_block_engine/cons/ base_move.cc: New. * testsuite/26_numerics/random/discard_block_engine/cons/ seed1.cc: New. * testsuite/26_numerics/random/discard_block_engine/cons/ seed2.cc: New. * testsuite/26_numerics/random/discard_block_engine/cons/ base_copy.cc: New. * testsuite/26_numerics/random/discard_block_engine/cons/ default.cc: New. * testsuite/26_numerics/random/discard_block_engine/cons/ seed_seq.cc: New. * testsuite/26_numerics/random/discard_block_engine/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/discard_block_engine/operators/ equal.cc: New. * testsuite/26_numerics/random/discard_block_engine/operators/ serialize.cc: New. * testsuite/26_numerics/random/independent_bits_engine/cons/ base_move.cc: New. * testsuite/26_numerics/random/independent_bits_engine/cons/ seed1.cc: New. * testsuite/26_numerics/random/independent_bits_engine/cons/ seed2.cc: New. * testsuite/26_numerics/random/independent_bits_engine/cons/ base_copy.cc: New. * testsuite/26_numerics/random/independent_bits_engine/cons/ default.cc: New. * testsuite/26_numerics/random/independent_bits_engine/cons/ seed_seq.cc: New. * testsuite/26_numerics/random/independent_bits_engine/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/independent_bits_engine/operators/ equal.cc: New. * testsuite/26_numerics/random/independent_bits_engine/operators/ serialize.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/cons/ base_move.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/cons/ seed1.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/cons/ seed2.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/cons/ base_copy.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/cons/ default.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/cons/ seed_seq.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/operators/ equal.cc: New. * testsuite/26_numerics/random/shuffle_order_engine/operators/ serialize.cc * testsuite/26_numerics/random/mt19937.cc: New. * testsuite/26_numerics/random/mt19937_64.cc: New. * testsuite/26_numerics/random/minstd_rand.cc: New. * testsuite/26_numerics/random/minstd_rand0.cc: New. * testsuite/26_numerics/random/ranlux24_base.cc: New. * testsuite/26_numerics/random/ranlux48_base.cc: New. * testsuite/26_numerics/random/ranlux24.cc: New. * testsuite/26_numerics/random/ranlux48.cc: New. * testsuite/26_numerics/random/knuth_b.cc: New. * testsuite/26_numerics/random/default_random_engine.cc: New. * testsuite/26_numerics/random/chi_squared_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/chi_squared_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/chi_squared_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/chi_squared_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/normal_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/normal_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/normal_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/normal_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/seed_seq/cons/range.cc: New. * testsuite/26_numerics/random/seed_seq/cons/default.cc: New. * testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc: New. * testsuite/26_numerics/random/uniform_int_distribution/cons/ parms_neg.cc: New. * testsuite/26_numerics/random/uniform_int_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/uniform_int_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/uniform_int_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/uniform_int_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/uniform_real_distribution/cons/ parms_neg.cc: New. * testsuite/26_numerics/random/uniform_real_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/uniform_real_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/uniform_real_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/uniform_real_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/poisson_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/poisson_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/poisson_distribution/requirements/ typedefs.cc * testsuite/26_numerics/random/poisson_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/bernoulli_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/bernoulli_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/bernoulli_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/bernoulli_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/discrete_distribution/cons/ range.cc: New. * testsuite/26_numerics/random/discrete_distribution/cons/ initlist.cc: New. * testsuite/26_numerics/random/discrete_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/discrete_distribution/cons/ num_xbound_fun.cc: New. * testsuite/26_numerics/random/discrete_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/discrete_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/weibull_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/weibull_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/weibull_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/weibull_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/negative_binomial_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/negative_binomial_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/negative_binomial_distribution/ requirements/typedefs.cc: New. * testsuite/26_numerics/random/negative_binomial_distribution/ operators/serialize.cc: New. * testsuite/26_numerics/random/cauchy_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/cauchy_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/cauchy_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/cauchy_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/gamma_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/gamma_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/gamma_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/gamma_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/fisher_f_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/fisher_f_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/fisher_f_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/fisher_f_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/exponential_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/exponential_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/exponential_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/exponential_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/lognormal_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/lognormal_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/lognormal_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/lognormal_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/binomial_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/binomial_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/binomial_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/binomial_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/random_device/cons/ token.cc: New. * testsuite/26_numerics/random/random_device/cons/ default.cc: New. * testsuite/26_numerics/random/random_device/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/extreme_value_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/extreme_value_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/extreme_value_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/extreme_value_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ range.cc: New. * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ num_xbound_fun.cc: New. * testsuite/26_numerics/random/piecewise_linear_distribution/cons/ initlist_fun.cc: New. * testsuite/26_numerics/random/piecewise_linear_distribution/ requirements/typedefs.cc: New. * testsuite/26_numerics/random/piecewise_linear_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/student_t_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/student_t_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/student_t_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/student_t_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/geometric_distribution/cons/ parms.cc: New. * testsuite/26_numerics/random/geometric_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/geometric_distribution/requirements/ typedefs.cc: New. * testsuite/26_numerics/random/geometric_distribution/operators/ serialize.cc: New. * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ range.cc: New. * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ default.cc: New. * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ num_xbound_fun.cc: New. * testsuite/26_numerics/random/piecewise_constant_distribution/cons/ initlist_fun.cc: New. * testsuite/26_numerics/random/piecewise_constant_distribution/ requirements/typedefs.cc: New. * testsuite/26_numerics/random/piecewise_constant_distribution/ operators/serialize.cc: New. From-SVN: r145483 |
||
Paolo Carlini
|
ab4c19d241 |
re PR libstdc++/39405 (std::shared_ptr barfs on incomplete template class that boost::shared_ptr accepts)
2009-03-13 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/39405 * testsuite/20_util/shared_ptr/cons/39405.cc: New. * testsuite/tr1/2_general_utilities/shared_ptr/cons/39405.cc: Likewise. From-SVN: r144839 |
||
Jonathan Wakely
|
8dd5e93af6 |
shared_ptr.h: Update comparisons to match WP.
2008-11-01 Jonathan Wakely <jwakely.gcc@gmail.com> * include/bits/shared_ptr.h: Update comparisons to match WP. (_Sp_counted_ptr): Make copy and assignment members deleted. (_Sp_counted_deleter): Remove private copy and assignment members. (__shared_count::_M_less,__weak_count::_M_less,operator<): Replace friend operator< with overloaded _M_less member functions to allow comparison with either shared_count or weak_count. (__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with... (__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads for ownership-based ordering. (operator<(__shared_ptr,__shared_ptr)): Compare stored pointers, make non-friend. (operator==(__shared_ptr,__shared_ptr)): Make non-friend. (operator!=(__shared_ptr,__shared_ptr)): Likewise. (less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call pointer specialization. (__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>, weak_ptr::operator>=): Remove operator< and delete all comparisons. (_Sp_owner_less,owner_less): Predicate for ownership-based ordering. (operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr. (operator==(shared_ptr,shared_ptr): Likewise. (operator!=(shared_ptr,shared_ptr): Likewise. (swap(shared_ptr,shared_ptr)): Fix parameter types. (swap(weak_ptr,weak_ptr)): Add missing overload. * testsuite/20_util/owner_less/cmp.cc: New. * testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops. * testsuite/20_util/shared_ptr/comparison/less.cc: New. * testsuite/20_util/shared_ptr/observers/owner_before.cc: New. * testsuite/20_util/weak_ptr/observers/owner_before.cc: New. * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New. From-SVN: r141512 |
||
Paolo Carlini
|
57f59a4580 |
[multiple changes]
2008-09-05 Peter Dimov <pdimov@mmltd.net> * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: New. 2008-09-05 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: Rename to... * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: ... this. From-SVN: r140039 |
||
Jonathan Wakely
|
640cbe76c7 |
re PR libstdc++/36962 ([C++0x] Add constructors / assignment operators from unique_ptr to shared_ptr)
PR libstdc++/36962 * include/Makefile.am: Update headers. * include/Makefile.in: Regenerate. * include/std/memory: Update headers. * include/tr1/memory: Likewise. * include/tr1_impl/boost_shared_ptr.h: Remove, splitting into separate implementations for std and tr1. * include/bits/boost_sp_shared_count.h: Remove. * include/tr1/boost_sp_shared_count.h: Remove. * include/bits/shared_ptr.h: New. Combines boost_sp_shared_count.h and boost_shared_ptr.h into one file. (__shared_count,__shared_ptr,shared_ptr,swap): Add unique_ptr and rvalue-reference support as per current WP. * include/tr1/shared_ptr.h: New. Combines boost_sp_shared_count.h and boost_shared_ptr.h into one file. * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: New. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: New. * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: New. * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: New. * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: New. * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: New. * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: New. * testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: New. * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Remove. From-SVN: r140012 |
||
Paolo Carlini
|
08df5d3e97 |
re PR libstdc++/36949 ([C++0x] make_shared does not initialize enable_shared_from_this' internal shared_count)
2008-07-28 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/36949 * include/tr1_impl/boost_shared_ptr.h (__shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...): Call __enable_shared_from_this_helper. * testsuite/20_util/shared_ptr/creation/36949.cc: New. From-SVN: r138219 |
||
Hans-Peter Nilsson
|
92331508a6 |
shared_ptr_neg.cc, [...]: Mark changed error message prelude...
* testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc, testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc: Mark changed error message prelude, adding "in file included from", using dg-excess-errors. From-SVN: r132816 |
||
Paolo Carlini
|
395c9e79f0 |
3983-2.cc: Avoid -Wall warnings.
2008-01-31 Paolo Carlini <pcarlini@suse.de> * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc: Avoid -Wall warnings. * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: Likewise. * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc: Likewise. * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise. * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise. * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise. * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc: Likewise. * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise. * testsuite/tr1/6_containers/array/requirements/member_swap.cc: Likewise. * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise. * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/ less_or_equal.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/ greater_or_equal.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/less.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/equal.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc: Likewise. * testsuite/tr1/6_containers/array/comparison_operators/greater.cc: Likewise. * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise. * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc: Likewise. * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise. * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise. * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise. * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: Likewise. * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise. * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise. * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise. * testsuite/thread/guard.cc: Likewise. * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise. * testsuite/20_util/tuple/cons/constructor.cc: Likewise. * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise. * testsuite/20_util/shared_ptr/creation/make.cc: Likewise. * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. From-SVN: r131979 |
||
Jonathan Wakely
|
dbf3a49233 |
default_weaktoshared.cc: Add required dg-option for cygwin and darwin targets.
2007-12-16 Jonathan Wakely <jwakely-gcc@gmail.com> * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add required dg-option for cygwin and darwin targets. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. From-SVN: r130995 |
||
Jonathan Wakely
|
aaf0ca6f27 |
boost_shared_ptr.h: Add support for allocators, aliasing, make_shared and rvalue-references.
2007-12-15 Jonathan Wakely <jwakely-gcc@gmail.com> * include/tr1_impl/boost_shared_ptr.h: Add support for allocators, aliasing, make_shared and rvalue-references. Move __shared_count and _Sp_counted_* classes to new headers. * include/tr1_impl/boost_sp_counted_base.h: New. * include/bits/boost_sp_shared_count.h: New. * include/tr1/boost_sp_shared_count.h: New. * include/std/memory, include/tr1/memory: Include new headers. * include/Makefile.am: Adjust. * include/Makefile.in: Regenerate. * docs/html/documentation.html: Link to shared_ptr notes. * docs/html/20_util/shared_ptr.html: New. * docs/html/17_intro/c++0x_status.html: Update shared_ptr status. * testsuite/20_util/shared_ptr/cons/alias.cc: New. * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise. * testsuite/20_util/shared_ptr/cons/move.cc: Likewise. * testsuite/20_util/shared_ptr/assign/move.cc: Likewise. * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise. * testsuite/20_util/shared_ptr/creation/make.cc: Likewise. * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise. * testsuite/20_util/shared_ptr/assign/assign.cc: Duplicate tr1 test. * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise. * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/casts/1.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise. * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise. * testsuite/20_util/shared_ptr/cons/default.cc: Likewise. * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise. * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Likewise. * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise. * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise. * testsuite/20_util/shared_ptr/misc/io.cc: Likewise. * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/24805.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise. * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise. * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise. * testsuite/20_util/shared_ptr/observers/get.cc: Likewise. * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise. * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/ 1.cc: Likewise. * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/ 2.cc: Likewise. * testsuite/20_util/shared_ptr/requirements/explicit_instantiation.cc: Remove. * testsuite/20_util/weak_ptr/lock/1.cc: Duplicate tr1 test. * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc: Likewise. * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/20_util/weak_ptr/requirements/explicit_instantiation.cc: Remove. From-SVN: r130977 |
||
Benjamin Kosnik
|
3422222a02 |
types_std_c++0x.cc: Use -std=gnu++0x instead of -std=c++0x for testing.
2007-03-16 Benjamin Kosnik <bkoz@redhat.com> * testsuite/27_io/headers/cinttypes/types_std_c++0x.cc: Use -std=gnu++0x instead of -std=c++0x for testing. * testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/random/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: Same. * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Same. * testsuite/17_intro/headers/c++200x/all.cc: Same. * testsuite/17_intro/using_namespace_std_tr1_neg.cc: Same. * testsuite/23_containers/hash/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/tuple/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/headers/tuple/types_std_c++0x.cc: Same. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/array/requirements/ explicit_instantiation.cc: Same. * testsuite/20_util/enable_shared_from_this/requirements/ explicit_instantiation.cc: Same. * testsuite/20_util/headers/functional/types_std_c++0x.cc: Same. * testsuite/20_util/headers/functional/ using_namespace_std_placeholders.cc: Same. * testsuite/20_util/headers/type_traits/types_std_c++0x.cc: Same. * testsuite/20_util/headers/memory/types_std_c++0x.cc: Same. * testsuite/20_util/shared_ptr/requirements/ explicit_instantiation.cc: Same. * testsuite/20_util/weak_ptr/requirements/ explicit_instantiation.cc: Same. From-SVN: r122996 |
||
Benjamin Kosnik
|
af13a7a6ec |
acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
2007-03-04 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global. * configure.host (c_model): Set default to c_global. * configure: Regenerate. * include/Makefile.am (c_compatibility_headers_extra): Make conditional on GLIBCXX_C_HEADERS_COMPATIBILITY. (c_base_headers_extra): Make conditional on GLIBCXX_C_HEADERS_EXTRA. (c_compatibility_headers): Make conditional on c/c_std/c_global. * include/Makefile.in: Regenerate. * docs/html/configopts.html: Add c_global information to --enable-cheaders. Eventually, "c_std" should mean "C" includes that are in namespace std, with optional C++ "C" compatibility includes to inject into global scope. And "c_global" should mean "C" includes that are in the global namespace, with C++ includes injecting into namespace std and no C++ "C" compatibility includes. 2007-03-04 Benjamin Kosnik <bkoz@redhat.com> * include/bits/c++config: Add _GLIBCXX_NAMEPACE_C. Add _GLIBCXX_NAMESPACE_ASSOCIATION_CXX200x. Add _GLIBCXX_TR1 as namespace macro. Add namespace associations for std::__cxx200x conditionally. * include/c_compatibility/assert.h: Correct doxygen markup, conditionalize the global injections on _GLIBCXX_NAMESPACE_C. * include/c_compatibility/ctype.h: Same. * include/c_compatibility/errno.h: Same. * include/c_compatibility/float.h: Same. * include/c_compatibility/iso646.h: Same. * include/c_compatibility/limits.h: Same. * include/c_compatibility/locale.h: Same. * include/c_compatibility/math.h: Same. * include/c_compatibility/setjmp.h: Same. * include/c_compatibility/signal.h: Same. * include/c_compatibility/stdarg.h: Same. * include/c_compatibility/stddef.h: Same. * include/c_compatibility/stdio.h: Same. * include/c_compatibility/stdlib.h: Same. * include/c_compatibility/string.h: Same. * include/c_compatibility/time.h: Same. * include/c_compatibility/wchar.h: Same. * include/c_compatibility/wctype.h: Same. * include/c_compatibility/complex.h: Add. * include/c_compatibility/fenv.h: Same. * include/c_compatibility/inttypes.h: Same. * include/c_compatibility/stdbool.h: Same. * include/c_compatibility/stdint.h: Same. * include/c_compatibility/tgmath.h: Same. * include/c_global/cassert: Add, use include_next, use C++0x features if -std=c++0x. * include/c_global/cctype: Same. * include/c_global/cerrno: Same. * include/c_global/cfloat: Same. * include/c_global/ciso646: Same. * include/c_global/climits: Same. * include/c_global/clocale: Same. * include/c_global/cmath: Same. * include/c_global/cmath.tcc: Same. * include/c_global/csetjmp: Same. * include/c_global/csignal: Same. * include/c_global/cstdarg: Same. * include/c_global/cstddef: Same. * include/c_global/cstdio: Same. * include/c_global/cstdlib: Same. * include/c_global/cstring: Same. * include/c_global/ctime: Same. * include/c_global/cwchar: Same. * include/c_global/cwctype: Same. * include/c_global/ccomplex: Add. * include/c_global/cfenv: Add. * include/c_global/cinttypes: Add. * include/c_global/cstdbool: Add. * include/c_global/cstdint: Add. * include/c_global/ctgmath: Add. * include/std/algorithm: Use C++0x features if -std=c++0x. * include/std/bitset: Same. * include/std/complex: Same. * include/std/deque: Same. * include/std/fstream: Same. * include/std/functional: Same. * include/std/iomanip: Same. * include/std/ios: Same. * include/std/iosfwd: Same. * include/std/iostream: Same. * include/std/istream: Same. * include/std/iterator: Same. * include/std/limits: Same. * include/std/list: Same. * include/std/locale: Same. * include/std/map: Same. * include/std/memory: Same. * include/std/numeric: Same. * include/std/ostream: Same. * include/std/queue: Same. * include/std/set: Same. * include/std/sstream: Same. * include/std/stack: Same. * include/std/stdexcept: Same. * include/std/streambuf: Same. * include/std/string: Same. * include/std/utility: Same. * include/std/valarray: Same. * include/std/vector: Same. * include/std/array: Add. * include/std/random: Add. * include/std/regex: Add. * include/std/tuple: Add. * include/std/type_traits: Add. * include/std/unordered_map: Add. * include/std/unordered_set: Add. * include/std/c++0x_warning.h: Add. * include/tr1/array: Switch namespaces based on _GLIBCXX_TR1. * include/tr1/boost_shared_ptr.h: Same. * include/tr1/cctype: Same. * include/tr1/cfenv: Same. * include/tr1/cinttypes: Same. * include/tr1/cmath: Same. * include/tr1/common.h: Same. * include/tr1/complex: Same. * include/tr1/cstdint: Same. * include/tr1/cstdio: Same. * include/tr1/cstdlib: Same. * include/tr1/cwchar: Same. * include/tr1/cwctype: Same. * include/tr1/functional: Same. * include/tr1/functional_hash.h: Same. * include/tr1/functional_iterate.h: Same. * include/tr1/hashtable: Same. * include/tr1/hashtable_policy.h: Same. * include/tr1/math.h: Same. * include/tr1/memory: Same. * include/tr1/random: Same. * include/tr1/random.tcc: Same. * include/tr1/ref_fwd.h: Same. * include/tr1/repeat.h: Same. * include/tr1/stdlib.h: Same. * include/tr1/tuple: Same. * include/tr1/tuple_iterate.h: Same. * include/tr1/type_traits: Same. * include/tr1/type_traits_fwd.h: Same. * include/tr1/unordered_map: Same. * include/tr1/unordered_set: Same. * include/tr1/utility: Same. * include/tr1/ccomplex: Add. * include/tr1/complex.h: Add. * include/tr1/regex: Add. * include/Makefile.am: Add C++0x headers, "C" compatibility headers. * include/Makefile.in: Regenerate. * testsuite/tr1/headers.cc: Add in regex/complex. * testsuite/17_intro/headers/c++200x/all.cc: New. * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Same. * testsuite/17_intro/using_namespace_std_tr1_neg.cc: Same. * testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Same. * testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: Same. * testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Same. * testsuite/20_util/enable_shared_from_this/requirements/ explicit_instantiation.cc: Same. * testsuite/20_util/headers/functional/types_std_c++0x.cc: Same. * testsuite/20_util/headers/functional/ using_namespace_std_placeholders.cc: Same. * testsuite/20_util/headers/memory/types_std_c++0x.cc: Same. * testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: Same. * testsuite/20_util/headers/type_traits/types_std_c++0x.cc: Same. * testsuite/20_util/shared_ptr/requirements/ explicit_instantiation.cc: Same. * testsuite/20_util/weak_ptr/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/array/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/hash/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/headers/array/std_c++0x_neg.cc: Same. * testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: Same. * testsuite/23_containers/headers/tuple/types_std_c++0x.cc: Same. * testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: Same. * testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: Same. * testsuite/23_containers/tuple/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation.cc: Same. * testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/random/types_std_c++0x.cc: Same. * testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Same. * testsuite/27_io/headers/cinttypes/types_std_c++0x.cc: Same. * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Same. * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Rename ... * testsuite/tr1/8_c_compatibility/cinttypes/types.cc: Same. * testsuite/tr1/8_c_compatibility/cmath/types.cc: Same. * testsuite/tr1/8_c_compatibility/cstdint/types.cc: Same. * testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Same. * testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc: ...to this. * testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc: Same. * testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc: Same. * testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Same. * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Same. From-SVN: r122533 |