re PR libstdc++/22554 (pb_assoc header build and install overflows exec)
[gcc.git] / libstdc++-v3 / ChangeLog
index 8f34871759643f18ef22c267211c84b02253cf49..4f3f286602f141700a5388a602b33ef7de3a4da8 100644 (file)
@@ -1,3 +1,482 @@
+2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>
+           David Edelsohn <dje@gcc.gnu.org>
+
+       PR libstdc++/22554
+       PR libstdc++/23734
+       * include/Makefile.am (assoc_headers): Break into five sub values.
+       (install-headers): Use them.
+       (stamp-assoc): Same.
+       * include/Makefile.in: Regenerate.
+       
+2005-09-12  Chris Jefferson  <chris@bubblescope.net>
+
+       * include/bits/stl_algo.h (search_n): Delegate to specializations.
+       (search_n(,,,,binary_predicate)): Likewise.
+       (__search_n(forward_iterator_tag)): Original search_n, tweak to
+       remove an unnecessary comparison.
+       (__search_n(,,,,binary_predicate,forward_iterator_tag)): Likewise.
+
+2005-09-12  Jim Xochellis  <jimxoch@yahoo.gr>
+
+       * include/bits/stl_algo.h
+       (__search_n(std::random_access_iterator_tag)): Add specialization.
+       (__search_n(,,,,binary_predicate,std::random_access_iterator_tag)):
+       Likewise.
+
+2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/23417
+       * include/bits/stl_list.h (_List_impl): Use member initialization
+       list for -Weffc++.
+       * include/bits/stl_tree.h (_Rb_tree_impl): Same.
+
+2005-09-12  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/23767
+       * include/bits/stl_iterator.h (__normal_iterator::
+       __normal_iterator<>(const __normal_iterator<_Iter, _Container>&)):
+       Enable only when _Iter is equal to _Container::pointer.
+       * testsuite/21_strings/basic_string/types/23767.cc: New.
+       * testsuite/23_containers/vector/types/23767.cc: Likewise.
+       * testsuite/ext/vstring/types/23767.cc: Likewise.
+
+2005-09-11  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/19265
+       PR libstdc++/22309
+       * include/ext/mt_allocator.h
+       (__gnu_cxx::__create_handler): Remove.
+       (__pool<true>::_M_destroy_thread_key): Compatibility only.
+       (__pool<true>::_M_initialize(__destroy): Same.
+       (__pool<true>::_M_initialize): New.
+       (__pool<true>::_M_initialize_once): Nothing fancy.
+       (__pool<true>::_M_once): Remove.
+       (__common_pool): New.
+       (__common_pool_base): New.      
+       (__per_type_pool): New.
+       (__per_type_pool_base): New.
+       * src/mt_allocator.cc: Same.
+       * config/linker-map.gnu (__pool<true>::_M_initialize()): Add.
+       
+2005-09-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/19265
+       PR libstdc++/22309
+       * src/mt_allocator.cc (__gnu_internal::freelist_mutex): Make static.
+       (__gnu_internal::__freelist): New type.
+       (__gnu_internal::freelist): New variable.
+       (__gnu_internal::_M_destroy_thread_key): New function.
+       (__gnu_cxx::__pool<true>::_M_destroy): Don't delete
+       _M_thread_freelist_initial.
+       (__gnu_cxx::__pool<true>::_M_initialize): Make argument nameless.
+       Don't use _M_thread_freelist and _M_thread_freelist_initial
+       __pool<true> fields, instead use __gnu_internal::freelist fields, call
+       gthread_key_create just once.  Use
+       __gnu_internal::_M_destroy_thread_key as key destructor.        
+       (__gnu_cxx::__pool<true>::_M_get_thread_id): Store size_t id
+       rather than _Thread_record* in the thread specific value.  Don't
+       use _M_thread_freelist __pool<true> field, instead use
+       __gnu_internal::freelist fields.
+       (__gnu_cxx::__pool<true>::_M_destroy_thread_key): Do nothing.
+
+2005-09-11  Benjamin Kosnik  <bkoz@redhat.com>
+            Jakub Jelinek  <jakub@redhat.com>
+
+       PR libstdc++/19265
+       PR libstdc++/22309      
+       * testsuite/testsuite_shared.cc: New.
+       * testsuite/lib/dg-options.exp (dg-require-sharedlib): New.
+       * testsuite/lib/libstdc++.exp (libstdc++_init): Look for shared
+       library, and set v3-sharedlib based on this.
+       (check_v3_target_sharedlib): New.
+       (proc v3-build_support): Build shared objects.
+       * testsuite/ext/mt_allocator/22309_thread.cc: New, use above.
+
+2005-09-11  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/23781
+       * include/bits/stl_list.h (_List_iterator<>::
+       _List_iterator(_List_node_base*), _List_const_iterator<>::
+       _List_const_iterator(const _List_node_base*)): Make explicit.
+       (list<>::begin(), list<>::end(), list<>::pop_back()): Adjust
+       consistently.
+       * include/bits/list.tcc (list<>::insert, list<>::erase): Adjust
+       consistently.
+       * include/bits/stl_tree.h (_Rb_tree_iterator<>::
+       _Rb_tree_iterator(_Link_type), _Rb_tree_const_iterator<>::
+       _Rb_tree_const_iterator(_Link_type)): Make explicit.
+       (_Rb_tree<>::begin(), _Rb_tree<>::end()): Adjust consistently.
+       * include/ext/slist (_Slist_iterator<>::_Slist_iterator(_Node*)):
+       Make explicit.
+       (slist<>::erase(iterator), slist<>::erase(iterator, iterator)):
+       Adjust consistently.
+       * include/tr1/hashtable (hashtable_iterator<>::
+       hashtable_iterator(hash_node<>**)): Make explicit.
+       * testsuite/23_containers/list/23781.cc: New.
+       * testsuite/23_containers/map/23781.cc: Likewise.
+       * testsuite/23_containers/multimap/23781.cc: Likewise.
+       * testsuite/23_containers/multiset/23781.cc: Likewise.
+       * testsuite/23_containers/set/23781.cc: Likewise.
+       * testsuite/ext/slist/23781.cc: Likewise.
+       * testsuite/tr1/6_containers/unordered/23781.cc: Likewise.
+       * testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
+       line numbers.
+       * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
+
+       * include/tr1/array (array<>::begin(), array<>::end()): Adjust
+       stylistically for consistency with the other containers.
+
+2005-09-10  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
+       XFAIL on *-*-linux*, not *-*-linux-gnu.
+
+2005-09-09  Benjamin Kosnik  <bkoz@redhat.com>
+            Jakub Jelinek  <jakub@redhat.com>
+
+       * src/debug.cc (iterator_base_mutex): Make static for internal
+       linkage.
+       * src/locale_init.cc (locale_mutex): Same.
+       * src/mt_allocator.cc (freelist_mutex): Same.
+       * src/pool_allocator.cc (palloc_init_mutex): Same.
+       
+2005-09-02  Paolo Carlini  <pcarlini@suse.de>
+
+       * testsuite/tr1/6_containers/unordered/hashtable/23465.cc:
+       Reduce maximum size and lf.
+
+2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * include/c_std/std_cmath.h: Declare C99 functions and helper
+       functions as inline.
+
+2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>
+           Paolo Carlini  <pcarlini@suse.de>
+       
+       * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): Fix
+       comment.
+
+2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>
+
+        * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): New.
+        * testsuite/lib/dg-options.exp (dg-require-cxa-atexit): New.
+        * testsuite/ext/mt_allocator/deallocate_local-6.cc: New.
+        * testsuite/ext/mt_allocator/deallocate_local-8.cc: New.
+        * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: New.
+        * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: New.
+        * docs/html/ext/mt_allocator.html: Add link to examples.
+        * testsuite/testsuite_allocator.h: Tweak.
+        * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
+        * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
+        * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
+        * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
+        * testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
+        * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
+        * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
+        * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
+        * testsuite/ext/new_allocator/deallocate_global.cc: Same.
+        * testsuite/ext/new_allocator/deallocate_local.cc: Same.
+
+2005-08-31  Paolo Carlini  <pcarlini@suse.de>
+           Kaspar Fischer <fischerk@inf.ethz.ch> 
+
+       PR libstdc++/23632
+       * include/bits/stl_bvector.h (_Bit_iterator::operator[],
+       _Bit_const_iterator::operator[]): Const-ify.
+       * testsuite/23_containers/vector/bool/23632.cc: New.
+
+2005-08-30  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/23578 (cont)
+       * include/bits/stl_bvector.h (class vector<bool>): Add
+       a dummy data() to avoid problems in debug-mode.
+
+2005-08-30  Paolo Carlini  <pcarlini@suse.de>
+
+       * testsuite/ext/hash_map/23528.cc: New.
+
+2005-08-29  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/stl_map.h (class map): ... and a missing @a.
+
+2005-08-29  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/stl_map.h (class map): Add missing % in comment.
+
+2005-08-29  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/23578 (DR 464 [Ready])
+       * include/bits/stl_map.h (class map): Add at(const key_type&)
+       member functions.
+       * include/bits/stl_vector.h (class vector): Add data() member
+       functions.
+       * include/debug/map.h (class map): Adjust consistently.
+       * include/debug/vector (class vector): Likewise.
+       * testsuite/23_containers/map/element_access/1.cc: New.
+       * testsuite/23_containers/vector/data_access/1.cc: Likewise.
+       * docs/html/ext/howto.html: Add an entry for DR 464.
+
+2005-08-26  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/20534 (contd)
+       * src/debug.cc (__gnu_debug): Remove __fancy_abort definition.
+       Remove cstdio and cstdlib includes.
+       * include/debug/debug.h: Define inline here. Remove
+       _GLIBCXX_DEBUG_ABORT.
+       * include/debug/macros.h: Remove __fancy_abort declaration,
+       _GLIBXX_DEBUG_ABORT definition.
+       * config/linker-map.gnu: Remove export.
+       
+2005-08-26  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * scripts/check_compile (UNIQUE_ID): New. Use to name output files.
+
+2005-08-26  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/23081
+       * include/tr1/array: Implement members back(), front(), data(),
+       and the tuple interface; tidy.
+       * testsuite/tr1/6_containers/array/element_access/back.cc: New.
+       * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
+       * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
+       * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
+       * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
+       Likewise.
+       * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
+       Likewise.
+
+2005-08-25  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/tr1/hashtable: Use __throw_exception_again,
+       not naked throw, in the catch clauses.
+
+2005-08-24  Lawrence Lim  <llim@redhat.com>
+            Jakub Jelinek  <jakub@redhat.com>
+           Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/23550
+       * testsuite/21_strings/char_traits/requirements/char/1.cc
+       (test01): Simplify counting.
+       * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
+       (test02): Same.
+
+2005-08-24  Paolo Carlini  <pcarlini@suse.de>
+           Chris Jefferson  <chris@bubblescope.net>
+
+       PR libstdc++/23465
+       * include/tr1/hashtable (hash_code_base::m_swap): Use
+       std::swap.
+       (hashtable<>::hashtable(const hashtable&)): Use copy_code;
+       fix m_allocate_node call.
+       * testsuite/tr1/6_containers/unordered/hashtable/23465.cc: New.
+
+2005-08-23  Kelley Cook  <kcook@gcc.gnu.org>
+
+       PR libstdc++/23462
+       * testsuite/data/sgetn.txt: Revert to previous FSF address.
+
+2005-08-23  Thomas Kho  <tkho@ucla.edu>
+
+       PR libstdc++/23358
+       * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
+       _ForwardIterator, allocator<_Tp>)): Removed unused template parameter.
+
+2005-08-22  Geoffrey Keating  <geoffk@apple.com>
+
+       * testsuite/23_containers/vector/resize/1.cc: XFAIL on darwin8.
+       * testsuite/27_io/ios_base/storage/2.cc: Likewise.
+
+2005-08-19  J"orn Rennecke <joern.rennecke@st.com>
+
+       * config/cpu/sh/atomicity.h: Replace broken generic code with current
+       copy of generic/atomicity.h .
+
+2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * All files: Update FSF address.
+
+2005-08-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
+       xfail on *-*-darwin*.
+
+2005-08-03  Geoffrey Keating  <geoffk@apple.com>
+
+       * configure.ac: Don't use GCC_NO_EXECUTABLES or clear
+       GLIBCXX_IS_NATIVE on Darwin crosses.
+       * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't skip configuring
+       the testsuite just because there's no symbol versioning.
+       * configure: Regenerate.
+
+       * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Print
+       status messages.
+       (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Likewise.
+       (GLIBCXX_CHECK_POLL): Likewise.
+       (GLIBCXX_CHECK_WRITEV): Likewise.
+       (GLIBCXX_CHECK_INT64_T): Likewise.
+       (GLIBCXX_CHECK_LFS): Likewise.
+       * configure: Regenerate.
+
+2005-07-30  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * scripts/make_exports.pl: Pass --strip-underscores to c++filt.
+
+2005-07-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR libstdc++/22284
+       * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Revert
+       the change to info.ttype_base.
+       
+2005-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * include/std/std_valarray.h: Fix grammar in comments.
+
+2005-07-25  Geoffrey Keating  <geoffk@apple.com>
+
+       * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle darwin-export,
+       and make it the default for Darwin.
+       * scripts/make-exports.pl: New.
+       * src/Makefile.am: Update for changes to GLIBCXX_ENABLE_SYMVERS.
+       Handle darwin-export.
+       * configure: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * libmath/Makefile.in: Regenerate.
+       * libsupc++/Makefile.in: Regenerate.
+       * po/Makefile.in: Regenerate.
+       * src/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2005-07-25  Dave Odell  <evilalias@hotmail.com>
+
+       PR libstdc++/23053
+       * include/tr1/hashtable (hashtable<>::find_node): Const-ify.
+       * testsuite/tr1/6_containers/unordered/hashtable/23053.cc: New.
+
+2005-07-25  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/22515
+       * include/bits/basic_string.h: Declare the specialization
+       operator>>(basic_istream<char>&, basic_string<char>&).
+       * include/std/std_istream.h: Declate the specialization
+       operator>>(basic_istream<char>&, char*).
+       * include/std/std_streambuf.h (basic_streambuf): Add friend
+       declarations for the above.
+       * src/istream.cc: Define the above.
+       * testsuite/27_io/basic_istream/extractors_character/char/4.cc: New.
+       * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
+       Likewise.
+       * testsuite/performance/27_io/ifstream_extract_chars.cc: Likewise.
+
+2005-07-20  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/streambuf.tcc (xsgetn, xsputn): Use streamsize
+       instead of size_t.
+       * src/streambuf.cc (__copy_streambufs): Likewise.
+
+2005-07-18  Paolo Carlini  <pcarlini@suse.de>
+
+       * config/locale/gnu/ctype_members.cc (do_is(mask, wchar_t)):
+       Speed-up for the common case of mask == ctype_base::space;
+       otherwise, exit the loop earlier if the mask is one of the
+       elementary ones.
+
+2005-07-14  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/21193 (float, double, long double)
+       * include/tr1/functional (hash<float>, hash<double>):
+       Reimplement exploiting the Fnv_hash<>::hash helper.
+       (hash<long double>): Reimplement using frexp (in this
+       case, due to random padding bits, the former approach
+       is not generally viable).
+
+2005-07-13  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/21193 (string & wstring)
+       * include/tr1/functional (hash<string>, hash<wstring>):
+       Reimplement using the FNV hash.
+
+       * include/tr1/functional: Trivial formatting fixes.
+
+2005-07-11  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/ostream.tcc (basic_ostream<>::operator<<(long),
+       basic_ostream<>::operator<<(long long)): Don't deal with oct
+       and hex and casts to unsigned here...
+       * include/bits/locale_facets.tcc (__int_to_char(_CharT*, long,
+       const _CharT*, ios_base::fmtflags), __int_to_char(_CharT*, long
+       long, const _CharT*, ios_base::fmtflags)): ... do that here,
+       instead, as per Table 57.
+       (num_put<>::_M_insert_int): Tidy treatment of numeric base and
+       sign.
+       * include/std/std_ostream.h (operator<<(short), operator<<(int)):
+       Adjust logic, as per the letter of the resolution of DR117 [WP].
+       * testsuite/22_locale/num_put/put/char/10.cc: New.
+       * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
+       * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
+       Likewise.
+       * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
+       Likewise.
+
+2005-07-07  David Edelsohn  <edelsohn@gnu.org>
+
+       * testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc:
+       Change map_t to map_type.
+
+2005-07-05  Paolo Carlini  <pcarlini@suse.de>
+
+       Add class __versa_string, a versatile "basic_string-type" class:
+       an additional, non-standard, template parameter allows to specify
+       the preferred base class. Two are provided: __rc_string_base,
+       which implements a behavior very similar to our standard string,
+       and __sso_string_base, not reference-counted and optimized for
+       short strings. 
+       * include/ext/rc_string_base.h: New.
+       * include/ext/sso_string_base.h: Likewise.
+       * include/ext/vstring.h: Likewise.
+       * include/ext/vstring.tcc: Likewise.
+       * include/ext/vstring_fwd.h: Likewise.
+       * include/ext/vstring_util.h: Likewise.
+       * include/Makefile.am: Add.
+       * include/Makefile.in: Regenerate.
+       * testsuite/ext/vstring/explicit_instantiation/1.cc: New.
+       * testsuite/ext/vstring/explicit_instantiation/2.cc: Likewise.
+       * testsuite/ext/vstring/explicit_instantiation/char/1.cc: Likewise.
+       * testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc: Likewise.
+
+       * Makefile.in: Regenerate with autotools 1.9.3 (to date, the version
+       officially used by v3).
+       * aclocal.m4: Likewise.
+       * libmath/Makefile.in: Likewise.
+       * libsupc++/Makefile.in: Likewise.
+       * po/Makefile.in: Likewise.
+       * src/Makefile.in: Likewise.
+       * testsuite/Makefile.in: Likewise.
+
+2005-07-01  Paolo Carlini  <pcarlini@suse.de>
+
+        Port from libstdcxx_so_7-branch:
+       2004-10-28  Chris Jefferson  <chris@bubblescope.net>
+
+       PR libstdc++/17441
+       * include/bit/stl_algo.h (find(,,,input_iterator_tag),
+       find(,,,random_access_interator_tag),
+       find_if(,,,input_iterator_tag),
+       find_if(,,,random_access_iterator_tag)): Uglify function name.
+       (find, find_if): Use new uglified specialisation names.
+       * testsuite/25_algorithms/find/17441.cc: New.
+
+2005-06-30  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
+       (PB_ASSOC_CLASS_C_DEC::s_highest_bit_1): Cast constant 1 to target
+       type before shifting.
+
+2005-06-29  Paolo Carlini  <pcarlini@suse.de>
+           
+       PR libstdc++/21244 (cont^2)
+       * include/ext/bitmap_allocator.h: Convert everywhere
+       bits_per_block to size_t.       
+
 2005-06-29  Jonathan Wakely  <redi@gcc.gnu.org>
 
        * include/bits/basic_string.h, include/bits/locale_facets.h: Fix