Paolo Carlini
d2cc7f9266
stl_vector.h (vector(const vector&)): Use _M_get_Tp_allocator.
...
2005-12-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_vector.h (vector(const vector&)): Use
_M_get_Tp_allocator.
* include/bits/stl_deque.h (deque(const deque&)): Likewise.
(_M_destroy_data): Adjust.
2005-12-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_deque.h (deque<>::_M_erase_at_end,
_M_erase_at_begin, _M_destroy_data, _M_destroy_data_dispatch,
_M_destroy_data_aux): New, optimize erase at begin() / end() and
consistently use the "segmented iterator" optimization.
(deque<>::~deque(), resize, clear, _M_assign_aux, _M_fill_assign):
Use the above.
* include/bits/deque.tcc (deque<>::operator=, _M_assign_aux): Same.
(erase(iterator, iterator)): Likewise, clean-up.
(erase(iterator)): Tweak, don't call copy unnecessarily.
(_M_destroy_data_aux): Define.
* testsuite/23_containers/deque/modifiers/erase/1.cc: New.
* testsuite/23_containers/deque/modifiers/erase/2.cc: Likewise.
From-SVN: r108727
2005-12-17 23:42:58 +00:00
Gabriel Dos Reis
ad816b52a4
valarray_after.h (_Expr<>::operator[](slice)): Don't assume the closure implements general indexing...
...
* include/bits/valarray_after.h (_Expr<>::operator[](slice)):
Don't assume the closure implements general indexing, as a matter
of fact, most of them don't.
(_Expr<>::operator[](const gslice&)): Likewise.
(_Expr<>::operator[](const valarray<bool>&)): Likewise.
(_Expr<>::operator[](const valarray<size_t>&)): Likewise.
(_Expr<>::shift): Fix thinko.
(_Expr<>::cshift): Likewise.
(_Expr<>::apply): Likewise.
From-SVN: r108714
2005-12-17 15:36:35 +00:00
Paolo Carlini
b642a22a13
is_empty.cc: Fix class NonEmptyClassTwo.
...
2005-12-16 Paolo Carlini <pcarlini@suse.de>
* testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc:
Fix class NonEmptyClassTwo.
From-SVN: r108683
2005-12-16 21:33:32 +00:00
Paolo Carlini
8d46ce6095
stl_vector.h (vector<>::_M_get_Tp_allocator): Change to return by ref and add non const version.
...
2005-12-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_vector.h (vector<>::_M_get_Tp_allocator): Change
to return by ref and add non const version.
* include/bits/stl_deque.h (deque<>::_M_get_Tp_allocator): Likewise.
From-SVN: r108570
2005-12-15 11:31:59 +00:00
Paolo Carlini
cd6dba21ac
re PR libstdc++/25421 (catching exception from codecvt_byname() segfaults)
...
2005-12-15 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/25421
* config/locale/gnu/c_locale.cc (_S_destroy_c_locale): Check
for null argument.
* testsuite/22_locale/facet/25421.cc: New.
From-SVN: r108565
2005-12-15 10:11:03 +00:00
Carlos O'Donell
264c41eda5
c-cppbuiltin.c (builtin_define_float_constants): Add fp_cast parameter, pass to builtin_define_with_hex_fp_value.
...
2005-12-13 Carlos O'Donell <carlos@codesourcery.com>
gcc/
* c-cppbuiltin.c (builtin_define_float_constants): Add
fp_cast parameter, pass to builtin_define_with_hex_fp_value.
Define __FLT_HAS_DENORM__, __DBL_HAS_DENORM__, __LDBL_HAS_DENORM__.
(builtin_define_with_hex_fp_value): Use fp_cast when building macro.
(c_cpp_builtins): If flag_single_precision_constant then set fp_cast
to "((double)%sL)" otherwise "%s".
gcc/testsuite/
* gcc.dg/single-precision-constant.c: New test.
libstdc++-v3/
* include/std/std_limits.h (struct numeric_limits):
Use __DBL_HAS_DENORM__, __FLT_HAS_DENORM__, __LDBL_HAS_DENORM__.
From-SVN: r108458
2005-12-13 05:12:32 +00:00
Paolo Carlini
b6105bf2c3
sso_string_base.h (__sso_string_base<>::_M_compare): Add...
...
2005-12-10 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_compare):
Add, specialized for char and wchar_t to immediately return true
when a string is compared to itself.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_compare):
Likewise, for the same _Rep.
* include/ext/vstring.h (compare(const string&)): Use it.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_destroy):
Deallocate passed size + 1.
(_M_dispose, _M_reserve): Adjust.
From-SVN: r108372
2005-12-11 00:41:29 +00:00
Paolo Carlini
0cb855b7a6
re PR libstdc++/25288 (std::list insert members should have no effects if an exception is thrown)
...
2005-12-09 Paolo Carlini <pcarlini@suse.de>
Howard Hinnant <hhinnant@apple.com>
PR libstdc++/25288
* include/bits/stl_list.h (list<>::_M_insert_dispatch, _M_fill_insert):
Remove.
(_M_initialize_dispatch, _M_fill_initialize): Add.
(list(size_type, const value_type&, const allocator_type&),
list(const list&), list(_InputIterator, _InputIterator,
const allocator_type&): Use the latter.
(insert(iterator, size_type, const value_type&), insert(iterator,
_InputIterator, _InputIterator)): Use construction & splice.
* testsuite/23_containers/list/modifiers/insert/25288.cc: New.
* testsuite/testsuite_allocator.h (class throw_allocator): Add.
* include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.
Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r108313
2005-12-09 18:24:53 +00:00
Paolo Carlini
bc9053abce
re PR libstdc++/24617 (vector vs __erase_at_end)
...
2005-12-08 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_vector.h (vector<>::size, resize, capacity,
operator[]): Avoid troubles with ADL, user defined operators
and __normal_iterator.
(_M_erase_at_end): Fix to take a pointer.
(clear): Adjust call.
* include/bits/vector.tcc (vector<>::insert(iterator, const
value_type&), erase(iterator, iterator), operator=(const
vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
_M_fill_insert, _M_range_insert): Likewise.
(_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
_M_erase_at_end call.
* testsuite/23_containers/vector/types/1.cc: New.
2005-12-08 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24617
* include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
(vector<>::clear, resize): Use it.
* include/bits/vector.tcc (vector<>::erase(iterator, iterator),
_M_fill_assign, _M_assign_aux): Likewise.
* testsuite/23_containers/vector/modifiers/erase/1.cc: New.
From-SVN: r108227
2005-12-08 11:32:37 +00:00
Paolo Carlini
638004ccd7
configopts.html ([--enable-libstdcxx-allocator]): Mention the SGI pooled allocator.
...
2005-12-07 Paolo Carlini <pcarlini@suse.de>
* docs/html/configopts.html ([--enable-libstdcxx-allocator]):
Mention the SGI pooled allocator.
From-SVN: r108197
2005-12-07 23:51:31 +00:00
Paolo Carlini
3af22b23b3
basic_string.h (insert(iterator, _CharT), [...]): Avoid troubles with ADL, user defined operators and __normal_iterator.
...
2005-12-06 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.h (insert(iterator, _CharT),
erase(iterator), erase(iterator, iterator)): Avoid troubles
with ADL, user defined operators and __normal_iterator.
* include/bits/stl_iterator.h (operator-(const __normal_iterator
<_Iterator, _Container>&, const __normal_iterator<_Iterator,
_Container>&)): Add overload for left and right iterators of
the same type.
* include/debug/safe_iterator.h (operator-(const _Safe_iterator
<_Iterator, _Sequence>&, const _Safe_iterator<_Iterator,
_Sequence>&)): Likewise.
* testsuite/21_strings/basic_string/types/1.cc: New.
From-SVN: r108123
2005-12-06 17:19:30 +00:00
Paolo Carlini
afe6d70550
sso_string_base.h (__sso_string_base<>::_M_assign): Simplify, avoid pointless reallocations.
...
2005-12-05 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_assign):
Simplify, avoid pointless reallocations.
From-SVN: r108063
2005-12-05 16:39:18 +00:00
Paolo Carlini
56540d20c2
sso_string_base.h (__sso_string_base<>::_M_reserve): Simplify.
...
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
Simplify.
From-SVN: r108036
2005-12-05 01:57:59 +00:00
Paolo Carlini
cf8829194f
vstring.h (__versa_string<>::operator+, [...]): Move out of line...
...
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/vstring.h (__versa_string<>::operator+, all
versions): Move out of line...
* include/ext/vstring.tcc (__versa_string<>::operator+): ...
here; consistently use reserve for the benefit of sso_string_base;
prefer push_back to single-char append when appropriate.
* include/ext/vstring.h (__versa_string<>::push_back): Don't
call _M_reserve, _M_mutate instead.
(reserve): Just forward to _M_reserve.
* include/ext/vstring.tcc (__versa_string<>::_M_reserve): Remove.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve): Also
do the initial checks (first on length, in case __res == capacity).
* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve:
Likewise; don't call _M_set_length unnecessarily.
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/vstring.h (__versa_string<>::_M_append): New.
(append(const __versa_string&), append(const __versa_string&,
size_type, size_type), append(const _CharT*, size_type),
append(const _CharT*)): Use it.
(append(size_type, _CharT)): Delegate to _M_replace_aux.
(assign(const __versa_string&, size_type, size_type),
assign(const _CharT*), replace(size_type, size_type,
const _CharT*, size_type)): Forward to _M_replace.
* include/ext/vstring.tcc (__versa_string<>::_M_append):
Define, core append functionality.
(_M_replace): Simplify, move __s == 0 case to _M_replace_aux.
(_M_replace_aux): Reorganize, don't call _M_replace.
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/vstring.tcc (__versa_string<>::_M_replace):
Perform _M_check_length at the beginning and remove it from ...
(replace, _M_replace_dispatch, _M_replace_aux, assign): ... here.
(assign): Now move inline.
(resize): Don't call _M_check_length redundantly, append does.
2005-12-04 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_get_allocator):
Add non const version.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_get_allocator):
Likewise.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_erase): Add.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_erase): Likewise.
(_M_leak_hard): Use it.
* include/ext/vstring.h (__versa_string<>::clear, erase, all
versions): Use it.
* include/ext/vstring.tcc (__versa_string<>::resize): Likewise.
* include/ext/vstring.h (__versa_string<>::_M_replace_safe):
Remove.
* include/ext/vstring.h (__versa_string<>::_M_replace): New, does
the in-place work or delegates to _M_mutate in case of reallocation.
* include/ext/vstring.tcc (__versa_string<>::_M_replace_safe):
Remove.
* include/ext/vstring.tcc (__versa_string<>::_M_replace): Define.
(assign, replace, _M_replace_dispatch, _M_replace_aux): Use it.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_mutate):
Change to manage only reallocations.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_mutate):
Likewise.
* include/ext/vstring.h (__versa_string<>::insert(size_type,
const __versa_string&), insert(size_type, const __versa_string&,
size_type, size_type), insert(size_type, const _CharT*, size_type),
insert(size_type, const _CharT*)): Delegate to replace.
* include/ext/vstring.h (__versa_string<>::reserve): Move out of
line.
* include/ext/vstring.tcc (__versa_string<>::reserve): Do the
checks and call _M_reserve.
* include/ext/vstring.h (__versa_string<>::append): Call _M_reserve
instead of reserve.
* include/ext/vstring.tcc (__versa_string<>::append, all versions):
Likewise.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
Adjust.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve):
Likewise.
From-SVN: r108034
2005-12-05 00:32:31 +00:00
David Billinghurst
8e28929764
re PR testsuite/25193 (libstdc++ testsuite fails on cygwin)
...
2005-12-02 David Billinghurst (David.Billinghurst@riotinto.com )
PR testsuite/25193
* testsuite/lib/libstdc++.exp (libstdc++-dg-test): Catch
error if file cannot be deleted.
From-SVN: r107841
2005-12-01 23:57:28 +00:00
Paolo Carlini
7fdc03073c
PR libstdc++/24975 (basic_string)
...
2005-11-23 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24975 (basic_string)
* include/bits/basic_string.h (_Rep::_S_empty_rep): Avoid
strict-aliasing warnings.
From-SVN: r107447
2005-11-24 01:29:51 +00:00
Paolo Carlini
d5e07b79f4
re PR libstdc++/24975 (Aliasing problems inside libstdc++)
...
2005-11-22 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24975
* include/bits/stl_set.h (insert(iterator, const value_type&),
erase(iterator), erase(iterator, iterator)): Don't break aliasing
rules casting to _Rep_iterator&, forward to _Rb_tree facilities.
* include/bits/stl_multiset.h (insert(iterator, const value_type&),
erase(iterator), erase(iterator, iterator)): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::_M_insert(_Const_Base_ptr,
_Const_Base_ptr, const value_type&), insert_unique(const_iterator,
const value_type&), insert_equal(const_iterator, const value_type&),
erase(const_iterator), erase(const_iterator, const_iterator)): New,
_Rb_tree<>::const_iterator counterparts of existing facilities.
From-SVN: r107362
2005-11-22 14:53:03 +00:00
Benjamin Kosnik
cddfb1c7ac
re PR libstdc++/23591 (exceptions in plugins in threads cause segmentation violation by leaving bad exit handler for the pthread)
...
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
Ulrich Drepper <drepper@redhat.com>
PR libstdc++/23591
* scripts/create_testsuite_files: Support for "C" test files.
* testsuite/lib/libstdc++.exp: Same.
* testsuite/libstdc++-dg/normal.exp: Same.
* testsuite/ext/mt_allocator/22309_thread.cc: Update names.
* testsuite/19_diagnostics/23591_thread-1.c: New.
* testsuite/testsuite_shared.cc: Add tests, rename existing functions.
* libsupc++/eh_globals.cc: Make global thread local if possible.
* configure.ac: Use GCC_CHECK_TLS.
* acinclude.m4: Include tls.m4.
* configure: Regenerate.
* config.h.in: Same.
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>
From-SVN: r107350
2005-11-22 06:54:08 +00:00
Benjamin Kosnik
b967bf2560
del_op.cc: Include c++config.h first.
...
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/del_op.cc: Include c++config.h first.
* libsupc++/eh_alloc.cc: Same.
* libsupc++/new_opv.cc: Same.
* libsupc++/eh_throw.cc: Same.
* libsupc++/new_op.cc: Same.
* libsupc++/del_opv.cc: Same.
* libsupc++/eh_catch.cc: Same.
* libsupc++/guard.cc: Same.
* libsupc++/del_opnt.cc: Same.
* libsupc++/eh_exception.cc: Same.
* libsupc++/new_opvnt.cc: Same.
* libsupc++/eh_term_handler.cc: Same.
* libsupc++/eh_personality.cc: Same.
* libsupc++/eh_call.cc: Same.
* libsupc++/new_opnt.cc: Same.
* libsupc++/del_opvnt.cc: Same.
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last.
* libsupc++/Makefile.am: Same.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Same.
From-SVN: r107343
2005-11-22 00:19:07 +00:00
Paolo Carlini
b6cb8dc2d8
sso_string_base.h: Minor formatting and stylistic fixes.
...
2005-11-21 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h: Minor formatting and stylistic fixes.
(__sso_string_base<>::_M_get_allocator): Return by const ref.
* include/ext/rc_string_base.h: Likewise.
(__rc_string_base<>::_M_get_allocator): Return by const ref.
(__rc_string_base<>::_M_dispose): Take void, use _M_get_allocator.
(__rc_string_base<>::_M_grab): Take one alloc, use _M_get_allocator.
(__rc_string_base<>::~__rc_string_base,
__rc_string_base(const __rc_string_base&), _M_assign, _M_reserve,
_M_mutate): Adjust.
* include/ext/vstring_util.h: Minor stylistic fixes.
From-SVN: r107317
2005-11-21 18:38:05 +00:00
Paolo Carlini
7697e6c66a
rc_string_base.h (__rc_string_base<>::_Rep): Avoid the anonymous struct extension, adjust everywhere.
...
2005-11-18 Paolo Carlini <pcarlini@suse.de>
* include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Avoid the
anonymous struct extension, adjust everywhere.
* include/ext/rc_string_base.h (__rc_string_base<>::_S_empty_rep()):
Just use a static member.
(__rc_string_base<>::__rc_string_base(), _S_construct): Adjust.
* include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Use anonymous
union together with _CharT to fix alignment issues, rebind to _Rep and
rename _Raw_alloc to _Rep_alloc_type.
(__rc_string_base<>::_Rep::_S_create, _M_destroy): Adjust consistently.
* include/ext/vstring_util.h (__is_null_p): Move inside struct
__vstring_utility as static _S_is_null_pointer.
* include/ext/sso_string.h
(__sso_string_base<>::_M_construct(std::forward_iterator_tag): Adjust.
* include/ext/rc_string_base.h
(__rc_string_base<>::_S_construct(std::forward_iterator_tag): Likewise.
Implement Option 3 of DR 431 for ext/vstring - both available bases.
* include/bits/cpp_type_traits.h (struct __is_empty): Add.
* include/ext/vstring.h (__versa_string<>::swap): Delegate to
this->_M_swap.
* include/ext/vstring.tcc (__versa_string<>::swap): Remove.
* include/ext/vstring_util.h (struct __vstring_utility<>): Add struct
_Alloc_hider<>, augmented of allocator swapping facility, specialized
to nop for empty allocators.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_swap): Use it.
(__rc_string_base<>::_M_is_leaked, _M_set_sharable): Change to private.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
Likewise.
(__sso_string_base<>::_M_is_leaked, _M_set_sharable): Remove, unused.
* include/ext/rc_string_base.h (__rc_string_base<>::_M_data(_CharT*):
Return void.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_data(_CharT*):
Likewise.
From-SVN: r107176
2005-11-18 11:50:22 +00:00
Geoffrey Keating
f9314d012c
/Network/Servers/hills/Volumes/capanna/gkeating/l
...
From-SVN: r107131
2005-11-17 20:10:51 +00:00
Nathan Sidwell
1dcca6f361
unwind-arm.h: Reorder interface function declarations.
...
2005-11-16 Nathan Sidwell <nathan@codesourcery.com>
gcc/
* config/arm/unwind-arm.h: Reorder interface function declarations.
(_URC_END_OF_STACK): New enumeration value.
(_US_UNWIND_ACTION_MASK, _US_FORCE_UNWIND, _US_END_OF_STACK): Likewise.
(struct _Unwind_Control_Block): Document reserved field use.
(_Unwind_Stop_Fn): New typedef.
(_Unwind_ForcedUnwind): Declare.
(_Unwind_Resume_or_Rethrow): Declare.
* config/arm/libunwind.S (UNWIND_WRAPER): Add nargs
argument. Adjust.
(_Unwind_Resume_or_Rethrow, _Unwind_ForcedUnwind): New.
* config/arm/unwind-arm.c (UCB_FORCED_STOP_FN)
(UCB_FORCED_STOP_ARG): New.
(search_EIT_table): Update boundary condition checks.
(get_eit_entry): Return _URC_END_OF_STACK when cannot unwind.
(unwind_phase2): Replace for with do..while.
(unwind_phase2_forced): New.
(__gnu_Unwind_RaiseException): Replace for with do..while.
(__gnu_Unwind_ForcedUnwind): New.
(__gnu_Unwind_Resume): Set FORCE_UNWIND flag, if forced unwinding.
Use appropriate phase2 unwinder.
(__gnu_Unwind_Resume_or_Rethrow): New.
(__gnu_unwind_pr_common): Cope with forced unwinding.
gcc/testsuite/
* g++.dg/eh/forced1.C: Adjust to cope with ARM EABI
structures.
* g++.dg/eh/forced2.C: Likewise.
* g++.dg/eh/forced3.C: Likewise.
* g++.dg/eh/forced4.C: Likewise.
libstdc++-v3/
* libsupc++/eh_arm.cc (__cxa_begin_cleanup): Remember a
foreign exception too.
(__gnu_end_cleanup): Recover a foreign exception too.
* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Cope
with forced unwinding.
* libsupc++/eh_throw.cc (__cxxabiv1::__cxa_rethrow): Use
_Unwind_Resume_or_Rethrow for ARM EABI.
From-SVN: r107089
2005-11-16 17:04:41 +00:00
Geoffrey Keating
f47bddec0c
acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for shared libgcc for darwin exports.
...
* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for
shared libgcc for darwin exports.
* configure: Regenerate.
From-SVN: r106936
2005-11-15 04:56:34 +00:00
Paolo Carlini
81daf4baea
[multiple changes]
...
2005-11-13 Jonathan Wakely <redi@gcc.gnu.org>
* include/tr1/boost_shared_ptr.h (get_deleter):
Declare before shared_ptr.
(shared_ptr<>): Declare get_deleter as friend.
(shared_ptr<>:_M_get_deleter): Private.
2005-11-13 Douglas Gregor <doug.gregor@gmail.com>
PR libstdc++/24818
* include/tr1/ref_wrap_iterate.h
(reference_wrapper::operator()()): Don't dereferene the result of
get() before calling it; it's already a reference.
* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
Test nullary calls to reference_wrappers.
From-SVN: r106863
2005-11-13 12:14:51 +00:00
Paolo Carlini
3270a66b55
[multiple changes]
...
2005-11-13 Jonathan Wakely <redi@gcc.gnu.org>
* include/tr1/boost_shared_ptr.h (get_deleter):
Declare before shared_ptr.
(shared_ptr<>): Declare get_deleter as friend.
(shared_ptr<>:_M_get_deleter): Private.
2005-11-13 Douglas Gregor <doug.gregor@gmail.com>
PR libstdc++/24818
* include/tr1/ref_wrap_iterate.h
(reference_wrapper::operator()()): Don't dereferene the result of
get() before calling it; it's already a reference.
* testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
Test nullary calls to reference_wrappers.
From-SVN: r106862
2005-11-13 12:14:15 +00:00
Paolo Carlini
516ebd4486
re PR libstdc++/24808 (is_object fails to compile with incomplete types)
...
2005-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24808
* include/tr1/type_traits (__is_abstract_helper): Rename to __in_array
(with complemented logic).
(is_function): Use it, don't use __conv_helper.
(is_abstract): Adjust.
(__conv_helper): Rename to __is_convertible_simple.
(is_convertible): Adjust.
* testsuite/testsuite_tr1.h (class IncompleteClass): Add.
* testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/
24808.cc: New.
* testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/
24808.cc: Likewise.
* testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/
24808.cc: Likewise.
From-SVN: r106818
2005-11-12 00:19:24 +00:00
Paolo Carlini
77633f4cd0
re PR libstdc++/24799 (std::tr1::hash missing inheritance)
...
2005-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24799
* include/tr1/functional (hash): Inherit from std::unary_function.
* testsuite/tr1/6_containers/unordered/hash/24799.cc: New.
PR libstdc++/24805
* include/tr1/boost_shared_ptr.h (swap(shared_ptr<>&, shared_ptr<>&),
swap(weak_ptr<>&, weak_ptr<>&)): Move inside namespace tr1.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
24805.cc: New.
PR libstdc++/24809
* include/tr1/type_traits (__is_polymorhpic_helper): Adjust destructor.
* testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
24809.cc: New.
From-SVN: r106796
2005-11-11 20:10:20 +00:00
Paolo Carlini
c579887923
enable_shared_from_this/not_shared.cc: Adjust, remove xfail.
...
2005-11-10 Paolo Carlini <pcarlini@suse.de>
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared.cc: Adjust, remove xfail.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared2.cc: Likewise.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared3.cc: Likewise.
From-SVN: r106736
2005-11-10 15:13:15 +00:00
Paolo Carlini
a15024e630
boost_shared_ptr.h (_Sp_counted_base::release, [...]): Protect barriers with __GTHREADS.
...
2005-11-10 Paolo Carlini <pcarlini@suse.de>
* include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
weak_release): Protect barriers with __GTHREADS.
From-SVN: r106733
2005-11-10 12:03:50 +00:00
Paolo Carlini
7fd6021841
boost_shared_ptr.h (_Sp_counted_base::release): Optimize by manually inlining weak_release.
...
2005-11-10 Paolo Carlini <pcarlini@suse.de>
Peter Dimov <pdimov@mmltd.net>
* include/tr1/boost_shared_ptr.h (_Sp_counted_base::release):
Optimize by manually inlining weak_release.
* include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
weak_release): Use explicit memory barriers.
Co-Authored-By: Peter Dimov <pdimov@mmltd.net>
From-SVN: r106729
2005-11-10 10:46:27 +00:00
Benjamin Kosnik
720e2f72c3
re PR libstdc++/22203 (std::numeric_limits<int>::traps is wrong on PPC)
...
2005-11-09 Benjamin Kosnik <bkoz@redhat.com>
Paolo Carlini <pcarlini@suse.de>
Gabriel Dos Reis <gdr@integrable-solutions.net>
PR libstdc++/22203
* numeric_limits.cc: Split into...
* numeric_limits/specialization.cc: ..this.
* numeric_limits/is_iec559.cc: Same.
* numeric_limits/sign.cc: Same.
* numeric_limits/quiet_NaN.cc: Same.
* numeric_limits/digits10.cc: Same.
* numeric_limits/denorm_min.cc: Same.
* numeric_limits/min_max.cc: Same.
* numeric_limits/epsilon.cc: Same.
* numeric_limits/infinity.cc: Same.
* numeric_limits/traps.cc: New.
Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r106727
2005-11-10 02:05:13 +00:00
Paolo Carlini
8180951683
boost_shared_ptr.h: Trivial formatting fixes.
...
2005-11-09 Paolo Carlini <pcarlini@suse.de>
* include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
From-SVN: r106689
2005-11-09 11:47:30 +00:00
Benjamin Kosnik
797308b2d1
libstdc++.exp (check_v3_target_debug_mode): Use exe as the executable extension.
...
2005-11-08 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): Use
exe as the executable extension.
* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Change gnu defaults to
new.
(GLIBCXX_ENABLE_PCH): Adjust message order.
* configure: Regenerate.
* scripts/testsuite_flags.in (query): Correct print_usagex typo.
* include/bits/functexcept.h: Remove argument names.
* src/mt_allocator.cc: Adjust comment.
From-SVN: r106665
2005-11-08 23:07:02 +00:00
Paolo Carlini
3a4983938c
re PR libstdc++/18174 (documentation example for std::priority_queue usage)
...
2005-11-06 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/18174
* include/bits/stl_queue.h (priority_queue): Tweak a bit the
comment describing the container.
From-SVN: r106560
2005-11-06 13:07:11 +00:00
Paolo Carlini
460d832b00
configure.host: Add | rs6000 to the cpu_defines_dir switch, consistently with the try_cpu one.
...
2005-11-05 Paolo Carlini <pcarlini@suse.de>
* configure.host: Add | rs6000 to the cpu_defines_dir switch,
consistently with the try_cpu one.
From-SVN: r106525
2005-11-05 10:00:55 +00:00
Paolo Carlini
4b90c838d2
re PR libstdc++/22203 (std::numeric_limits<int>::traps is wrong on PPC)
...
2005-11-05 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/22203
* include/bits/c++config: Include cpu_defines.h.
* include/Makefile.am: Add cpu_defines.h to host_headers.
* configure.host: Add cpu_defines_dir.
* configure.ac: Use it.
* config/cpu/powerpc/cpu_defines.h: New.
* config/cpu/generic/cpu_defines.h: Likewise.
* configure: Regenerate.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libmath/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r106524
2005-11-05 09:42:01 +00:00
Paolo Carlini
f9c4ee6d10
sso_string_base.h (__sso_string_base<>::_M_swap): Change the various traits_type::copy call to always copy the entire local buffer...
...
2005-11-03 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
Change the various traits_type::copy call to always copy the
entire local buffer; return early and don't do a full swap on
the lengths for two common cases; change two _S_copy to plain
traits_type::copy.
From-SVN: r106431
2005-11-03 13:13:21 +00:00
Paolo Carlini
3d8aa000c3
[multiple changes]
...
2005-11-02 Thomas Kho <tkho@ucla.edu>
PR libstdc++/23425
* include/bits/stl_vector.h (vector<>::clear): Open code
in terms of _Destroy.
2005-11-02 Paolo Carlini <pcarlini@suse.de>
* include/bits/vector.tcc (vector<>::_M_fill_assign): Qualify fill_n.
From-SVN: r106379
2005-11-02 10:27:54 +00:00
Paolo Carlini
2747345455
re PR libstdc++/24595 (std::tr1::get_deleter not declared)
...
2005-11-01 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24595
* include/tr1/boost_shared_ptr.h (shared_ptr<>::get_deleter):
Move out of shared_ptr.
* testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/24595.cc:
New.
From-SVN: r106321
2005-11-01 11:01:40 +00:00
Andreas Jaeger
44bcbae366
.cvsignore are not needed for subversion, remove them.
...
From-SVN: r106279
2005-10-31 18:20:58 +01:00
Paolo Carlini
097588e4e4
re PR libstdc++/20213 (cassert header documentation wrong)
...
2005-10-30 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/20213
* include/c_std/std_csignal.h: Adjust comment as per 17.4.1.2/4.
* include/c_std/std_cstdlib.h: Likewise.
* include/c_std/std_cstdio.h: Likewise.
* include/c_std/std_cstdarg.h: Likewise.
* include/c_std/std_cctype.h: Likewise.
* include/c_std/std_cerrno.h: Likewise.
* include/c_std/std_cmath.h: Likewise.
* include/c_std/std_ciso646.h: Likewise.
* include/c_std/std_ctime.h: Likewise.
* include/c_std/std_clocale.h: Likewise.
* include/c_std/std_climits.h: Likewise.
* include/c_std/std_cassert.h: Likewise.
* include/c_std/std_csetjmp.h: Likewise.
* include/c_std/std_cwchar.h: Likewise.
* include/c_std/std_cfloat.h: Likewise.
* include/c_std/std_cstring.h: Likewise.
* include/c_std/std_cstddef.h: Likewise.
* include/c_std/std_cwctype.h: Likewise.
From-SVN: r106253
2005-10-30 22:21:50 +00:00
Carey Evans
f33e4b3d2e
re PR libstdc++/22087 (ctype<char> tables are offset by one on DJGPP)
...
2005-10-29 Carey Evans <carey.evans@gmail.com>
PR libstdc++/22087
* config/os/djgpp/ctype_inline.h: Fix.
* config/os/djgpp/ctype_noninline.h: Likewise.
From-SVN: r105999
2005-10-29 22:44:23 +00:00
Paolo Carlini
fcc8559226
re PR libstdc++/24559 (Incorrect definition of wcspbrk in cwchar)
...
2005-10-28 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24559
* include/c_std/std_cwchar.h (wcspbrk): Adjust signature.
* testsuite/21_strings/c_strings/wchar_t/24559.cc: New.
From-SVN: r105939
2005-10-28 16:42:09 +00:00
Paolo Carlini
e4b600fb23
lwg-active.html, [...]: Import Revision 39.
...
2005-10-25 Paolo Carlini <pcarlini@suse.de>
* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 39.
* docs/html/ext/howto.html: Adjust.
From-SVN: r105884
2005-10-25 09:26:54 +00:00
Paolo Carlini
ab940869ea
re PR libstdc++/24450 (Exception safety problem in messages/__timepunct)
...
2005-10-21 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24450
* config/locale/generic/time_members.h (__timepunct<>::
__timepunct(__c_locale, const char*, size_t)): Avoid leaking
memory if new throws inside _M_initialize_timepunct.
* config/locale/gnu/time_members.h (__timepunct<>::
__timepunct(__c_locale, const char*, size_t)): Likewise.
* config/locale/gnu/message_members.h (messages<>::
messages(__c_locale, const char*, size_t)): Rearrange to
avoid memory leaks.
From-SVN: r105729
2005-10-21 08:34:06 +00:00
Paolo Carlini
7058c3be1a
sso_string_base.h (_M_swap): Rewrite.
...
2005-10-19 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (_M_swap): Rewrite.
From-SVN: r105654
2005-10-20 01:07:13 +00:00
Paolo Carlini
486516b60b
rc_string_base.h (_S_terminal): Remove.
...
2005-10-19 Paolo Carlini <pcarlini@suse.de>
* include/ext/rc_string_base.h (_S_terminal): Remove.
(_M_set_length): Adjust.
(_S_max_size): Change to anonymous enum.
(_M_max_size()): Add, returns the latter.
* include/ext/sso_string_base.h: Likewise.
* include/ext/vstring.h (max_size): Adjust.
From-SVN: r105616
2005-10-19 14:25:31 +00:00
Jonathan Wakely
7010f39ea6
re PR libstdc++/24244 (Problem with tr1::shared_ptr and pthreads_mutex_lock)
...
2005-10-17 Jonathan Wakely <redi@gcc.gnu.org>
PR libstdc++/24244
* include/tr1/boost_shared_ptr.h (_Sp_counted_base::_Sp_counted_base()):
When __GTHREAD_MUTEX_INIT is defined, initialize the mutex.
From-SVN: r105506
2005-10-17 17:23:42 +00:00
Paolo Carlini
48c410a254
functional: Add missing #pragma GCC system_header.
...
2005-10-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/functional: Add missing #pragma GCC system_header.
From-SVN: r105444
2005-10-15 19:46:58 +00:00