iosfwd: Do not include <bits/c++locale.h> and <bits/functexcept.h>.
[gcc.git] / libstdc++-v3 / ChangeLog
index a6ab09b72fe06602871bdc1e91b953c24e40da9a..31564dddf12b62a62df243273613a08178ad752a 100644 (file)
@@ -1,3 +1,245 @@
+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