+2007-04-11 Zack Weinberg <zack@mrtock.ucsd.edu>
+
+ * include/std/iosfwd: Do not include <bits/c++locale.h> and
+ <bits/functexcept.h>.
+
+2007-04-10 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/ext/pb_ds/detail/resize_policy/
+ cc_hash_max_collision_check_resize_trigger_imp.hpp: Qualify
+ namespace std members.
+ * include/ext/pb_ds/detail/list_update_policy/
+ counter_lu_metadata.hpp: Same.
+ * include/ext/throw_allocator.h: Same.
+ * include/ext/pod_char_traits.h: Same.
+ * include/ext/malloc_allocator.h: Same.
+ * libsupc++/del_op.cc: Same, simplify.
+
+ * include/bits/c++config: Adjust macro name.
+
+ * include/c_global/cstring: Alphabetize.
+ * include/c_global/cwctype: Same.
+
+2007-04-10 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/cmath: Include <bits/stl_algobase.h> instead of
+ the whole <algorithm>.
+
+2007-04-10 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits (__is_function_helper): New, uses
+ variadic templates.
+ (is_function): Forward to the latter.
+ * testsuite/tr1/4_metaprogramming/primary_type_categories/
+ is_function/is_function.cc: Add test.
+
+2007-04-10 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/28277 (partial: vstring bits)
+ * include/bits/ostream_insert.h: New.
+ * include/Makefile.am: Add.
+ * include/ext/vstring.h (operator<<(basic_ostream<>&,
+ const __versa_string<>&): Forward to __ostream_insert.
+ * include/bits/basic_string.h (operator<<(basic_ostream<>&,
+ const string<>&)): Likewise.
+ * include/std/ostream (operator<<(basic_ostream<>&, _CharT),
+ operator<<(basic_ostream<char,>&, char), operator<<(basic_ostream<>&,
+ const _CharT*), operator<<(basic_ostream<char,>&, const char*)):
+ Likewise.
+ * include/ext/vstring.tcc (operator<<(basic_ostream<>&,
+ const __versa_string<>&)): Remove.
+ (class basic_ostream): Remove friend declarations.
+ (basic_ostream<>::_M_write(char_type, streamsize),
+ _M_insert(const char_type*, streamsize)): Remove.
+ * include/bits/ostream.tcc (_M_insert(const char_type*, streamsize)):
+ Remove definition.
+ (operator<<(basic_ostream<>&, const char*)): Use __ostream_insert.
+ * config/abi/pre/gnu.ver: Adjust.
+ * src/ostream-inst.cc: Add __ostream_insert instantiations.
+ * include/bits/locale_facets.h (__pad<>::_S_pad): Remove __num
+ parameter.
+ * include/bits/locale_facets.tcc (__pad<>::_S_pad): Adjust.
+ (num_put<>::_M_pad(_CharT, streamsize, ios_base&, _CharT*,
+ const _CharT*, int&)): Likewise.
+ * include/Makefile.in: Rebuild.
+ * testsuite/ext/vstring/inserters_extractors/char/28277.cc: New.
+ * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: New.
+
+ * include/ext/vstring_util.h: Do not include the whole <locale>.
+ * include/ext/vstring.tcc (operator>>(basic_istream<>&,
+ __versa_string<>&, getline(basic_istream<>&, __versa_string<>&,
+ _CharT)): Tweak to refer to ios_base as a base of istream; do not
+ refer to non-standard types of istream.
+ * include/bits/istream.tcc (operator>>(basic_istream<>&, _CharT*),
+ ws(basic_istream<>&)): Do not refer to non-standard types of istream.
+ * include/std/bitset (operator>>(std::basic_istream<>&, bitset<>&)):
+ Avoid using basic_streambuf<>*.
+
+ * include/bits/istream.tcc (operator>>(basic_istream<>&,
+ basic_string<>&), getline(basic_istream<>&, basic_string<>&, _CharT)):
+ Move...
+ * include/bits/basic_string.tcc: ... here; tweak to refer to ios_base
+ as a base of istream; do not refer to non-standard types of istream.
+ * include/std/string: Tweak includes.
+
+ * include/ext/type_traits.h (__is_null_pointer): Add.
+ * include/ext/rc_string_base.h: Use it.
+ * include/ext/sso_string_base.h: Likewise.
+ * include/bits/basic_string.tcc (__is_null_pointer): Remove, use
+ the above.
+ * include/ext/vstring_util.h (__vstring_utility<>::_S_is_null_pointer):
+ Remove.
+
+2007-04-09 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits_fwd.h (__is_union_or_class): Remove.
+ * include/tr1/type_traits (struct __in_array,
+ struct __is_union_or_class, struct __is_union_or_class_helper,
+ struct __is_empty_helper, struct __is_polymorphic_helper):
+ Remove.
+ (struct is_enum): Use __is_enum.
+ (struct is_union): Use __is_union.
+ (struct is_class): Use __is_class.
+ (struct is_function): Adjust.
+ (struct is_empty): Use __is_empty.
+ (struct is_polymorphic): Use __is_polymorphic.
+ (struct is_abstract): Use __is_abstract.
+ (struct has_virtual_destructor): Use __has_virtual_destructor.
+ (struct __is_base_of_helper): Use __is_base_of.
+ * testsuite/tr1/4_metaprogramming/composite_type_traits/
+ is_union_or_class/typedefs.cc: Remove.
+ * testsuite/tr1/4_metaprogramming/composite_type_traits/
+ is_union_or_class/is_union_or_class.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/primary_type_categories/
+ is_class/typedefs.cc: New.
+ * testsuite/tr1/4_metaprogramming/primary_type_categories/
+ is_class/is_class.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/primary_type_categories/
+ is_union/typedefs.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/primary_type_categories/
+ is_union/is_union.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ has_virtual_destructor/typedefs.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ has_virtual_destructor/has_virtual_destructor.cc: Likewise.
+ * testsuite/util/testsuite_tr1.h (class VirtualDestructorClass): Add.
+ * testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
+ is_polymorphic.cc: Add test.
+
+2007-04-08 Alexey Beshenov <bav.272304@gmail.com>
+
+ PR libstdc++/31511
+ * include/c_global/cmath.tcc (__cmath_power): Use _Tp(1).
+ * include/c_std/cmath.tcc (__cmath_power): Likewise.
+
+2007-04-06 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/31117
+ * config/locale/gnu/c_locale.cc (__convert_to_v): Do not use errno,
+ just check that the value is finite.
+ * config/locale/generic/c_locale.cc (__convert_to_v): Likewise.
+
+2007-04-06 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/type_traits.h (__numeric_traits): Move...
+ * include/ext/numeric_traits.h: ... here.
+ * include/Makefile.am: Add.
+ * include/ext/pb_ds/detail/type_utils.hpp: Include
+ <ext/numeric_traits.h> too.
+ * include/tr1/random: Likewise.
+ * testsuite/ext/type_traits/numeric_traits.cc: Move...
+ * testsuite/ext/numeric_traits/numeric_traits.cc: ... here.
+ * include/Makefile.in: Regenerate.
+
+2007-04-04 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/valarray_array.h (__valarray_default_construct(_Tp*,
+ _Tp*)): Use __is_scalar instead of __is_pod.
+
+2007-04-03 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_algobase.h (__copy_aux(_II, _II, _OI),
+ __copy_backward_aux(_BI1, _BI1, _BI2)): Use __is_pod.
+ * include/bits/stl_deque.h (deque<>::_M_destroy_data(iterator,
+ iterator, const std::allocator<>&)): Use __has_trivial_constructor.
+ (deque<>::_M_destroy_data_dispatch): Remove.
+ * include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
+ _InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
+ _ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
+ _Size, const _Tp&)): Use __is_pod.
+ * include/bits/stl_tempbuf.h (_Temporary_buffer::
+ _Temporary_buffer(_ForwardIterator, _ForwardIterator)): Use __is_pod.
+ (_Temporary_buffer::_M_initialize_buffer): Remove.
+ * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
+ _ForwardIterator)): Use __has_trivial_destructor.
+ (__destroy_aux): Remove.
+
+2007-04-03 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_map.h (map<>::insert(iterator, const value_type&):
+ Uglify parameter.
+
+2007-04-03 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/31440
+ * include/bits/stl_tree.h (_M_lower_bound(_Link_type, _Link_type,
+ const _Key&), _M_upper_bound(_Link_type, _Link_type, const _Key&)):
+ Add.
+ (_M_equal_range(const _Key&) const): Remove.
+ (lower_bound(const key_type&), lower_bound(const key_type&) const,
+ upper_bound(const key_type&), upper_bound(const key_type&) const,
+ equal_range(const key_type&), equal_range(const key_type&) const):
+ Adjust.
+ (find(const _Key&), find(const _Key&) const): Tweak.
+ * testsuite/23_containers/map/operations/31440.cc: New.
+
+2007-04-02 Matthew Levine <gcc@severeweblint.org>
+ Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/31370
+ * include/bits/stl_bvector.h (vector<bool>::max_size): Fix.
+ (vector<bool>::_M_check_len): Add.
+ * include/bits/vector.tcc (_M_fill_insert(iterator, size_type, bool),
+ _M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
+ std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Use it.
+ * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: New.
+ * testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust.
+
+ * include/bits/stl_vector.h (vector<>::_M_check_len): Add.
+ * include/bits/vector.tcc (_M_insert_aux(iterator, const _Tp&),
+ _M_fill_insert(iterator, size_type, const value_type&),
+ _M_range_insert(iterator, _ForwardIterator, _ForwardIterator,
+ std::forward_iterator_tag)): Use it.
+
+2007-04-02 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/31401 (vstring bits)
+ * include/ext/vstring.tcc (find(const _CharT*, size_type,
+ size_type)): Avoid unsigned overflow.
+
+2007-04-02 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
+ ios_base&, char_type, const void*)): Fix for sizeof(const void*)
+ > sizeof(unsigned long).
+
+2007-04-01 Andreas Tobler <a.tobler@schweiz.org>
+
+ * include/tr1/poly_laguerre.tcc: Missing s/__alpha/__alpha1, line 278.
+
+2007-04-01 Richard Henderson <rth@redhat.com>
+
+ * include/tr1/poly_laguerre.tcc: s/__alpha/__alpha1/g.
+ * include/tr1/ell_integral.tcc: Likewise.
+
+2007-03-31 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_bvector.h (_M_fill_insert(iterator, size_type,
+ bool), _M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
+ std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Move
+ out of line...
+ * include/bits/vector.tcc: ... here.
+
2007-03-30 Paolo Carlini <pcarlini@suse.de>
PR c++/26099