Commit Graph

4655 Commits

Author SHA1 Message Date
Paolo Carlini ab7654d98b 23465.cc: Reduce maximum size and lf.
2005-09-02  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/tr1/6_containers/unordered/hashtable/23465.cc:
	Reduce maximum size and lf.

From-SVN: r103783
2005-09-02 16:23:39 +00:00
Benjamin Kosnik 4eafe88212 std_cmath.h: Declare C99 functions and helper functions as inline.
2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/std_cmath.h: Declare C99 functions and helper
	functions as inline.

From-SVN: r103747
2005-09-01 20:59:31 +00:00
Benjamin Kosnik d42a11e122 std_cmath.h: Declare C99 functions and helper functions as inline.
2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/std_cmath.h: Declare C99 functions and helper
	functions as inline.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r103743
2005-09-01 20:46:47 +00:00
Benjamin Kosnik d14630d6ea libstdc++.exp (check_v3_target_cxa_atexit): Fix comment.
2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>
	     Paolo Carlini  <pcarlini@suse.de>

	* testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): Fix
	comment.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r103739
2005-09-01 16:58:25 +00:00
Benjamin Kosnik a1340af76f libstdc++.exp (check_v3_target_cxa_atexit): New.
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.

From-SVN: r103721
2005-09-01 07:06:05 +00:00
Paolo Carlini e6494c9434 re PR libstdc++/23632 (std::vector<bool> in combination with debug mode fails to compile code)
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.

Co-Authored-By: Kaspar Fischer <fischerk@inf.ethz.ch>

From-SVN: r103686
2005-08-31 17:01:57 +00:00
Paolo Carlini 5038e0988e PR libstdc++/23578 (cont)
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.

From-SVN: r103641
2005-08-30 15:49:15 +00:00
Paolo Carlini da45075de7 23528.cc: New.
2005-08-30  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/ext/hash_map/23528.cc: New.

From-SVN: r103635
2005-08-30 09:16:31 +00:00
Paolo Carlini e677187ed5 stl_map.h (class map): ...
2005-08-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_map.h (class map): ... and a missing @a.

From-SVN: r103611
2005-08-29 16:50:52 +00:00
Paolo Carlini 76c6705ba8 stl_map.h (class map): Add missing % in comment.
2005-08-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_map.h (class map): Add missing % in comment.

From-SVN: r103610
2005-08-29 16:47:06 +00:00
Paolo Carlini 8b5f07a224 PR libstdc++/23578 (DR 464 [Ready])
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.

From-SVN: r103609
2005-08-29 16:11:19 +00:00
Benjamin Kosnik 277d42e27f PR libstdc++/20534 (contd)
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.

From-SVN: r103535
2005-08-26 21:10:59 +00:00
Benjamin Kosnik 327d749cf8 check_compile (UNIQUE_ID): New.
2005-08-26  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/check_compile (UNIQUE_ID): New. Use to name output files.

From-SVN: r103534
2005-08-26 20:31:48 +00:00
Paolo Carlini 5a2ab2c36d re PR libstdc++/23081 (Finish the implementation of tr1::array)
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.

From-SVN: r103525
2005-08-26 15:52:53 +00:00
Paolo Carlini 40f1508996 hashtable: Use __throw_exception_again, not naked throw, in the catch clauses.
2005-08-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/hashtable: Use __throw_exception_again,
	not naked throw, in the catch clauses.

From-SVN: r103483
2005-08-25 09:34:49 +00:00
Lawrence Lim a35f1a13b9 re PR libstdc++/23550 (char_traits requirements/1.cc test bad math)
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.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r103451
2005-08-24 20:29:27 +00:00
Paolo Carlini bb7d32a918 re PR libstdc++/23465 (Assignment fails on TR1 unordered containers)
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.

Co-Authored-By: Chris Jefferson <chris@bubblescope.net>

From-SVN: r103441
2005-08-24 15:00:19 +00:00
Kelley Cook b71ed55244 re PR libstdc++/23462 (27_io/basic_filebuf/sgetn/char/[12]-i[no].cc execution tests fail)
2005-08-23  Kelley Cook  <kcook@gcc.gnu.org>

	PR libstdc++/23462
	* testsuite/data/sgetn.txt: Revert to previous FSF address.

From-SVN: r103415
2005-08-23 23:05:38 +00:00
Thomas Kho 9191d64118 re PR libstdc++/23358 (_Destroy doesn't optimize for scalar types)
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.

From-SVN: r103393
2005-08-23 10:40:14 +00:00
Geoffrey Keating 96d06af84b 1.cc: XFAIL on darwin8.
* testsuite/23_containers/vector/resize/1.cc: XFAIL on darwin8.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.

From-SVN: r103377
2005-08-23 01:16:45 +00:00
J"orn Rennecke e27ce37987 atomicity.h: Replace broken generic code with current copy of generic/atomicity.h .
* config/cpu/sh/atomicity.h: Replace broken generic code with current
	copy of generic/atomicity.h .

From-SVN: r103274
2005-08-19 12:50:21 +01:00
Kelley Cook 83f517994d All files: Update FSF address.
2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update FSF address.

From-SVN: r103192
2005-08-17 02:28:44 +00:00
Andrew Pinski 18a6e93f23 c99_classification_macros_c.cc: xfail on *-*-darwin*.
2005-08-09  Andrew Pinski  <pinskia@physics.uc.edu>

        * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
        xfail on *-*-darwin*.

From-SVN: r102919
2005-08-09 10:51:27 -07:00
Geoffrey Keating 0646b0597b configure.ac: Don't use GCC_NO_EXECUTABLES or clear GLIBCXX_IS_NATIVE on Darwin crosses.
* 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.

From-SVN: r102718
2005-08-03 23:17:06 +00:00
Geoffrey Keating e010344025 acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Print status messages.
* 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.

From-SVN: r102710
2005-08-03 21:03:29 +00:00
Andrew Pinski 31537df3e5 make_exports.pl: Pass --strip-underscores to c++filt.
2005-07-30  Andrew Pinski  <pinskia@physics.uc.edu>

        * scripts/make_exports.pl: Pass --strip-underscores to c++filt.

From-SVN: r102595
2005-07-30 15:46:25 -07:00
H.J. Lu 216edb224f re PR libstdc++/22284 (ia64 exception handling broken)
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.

From-SVN: r102552
2005-07-29 06:35:59 -07:00
Volker Reichelt dc5fef6a47 * include/std/std_valarray.h: Fix grammar in comments.
From-SVN: r102479
2005-07-28 12:23:53 +00:00
Geoffrey Keating a9fdd4720c Index: gcc/ChangeLog
2005-07-25  Geoffrey Keating  <geoffk@apple.com>

	* doc/install.texi (Prerequisites): Mention that perl is needed
	to do export control in libstdc++ targetting Darwin.

Index: libstdc++-v3/ChangeLog
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.

From-SVN: r102435
2005-07-27 18:28:32 +00:00
Dave Odell 7f50ddeef6 re PR libstdc++/23053 (Const-correctness issue in TR1 hashtable)
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.

From-SVN: r102372
2005-07-25 22:46:48 +00:00
Paolo Carlini 4fdfb2046e 2005-07-25 Paolo Carlini <pcarlini@suse.de>
Adjust date of last ChangeLog entry.

From-SVN: r102354
2005-07-25 08:49:37 +00:00
Paolo Carlini ceed88b131 re PR libstdc++/22515 (operator>>(istream, string/CharT*) can be faster)
2005-07-24  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.

From-SVN: r102353
2005-07-25 08:47:33 +00:00
Paolo Carlini cdcdee12da streambuf.tcc (xsgetn, xsputn): Use streamsize instead of size_t.
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.

From-SVN: r102204
2005-07-20 22:07:57 +00:00
Paolo Carlini 39a72a9179 ctype_members.cc (do_is(mask, wchar_t)): Speed-up for the common case of mask == ctype_base::space...
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.

From-SVN: r102137
2005-07-18 17:42:32 +00:00
Paolo Carlini dbd160bff8 PR libstdc++/21193 (float, double, long double)
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).

From-SVN: r102043
2005-07-15 00:05:44 +00:00
Paolo Carlini 5a298377cf PR libstdc++/21193 (string & wstring)
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.

From-SVN: r101964
2005-07-13 10:47:40 +00:00
Paolo Carlini 8637038aa8 ostream.tcc (basic_ostream<>::operator<<(long), [...]): Don't deal with oct and hex and casts to unsigned here...
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.

From-SVN: r101872
2005-07-11 09:48:31 +00:00
David Edelsohn 456f9beaad tree_order_statistics_join.cc: Change map_t to map_type.
* testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc:
	Change map_t to map_type.

From-SVN: r101709
2005-07-07 09:35:25 -04:00
Paolo Carlini 872d8fea40 Add class __versa_string, a versatile "basic_string-type" class...
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.

From-SVN: r101639
2005-07-05 23:07:18 +00:00
Paolo Carlini c1806f89e0 [multiple changes]
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.

From-SVN: r101501
2005-07-01 08:25:11 +00:00
Ulrich Weigand 625684fa1c * 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.

From-SVN: r101477
2005-06-30 21:33:31 +00:00
Paolo Carlini a81408c939 PR libstdc++/21244 (cont^2)
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.

From-SVN: r101438
2005-06-29 22:12:18 +00:00
Jonathan Wakely a65da37d5b basic_string.h, [...]: Fix Doxygen comments that use wrong parameter and function names.
* include/bits/basic_string.h, include/bits/locale_facets.h: Fix
	Doxygen comments that use wrong parameter and function names.

From-SVN: r101419
2005-06-29 13:18:08 +01:00
Paolo Carlini 7d31a1f437 lwg-active.html, [...]: Import Revision 37.
2005-06-29  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 37.
	* docs/html/ext/howto.html: Adjust.

From-SVN: r101418
2005-06-29 12:05:32 +00:00
Paolo Carlini c7b802913b 2005-06-29 Paolo Carlini <pcarlini@suse.de>
Fix typo in last ChangeLog entry.

From-SVN: r101417
2005-06-29 11:52:23 +00:00
Paolo Carlini d04e9b7fef re PR libstdc++/22131 (std::num_get fails for input with invalid groups)
2005-06-29  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/22131
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int,
	num_get<>::_M_extract_float, money_get<>::_M_extract):
	Adjust to assign the result also when digit grouping is
	wrong (but the grammar is correct), as per 22.2.2.1.2, p11-12
	(NB: consistently for money_get too).
	* config/locale/generic/c_locale.cc (__convert_from_v): Do
	not check ios_base::failbit at the outset.
	* config/locale/gnu/c_locale.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/22131.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/12.cc: Adjust.
	* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
	Likewise.

From-SVN: r101416
2005-06-29 11:48:53 +00:00
Paul Brook 2a75c0b6d2 Makefile.in: Set and use UNWIND_H.
2005-06-28  Paul Brook  <paul@codesourcery.com>

gcc/
	* Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
	* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
	* except.c (add_ehspec_entry): Generate arm eabi filter lists.
	(assign_filter_values): Ditto.
	(output_ttype): New function.
	(output_function_exception_table): Use output_ttype.  Generate arm
	eabi filter lists.
	(default_init_unwind_resume_libfunc): New function.
	* except.h (default_init_unwind_resume_libfunc): Add prototype.
	* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
	* opts.c (decode_options): Use targetm.unwind_tables_default.
	* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
	(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
	* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
	and arm_eabi_unwinder.
	* unwind-c.c: Support Arm EABI unwinder.
	* unwind.h: Rename ...
	* unwind-generic.h: ... To this.
	* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
	(TARGET_UNWID_TABLES_DEFAULT): Document.

	* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
	* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
	(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
	Define.
	(thumb_pushpop, thumb_output_function_prologue): Output unwinding
	directives.
	(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
	!TARGET_UNWIND_INFO.
	(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
	* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
	ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
	* config/arm/lib1funcs.asm: Include libunwind.S.
	* config/arm/libgcc-bpabi.ver: Add unwinding routines.
	* config/arm/libunwind.S: New file.
	* config/arm/pr-support.c: New file.
	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
	* config/arm/unwind-arm.c: New file.
	* config/arm/unwind-arm.h: New file.
	* config/i386/t-netware (USER_H): Remove unwind.h.
	* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.

gcc/cp/
	* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
	* except.c: Include target.h.
	(init_exception_processing): Initialize unwind_resume_libfunc.
	* doc/tm.texi: Document TARGET_ASM_TTYPE
gcc/ada/
	* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
gcc/java/
	* decl.c (java_init_decl_processing): Call
	default_init_unwind_resume_libfunc.
gcc/objc/
	* objc-act.c (objc_init_exceptions): Call
	default_init_unwind_resume_libfunc.
libstdc++/
	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
	__cxa_end_cleanup.
	* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
	* libsupc++/eh_arm.cc: New file.
	* libsupc++/eh_call.cc: New file.
	* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
	__gxx_caught_object.
	(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
	_Unwind_Complete when using the ARM EABI.
	(__cxa_end_catch): Use __is_gxx_exception_class.
	* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
	using the ARM EABI.
	(save_caught_exception, restore_caught_exception): New functions.
	(_throw_typet): New typedef.
	(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
	EABI implementations.
	(PERSONALITY_FUNCTION): Use new functions.  Addd support for ARM EABI
	unwinding libary.
	(__cxa_unexpected): Disable when using the ARM EABI.
	* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
	(__cxa_rethrow): Use __is_gxx_exception_class.  Call
	_Unwind_RaiseException when using the ARM EABI.
	* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
	EABI semantics.
	(struct __cxa_eh_globals): Ditto.
	(__cxa_call_terminate): Add prototype.
	(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
	prototypes.
	(__get_exception_header_from_obj, __get_exception_header_from_ue):
	Move earlier in file.
	(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
	__gxx_caught_object): New functions.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* src/Makefie.in: Regenerate.
	* testsuite/makefile.in: Regenerate.

From-SVN: r101389
2005-06-28 20:06:39 +00:00
Paul Brook 617a1b7144 Makefile.in: Set and use UNWIND_H.
2005-06-28  Paul Brook  <paul@codesourcery.com>

gcc/
	* Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
	* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
	* except.c (add_ehspec_entry): Generate arm eabi filter lists.
	(assign_filter_values): Ditto.
	(output_ttype): New function.
	(output_function_exception_table): Use output_ttype.  Generate arm
	eabi filter lists.
	(default_init_unwind_resume_libfunc): New function.
	* except.h (default_init_unwind_resume_libfunc): Add prototype.
	* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
	* opts.c (decode_options): Use targetm.unwind_tables_default.
	* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
	(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
	* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
	and arm_eabi_unwinder.
	* unwind-c.c: Support Arm EABI unwinder.
	* unwind.h: Rename ...
	* unwind-generic.h: ... To this.
	* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
	(TARGET_UNWID_TABLES_DEFAULT): Document.

	* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
	* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
	(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
	Define.
	(thumb_pushpop, thumb_output_function_prologue): Output unwinding
	directives.
	(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
	!TARGET_UNWIND_INFO.
	(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
	* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
	ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
	* config/arm/lib1funcs.asm: Include libunwind.S.
	* config/arm/libgcc-bpabi.ver: Add unwinding routines.
	* config/arm/libunwind.S: New file.
	* config/arm/pr-support.c: New file.
	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
	* config/arm/unwind-arm.c: New file.
	* config/arm/unwind-arm.h: New file.
	* config/i386/t-netware (USER_H): Remove unwind.h.
	* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.

gcc/cp/
	* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
	* except.c: Include target.h.
	(init_exception_processing): Initialize unwind_resume_libfunc.
	* doc/tm.texi: Document TARGET_ASM_TTYPE
gcc/ada/
	* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
gcc/java/
	* decl.c (java_init_decl_processing): Call
	default_init_unwind_resume_libfunc.
gcc/objc/
	* objc-act.c (objc_init_exceptions): Call
	default_init_unwind_resume_libfunc.
libstdc++/
	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
	__cxa_end_cleanup.
	* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
	* libsupc++/eh_arm.cc: New file.
	* libsupc++/eh_call.cc: New file.
	* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
	__gxx_caught_object.
	(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
	_Unwind_Complete when using the ARM EABI.
	(__cxa_end_catch): Use __is_gxx_exception_class.
	* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
	using the ARM EABI.
	(save_caught_exception, restore_caught_exception): New functions.
	(_throw_typet): New typedef.
	(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
	EABI implementations.
	(PERSONALITY_FUNCTION): Use new functions.  Addd support for ARM EABI
	unwinding libary.
	(__cxa_unexpected): Disable when using the ARM EABI.
	* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
	(__cxa_rethrow): Use __is_gxx_exception_class.  Call
	_Unwind_RaiseException when using the ARM EABI.
	* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
	EABI semantics.
	(struct __cxa_eh_globals): Ditto.
	(__cxa_call_terminate): Add prototype.
	(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
	prototypes.
	(__get_exception_header_from_obj, __get_exception_header_from_ue):
	Move earlier in file.
	(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
	__gxx_caught_object): New functions.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* src/Makefie.in: Regenerate.
	* testsuite/makefile.in: Regenerate.

From-SVN: r101385
2005-06-28 19:52:27 +00:00
Paolo Carlini ec5537cc33 re PR libstdc++/22102 ([DR233] Implement resolution of DR 233)
2005-06-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/22102
	* include/bits/stl_tree.h (insert_unique(iterator, const _Val&),
	insert_equal((iterator, const _Val&)): Reimplement to check both
	before and after, as per the algorithm "ignore hint if wrong" of
	ISO paper N1780.

From-SVN: r101355
2005-06-27 16:35:49 +00:00
Benjamin Kosnik fd1e17264b documentation.html: Add link for policy based associative containers docs.
2005-06-27  Benjamin Kosnik  <bkoz@redhat.com>
	    Ami Tavory  <pbassoc@gmail.com>

	* docs/html/documentation.html: Add link for policy based
	associative containers docs.
	* docs/html/ext/pb_assoc/Std_hash_set_impl.jpg: New.
	* docs/html/ext/pb_assoc/acks.html: New.
	* docs/html/ext/pb_assoc/balls_and_bins.jpg: New.
	* docs/html/ext/pb_assoc/basic_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/basic_assoc_cntnr_compound_data.html: New.
	* docs/html/ext/pb_assoc/basic_assoc_cntnr_no_data.html: New.
	* docs/html/ext/pb_assoc/basic_ds_tag.html: New.
	* docs/html/ext/pb_assoc/basic_hash_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/basic_hash_ds_tag.html: New.
	* docs/html/ext/pb_assoc/basic_invalidation_guarantee.html: New.
	* docs/html/ext/pb_assoc/basic_ms_tag.html: New.
	* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/
	  basic_tree_assoc_cntnr_const_node_iterator.html: New.
	* docs/html/ext/pb_assoc/
	  basic_tree_assoc_cntnr_node_iterator.html: New.
	* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev.html: New.
	* docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev_it.html: New.
	* docs/html/ext/pb_assoc/basic_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/cc_hash_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/cc_hash_ds_tag.html: New.
	* docs/html/ext/pb_assoc/
	  cc_hash_max_collision_check_resize_trigger.html: New.
	* docs/html/ext/pb_assoc/cc_hash_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/cd.jpg: New.
	* docs/html/ext/pb_assoc/component_requirements.html: New.
	* docs/html/ext/pb_assoc/compound_data_enabled_ms_tag.html: New.
	* docs/html/ext/pb_assoc/compound_data_type.html: New.
	* docs/html/ext/pb_assoc/compound_ds_tag.html: New.
	* docs/html/ext/pb_assoc/concepts.html: New.
	* docs/html/ext/pb_assoc/contact.html: New.
	* docs/html/ext/pb_assoc/counter_update_metadata.html: New.
	* docs/html/ext/pb_assoc/counter_update_policy.html: New.
	* docs/html/ext/pb_assoc/data_enabled_ms_tag.html: New.
	* docs/html/ext/pb_assoc/design.html: New.
	* docs/html/ext/pb_assoc/different_underlying_dss.jpg: New.
	* docs/html/ext/pb_assoc/direct_mask_range_hashing.html: New.
	* docs/html/ext/pb_assoc/direct_mod_range_hashing.html: New.
	* docs/html/ext/pb_assoc/disclaimer.html: New.
	* docs/html/ext/pb_assoc/ds_gen.html: New.
	* docs/html/ext/pb_assoc/ds_tag_cd.jpg: New.
	* docs/html/ext/pb_assoc/ds_traits.html: New.
	* docs/html/ext/pb_assoc/embedded_lists_1.jpg: New.
	* docs/html/ext/pb_assoc/embedded_lists_2.jpg: New.
	* docs/html/ext/pb_assoc/examples.html: New.
	* docs/html/ext/pb_assoc/exception_guarantees_specifics.html: New.
	* docs/html/ext/pb_assoc/find_invalidation_guarantee.html: New.
	* docs/html/ext/pb_assoc/find_iterators_cd.jpg: New.
	* docs/html/ext/pb_assoc/find_iterators_range_ops_1.jpg: New.
	* docs/html/ext/pb_assoc/find_iterators_range_ops_2.jpg: New.
	* docs/html/ext/pb_assoc/generics.html: New.
	* docs/html/ext/pb_assoc/gp_hash_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/gp_hash_ds_tag.html: New.
	* docs/html/ext/pb_assoc/gp_hash_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/hash_and_probe_general.html: New.
	* docs/html/ext/pb_assoc/hash_based_containers.html: New.
	* docs/html/ext/pb_assoc/hash_cd.jpg: New.
	* docs/html/ext/pb_assoc/hash_exponential_size_policy.html: New.
	* docs/html/ext/pb_assoc/hash_fn.html: New.
	* docs/html/ext/pb_assoc/hash_load_check_resize_trigger.html: New.
	* docs/html/ext/pb_assoc/hash_policies.html: New.
	* docs/html/ext/pb_assoc/hash_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/hash_prime_size_policy.html: New.
	* docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram.jpg: New.
	* docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram2.jpg: New.
	* docs/html/ext/pb_assoc/hash_ranged_hash_range_hashing_fns.jpg: New.
	* docs/html/ext/pb_assoc/hash_standard_resize_policy.html: New.
	* docs/html/ext/pb_assoc/home.html: New.
	* docs/html/ext/pb_assoc/index.html: New.
	* docs/html/ext/pb_assoc/insert_resize_sequence_diagram1.jpg: New.
	* docs/html/ext/pb_assoc/insert_resize_sequence_diagram2.jpg: New.
	* docs/html/ext/pb_assoc/insert_resize_sequence_diagram3.jpg: New.
	* docs/html/ext/pb_assoc/insert_type_methods.html: New.
	* docs/html/ext/pb_assoc/interface.html: New.
	* docs/html/ext/pb_assoc/interval_node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/introduction.html: New.
	* docs/html/ext/pb_assoc/invalidation_guarantee_cd.jpg: New.
	* docs/html/ext/pb_assoc/invalidation_guarantee_erase.jpg: New.
	* docs/html/ext/pb_assoc/lib_download.html: New.
	* docs/html/ext/pb_assoc/linear_probe_fn.html: New.
	* docs/html/ext/pb_assoc/list_updates.html: New.
	* docs/html/ext/pb_assoc/lu_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/lu_based_containers.html: New.
	* docs/html/ext/pb_assoc/lu_cd.jpg: New.
	* docs/html/ext/pb_assoc/lu_ds_tag.html: New.
	* docs/html/ext/pb_assoc/lu_ops.jpg: New.
	* docs/html/ext/pb_assoc/mmap_value_utils.html: New.
	* docs/html/ext/pb_assoc/motivation.html: New.
	* docs/html/ext/pb_assoc/move_to_front_update_metadata.html: New.
	* docs/html/ext/pb_assoc/move_to_front_update_policy.html: New.
	* docs/html/ext/pb_assoc/ms_cd.jpg: New.
	* docs/html/ext/pb_assoc/ms_gen.html: New.
	* docs/html/ext/pb_assoc/ms_tag_cd.jpg: New.
	* docs/html/ext/pb_assoc/ms_traits.html: New.
	* docs/html/ext/pb_assoc/node_invariant_invalidations.jpg: New.
	* docs/html/ext/pb_assoc/node_invariants.html: New.
	* docs/html/ext/pb_assoc/node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/non_unique_mapping.html: New.
	* docs/html/ext/pb_assoc/non_unique_mapping_containers.jpg: New.
	* docs/html/ext/pb_assoc/null_data_type.html: New.
	* docs/html/ext/pb_assoc/null_hash_fn.html: New.
	* docs/html/ext/pb_assoc/null_probe_fn.html: New.
	* docs/html/ext/pb_assoc/order_by_key.html: New.
	* docs/html/ext/pb_assoc/order_statistics_key.html: New.
	* docs/html/ext/pb_assoc/order_statistics_key_cmp.html: New.
	* docs/html/ext/pb_assoc/order_statistics_node_updator.html: New.
	* docs/html/ext/pb_assoc/ov_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/overview.html: New.
	* docs/html/ext/pb_assoc/pb_assoc_ex.html: New.
	* docs/html/ext/pb_assoc/portability.html: New.
	* docs/html/ext/pb_assoc/quadratic_probe_fn.html: New.
	* docs/html/ext/pb_assoc/range_invalidation_guarantee.html: New.
	* docs/html/ext/pb_assoc/rank_node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/rationale_null_node_updator.jpg: New.
	* docs/html/ext/pb_assoc/rb_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/reference_iterator.jpg: New.
	* docs/html/ext/pb_assoc/references.html: New.
	* docs/html/ext/pb_assoc/regression_tests.html: New.
	* docs/html/ext/pb_assoc/resize_general.html: New.
	* docs/html/ext/pb_assoc/resize_policies.html: New.
	* docs/html/ext/pb_assoc/resize_policy_cd.jpg: New.
	* docs/html/ext/pb_assoc/restoring_node_invariants.jpg: New.
	* docs/html/ext/pb_assoc/sample_node_updator.hpp: New.
	* docs/html/ext/pb_assoc/sample_probe_fn.hpp: New.
	* docs/html/ext/pb_assoc/sample_probe_fn.html: New.
	* docs/html/ext/pb_assoc/sample_range_hashing.hpp: New.
	* docs/html/ext/pb_assoc/sample_range_hashing.html: New.
	* docs/html/ext/pb_assoc/sample_ranged_hash_fn.hpp: New.
	* docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: New.
	* docs/html/ext/pb_assoc/sample_ranged_probe_fn.hpp: New.
	* docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: New.
	* docs/html/ext/pb_assoc/sample_resize_policy.hpp: New.
	* docs/html/ext/pb_assoc/sample_resize_policy.html: New.
	* docs/html/ext/pb_assoc/sample_resize_trigger.hpp: New.
	* docs/html/ext/pb_assoc/sample_size_policy.hpp: New.
	* docs/html/ext/pb_assoc/sample_update_policy.hpp: New.
	* docs/html/ext/pb_assoc/size_policies_general.html: New.
	* docs/html/ext/pb_assoc/splay_tree_ds_tag.html: New.
	* docs/html/ext/pb_assoc/timing_tests.html: New.
	* docs/html/ext/pb_assoc/toc.html: New.
	* docs/html/ext/pb_assoc/tree_assoc_cntnr.html: New.
	* docs/html/ext/pb_assoc/
	  tree_assoc_cntnr_const_node_iterator.html: New.
	* docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: New.
	* docs/html/ext/pb_assoc/tree_based_containers.html: New.
	* docs/html/ext/pb_assoc/tree_cd.jpg: New.
	* docs/html/ext/pb_assoc/trigger_policies_general.html: New.
	* docs/html/ext/pb_assoc/tutorial.html: New.
	* docs/html/ext/pb_assoc/update_seq_diagram.jpg: New.
	* include/Makefile.am: Add assoc_srcdir, assoc_builddir, assoc_subdir,
	assoc_headers.
	* include/Makefile.in: Regenerate.
	* include/ext/typelist.h: New.
	* include/ext/pb_assoc/assoc_cntnr.hpp: New.
	* include/ext/pb_assoc/data_type.hpp: New.
	* include/ext/pb_assoc/ds_trait.hpp: New.
	* include/ext/pb_assoc/exception.hpp: New.
	* include/ext/pb_assoc/hash_policy.hpp: New.
	* include/ext/pb_assoc/lu_policy.hpp: New.
	* include/ext/pb_assoc/ms_trait.hpp: New.
	* include/ext/pb_assoc/tree_policy.hpp: New.
	* include/ext/pb_assoc/trivial_iterator_def.hpp: New.
	* include/ext/pb_assoc/detail/assoc_cntnr_base.hpp: New.
	* include/ext/pb_assoc/detail/cond_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ds_trait_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_types_traits.hpp: New.
	* include/ext/pb_assoc/detail/map_debug_base.hpp: New.
	* include/ext/pb_assoc/detail/mapping_level_imp.hpp: New.
	* include/ext/pb_assoc/detail/ms_category_imp.hpp: New.
	* include/ext/pb_assoc/detail/ms_trait_imp.hpp: New.
	* include/ext/pb_assoc/detail/order_statistics_imp.hpp: New.
	* include/ext/pb_assoc/detail/standard_policies.hpp: New.
	* include/ext/pb_assoc/detail/standard_sizes.hpp: New.
	* include/ext/pb_assoc/detail/type_utils.hpp: New.
	* include/ext/pb_assoc/detail/typelist.hpp: New.
	* include/ext/pb_assoc/detail/types_traits.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
     	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  d_find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  d_insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_assoc_cntnr/
	  iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
	  resize_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  node_iteration_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  r_erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  r_range_iteration_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  range_iteration_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
	  split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  bin_search_tree_.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  cond_dtor_entry_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  cond_key_dtor_entry_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  r_erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/bin_search_tree_/
	  split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  cond_key_dtor_entry_dealtor.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  constructor_destructor_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  constructor_destructor_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  debug_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  debug_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  erase_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  erase_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  find_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  find_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  insert_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  insert_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  resize_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/
	  resize_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp: New.
	* include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp: New.
	* include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp: New.
	* include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  constructor_destructor_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  constructor_destructor_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  debug_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  debug_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  erase_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  erase_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  find_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  find_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
  	  insert_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  insert_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  resize_no_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/gp_ht_map_/
	  resize_store_hash_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/
	  direct_mask_range_hashing_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/
	  direct_mod_range_hashing_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/
	  mask_based_range_hashing.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp: New.
	* include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp: New.
	* include/ext/pb_assoc/detail/lu_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_assoc_cntnr/
	  policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp: New.
	* include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/lu_policy/
  	  counter_lu_metadata_imp.hpp: New.
	* include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp: New.
	* include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/node.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp: New.
	* include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  cc_hash_max_collision_resize_trigger_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_exponential_size_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_load_check_resize_trigger_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_prime_size_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  hash_standard_resize_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/
	  ht_prime_size_policy_imp.hpp: New.
	* include/ext/pb_assoc/detail/resize_policy/size_base.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/
	  constructors_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/node.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp: New.
	* include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/tree_assoc_cntnr/
	  constructor_destructor_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/tree_policy/
	  null_node_updator_imp.hpp: New.
	* include/ext/pb_assoc/detail/tree_policy/
	  order_statistics_imp.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_append.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_apply.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_contains.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_filter.hpp: New.
	* include/ext/pb_assoc/detail/typelist/typelist_transform.hpp: New.
	* include/ext/pb_assoc/detail/typelist/
	  typelist_typelist_append.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/
	  const_find_iterator.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/
	  const_iterator.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/
	  find_iterator.hpp: New.
	* include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	  constructor_destructor_and_related.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	  erase_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	  erase_if_pred.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	insert_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	invalidation_guarantee_selector.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	it_value_type_traits.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	iterator_fn_imps.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	value_type_adapter.hpp: New.
	* include/ext/pb_assoc/detail/value_type_adapter/
	value_type_traits.hpp: New.
	* testsuite/Makefile.am (CLEANFILES): Add .o, .dat, .cc.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/testsuite_common_types.h: New.
	* testsuite/testsuite_visualization.h: New.
	* testsuite/ext/pb_assoc/example/basic_map.cc: New.
	* testsuite/ext/pb_assoc/example/basic_multimap.cc: New.
	* testsuite/ext/pb_assoc/example/basic_set.cc: New.
	* testsuite/ext/pb_assoc/example/ds_traits.cc: New.
	* testsuite/ext/pb_assoc/example/erase_if.cc: New.
	* testsuite/ext/pb_assoc/example/extract_key.cc: New.
	* testsuite/ext/pb_assoc/example/hash_find_neg.cc: New.
	* testsuite/ext/pb_assoc/example/hash_illegal_resize.cc: New.
	* testsuite/ext/pb_assoc/example/hash_initial_size.cc: New.
	* testsuite/ext/pb_assoc/example/hash_load_set_change.cc: New.
	* testsuite/ext/pb_assoc/example/hash_mod.cc: New.
	* testsuite/ext/pb_assoc/example/hash_resize.cc: New.
	* testsuite/ext/pb_assoc/example/hash_resize_neg.cc: New.
	* testsuite/ext/pb_assoc/example/hash_shift_mask.cc: New.
	* testsuite/ext/pb_assoc/example/mapping_level.cc: New.
	* testsuite/ext/pb_assoc/example/mapping_level_neg.cc: New.
	* testsuite/ext/pb_assoc/example/ms_traits.cc: New.
	* testsuite/ext/pb_assoc/example/ranged_hash.cc: New.
	* testsuite/ext/pb_assoc/example/store_hash.cc: New.
	* testsuite/ext/pb_assoc/example/tree_intervals.cc: New.
	* testsuite/ext/pb_assoc/example/tree_join.cc: New.
	* testsuite/ext/pb_assoc/example/tree_order_statistics.cc: New.
	* testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc: New.
	* testsuite/ext/pb_assoc/example/tree_split.cc: New.
	* testsuite/performance/20_util/allocator/(insert.cc,
	  insert_insert.cc, list_sort_search.cc, map_mt_find.cc, map_thread.cc,
	  producer_consumer.cc): Recast to use typelists and move to...
	* testsuite/performance/23_containers/find/map.cc: New.
	* testsuite/performance/23_containers/index/map.cc: New.
	* testsuite/performance/23_containers/insert/associative.cc: New.
	* testsuite/performance/23_containers/insert/sequence.cc: New.
	* testsuite/performance/23_containers/insert_erase/associative.cc: New.
	* testsuite/performance/23_containers/producer_consumer/
	(associative.cc, sequence.cc): New.
	* testsuite/performance/23_containers/sort_search/list.cc: New.
	* testsuite/performance/23_containers/container_benchmark.cc: Remove.
	* testsuite/performance/23_containers/map_create_fill.cc: Move...
	* testsuite/performance/23_containers/create/map.cc: ...here.
	* testsuite/performance/23_containers/set_create_from_sorted.cc: Move.
	* testsuite/performance/23_containers/create_from_sorted/set.cc: here.
	* testsuite/performance/23_containers/list_create_fill_sort.cc: Move...
	* testsuite/performance/23_containers/create_sort/list.cc: ...here.
	* testsuite/performance/23_containers/set_insert_from_sorted.cc: Move.
	* testsuite/performance/23_containers/insert_from_sorted/set.cc: here.

Co-Authored-By: Ami Tavory <pbassoc@gmail.com>

From-SVN: r101354
2005-06-27 15:33:38 +00:00