1c3d31fe1Smrg2004-12-31  Paolo Carlini  <pcarlini@suse.de>
2c3d31fe1Smrg
3c3d31fe1Smrg	* include/tr1/type_traits (is_member_function_pointer): Provide a
4c3d31fe1Smrg	workaround for c++/19076, correct for functions with up to 15
5c3d31fe1Smrg	arguments.
6c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
7c3d31fe1Smrg	is_member_pointer/is_member_pointer.cc: Uncomment "XFAILed" tests;
8c3d31fe1Smrg	add a test for variadic functions.
9c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
10c3d31fe1Smrg	is_scalar/is_scalar.cc: Uncomment "XFAILed" tests.
11c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
12c3d31fe1Smrg	is_enum/is_enum.cc: Likewise.
13c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
14c3d31fe1Smrg	is_member_function_pointer/is_member_function_pointer.cc: Likewise;
15c3d31fe1Smrg	add a test for variadic functions.
16c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
17c3d31fe1Smrg	is_member_object_pointer/is_member_object_pointer.cc: Likewise.
18c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
19c3d31fe1Smrg	has_nothrow_assign/has_nothrow_assign.cc: Uncomment "XFAILed" tests.
20c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
21c3d31fe1Smrg	has_nothrow_constructor/has_nothrow_constructor.cc: Likewise.
22c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
23c3d31fe1Smrg	has_nothrow_copy/has_nothrow_copy.cc: Likewise.
24c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
25c3d31fe1Smrg	has_trivial_assign/has_trivial_assign.cc: Likewise.
26c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
27c3d31fe1Smrg	has_trivial_constructor/has_trivial_constructor.cc: Likewise.
28c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
29c3d31fe1Smrg	has_trivial_copy/has_trivial_copy.cc: Likewise.
30c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
31c3d31fe1Smrg	has_trivial_destructor/has_trivial_destructor.cc: Likewise.
32c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
33c3d31fe1Smrg	is_pod/is_pod.cc: Likewise.
34c3d31fe1Smrg
35c3d31fe1Smrg2004-12-30  Paolo Carlini  <pcarlini@suse.de>
36c3d31fe1Smrg
37c3d31fe1Smrg	* include/tr1/type_traits: Add has_trivial_copy, has_trivial_assign,
38c3d31fe1Smrg	has_nothrow_copy, has_nothrow_assign.
39c3d31fe1Smrg	* testsuite/testsuite_tr1.h: Add test_copy_property and
40c3d31fe1Smrg	test_assign_property.
41c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
42c3d31fe1Smrg	has_nothrow_assign/has_nothrow_assign.cc: New.
43c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
44c3d31fe1Smrg	has_nothrow_assign/typedefs.cc: Likewise.
45c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
46c3d31fe1Smrg	has_nothrow_copy/has_nothrow_copy.cc: Likewise.
47c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
48c3d31fe1Smrg	has_nothrow_copy/typedefs.cc: Likewise.
49c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
50c3d31fe1Smrg	has_trivial_assign/has_trivial_assign.cc: Likewise.
51c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
52c3d31fe1Smrg	has_trivial_assign/typedefs.cc: Likewise.
53c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
54c3d31fe1Smrg	has_trivial_copy/has_trivial_copy.cc: Likewise.
55c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
56c3d31fe1Smrg	has_trivial_copy/typedefs.cc: Likewise.
57c3d31fe1Smrg
58c3d31fe1Smrg2004-12-29  Jonathan Wakely  <redi@gcc.gnu.org>
59c3d31fe1Smrg
60c3d31fe1Smrg	* include/bits/vector.tcc (erase(iterator, iterator),
61c3d31fe1Smrg	operator=, _M_assign_aux(_ForwardIterator, _ForwardIterator,
62c3d31fe1Smrg	forward_iterator_tag)): Qualify all calls to std::copy().
63c3d31fe1Smrg
64c3d31fe1Smrg2004-12-29  Paolo Carlini  <pcarlini@suse.de>
65c3d31fe1Smrg
66c3d31fe1Smrg	Minimal fixes for -fno-exceptions.
67c3d31fe1Smrg	* src/bitmap_allocator.cc (free_list::_M_get): Use
68c3d31fe1Smrg	__throw_exception_again, instead of plain throw.
69c3d31fe1Smrg	* testsuite/testsuite_abi.cc (get_symbol, examine_symbol,
70c3d31fe1Smrg	create_symbols): Likewise.
71c3d31fe1Smrg	* testsuite/testsuite_hooks.cc (verify_demangle,
72c3d31fe1Smrg	run_tests_wrapped_locale, run_tests_wrapped_env): Likewise.
73c3d31fe1Smrg	(try_named_locale): Wrap the whole catch in __EXCEPTIONS.
74c3d31fe1Smrg
75c3d31fe1Smrg2004-12-29  Paolo Carlini  <pcarlini@suse.de>
76c3d31fe1Smrg
77c3d31fe1Smrg	* include/tr1/type_traits: Add has_nothrow_constructor.
78c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
79c3d31fe1Smrg	has_nothrow_constructor/has_nothrow_constructor.cc: New.
80c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
81c3d31fe1Smrg	has_nothrow_constructor/typedefs.cc: Likewise.
82c3d31fe1Smrg
83c3d31fe1Smrg2004-12-28  David Edelsohn  <edelsohn@gnu.org>
84c3d31fe1Smrg
85c3d31fe1Smrg	* configure.host (aix4*|aix5*): Add atomic_word_dir.
86c3d31fe1Smrg	* config/os/aix/atomic_word.h: New file.
87c3d31fe1Smrg
88c3d31fe1Smrg2004-12-27  Jason Merrill  <jason@redhat.com>
89c3d31fe1Smrg
90c3d31fe1Smrg	Add memory barriers to the double-checked locking used for static
91c3d31fe1Smrg	initialization.
92c3d31fe1Smrg	* libsupc++/guard.cc (__test_and_acquire): Define default.
93c3d31fe1Smrg	(_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release)
94c3d31fe1Smrg	(_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise.
95c3d31fe1Smrg	(recursion_push, recursion_pop): New abstraction functions.
96c3d31fe1Smrg	(__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE.
97c3d31fe1Smrg	(__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE.
98c3d31fe1Smrg	* config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename
99c3d31fe1Smrg	from _GLIBCXX_GUARD_ACQUIRE and reverse sense.
100c3d31fe1Smrg	(_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE.
101c3d31fe1Smrg	* config/cpu/arm/cxxabi_tweaks.h: Likewise.
102c3d31fe1Smrg	* config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER)
103c3d31fe1Smrg	(_GLIBCXX_WRITE_MEM_BARRIER): Define.
104c3d31fe1Smrg	* config/cpu/powerpc/atomic_word.h: Likewise.
105c3d31fe1Smrg	* config/cpu/sparc/atomic_word.h: Likewise.
106c3d31fe1Smrg	* config/cpu/generic/atomic_word.h: Define them, commented out.
107c3d31fe1Smrg	* include/bits/atomicity.h: Define defaults.
108c3d31fe1Smrg	* config/cpu/ia64/atomic_word.h (__test_and_acquire)
109c3d31fe1Smrg	(__set_and_release): New inlines.
110c3d31fe1Smrg	(_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define.
111c3d31fe1Smrg	(_GLIBCXX_GUARD_SET_AND_RELEASE): Define.
112c3d31fe1Smrg
113c3d31fe1Smrg	* libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of
114c3d31fe1Smrg	abort();
115c3d31fe1Smrg
116c3d31fe1Smrg2004-12-27  Paolo Carlini  <pcarlini@suse.de>
117c3d31fe1Smrg
118c3d31fe1Smrg	* include/tr1/type_traits: Rework the _DEFINE_SPEC* macros.
119c3d31fe1Smrg
120c3d31fe1Smrg2004-12-26  Paolo Carlini  <pcarlini@suse.de>
121c3d31fe1Smrg
122c3d31fe1Smrg	* include/tr1/type_traits (__is_enum_helper): Slightly simplify,
123c3d31fe1Smrg	make __convert non template.
124c3d31fe1Smrg
125c3d31fe1Smrg2004-12-26  Paolo Carlini  <pcarlini@suse.de>
126c3d31fe1Smrg
127c3d31fe1Smrg	* include/tr1/type_traits: Implement is_pod, has_trivial_constructor,
128c3d31fe1Smrg	and has_trivial_destructor.
129c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
130c3d31fe1Smrg	has_trivial_constructor/has_trivial_constructor.cc: New.
131c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
132c3d31fe1Smrg	has_trivial_constructor/typedefs.cc: Likewise.
133c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
134c3d31fe1Smrg	has_trivial_destructor/has_trivial_destructor.cc: Likewise.
135c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
136c3d31fe1Smrg	has_trivial_destructor/typedefs.cc: Likewise.
137c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
138c3d31fe1Smrg	is_pod/is_pod.cc: Likewise.
139c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
140c3d31fe1Smrg	is_pod/typedefs.cc: Likewise.
141c3d31fe1Smrg
142c3d31fe1Smrg2004-12-25  Paolo Carlini  <pcarlini@suse.de>
143c3d31fe1Smrg
144c3d31fe1Smrg	* include/tr1/type_traits (is_enum): Minor tweak.
145c3d31fe1Smrg
146c3d31fe1Smrg2004-12-25  Paolo Carlini  <pcarlini@suse.de>
147c3d31fe1Smrg
148c3d31fe1Smrg	* include/tr1/type_traits: Implement is_enum (usual caveats about
149c3d31fe1Smrg	the nasty consequences of c++/19076...).
150c3d31fe1Smrg	* testsuite/testsuite_tr1.h: Add ConvType.
151c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
152c3d31fe1Smrg	is_scalar/is_scalar.cc: New.
153c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
154c3d31fe1Smrg	is_scalar/typedefs.cc: Likewise.
155c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
156c3d31fe1Smrg	is_enum/is_enum.cc: Likewise.
157c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
158c3d31fe1Smrg	is_enum/typedefs.cc: Likewise.
159c3d31fe1Smrg
160c3d31fe1Smrg2004-12-24  Paolo Carlini  <pcarlini@suse.de>
161c3d31fe1Smrg
162c3d31fe1Smrg	* include/tr1/type_traits: Add missing undef.
163c3d31fe1Smrg
164c3d31fe1Smrg2004-12-24  Paolo Carlini  <pcarlini@suse.de>
165c3d31fe1Smrg
166c3d31fe1Smrg	* include/tr1/type_traits: Implement is_member_object_pointer,
167c3d31fe1Smrg	is_member_function_pointer. N.B. Due to c++/19076, the latter
168c3d31fe1Smrg	doesn't really work at the moment (a rather ugly work around
169c3d31fe1Smrg	will be provided in case the front-end bug doesn't get fixed
170c3d31fe1Smrg	soon); generalize and extend the _DEFINE_SPEC macros.
171c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
172c3d31fe1Smrg	is_member_pointer/is_member_pointer.cc: New.
173c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
174c3d31fe1Smrg	is_member_pointer/typedefs.cc: Likewise.
175c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
176c3d31fe1Smrg	is_member_function_pointer/is_member_function_pointer.cc: Likewise.
177c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
178c3d31fe1Smrg	is_member_function_pointer/typedefs.cc: Likewise.
179c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
180c3d31fe1Smrg	is_member_object_pointer/is_member_object_pointer.cc: Likewise.
181c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
182c3d31fe1Smrg	is_member_object_pointer/typedefs.cc: Likewise.
183c3d31fe1Smrg
184c3d31fe1Smrg2004-12-22  Paolo Carlini  <pcarlini@suse.de>
185c3d31fe1Smrg
186c3d31fe1Smrg	* include/tr1/type_traits_fwd.h: New, forward declarations.
187c3d31fe1Smrg	* include/tr1/type_traits: Clean-up.
188c3d31fe1Smrg	* include/Makefile.am: Add.
189c3d31fe1Smrg	* include/Makefile.in: Regenerate.
190c3d31fe1Smrg
191c3d31fe1Smrg2004-12-20  Paolo Carlini  <pcarlini@suse.de>
192c3d31fe1Smrg
193c3d31fe1Smrg	* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: New.
194c3d31fe1Smrg	* testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
195c3d31fe1Smrg	* testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
196c3d31fe1Smrg	* testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
197c3d31fe1Smrg	* testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
198c3d31fe1Smrg	* testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
199c3d31fe1Smrg	* testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
200c3d31fe1Smrg	* testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
201c3d31fe1Smrg	* testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
202c3d31fe1Smrg	* testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
203c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
204c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
205c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
206c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/wchar_t/
207c3d31fe1Smrg	exceptions_badbit_throw.cc: Likewise.
208c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
209c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
210c3d31fe1Smrg	* testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
211c3d31fe1Smrg	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
212c3d31fe1Smrg	* testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
213c3d31fe1Smrg	* testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
214c3d31fe1Smrg	* testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
215c3d31fe1Smrg	* testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
216c3d31fe1Smrg	* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
217c3d31fe1Smrg	* testsuite/27_io/basic_istream/tellg/wchar_t/
218c3d31fe1Smrg	exceptions_badbit_throw.cc: Likewise.
219c3d31fe1Smrg	* testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
220c3d31fe1Smrg	* testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
221c3d31fe1Smrg	* testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
222c3d31fe1Smrg
223c3d31fe1Smrg	* testsuite/data/wistream_extractor_other-1.tst: New.
224c3d31fe1Smrg	* testsuite/data/wistream_extractor_other-1.txt: Likewise.
225c3d31fe1Smrg	* testsuite/data/wistream_extractor_other-2.tst: Likewise.
226c3d31fe1Smrg	* testsuite/data/wistream_seeks-1.tst: Likewise.
227c3d31fe1Smrg	* testsuite/data/wistream_seeks-1.txt: Likewise.
228c3d31fe1Smrg	* testsuite/data/wistream_unformatted-1.tst: Likewise.
229c3d31fe1Smrg	* testsuite/data/wistream_unformatted-1.txt: Likewise.
230c3d31fe1Smrg
231c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc:
232c3d31fe1Smrg	Use wistream_extractor_other-1.txt.
233c3d31fe1Smrg
234c3d31fe1Smrg	* testsuite/27_io/basic_istream/peek/char/6414.cc: Minor clean-up.
235c3d31fe1Smrg	* testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
236c3d31fe1Smrg	* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
237c3d31fe1Smrg	* testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
238c3d31fe1Smrg
239c3d31fe1Smrg2004-12-19  Paolo Carlini  <pcarlini@suse.de>
240c3d31fe1Smrg
241c3d31fe1Smrg	* testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: New.
242c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
243c3d31fe1Smrg	01.cc: Likewise.
244c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
245c3d31fe1Smrg	02.cc: Likewise.
246c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
247c3d31fe1Smrg	03.cc: Likewise.
248c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
249c3d31fe1Smrg	06.cc: Likewise.
250c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
251c3d31fe1Smrg	07.cc: Likewise.
252c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
253c3d31fe1Smrg	08.cc: Likewise.
254c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
255c3d31fe1Smrg	09.cc: Likewise.
256c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
257c3d31fe1Smrg	10.cc: Likewise.
258c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
259c3d31fe1Smrg	11.cc: Likewise.
260c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
261c3d31fe1Smrg	12.cc: Likewise.
262c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
263c3d31fe1Smrg	13.cc: Likewise.
264c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
265c3d31fe1Smrg	9555-ia.cc: Likewise.
266c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
267c3d31fe1Smrg	exceptions_badbit_throw.cc: Likewise.
268c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
269c3d31fe1Smrg	exceptions_failbit.cc: Likewise.
270c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
271c3d31fe1Smrg	exceptions_failbit_throw.cc: Likewise.
272c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_character/wchar_t/
273c3d31fe1Smrg	1.cc: Likewise.
274c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_character/wchar_t/
275c3d31fe1Smrg	11095-i.cc: Likewise.
276c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_character/wchar_t/
277c3d31fe1Smrg	2.cc: Likewise.
278c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_character/wchar_t/
279c3d31fe1Smrg	3.cc: Likewise.
280c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_character/wchar_t/
281c3d31fe1Smrg	9555-ic.cc: Likewise.
282c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
283c3d31fe1Smrg	1.cc: Likewise.
284c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
285c3d31fe1Smrg	2.cc: Likewise.
286c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
287c3d31fe1Smrg	3.cc: Likewise.
288c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
289c3d31fe1Smrg	9318-in.cc: Likewise.
290c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
291c3d31fe1Smrg	9424-in.cc: Likewise.
292c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
293c3d31fe1Smrg	9555-io.cc: Likewise.
294c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
295c3d31fe1Smrg	error_failbit.cc: Likewise.
296c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
297c3d31fe1Smrg	exceptions_badbit_throw.cc: Likewise.
298c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
299c3d31fe1Smrg	exceptions_failbit_throw.cc: Likewise.
300c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
301c3d31fe1Smrg	exceptions_null.cc: Likewise.
302c3d31fe1Smrg
303c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/char/2.cc: Minor
304c3d31fe1Smrg	tweaks.
305c3d31fe1Smrg
306c3d31fe1Smrg	* testsuite/testsuite_io.h (struct fail_buf): Fix type of
307c3d31fe1Smrg	dummy return values.
308c3d31fe1Smrg
309c3d31fe1Smrg2004-12-19  Dhruv Matani  <dhruvbird@gmx.net>
310c3d31fe1Smrg
311c3d31fe1Smrg	* include/ext/bitmap_allocator.h: Make doxygen style comments for
312c3d31fe1Smrg	internal functions and classes.
313c3d31fe1Smrg
314c3d31fe1Smrg2004-12-19  Dhruv Matani  <dhruvbird@gmx.net>
315c3d31fe1Smrg
316c3d31fe1Smrg	* docs/html/20_util/allocator.html: Correct link.
317c3d31fe1Smrg	* docs/html/ext/ballocator_doc.txt: Remove.
318c3d31fe1Smrg	* docs/html/ext/ballocator_doc.html: Add.
319c3d31fe1Smrg
320c3d31fe1Smrg2004-12-16  Danny Smith  <dannysmith@users.sourceforge.net>
321c3d31fe1Smrg
322c3d31fe1Smrg	PR target/18997
323c3d31fe1Smrg	* config/os/newlib/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK):
324c3d31fe1Smrg	Define to 0 for __CYGWIN__.
325c3d31fe1Smrg
326c3d31fe1Smrg2004-12-16  Paolo Carlini  <pcarlini@suse.de>
327c3d31fe1Smrg
328c3d31fe1Smrg	* include/tr1/type_traits: Implement add_const, add_volatile,
329c3d31fe1Smrg	and add_cv.
330c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
331c3d31fe1Smrg	add_const.cc: New.
332c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
333c3d31fe1Smrg	add_cv.cc: Likewise.
334c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
335c3d31fe1Smrg	add_volatile.cc: Likewise.
336c3d31fe1Smrg
337c3d31fe1Smrg2004-12-16  Paolo Carlini  <pcarlini@suse.de>
338c3d31fe1Smrg
339c3d31fe1Smrg	* include/tr1/type_traits: Implement is_function.
340c3d31fe1Smrg	(struct __sfinae_types, struct __is_function_helper): New.
341c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
342c3d31fe1Smrg	is_object/is_object.cc: New.
343c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
344c3d31fe1Smrg	is_object/typedefs.cc: Likewise.
345c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
346c3d31fe1Smrg	is_function/is_function.cc: Likewise.
347c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
348c3d31fe1Smrg	is_function/typedefs.cc: Likewise.
349c3d31fe1Smrg
350c3d31fe1Smrg2004-12-13  Paolo Carlini  <pcarlini@suse.de>
351c3d31fe1Smrg
352c3d31fe1Smrg	* include/tr1/type_traits (extent): Minor tweak (i.e., public).
353c3d31fe1Smrg
354c3d31fe1Smrg2004-12-12  Paolo Carlini  <pcarlini@suse.de>
355c3d31fe1Smrg
356c3d31fe1Smrg	* include/tr1/type_traits: Minor tweak.
357c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/extent/
358c3d31fe1Smrg	typedefs.cc: Fix date.
359c3d31fe1Smrg
360c3d31fe1Smrg2004-12-12  Paolo Carlini  <pcarlini@suse.de>
361c3d31fe1Smrg
362c3d31fe1Smrg	* include/tr1/type_traits: Implement extent.
363c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/extent/
364c3d31fe1Smrg	extent.cc: New.
365c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/extent/
366c3d31fe1Smrg	typedefs.cc: Likewise.
367c3d31fe1Smrg
368c3d31fe1Smrg2004-12-12  Paolo Carlini  <pcarlini@suse.de>
369c3d31fe1Smrg
370c3d31fe1Smrg	* include/tr1/type_traits: Implement is_pointer, remove_pointer,
371c3d31fe1Smrg	and add_pointer; reformat.
372c3d31fe1Smrg	(_DEFINE_PRIMARY_SPEC_HELPER, _DEFINE_PRIMARY_SPEC): Generalize
373c3d31fe1Smrg	and rename to _DEFINE_SPEC_HELPER and _DEFINE_SPEC; update uses.
374c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/pointer_modifications/
375c3d31fe1Smrg	add_pointer.cc: New.
376c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/pointer_modifications/
377c3d31fe1Smrg	remove_pointer.cc: Likewise.
378c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
379c3d31fe1Smrg	is_pointer/is_pointer.cc: Likewise.
380c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
381c3d31fe1Smrg	is_pointer/typedefs.cc: Likewise.
382c3d31fe1Smrg
383c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
384c3d31fe1Smrg	is_reference/is_reference.cc: Slightly tweak consistently.
385c3d31fe1Smrg
386c3d31fe1Smrg2004-12-11  Paolo Carlini  <pcarlini@suse.de>
387c3d31fe1Smrg
388c3d31fe1Smrg	* include/tr1/type_traits: Implement rank.
389c3d31fe1Smrg	* testsuite/testsuite_tr1.h (test_property): Generalize to any
390c3d31fe1Smrg	value_type.
391c3d31fe1Smrg	(test_category, test_relationship): Slightly tweak consistently.
392c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/rank/
393c3d31fe1Smrg	rank.cc: New.
394c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/rank/
395c3d31fe1Smrg	typedefs.cc: Likewise.
396c3d31fe1Smrg
397c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
398c3d31fe1Smrg	is_compound/is_compound.cc: New.
399c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
400c3d31fe1Smrg	is_compound/typedefs.cc: Likewise.
401c3d31fe1Smrg
402c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
403c3d31fe1Smrg	is_arithmetic/is_arithmetic.cc: Tweak consistently with the
404c3d31fe1Smrg	testsuite_tr1.h changes.
405c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
406c3d31fe1Smrg	is_fundamental/is_fundamental.cc: Likewise.
407c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
408c3d31fe1Smrg	is_array/is_array.cc: Likewise.
409c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
410c3d31fe1Smrg	is_floating_point/is_floating_point.cc: Likewise.
411c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
412c3d31fe1Smrg	is_integral/is_integral.cc: Likewise.
413c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
414c3d31fe1Smrg	is_reference/is_reference.cc: Likewise.
415c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
416c3d31fe1Smrg	is_void/is_void.cc: Likewise.
417c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/relationships_between_types/
418c3d31fe1Smrg	is_same/is_same.cc: Likewise.
419c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/is_const/
420c3d31fe1Smrg	is_const.cc: Likewise.
421c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
422c3d31fe1Smrg	is_volatile.cc: Likewise.
423c3d31fe1Smrg
424c3d31fe1Smrg2004-12-10  Paolo Carlini  <pcarlini@suse.de>
425c3d31fe1Smrg
426c3d31fe1Smrg	* include/tr1/type_traits: Implement remove_const, remove_volatile,
427c3d31fe1Smrg	and remove_cv.
428c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
429c3d31fe1Smrg	remove_const.cc: New.
430c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
431c3d31fe1Smrg	remove_cv.cc: Likewise.
432c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/const_volatile_modifications/
433c3d31fe1Smrg	remove_volatile.cc: Likewise.
434c3d31fe1Smrg
435c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
436c3d31fe1Smrg	is_array/is_array.cc: Slightly tweak consistently, remove typedefs,
437c3d31fe1Smrg	add a few tests.
438c3d31fe1Smrg
439c3d31fe1Smrg2004-12-09  Paolo Carlini  <pcarlini@suse.de>
440c3d31fe1Smrg
441c3d31fe1Smrg	* include/tr1/type_traits: Implement remove_extent and
442c3d31fe1Smrg	remove_all_extents.
443c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/array_modifications/
444c3d31fe1Smrg	remove_all_extents.cc: New.
445c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/array_modifications/
446c3d31fe1Smrg	remove_extent.cc: Likewise.
447c3d31fe1Smrg
448c3d31fe1Smrg2004-12-08  Paolo Carlini  <pcarlini@suse.de>
449c3d31fe1Smrg
450c3d31fe1Smrg	* include/tr1/type_traits: Implement is_same, add_reference and
451c3d31fe1Smrg	remove_reference.
452c3d31fe1Smrg	* testsuite/testsuite_tr1.h (test_relationship): New.
453c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/reference_modifications/
454c3d31fe1Smrg	add_reference.cc: New.
455c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/reference_modifications/
456c3d31fe1Smrg	remove_reference.cc: Likewise.
457c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/relationships_between_types/
458c3d31fe1Smrg	is_same/is_same.cc: Likewise.
459c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/relationships_between_types/
460c3d31fe1Smrg	is_same/typedefs.cc: Likewise.
461c3d31fe1Smrg
462c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/is_const/
463c3d31fe1Smrg	is_const.cc: Minor tweaks.
464c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
465c3d31fe1Smrg	is_volatile.cc: Likewise.
466c3d31fe1Smrg
467c3d31fe1Smrg2004-12-08  David Edelsohn  <edelsohn@gnu.org>
468c3d31fe1Smrg
469c3d31fe1Smrg	* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
470c3d31fe1Smrg	PICFLAG.
471c3d31fe1Smrg	* Makefile.in: Regenerated.
472c3d31fe1Smrg
473c3d31fe1Smrg2004-12-07  Paolo Carlini  <pcarlini@suse.de>
474c3d31fe1Smrg
475c3d31fe1Smrg	* include/tr1/type_traits: Implement is_const and is_volatile.
476c3d31fe1Smrg	* testsuite/testsuite_tr1.h (test_property): New.
477c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
478c3d31fe1Smrg	is_const/is_const.c: New.
479c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
480c3d31fe1Smrg	is_const/typedefs.cc: Likewise.
481c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
482c3d31fe1Smrg	is_volatile/is_volatile.cc: Likewise.
483c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/type_properties/
484c3d31fe1Smrg	is_volatile/typedefs.cc: Likewise.
485c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
486c3d31fe1Smrg	is_arithmetic/is_arithmetic.cc: Slightly tweak to use ClassType
487c3d31fe1Smrg	from testsuite_tr1.h.
488c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
489c3d31fe1Smrg	is_fundamental/is_fundamental.cc: Likewise.
490c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
491c3d31fe1Smrg	is_array/is_array.cc: Likewise.
492c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
493c3d31fe1Smrg	is_floating_point/is_floating_point.cc: Likewise.
494c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
495c3d31fe1Smrg	is_integral/is_integral.cc: Likewise.
496c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
497c3d31fe1Smrg	is_reference/is_reference.cc: Likewise.
498c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
499c3d31fe1Smrg	is_void/is_void.cc: Likewise.
500c3d31fe1Smrg
501c3d31fe1Smrg2004-12-06  Paolo Carlini  <pcarlini@suse.de>
502c3d31fe1Smrg
503c3d31fe1Smrg	* include/tr1/type_traits: Implement is_reference.
504c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
505c3d31fe1Smrg	is_reference/is_reference.cc: New.
506c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
507c3d31fe1Smrg	is_reference/typedefs.cc: Likewise.
508c3d31fe1Smrg
509c3d31fe1Smrg2004-12-05  Paolo Carlini  <pcarlini@suse.de>
510c3d31fe1Smrg
511c3d31fe1Smrg	PR libstdc++/18837
512c3d31fe1Smrg	* testsuite/testsuite_performance.h: Fix mallinfo macros for
513c3d31fe1Smrg	hpux.
514c3d31fe1Smrg
515c3d31fe1Smrg2004-12-04  Richard Henderson  <rth@redhat.com>
516c3d31fe1Smrg
517c3d31fe1Smrg	* testsuite/26_numerics/complex/pow.cc: Use -mieee on alpha.
518c3d31fe1Smrg
519c3d31fe1Smrg2004-12-04  Richard Henderson  <rth@redhat.com>
520c3d31fe1Smrg
521c3d31fe1Smrg	* include/ext/malloc_allocator.h: Include cstdlib.
522c3d31fe1Smrg
523c3d31fe1Smrg2004-12-04  Paolo Carlini  <pcarlini@suse.de>
524c3d31fe1Smrg
525c3d31fe1Smrg	* include/tr1/type_traits: New.
526c3d31fe1Smrg	* include/Makefile.am: Add.
527c3d31fe1Smrg	* include/Makefile.in: Regenerate.
528c3d31fe1Smrg	* testsuite/testsuite_tr1.h: New.
529c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
530c3d31fe1Smrg	is_arithmetic/is_arithmetic.cc: New.
531c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
532c3d31fe1Smrg	is_arithmetic/typedefs.cc: Likewise.
533c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
534c3d31fe1Smrg	is_fundamental/is_fundamental.cc: Likewise.
535c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/composite_type_traits/
536c3d31fe1Smrg	is_fundamental/typedefs.cc: Likewise.
537c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/helper_classes/
538c3d31fe1Smrg	true_false_type.cc: Likewise.
539c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/helper_classes/
540c3d31fe1Smrg	true_false_type_typedefs.cc: Likewise.
541c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/helper_classes/
542c3d31fe1Smrg	typedefs.cc: Likewise.
543c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
544c3d31fe1Smrg	is_array/is_array.cc: Likewise.
545c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
546c3d31fe1Smrg	is_array/typedefs.cc: Likewise.
547c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
548c3d31fe1Smrg	is_floating_point/is_floating_point.cc: Likewise.
549c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
550c3d31fe1Smrg	is_floating_point/typedefs.cc: Likewise.
551c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
552c3d31fe1Smrg	is_integral/is_integral.cc: Likewise.
553c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
554c3d31fe1Smrg	is_integral/typedefs.cc: Likewise.
555c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
556c3d31fe1Smrg	is_void/is_void.cc: Likewise.
557c3d31fe1Smrg	* testsuite/tr1/4_metaprogramming/primary_type_categories/
558c3d31fe1Smrg	is_void/typedefs.cc: Likewise.
559c3d31fe1Smrg
560c3d31fe1Smrg2004-12-02  Paolo Carlini  <pcarlini@suse.de>
561c3d31fe1Smrg
562c3d31fe1Smrg	* testsuite/testsuite_io.h (class sync_buf): New, templatized
563c3d31fe1Smrg	version of sync_streambuf; add typedefs for streambuf/wstreambuf.
564c3d31fe1Smrg	(class fail_buf): Likewise, for fail_streambuf.
565c3d31fe1Smrg	(class fail_num_get): Templatize and add char/wchar_t typedefs.
566c3d31fe1Smrg	(class fail_num_put): Likewise.
567c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
568c3d31fe1Smrg	exceptions_badbit_throw.cc: Use the latter.
569c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
570c3d31fe1Smrg	exceptions_failbit_throw.cc: Likewise.
571c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
572c3d31fe1Smrg	exceptions_badbit_throw.cc: Likewise.
573c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
574c3d31fe1Smrg	exceptions_failbit_throw.cc: Likewise.
575c3d31fe1Smrg
576c3d31fe1Smrg2004-12-01  Paolo Carlini  <pcarlini@suse.de>
577c3d31fe1Smrg
578c3d31fe1Smrg	* testsuite/27_io/basic_istream/get/wchar_t/1.cc: New.
579c3d31fe1Smrg	* testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
580c3d31fe1Smrg	* testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
581c3d31fe1Smrg	* testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
582c3d31fe1Smrg	* testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
583c3d31fe1Smrg	* testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
584c3d31fe1Smrg	* testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
585c3d31fe1Smrg	* testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
586c3d31fe1Smrg
587c3d31fe1Smrg2004-11-29  Paolo Carlini  <pcarlini@suse.de>
588c3d31fe1Smrg
589c3d31fe1Smrg	* testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
590c3d31fe1Smrg        better names.
591c3d31fe1Smrg	* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Same.
592c3d31fe1Smrg
593c3d31fe1Smrg2004-11-29  Paolo Carlini  <pcarlini@suse.de>
594c3d31fe1Smrg
595c3d31fe1Smrg	PR libstdc++/18654
596c3d31fe1Smrg	* include/bits/basic_string.tcc (_Rep::_S_create): When shrinking,
597c3d31fe1Smrg	do not round to pagesize.
598c3d31fe1Smrg	* testsuite/21_strings/basic_string/capacity/char/18654.cc: New.
599c3d31fe1Smrg	* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: New.
600c3d31fe1Smrg
601c3d31fe1Smrg2004-11-27  Paolo Carlini  <pcarlini@suse.de>
602c3d31fe1Smrg
603c3d31fe1Smrg	PR libstdc++/18690
604c3d31fe1Smrg	* include/tr1/utility (get(pair), get(const pair)): Change
605c3d31fe1Smrg	occurrences of _I to _Int.
606c3d31fe1Smrg
607c3d31fe1Smrg2004-11-27  Paolo Carlini  <pcarlini@suse.de>
608c3d31fe1Smrg
609c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Fix typo.
610c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
611c3d31fe1Smrg
612c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/17038.cc: Use VERIFY.
613c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
614c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
615c3d31fe1Smrg	* testsuite/27_io/basic_ios/exceptions/char/2.cc: Likewise.
616c3d31fe1Smrg
617c3d31fe1Smrg2004-11-26  Paolo Carlini  <pcarlini@suse.de>
618c3d31fe1Smrg
619c3d31fe1Smrg	DR 243. get and getline when sentry reports failure [WP]
620c3d31fe1Smrg	* include/bits/istream.tcc (istream<>::get, istream<>::getline):
621c3d31fe1Smrg	Store a null character only if the array has a non-zero size.
622c3d31fe1Smrg	* src/istream.cc (istream<char>::getline, istream<wchar_t>::getline):
623c3d31fe1Smrg	Likewise.
624c3d31fe1Smrg	* testsuite/27_io/basic_istream/get/char/3.cc: New.
625c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/char/6.cc: New.
626c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/wchar_t/6.cc: New.
627c3d31fe1Smrg	* docs/html/ext/howto.html: Add an entry for DR 243.
628c3d31fe1Smrg
629c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/wchar_t/1.cc: New.
630c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/wchar_t/2.cc: New.
631c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/wchar_t/3.cc: New.
632c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/wchar_t/4.cc: New.
633c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/wchar_t/5.cc: New.
634c3d31fe1Smrg
635c3d31fe1Smrg2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
636c3d31fe1Smrg
637c3d31fe1Smrg	* configure: Regenerate for libtool change.
638c3d31fe1Smrg
639c3d31fe1Smrg2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
640c3d31fe1Smrg
641c3d31fe1Smrg	* Makefile.in, aclocal.m4: Regenerate with automake 1.9.3.
642c3d31fe1Smrg	* include/Makefile.in: Likewise.
643c3d31fe1Smrg	* libmath/Makefile.in: Likewise.
644c3d31fe1Smrg	* libsupc++/Makefile.in: Likewise.
645c3d31fe1Smrg	* po/Makefile.in: Likewise.
646c3d31fe1Smrg	* src/Makefile.in: Likewise.
647c3d31fe1Smrg	* testsuite/Makefile.in: Likewise.
648c3d31fe1Smrg
649c3d31fe1Smrg2004-11-24  Jonathan Wakely  <redi@kayari.org>
650c3d31fe1Smrg
651c3d31fe1Smrg	* docs/html/ext/howto.html: Fix incorrect link.
652c3d31fe1Smrg	* docs/html/documentation.html: Regenerate.
653c3d31fe1Smrg
654c3d31fe1Smrg2004-11-24  Nathan Myers  <ncm@cantrip.org>
655c3d31fe1Smrg
656c3d31fe1Smrg	* include/bits/streambuf_iterator.h
657c3d31fe1Smrg	(istreambuf_iterator<>::operator++(), operator++(int)): Don't
658c3d31fe1Smrg	check unnecessarily the return value of _M_sbuf->sbumpc().
659c3d31fe1Smrg
660c3d31fe1Smrg2004-11-24  Benjamin Kosnik  <bkoz@redhat.com>
661c3d31fe1Smrg
662c3d31fe1Smrg	* include/Makefile.am (tr1_headers): Add utility, functional.
663c3d31fe1Smrg	* include/Makefile.in: Regenerate.
664c3d31fe1Smrg
665c3d31fe1Smrg2004-11-24  Chris Jefferson  <chris@bubblescope.net>
666c3d31fe1Smrg
667c3d31fe1Smrg	* include/tr1/tuple(operator!=): Change operator
668c3d31fe1Smrg	definition to match (draft) technical report.
669c3d31fe1Smrg	(operator>): Same.
670c3d31fe1Smrg	(operator<=): Same.
671c3d31fe1Smrg	(operator>=): Same.
672c3d31fe1Smrg	(ref): Move to include/tr1/functional.
673c3d31fe1Smrg	(cref): Same.
674c3d31fe1Smrg	(tuple_size<pair>): Move to include/tr1/utility.
675c3d31fe1Smrg	(tuple_element<,pair>): Same.
676c3d31fe1Smrg	* include/tr1/functional: New.
677c3d31fe1Smrg	* include/tr1/utility: New.
678c3d31fe1Smrg	* testsuite/tr1/6_container/utility/pair.cc: New.
679c3d31fe1Smrg
680c3d31fe1Smrg2004-11-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
681c3d31fe1Smrg
682c3d31fe1Smrg	* config/locale/ieee_1003.1-2001/codecvt_specializations.h
683c3d31fe1Smrg	(do_out, do_unshift, do_in): Remove redundant typedef.
684c3d31fe1Smrg
685c3d31fe1Smrg2004-11-23  Chris Jefferson  <chris@bubblescope.net>
686c3d31fe1Smrg
687c3d31fe1Smrg	* testsuite/testsuite_iterators.h: New.
688c3d31fe1Smrg        * testsuite/25_algorithms/search_n/iterator.cc: New.
689c3d31fe1Smrg        * testsuite/performance/25_algorithms/search_n.cc: New.
690c3d31fe1Smrg
691c3d31fe1Smrg2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
692c3d31fe1Smrg
693c3d31fe1Smrg	* testsuite/lib/libstdc++.exp: Use new procs in target-libpath.exp.
694c3d31fe1Smrg
695c3d31fe1Smrg2004-11-23  Benjamin Kosnik  <bkoz@redhat.com>
696c3d31fe1Smrg
697c3d31fe1Smrg	* docs/doxygen/doxygroups.cc: Add std::tr1 namespace.
698c3d31fe1Smrg	* docs/doxygen/run_doxygen: Renames for std::tr1.
699c3d31fe1Smrg	* docs/doxygen/user.cfg.in: Add cxxabi.h.
700c3d31fe1Smrg	* include/bits/*.tcc: Add file markup.
701c3d31fe1Smrg	* include/bits/allocator.h: Add link to allocator.html.
702c3d31fe1Smrg	* include/bits/atomicity.h: Add file markup.
703c3d31fe1Smrg	* include/bits/concurrence.h: Same.
704c3d31fe1Smrg	* include/bits/functexcept.h: Same.
705c3d31fe1Smrg	* include/ext*: Adjust file markup, remove GCC3 bits.
706c3d31fe1Smrg	* include/std/*: Adjust file markup, remove bits about renamed files.
707c3d31fe1Smrg	* libsupc++/cxxabi.h: Add file markup.
708c3d31fe1Smrg	* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust line numbers.
709c3d31fe1Smrg
710c3d31fe1Smrg2004-11-22  Benjamin Kosnik  <bkoz@redhat.com>
711c3d31fe1Smrg
712c3d31fe1Smrg	* include/bits/locale_facets.h (isspace, isprint, isupper,
713c3d31fe1Smrg	islower, isalpha, isdigit, ispunct, isxdigit, isalnum, isgraph,
714c3d31fe1Smrg	toupper, tolower): Add doxygen markup.
715c3d31fe1Smrg	(codecvt_byname, ctype_byname, numpunct_byname, collate_byname,
716c3d31fe1Smrg	time_get_byname, time_put_byname, moneypunct_byname,
717c3d31fe1Smrg	messages_byname): Same.
718c3d31fe1Smrg	* include/std/std_fstream.h: Remove superfluous markup.
719c3d31fe1Smrg	* include/std/std_sstream.h: Same.
720c3d31fe1Smrg	* include/std/std_streambuf.h: Same.
721c3d31fe1Smrg	* include/ext/enc_filebuf.h: Adjust markup.
722c3d31fe1Smrg	* include/ext/stdio_filebuf.h: Same.
723c3d31fe1Smrg	* include/ext/stdio_sync_filebuf.h: Same.
724c3d31fe1Smrg	* include/bits/codecvt.h: Same.
725c3d31fe1Smrg	* config/os/gnu-linux/ctype_base.h: Same.
726c3d31fe1Smrg	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
727c3d31fe1Smrg	* include/tr1/array: Add markup.
728c3d31fe1Smrg	* include/tr1/tuple: Same.
729c3d31fe1Smrg
730c3d31fe1Smrg	* docs/doxygen/run_doxygen: Print arguments.
731c3d31fe1Smrg
732c3d31fe1Smrg	* docs/doxygen/user.cfg.in: Tweaks.
733c3d31fe1Smrg
734c3d31fe1Smrg2004-11-19  Jonathan Wakely  <redi@gcc.gnu.org>
735c3d31fe1Smrg
736c3d31fe1Smrg	* include/bits/basic_string.h, include/bits/locale_classes.h,
737c3d31fe1Smrg	include/bits/valarray_after.h, include/bits/valarray_before.h,
738c3d31fe1Smrg	include/ext/stdio_sync_filebuf.h, include/std/std_algorithm.h,
739c3d31fe1Smrg	include/std/std_functional.h, include/std/std_memory.h,
740c3d31fe1Smrg	include/std/std_numeric.h: Doxygen fixes.
741c3d31fe1Smrg
742c3d31fe1Smrg2004-11-19  Paolo Carlini  <pcarlini@suse.de>
743c3d31fe1Smrg
744c3d31fe1Smrg	* testsuite/22_locale/time_get/get_date/char/1.cc: In the checks
745c3d31fe1Smrg	use, more correctly (and consistently with other testcases) the
746c3d31fe1Smrg	return value of the facet (the iterator arguments are by value).
747c3d31fe1Smrg	* testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
748c3d31fe1Smrg	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
749c3d31fe1Smrg	* testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
750c3d31fe1Smrg	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
751c3d31fe1Smrg	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
752c3d31fe1Smrg	* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
753c3d31fe1Smrg	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
754c3d31fe1Smrg	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
755c3d31fe1Smrg	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
756c3d31fe1Smrg	* testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
757c3d31fe1Smrg	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
758c3d31fe1Smrg
759c3d31fe1Smrg2004-11-19  Jonathan Wakely  <redi@gcc.gnu.org>
760c3d31fe1Smrg
761c3d31fe1Smrg	* Makefile.am (doxygen, doxygen-maint, doxygen-man): Remove extra '$'
762c3d31fe1Smrg	from host_alias variable.
763c3d31fe1Smrg	* Makefile.in: Regenerate.
764c3d31fe1Smrg
765c3d31fe1Smrg2004-11-19  Chris Jefferson  <chris@bubblescope.net>
766c3d31fe1Smrg
767c3d31fe1Smrg	* include/bits/stl_list.h (list::back, list::back const):
768c3d31fe1Smrg	Don't decrement temporary.
769c3d31fe1Smrg
770c3d31fe1Smrg2004-11-19  Paolo Carlini  <pcarlini@suse.de>
771c3d31fe1Smrg
772c3d31fe1Smrg	* include/bits/stl_deque.h (deque::front, deque::front const,
773c3d31fe1Smrg	deque::back, deque::back const): Slightly tweak for stylistic
774c3d31fe1Smrg	consistency.
775c3d31fe1Smrg
776c3d31fe1Smrg2004-11-18  Paolo Carlini  <pcarlini@suse.de>
777c3d31fe1Smrg
778c3d31fe1Smrg	* testsuite/26_numerics/numeric/sum_diff.cc: Use VERIFY.
779c3d31fe1Smrg	* testsuite/ext/array_allocator/1.cc: Likewise.
780c3d31fe1Smrg	* testsuite/ext/array_allocator/2.cc: Likewise.
781c3d31fe1Smrg	* testsuite/ext/array_allocator/3.cc: Likewise.
782c3d31fe1Smrg	* testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
783c3d31fe1Smrg
784c3d31fe1Smrg2004-11-18  Paolo Carlini  <pcarlini@suse.de>
785c3d31fe1Smrg
786c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::do_get(void*&)):
787c3d31fe1Smrg	If the failbit is set, don't set it again.
788c3d31fe1Smrg	(money_get<>::_M_extract): Minor stylistic tweak: consistently
789c3d31fe1Smrg	with the other functions, take care of eofbit at the end.
790c3d31fe1Smrg
791c3d31fe1Smrg2004-11-18  Paolo Carlini  <pcarlini@suse.de>
792c3d31fe1Smrg
793c3d31fe1Smrg	DR 434. bitset::to_string() hard to use [Ready]
794c3d31fe1Smrg	* include/std/std_bitset.h (to_string): Add three overloads, taking
795c3d31fe1Smrg	fewer template arguments.
796c3d31fe1Smrg	* docs/html/ext/howto.html: Add an entry for DR 434.
797c3d31fe1Smrg	* testsuite/23_containers/bitset/to_string/1.cc: New.
798c3d31fe1Smrg
799c3d31fe1Smrg2004-11-17  Paolo Carlini  <pcarlini@suse.de>
800c3d31fe1Smrg
801c3d31fe1Smrg	* include/bits/istream.tcc (getline(basic_istream<>&, basic_string<>&,
802c3d31fe1Smrg	_CharT)): Remove temporary kludge for libstdc++/15002.
803c3d31fe1Smrg	* include/std/std_streambuf.h (class basic_streambuf): Declare
804c3d31fe1Smrg	getline(basic_istream<>&, basic_string<>&, _CharT) as friend.
805c3d31fe1Smrg	* include/bits/basic_string.h (getline(basic_istream<>&,
806c3d31fe1Smrg	basic_string<>&, _CharT)): Declare optimized specializations for
807c3d31fe1Smrg	char and wchar_t, using protected members of basic_streambuf.
808c3d31fe1Smrg	* src/istream.cc: Define the latter.
809c3d31fe1Smrg
810c3d31fe1Smrg2004-11-16  Jonathan Wakely  <redi@gcc.gnu.org>
811c3d31fe1Smrg
812c3d31fe1Smrg	* docs/html/19_diagnostics/howto.html: Document change from
813c3d31fe1Smrg	_GLIBCPP_CONCEPT_CHECKS to _GLIBCXX_CONCEPT_CHECKS in 3.4.
814c3d31fe1Smrg
815c3d31fe1Smrg2004-11-16  Matthias Klose  <doko@debian.org>
816c3d31fe1Smrg
817c3d31fe1Smrg	* docs/doxygen/user.cfg.in: Set HAVE_DOT to NO.
818c3d31fe1Smrg
819c3d31fe1Smrg2004-11-16  Matthias Klose  <doko@debian.org>
820c3d31fe1Smrg
821c3d31fe1Smrg	* Makefile.am (doxygen, doxygen-maint, doxygen-man): Use host_alias
822c3d31fe1Smrg	instead of build_alias.
823c3d31fe1Smrg	* docs/doxygen/run_doxygen: Likewise.
824c3d31fe1Smrg	* docs/doxygen/user.cfg.in: Likewise.
825c3d31fe1Smrg	* Makefile.in: Regenerate.
826c3d31fe1Smrg
827c3d31fe1Smrg2004-11-15  Paolo Carlini  <pcarlini@suse.de>
828c3d31fe1Smrg
829c3d31fe1Smrg	* include/bits/streambuf.tcc (__copy_streambufs): Provide
830c3d31fe1Smrg	a generic version of the function, not using the protected
831c3d31fe1Smrg	members of basic_streambuf.
832c3d31fe1Smrg	* include/std/std_streambuf.h (__copy_streambufs): Declare
833c3d31fe1Smrg	optimized specializations for char and wchar_t.
834c3d31fe1Smrg	* src/streambuf.cc: New file, define the latter.
835c3d31fe1Smrg	* src/Makefile.am: Add.
836c3d31fe1Smrg	* src/Makefile.in: Regenerate.
837c3d31fe1Smrg
838c3d31fe1Smrg2004-11-15  Matthias Klose  <doko@debian.org>
839c3d31fe1Smrg
840c3d31fe1Smrg	* docs/doxygen/run_doxygen: Add --build_alias option,
841c3d31fe1Smrg	substitute it in docs/doxygen/user.cfg.in.
842c3d31fe1Smrg	* docs/doxygen/user.cfg.in: Use build_alias.
843c3d31fe1Smrg	* Makefile.am: Pass --build_alias to run_doxygen
844c3d31fe1Smrg	* Makefile.in: Regenerate.
845c3d31fe1Smrg
846c3d31fe1Smrg2004-11-15  Benjamin Kosnik  <bkoz@redhat.com>
847c3d31fe1Smrg
848c3d31fe1Smrg	* testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.4.
849c3d31fe1Smrg
850c3d31fe1Smrg2004-11-15  Paolo Carlini  <pcarlini@suse.de>
851c3d31fe1Smrg
852c3d31fe1Smrg	* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 33.
853c3d31fe1Smrg
854c3d31fe1Smrg2004-11-14  Paolo Carlini  <pcarlini@suse.de>
855c3d31fe1Smrg
856c3d31fe1Smrg	* include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get):
857c3d31fe1Smrg	Slightly tweak for clarity (also leads to measurably better code).
858c3d31fe1Smrg
859c3d31fe1Smrg2004-11-12  Andrew Pinski  <pinskia@physics.uc.edu>
860c3d31fe1Smrg
861c3d31fe1Smrg	PR other/14264
862c3d31fe1Smrg	* testsuite/lib/libstdc++.exp: Set LC_ALL and LANG to C.
863c3d31fe1Smrg
864c3d31fe1Smrg2004-11-09  Paolo Carlini  <pcarlini@suse.de>
865c3d31fe1Smrg
866c3d31fe1Smrg	* include/bits/locale_facets.tcc (time_get<>::do_get_weekday,
867c3d31fe1Smrg	time_get<>::do_get_monthname): Absolutely avoid dereferencing
868c3d31fe1Smrg	end iterators.
869c3d31fe1Smrg
870c3d31fe1Smrg	* include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
871c3d31fe1Smrg	Minor tweak.
872c3d31fe1Smrg
873c3d31fe1Smrg2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
874c3d31fe1Smrg	    Doug Gregor  <dgregor@cs.indiana.edu>
875c3d31fe1Smrg
876c3d31fe1Smrg	PR libstdc++/17664
877c3d31fe1Smrg	* src/debug.cc : Just use one mutex.
878c3d31fe1Smrg
879c3d31fe1Smrg2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
880c3d31fe1Smrg
881c3d31fe1Smrg	* configure.ac (libtool_VERSION): To 6:4:0.
882c3d31fe1Smrg	* configure: Regenerate.
883c3d31fe1Smrg
884c3d31fe1Smrg	* config/linker-map.gnu: Slide new symbols into GLIBCXX_3.4.4.
885c3d31fe1Smrg
886c3d31fe1Smrg	* docs/doxygen/user.cfg.in: Add more extension files.
887c3d31fe1Smrg
888c3d31fe1Smrg2004-11-08  Paolo Carlini  <pcarlini@suse.de>
889c3d31fe1Smrg
890c3d31fe1Smrg	* include/bits/streambuf_iterator.h (class istreambuf_iterator):
891c3d31fe1Smrg	Consistently use _M_c to cache the current char, i.e., not only
892c3d31fe1Smrg	when operator++(int) is involved; change _M_c to mutable.
893c3d31fe1Smrg	(_M_get()): Always save the return value of _M_sbuf->sgetc() into
894c3d31fe1Smrg	_M_c.
895c3d31fe1Smrg	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Fix
896c3d31fe1Smrg	(long standing) typo.
897c3d31fe1Smrg	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
898c3d31fe1Smrg	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
899c3d31fe1Smrg	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
900c3d31fe1Smrg
901c3d31fe1Smrg2004-11-08  Paolo Carlini  <pcarlini@suse.de>
902c3d31fe1Smrg
903c3d31fe1Smrg	* include/bits/istream.tcc (getline(char_type*, streamsize,
904c3d31fe1Smrg	char_type), ignore(streamsize), ignore(streamsize, int_type)):
905c3d31fe1Smrg	Restore a generic version of the functions, not using the
906c3d31fe1Smrg	protected members of basic_streambuf.
907c3d31fe1Smrg	* include/std/std_istream.h (getline(char_type*, streamsize,
908c3d31fe1Smrg	char_type), ignore(streamsize), ignore(streamsize, int_type)):
909c3d31fe1Smrg	Declare optimized specializations for char and wchar_t.
910c3d31fe1Smrg	* src/istream.cc: New file, define the latter.
911c3d31fe1Smrg	* src/Makefile.am: Add.
912c3d31fe1Smrg	* src/Makefile.in: Regenerate.
913c3d31fe1Smrg
914c3d31fe1Smrg2004-11-07  Paolo Carlini  <pcarlini@suse.de>
915c3d31fe1Smrg
916c3d31fe1Smrg	* testsuite/performance/27_io/ifstream_getline-2.cc: New.
917c3d31fe1Smrg
918c3d31fe1Smrg2004-11-05  Benjamin Kosnik  <bkoz@redhat.com>
919c3d31fe1Smrg
920c3d31fe1Smrg	PR libstdc++/17218
921c3d31fe1Smrg	PR libstdc++/17223
922c3d31fe1Smrg	* docs/doxygen/filter: Remove.
923c3d31fe1Smrg	* docs/doxygen/filter.sed: Remove.
924c3d31fe1Smrg	* docs/doxygen/mainpage.html: Add link to functions.
925c3d31fe1Smrg	* docs/doxygen/run_doxygen: Changes due to new source filtering.
926c3d31fe1Smrg	* docs/doxygen/user.cfg.in: Update to doxygen 1.3.9.1, tweak.
927c3d31fe1Smrg	* include/bits/allocator.h: Tweaks for doxygen.
928c3d31fe1Smrg	* include/bits/char_traits.h: Same.
929c3d31fe1Smrg	* include/bits/codecvt.h: Same.
930c3d31fe1Smrg	* include/bits/concurrence.h: Same.
931c3d31fe1Smrg	* include/bits/locale_facets.h: Same.
932c3d31fe1Smrg	* include/ext/array_allocator.h: Same.
933c3d31fe1Smrg	* include/ext/debug_allocator.h: Same.
934c3d31fe1Smrg	* include/ext/malloc_allocator.h: Same.
935c3d31fe1Smrg	* include/ext/mt_allocator.h: Same.
936c3d31fe1Smrg	* include/ext/new_allocator.h: Same.
937c3d31fe1Smrg	* include/ext/pool_allocator.h: Same.
938c3d31fe1Smrg	* include/ext/stdio_sync_filebuf.h: Same.
939c3d31fe1Smrg	* include/std/std_memory.h: Same.
940c3d31fe1Smrg	* include/tr1/array: Same.
941c3d31fe1Smrg	* include/tr1/tuple: Same.
942c3d31fe1Smrg	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
943c3d31fe1Smrg	* config/os/gnu-linux/ctype_base.h: Same.
944c3d31fe1Smrg
945c3d31fe1Smrg2004-11-04  Paolo Carlini  <pcarlini@suse.de>
946c3d31fe1Smrg
947c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::do_get(bool&)):
948c3d31fe1Smrg	Evaluate __beg == __end the exact strict minimum number of times.
949c3d31fe1Smrg
950c3d31fe1Smrg2004-11-03  Jonathan Wakely  <redi@gcc.gnu.org>
951c3d31fe1Smrg
952c3d31fe1Smrg	* include/bits/stl_numeric.h (partial_sum, adjacent_difference):
953c3d31fe1Smrg	Avoid dereferencing two times __first in the prologue.
954c3d31fe1Smrg
955c3d31fe1Smrg2004-11-03  Paolo Carlini  <pcarlini@suse.de>
956c3d31fe1Smrg
957c3d31fe1Smrg	* include/bits/stl_numeric.h: Trivial formatting fixes.
958c3d31fe1Smrg
959c3d31fe1Smrg2004-11-03  Benjamin Kosnik  <bkoz@redhat.com>
960c3d31fe1Smrg
961c3d31fe1Smrg	* include/bits/c++config: Spacing.
962c3d31fe1Smrg	* libsupc++/del_op.cc: Include c++config.h.
963c3d31fe1Smrg	* libsupc++/del_opnt.cc: Same.
964c3d31fe1Smrg	* libsupc++/del_opv.cc: Same.
965c3d31fe1Smrg	* libsupc++/del_opvnt.cc: Same.
966c3d31fe1Smrg	* libsupc++/new_op.cc: Same.
967c3d31fe1Smrg	* libsupc++/new_opnt.cc: Same.
968c3d31fe1Smrg	* libsupc++/new_opv.cc: Same.
969c3d31fe1Smrg	* libsupc++/new_opvnt.cc: Same.
970c3d31fe1Smrg
971c3d31fe1Smrg2004-11-03  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
972c3d31fe1Smrg
973c3d31fe1Smrg	* config/os/bsd/darwin/os_defines.h
974c3d31fe1Smrg	(_GLIBCXX_WEAK_DEFINITION): Define.
975c3d31fe1Smrg	* include/bits/c++config (_GLIBCXX_WEAK_DEFINITION): Define.
976c3d31fe1Smrg	* libsupc++/del_op.cc (operator delete(void *)): Use
977c3d31fe1Smrg	_GLIBCXX_WEAK_DEFINITION.
978c3d31fe1Smrg	* libsupc++/del_opnt.cc
979c3d31fe1Smrg	(operator delete(void *, const std::nothrow_t&)): Same.
980c3d31fe1Smrg	* libsupc++/del_opv.cc (operator delete[](void *)): Same.
981c3d31fe1Smrg	* libsupc++/del_opvnt.cc
982c3d31fe1Smrg	(operator delete[](void *, const std::nothrow_t&)): Same.
983c3d31fe1Smrg	* libsupc++/new_op.cc (operator new(std::size_t)): Same.
984c3d31fe1Smrg	* libsupc++/new_opnt.cc
985c3d31fe1Smrg	(operator new(std::size_t, const std::nothrow_t&)): Same
986c3d31fe1Smrg	* libsupc++/new_opv.cc (operator new[](std::size_t)): Same.
987c3d31fe1Smrg	* libsupc++/new_opvnt.cc
988c3d31fe1Smrg	(operator new[](std::size_t, const std::nothrow_t&)): Same.
989c3d31fe1Smrg
990c3d31fe1Smrg2004-11-02  Paolo Carlini  <pcarlini@suse.de>
991c3d31fe1Smrg
992c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int):
993c3d31fe1Smrg	Evaluate *__beg the exact strict minimum number of times; likewise
994c3d31fe1Smrg	for __beg != __end; slightly simplify main parsing loop.
995c3d31fe1Smrg
996c3d31fe1Smrg2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
997c3d31fe1Smrg  	    Lothar Werzinger  <lothar@xcerla.com>
998c3d31fe1Smrg
999c3d31fe1Smrg	PR libstdc++/17664
1000c3d31fe1Smrg	* src/debug.cc: Include concurrence, use mutexes.
1001c3d31fe1Smrg	(_Safe_iterator_base::_M_attach): Here.
1002c3d31fe1Smrg	(_Safe_iterator_base::_M_detach): Here.
1003c3d31fe1Smrg
1004c3d31fe1Smrg2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
1005c3d31fe1Smrg
1006c3d31fe1Smrg	PR libstdc++/17922
1007c3d31fe1Smrg	* include/bits/ios_base.h : Add enum values.
1008c3d31fe1Smrg	* testsuite/testsuite_hooks.h (bitmask_operators): Add function.
1009c3d31fe1Smrg	* testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: New.
1010c3d31fe1Smrg	* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: New.
1011c3d31fe1Smrg	* testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: New.
1012c3d31fe1Smrg	* testsuite/27_io/ios_base/types/iostate/case_label.cc: New.
1013c3d31fe1Smrg	* testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: New.
1014c3d31fe1Smrg	* testsuite/27_io/ios_base/types/openmode/case_label.cc: New.
1015c3d31fe1Smrg	* testsuite/27_io/ios_base/types/seekdir/case_label.cc: New.
1016c3d31fe1Smrg
1017c3d31fe1Smrg	* config/io/c_io_stdio.h (__ios_flags): Mark deprecated.
1018c3d31fe1Smrg	* src/ios.cc: Same.
1019c3d31fe1Smrg
1020c3d31fe1Smrg	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
1021c3d31fe1Smrg	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
1022c3d31fe1Smrg
1023c3d31fe1Smrg2004-11-01  Momchil Velikov  <velco@fadata.bg>
1024c3d31fe1Smrg
1025c3d31fe1Smrg	PR libstdc++/18185
1026c3d31fe1Smrg	* libsupc++/eh_globals.cc (get_globals_dtor): Delete unhandled
1027c3d31fe1Smrg	exceptions.
1028c3d31fe1Smrg	* testsuite/thread/18185.cc: New.
1029c3d31fe1Smrg
1030c3d31fe1Smrg2004-11-01  Chris Jefferson  <chris@bubblescope.net>
1031c3d31fe1Smrg
1032c3d31fe1Smrg	PR libstdc++/18159
1033c3d31fe1Smrg	* include/tr1/tuple (get(pair)): Change occurrences of _I to _Int.
1034c3d31fe1Smrg	(get(const pair)): Likewise.
1035c3d31fe1Smrg
1036c3d31fe1Smrg2004-11-01  Paolo Carlini  <pcarlini@suse.de>
1037c3d31fe1Smrg
1038c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1039c3d31fe1Smrg	Evaluate *__beg the exact strict minimum number of times; likewise
1040c3d31fe1Smrg	for __beg != __end; in the main parsing loop, call ++__beg in two
1041c3d31fe1Smrg	places only. The former is also a correctness issue, because,
1042c3d31fe1Smrg	according to the standard (22.2.2.1.2, Stage 2), 'in' shall be
1043c3d31fe1Smrg	dereferenced only one time for each increment.
1044c3d31fe1Smrg
1045c3d31fe1Smrg2004-10-31  Benjamin Kosnik  <bkoz@redhat.com>
1046c3d31fe1Smrg
1047c3d31fe1Smrg	PR c++/16728
1048c3d31fe1Smrg	* testsuite/23_containers/set/modifiers/16728.cc: New.
1049c3d31fe1Smrg
1050c3d31fe1Smrg2004-10-30  Paolo Carlini  <pcarlini@suse.de>
1051c3d31fe1Smrg
1052c3d31fe1Smrg	* include/ext/bitmap_allocator.h (allocate(size_type)): Minor tweak.
1053c3d31fe1Smrg
1054c3d31fe1Smrg	* testsuite/ext/bitmap_allocator/check_delete.cc: New.
1055c3d31fe1Smrg	* testsuite/ext/bitmap_allocator/check_new.cc: Likewise.
1056c3d31fe1Smrg
1057c3d31fe1Smrg2004-10-29  Geoffrey Keating  <geoffk@apple.com>
1058c3d31fe1Smrg
1059c3d31fe1Smrg	* configure.host (darwin*): Set os_include_dir to a separate directory
1060c3d31fe1Smrg	for Darwin.
1061c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale kind,
1062c3d31fe1Smrg	'darwin'.
1063c3d31fe1Smrg	* config/locale/darwin/ctype_members.cc: New.
1064c3d31fe1Smrg	* config/os/bsd/darwin/ctype_base.h: New.
1065c3d31fe1Smrg	* config/os/bsd/darwin/ctype_inline.h: New.
1066c3d31fe1Smrg	* config/os/bsd/darwin/ctype_noninline.h: New.
1067c3d31fe1Smrg	* config/os/bsd/darwin/os_defines.h: New.
1068c3d31fe1Smrg
1069c3d31fe1Smrg	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Only xfail
1070c3d31fe1Smrg	on Linux.
1071c3d31fe1Smrg
1072c3d31fe1Smrg2004-10-29  Chris Jefferson  <chris@bubblescope.net>
1073c3d31fe1Smrg
1074c3d31fe1Smrg	* include/bit/stl_algo.h (find_first_of(,,,,pred)):
1075c3d31fe1Smrg	Remove invalid EqualOpConcept.
1076c3d31fe1Smrg	* testsuite/25_algorithms/find_first_of/concept_check_1.cc: New.
1077c3d31fe1Smrg
1078c3d31fe1Smrg2004-10-29  Benjamin Kosnik  <bkoz@redhat.com>
1079c3d31fe1Smrg
1080c3d31fe1Smrg	* testsuite/testsuite_allocator.h (check_delete): New.
1081c3d31fe1Smrg	(check_new): Simplify.
1082c3d31fe1Smrg	* testsuite/ext/array_allocator/check_delete.cc: New.
1083c3d31fe1Smrg	* testsuite/ext/array_allocator/check_new.cc: Simplify.
1084c3d31fe1Smrg	* testsuite/ext/debug_allocator/check_delete.cc: New.
1085c3d31fe1Smrg	* testsuite/ext/debug_allocator/check_new.cc: Simplify.
1086c3d31fe1Smrg	* testsuite/ext/malloc_allocator/check_delete.cc: New.
1087c3d31fe1Smrg	* testsuite/ext/malloc_allocator/check_new.cc: Simplify.
1088c3d31fe1Smrg	* testsuite/ext/mt_allocator/check_delete.cc: New.
1089c3d31fe1Smrg	* testsuite/ext/mt_allocator/check_new.cc: Simplify.
1090c3d31fe1Smrg	* testsuite/ext/new_allocator/check_delete.cc: New.
1091c3d31fe1Smrg	* testsuite/ext/new_allocator/check_new.cc: Simplify.
1092c3d31fe1Smrg	* testsuite/ext/pool_allocator/check_delete.cc: New.
1093c3d31fe1Smrg	* testsuite/ext/pool_allocator/check_new.cc: Simplify.
1094c3d31fe1Smrg
1095c3d31fe1Smrg2004-10-28  Chris Jefferson  <chris@bubblescope.net>
1096c3d31fe1Smrg
1097c3d31fe1Smrg	PR libstdc++/18159
1098c3d31fe1Smrg	* include/tr1/tuple: Fix, change formatting.
1099c3d31fe1Smrg
1100c3d31fe1Smrg2004-10-28  Benjamin Kosnik  <bkoz@redhat.com>
1101c3d31fe1Smrg
1102c3d31fe1Smrg	* include/ext/mt_allocator.h (__common_pool_policy): Add template
1103c3d31fe1Smrg	template parameter for pool class type.
1104c3d31fe1Smrg	(__per_type_pool_policy): Same.
1105c3d31fe1Smrg	(__mt_allocator): Don't inherit policy. Qualify policy_type calls.
1106c3d31fe1Smrg	* testsuite/ext/mt_allocator/check_deallocate_null.cc: Fix.
1107c3d31fe1Smrg	* testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: Same.
1108c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
1109c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
1110c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
1111c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
1112c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
1113c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
1114c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
1115c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
1116c3d31fe1Smrg	* testsuite/ext/mt_allocator/instantiate.cc: Same.
1117c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-1.cc: Same.
1118c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-2.cc: Same.
1119c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-3.cc: Same.
1120c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-4.cc: Same.
1121c3d31fe1Smrg
1122c3d31fe1Smrg2004-10-28  Paolo Carlini  <pcarlini@suse.de>
1123c3d31fe1Smrg
1124c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1125c3d31fe1Smrg	Cache *__beg in __c when parsing exponent sign too.
1126c3d31fe1Smrg	(num_get<>::do_get(..., bool&)): Cache *__beg.
1127c3d31fe1Smrg	(money_get<>::_M_extract)): Likewise, in money_base::value.
1128c3d31fe1Smrg
1129c3d31fe1Smrg2004-10-27  Paolo Carlini  <pcarlini@suse.de>
1130c3d31fe1Smrg
1131c3d31fe1Smrg	* include/bits/basic_string.h (assign(const basic_string&)):
1132c3d31fe1Smrg	Move out of line...
1133c3d31fe1Smrg	* include/bits/basic_string.tcc: ... here.
1134c3d31fe1Smrg
1135c3d31fe1Smrg2004-10-27  Paolo Carlini  <pcarlini@suse.de>
1136c3d31fe1Smrg
1137c3d31fe1Smrg	* include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1138c3d31fe1Smrg	Move out of line...
1139c3d31fe1Smrg	* include/bits/basic_string.tcc: ... here.
1140c3d31fe1Smrg
1141c3d31fe1Smrg2004-10-26  Paolo Carlini  <pcarlini@suse.de>
1142c3d31fe1Smrg
1143c3d31fe1Smrg	* include/bits/basic_string.h (append(const basic_string&),
1144c3d31fe1Smrg	append(size_type, _CharT)): Move out of line...
1145c3d31fe1Smrg	* include/bits/basic_string.tcc: ... here.
1146c3d31fe1Smrg
1147c3d31fe1Smrg2004-10-26  Paolo Carlini  <pcarlini@suse.de>
1148c3d31fe1Smrg
1149c3d31fe1Smrg	* include/bits/basic_string.h (erase(size_type, size_type),
1150c3d31fe1Smrg	erase(iterator), erase(iterator, iterator)): Call _M_mutate
1151c3d31fe1Smrg	instead of _M_replace_safe, equivalent when the fourth argument
1152c3d31fe1Smrg	is zero and simpler.
1153c3d31fe1Smrg
1154c3d31fe1Smrg2004-10-26  Benjamin Kosnik  <bkoz@redhat.com>
1155c3d31fe1Smrg
1156c3d31fe1Smrg	* include/ext/array_allocator.h (array::allocate): Check for valid
1157c3d31fe1Smrg	array object, use its size member function directly.
1158c3d31fe1Smrg	* testsuite/ext/array_allocator/3.cc: New.
1159c3d31fe1Smrg	* docs/html/20_util/allocator.html: Add docs.
1160c3d31fe1Smrg
1161c3d31fe1Smrg2004-10-25  Geoffrey Keating  <geoffk@apple.com>
1162c3d31fe1Smrg
1163c3d31fe1Smrg	* configure.host (darwin*): Build libstdc++ single module
1164c3d31fe1Smrg	and flat namespace.
1165c3d31fe1Smrg	* libsupc++/new_op.cc (new): Make weak.
1166c3d31fe1Smrg	* libsupc++/new_opnt.cc (new): Make weak.
1167c3d31fe1Smrg	* libsupc++/new_opv.cc (new): Make weak.
1168c3d31fe1Smrg	* libsupc++/new_opvnt.cc (new): Make weak.
1169c3d31fe1Smrg	* libsupc++/delete_op.cc (delete): Make weak.
1170c3d31fe1Smrg	* libsupc++/delete_opnt.cc (delete): Make weak.
1171c3d31fe1Smrg	* libsupc++/delete_opv.cc (delete): Make weak.
1172c3d31fe1Smrg	* libsupc++/delete_opvnt.cc (delete): Make weak.
1173c3d31fe1Smrg
1174c3d31fe1Smrg2004-10-25  Benjamin Kosnik  <bkoz@redhat.com>
1175c3d31fe1Smrg
1176c3d31fe1Smrg	* testsuite/Makefile.am (GLIBCXX_INCLUDES): Add.
1177c3d31fe1Smrg	(AUTOMAKE_OPTIONS): Add nostdinc.
1178c3d31fe1Smrg	* testsuite/Makefile.in: Regenerate.
1179c3d31fe1Smrg	* scripts/testsuite_flags.in (build-includes): Remove redundant
1180c3d31fe1Smrg	search for libsupc++.
1181c3d31fe1Smrg	* fragment.am: Clean.
1182c3d31fe1Smrg
1183c3d31fe1Smrg2004-10-25  Benjamin Kosnik  <bkoz@redhat.com>
1184c3d31fe1Smrg
1185c3d31fe1Smrg	* include/Makefile.am (tr1_headers): Add tuple.
1186c3d31fe1Smrg	* include/Makefile.in: Regenerate.
1187c3d31fe1Smrg
1188c3d31fe1Smrg2004-10-25  Chris Jefferson  <chris@bubblescope.net>
1189c3d31fe1Smrg
1190c3d31fe1Smrg        * include/tr1/tuple: Implementation of tuple from library TR.
1191c3d31fe1Smrg	* testsuite/tr1/6_containers/tuple/tuple_element.cc: New.
1192c3d31fe1Smrg	* testsuite/tr1/6_containers/tuple/tuple_size.cc: New.
1193c3d31fe1Smrg	* testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
1194c3d31fe1Smrg	New.
1195c3d31fe1Smrg	* testsuite/tr1/6_containers/tuple/cons/assignment.cc: New.
1196c3d31fe1Smrg	* testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: New.
1197c3d31fe1Smrg	* testsuite/tr1/6_containers/tuple/cons/constructor.cc: New.
1198c3d31fe1Smrg	* testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
1199c3d31fe1Smrg	New.
1200c3d31fe1Smrg	* testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: New.
1201c3d31fe1Smrg	* testsuite/tr1/6_containers/tuple/element_access/get.cc: New.
1202c3d31fe1Smrg
1203c3d31fe1Smrg2004-10-25  Paolo Carlini  <pcarlini@suse.de>
1204c3d31fe1Smrg
1205c3d31fe1Smrg	* include/bits/basic_string.h (_Rep::_M_is_safe): Move to
1206c3d31fe1Smrg	basic_string as _M_disjunct, adjust to take only __s.
1207c3d31fe1Smrg	* include/bits/basic_string.tcc: Adjust consistently callers.
1208c3d31fe1Smrg
1209c3d31fe1Smrg2004-10-25  Paolo Carlini  <pcarlini@suse.de>
1210c3d31fe1Smrg
1211c3d31fe1Smrg	* include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
1212c3d31fe1Smrg	Adjust bit missing from the previous commit.
1213c3d31fe1Smrg
1214c3d31fe1Smrg2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
1215c3d31fe1Smrg
1216c3d31fe1Smrg	PR other/18138
1217c3d31fe1Smrg	* testsuite/lib/libstdc++.exp: Accept more than one multilib libgcc.
1218c3d31fe1Smrg
1219c3d31fe1Smrg2004-10-25  Paolo Carlini  <pcarlini@suse.de>
1220c3d31fe1Smrg
1221c3d31fe1Smrg	* include/bits/basic_string.h (_Rep::_M_is_safe, _M_check_length,
1222c3d31fe1Smrg	_M_move, _M_copy, _M_assign): New, use througout.
1223c3d31fe1Smrg	(operator+=(_CharT)): Define in terms of push_back.
1224c3d31fe1Smrg	(append(const basic_string&)): Define here, inline, and simplify,
1225c3d31fe1Smrg	don't use the full _M_replace_safe.
1226c3d31fe1Smrg	(append(size_type, _CharT)): Likewise, don't use _M_replace_aux.
1227c3d31fe1Smrg	(push_back): Likewise.
1228c3d31fe1Smrg	(assign(const basic_string&)): Define here, inline.
1229c3d31fe1Smrg	* include/bits/basic_string.tcc (append(const _CharT* s, size_type):
1230c3d31fe1Smrg	Fix: when s points inside the _Rep, upon reallocation (reserve) we
1231c3d31fe1Smrg	were copying from deallocated memory.
1232c3d31fe1Smrg	(append(const basic_string&, size_type, size_type)): Simplify,
1233c3d31fe1Smrg	don't use _M_replace_safe.
1234c3d31fe1Smrg	(replace(size_type, size_type, const _CharT*, size_type)): Slightly
1235c3d31fe1Smrg	tweak.
1236c3d31fe1Smrg	(reserve): Likewise.
1237c3d31fe1Smrg	* testsuite/21_strings/basic_string/append/char/2.cc: New.
1238c3d31fe1Smrg	* testsuite/21_strings/basic_string/append/char/3.cc: Likewise.
1239c3d31fe1Smrg	* testsuite/21_strings/basic_string/append/wchar_t/2.cc: Likewise.
1240c3d31fe1Smrg	* testsuite/21_strings/basic_string/append/wchar_t/3.cc: Likewise.
1241c3d31fe1Smrg
1242c3d31fe1Smrg	* testsuite/21_strings/basic_string/assign/char/3.cc: Remove junk.
1243c3d31fe1Smrg	* testsuite/21_strings/basic_string/assign/wchar_t/3.cc: Likewise.
1244c3d31fe1Smrg
1245c3d31fe1Smrg2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
1246c3d31fe1Smrg
1247c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-2.c:
1248c3d31fe1Smrg	s/value_t/value_type/. s/traits_t/traits_type/.
1249c3d31fe1Smrg	s/policy_t/policy_type/. s/allocator_t/allocator_type/.
1250c3d31fe1Smrg	s/string_t/string_type/. s/list_t/list_type/.
1251c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
1252c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
1253c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
1254c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
1255c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
1256c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
1257c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
1258c3d31fe1Smrg
1259c3d31fe1Smrg2004-10-21  Benjamin Kosnik  <bkoz@redhat.com>
1260c3d31fe1Smrg
1261c3d31fe1Smrg	* include/tr1/array (array): Make safe for zero-sized arrays.
1262c3d31fe1Smrg	(array::end): Return one past the end.
1263c3d31fe1Smrg	(array::at): Use __throw_out_of_range, include functexcept.h.
1264c3d31fe1Smrg	(operator==): Implement.
1265c3d31fe1Smrg	(operator!=): Same.
1266c3d31fe1Smrg	(operator<): Same.
1267c3d31fe1Smrg	(operator>): Same.
1268c3d31fe1Smrg	(operator>=): Same.
1269c3d31fe1Smrg	(operator<=): Same.
1270c3d31fe1Smrg	* testsuite/tr1/6_containers/array/capacity/(empty.cc,
1271c3d31fe1Smrg	max_size.cc, size.cc): New.
1272c3d31fe1Smrg	* testsuite/tr1/6_containers/array/comparison_operators/(equal.cc,
1273c3d31fe1Smrg	greater.cc, greater_or_equal.cc, less.cc, less_or_equal.cc,
1274c3d31fe1Smrg	not_equal): New.
1275c3d31fe1Smrg	* testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
1276c3d31fe1Smrg	New.
1277c3d31fe1Smrg	* testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
1278c3d31fe1Smrg	New.
1279c3d31fe1Smrg	* testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: New.
1280c3d31fe1Smrg	* testsuite/tr1/6_containers/array/requirements/(contiguous.cc,
1281c3d31fe1Smrg	instantiate, typedefs, zero_size_arrays): New.
1282c3d31fe1Smrg
1283c3d31fe1Smrg2004-10-21  Paolo Carlini  <pcarlini@suse.de>
1284c3d31fe1Smrg	    Benjamin Kosnik  <bkoz@redhat.com>
1285c3d31fe1Smrg
1286c3d31fe1Smrg	* include/bits/basic_string.h (_M_set_length_and_sharable): New.
1287c3d31fe1Smrg	* include/bits/basic_string.tcc (_S_construct, assign(const _CharT*,
1288c3d31fe1Smrg	size_type), _M_mutate, _M_clone): Use it.
1289c3d31fe1Smrg	(_Rep::_S_create): Don't set/call _M_length/_M_set_sharable here.
1290c3d31fe1Smrg
1291c3d31fe1Smrg2004-10-21  Paolo Carlini  <pcarlini@suse.de>
1292c3d31fe1Smrg	    Dhruv Matani  <dhruvbird@gmx.net>
1293c3d31fe1Smrg	    Nathan Myers  <ncm@cantrip.org>
1294c3d31fe1Smrg
1295c3d31fe1Smrg	* include/bits/vector.tcc (_M_insert_aux, _M_fill_insert,
1296c3d31fe1Smrg	_M_range_insert): Check at the outset that we are not trying
1297c3d31fe1Smrg	to exceed max_size, then deal properly with __len overflows.
1298c3d31fe1Smrg	* testsuite/23_containers/vector/modifiers/insert/1.cc: New.
1299c3d31fe1Smrg
1300c3d31fe1Smrg	* testsuite/testsuite_allocator.h: Remove redundant include.
1301c3d31fe1Smrg
1302c3d31fe1Smrg2004-10-20  Paolo Carlini  <pcarlini@suse.de>
1303c3d31fe1Smrg
1304c3d31fe1Smrg	* include/ext/bitmap_allocator.h (allocate): Throw std::bad_alloc
1305c3d31fe1Smrg	when n > max_size().
1306c3d31fe1Smrg	* include/ext/malloc_allocator.h (allocate): Likewise.
1307c3d31fe1Smrg	* include/ext/mt_allocator.h (allocate): Likewise.
1308c3d31fe1Smrg	* include/ext/new_allocator.h (allocate): Likewise.
1309c3d31fe1Smrg	* include/ext/array_allocator.h: Use __throw_bad_alloc().
1310c3d31fe1Smrg	* include/ext/pool_allocator.h: Use __builtin_expect.
1311c3d31fe1Smrg	* testsuite/ext/array_allocator/check_allocate_max_size.cc: New.
1312c3d31fe1Smrg	* testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: Likewise.
1313c3d31fe1Smrg	* testsuite/ext/malloc_allocator/check_allocate_max_size.cc: Likewise.
1314c3d31fe1Smrg	* testsuite/ext/mt_allocator/check_allocate_max_size.cc: Likewise.
1315c3d31fe1Smrg	* testsuite/ext/new_allocator/check_allocate_max_size.cc: Likewise.
1316c3d31fe1Smrg	* testsuite/ext/pool_allocator/check_allocate_max_size.cc: Likewise.
1317c3d31fe1Smrg	* testsuite/testsuite_allocator.h (check_allocate_max_size): New test.
1318c3d31fe1Smrg
1319c3d31fe1Smrg2004-10-19  Paolo Carlini  <pcarlini@suse.de>
1320c3d31fe1Smrg
1321c3d31fe1Smrg	* testsuite/performance/20_util/allocator/list_sort_search.cc:
1322c3d31fe1Smrg	Include <ext/new_allocator.h>.
1323c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
1324c3d31fe1Smrg
1325c3d31fe1Smrg2004-10-18  Paolo Carlini  <pcarlini@suse.de>
1326c3d31fe1Smrg
1327c3d31fe1Smrg	* include/bits/basic_string.tcc (_M_mutate): Do not reallocate
1328c3d31fe1Smrg	unnecessarily when _M_rep() == &_S_empty_rep() and __new_size
1329c3d31fe1Smrg	== capacity() (== 0): is ok to just leave everything unchanged.
1330c3d31fe1Smrg
1331c3d31fe1Smrg	* include/bits/basic_string.h: Minor formatting fixes.
1332c3d31fe1Smrg	* include/bits/basic_string.tcc: Likewise.
1333c3d31fe1Smrg
1334c3d31fe1Smrg2004-10-17  Benjamin Kosnik  <bkoz@redhat.com>
1335c3d31fe1Smrg
1336c3d31fe1Smrg	* include/ext/mt_allocator.h (__pool::_M_get_align): New.
1337c3d31fe1Smrg	(__mt_alloc::allocate): Use it.
1338c3d31fe1Smrg	* src/mt_allocator.cc (__pool::_M_reclaim_block): Use it.
1339c3d31fe1Smrg	(__pool::_M_reserve_block): Simplify block allocation.
1340c3d31fe1Smrg
1341c3d31fe1Smrg2004-10-17  Dhruv Matani  <dhruvbird@gmx.net>
1342c3d31fe1Smrg	    Paolo Carlini  <pcarlini@suse.de>
1343c3d31fe1Smrg
1344c3d31fe1Smrg	* include/ext/bitmap_allocator.h: Change unsigned int -> size_t: this
1345c3d31fe1Smrg	makes the code 64-bit correct and also fixes (together with using at
1346c3d31fe1Smrg	the beginning a bitmap 2 * size_t bytes wide) alignment issues: now
1347c3d31fe1Smrg	8 is guaranteed, easily tunable to 16 via _BALLOC_ALIGN_BYTES.
1348c3d31fe1Smrg	Fix pthread-rope7.cc fail by nulling out __mini_vector<> destructor.
1349c3d31fe1Smrg	* src/bitmap_allocator.cc: Change to size_t.
1350c3d31fe1Smrg	* config/linker-map.gnu: Adjust.
1351c3d31fe1Smrg
1352c3d31fe1Smrg2004-10-16  Benjamin Kosnik  <bkoz@redhat.com>
1353c3d31fe1Smrg
1354c3d31fe1Smrg	* include/tr1/array: Don't use layout_type.
1355c3d31fe1Smrg
1356c3d31fe1Smrg2004-10-16  Sashan Govender  <sashang@gmail.com>
1357c3d31fe1Smrg
1358c3d31fe1Smrg	* include/tr1/array (array::end const): Fix casting from iterator
1359c3d31fe1Smrg	to const_iterator.
1360c3d31fe1Smrg
1361c3d31fe1Smrg2004-10-15  Paolo Carlini  <pcarlini@suse.de>
1362c3d31fe1Smrg
1363c3d31fe1Smrg	* include/ext/bitmap_allocator.h: Qualify ::operator delete.
1364c3d31fe1Smrg	* src/bitmap_allocator.cc: Likewise.
1365c3d31fe1Smrg	* src/mt_allocator.cc: Use ::operator delete, not delete,
1366c3d31fe1Smrg	consistently with ::operator new.
1367c3d31fe1Smrg
1368c3d31fe1Smrg	* include/ext/bitmap_allocator.h (deallocate): Check for null
1369c3d31fe1Smrg	pointer.
1370c3d31fe1Smrg	* testsuite/ext/bitmap_allocator/check_deallocate_null.cc: New.
1371c3d31fe1Smrg	* testsuite/testsuite_allocator.h (check_deallocate_null): Add test.
1372c3d31fe1Smrg
1373c3d31fe1Smrg2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
1374c3d31fe1Smrg
1375c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc::deallocate): Check for
1376c3d31fe1Smrg	null pointer.
1377c3d31fe1Smrg	* include/ext/pool_allocator.h (debug_allocator::deallocate):
1378c3d31fe1Smrg	Check pointer value.
1379c3d31fe1Smrg	* include/ext/debug_allocator.h (debug_allocator::deallocate):
1380c3d31fe1Smrg	Throw exceptions, don't abort.
1381c3d31fe1Smrg	* include/ext/array_allocator.h
1382c3d31fe1Smrg	(array_allocator_base::deallocate): Remove unused parameters.
1383c3d31fe1Smrg	* testsuite/testsuite_allocator.h (check_deallocate_null): New.
1384c3d31fe1Smrg	* testsuite/ext/mt_allocator/check_deallocate_null.cc: New.
1385c3d31fe1Smrg	* testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: New.
1386c3d31fe1Smrg	* testsuite/ext/array_allocator/check_deallocate_null.cc: New.
1387c3d31fe1Smrg	* testsuite/ext/debug_allocator/check_deallocate_null.cc: New.
1388c3d31fe1Smrg	* testsuite/ext/malloc_allocator/check_deallocate_null.cc: New.
1389c3d31fe1Smrg	* testsuite/ext/new_allocator/check_deallocate_null.cc: New.
1390c3d31fe1Smrg	* testsuite/ext/pool_allocator/check_deallocate_null.cc: New.
1391c3d31fe1Smrg
1392c3d31fe1Smrg	* testsuite/testsuite_allocator.h (check_new): Add instance argument.
1393c3d31fe1Smrg	* testsuite/ext/array_allocator/check_new.cc: New.
1394c3d31fe1Smrg
1395c3d31fe1Smrg2004-10-14  Paolo Carlini  <pcarlini@suse.de>
1396c3d31fe1Smrg
1397c3d31fe1Smrg	* include/ext/bitmap_allocator.h (bitmap_allocator::_Alloc_block):
1398c3d31fe1Smrg	Rename __unused to __M_unused.
1399c3d31fe1Smrg
1400c3d31fe1Smrg2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
1401c3d31fe1Smrg
1402c3d31fe1Smrg	* testsuite/ext/headers.cc: Add includes, compile only.
1403c3d31fe1Smrg	* testsuite/ext/hash_map.cc: Move to...
1404c3d31fe1Smrg	* testsuite/ext/hash_map/1.cc: ...here.
1405c3d31fe1Smrg	* testsuite/ext/14648.cc: Move to...
1406c3d31fe1Smrg	* testsuite/ext/hash_map/14648.cc: ...here.
1407c3d31fe1Smrg	* testsuite/ext/hash_map/instantiate.cc: Add.
1408c3d31fe1Smrg	* testsuite/ext/hash_set.cc: Move to...
1409c3d31fe1Smrg	* testsuite/ext/hash_set/1.cc: ...here.
1410c3d31fe1Smrg	* testsuite/ext/hash_set_explicit_instantiation.cc: Move to...
1411c3d31fe1Smrg	* testsuite/ext/hash_set/instantiate.cc: ...here.
1412c3d31fe1Smrg	* testsuite/ext/hash_check_construct_destroy.cc: Move to...
1413c3d31fe1Smrg	* testsuite/ext/hash_set/check_construct_destroy.cc: ...here.
1414c3d31fe1Smrg	* testsuite/ext/slist_check_construct_destroy.cc: Move to...
1415c3d31fe1Smrg	* testsuite/ext/slist/check_construct_destroy.cc: ...here.
1416c3d31fe1Smrg	* testsuite/ext/slist_explicit_instantiation.cc: Move to...
1417c3d31fe1Smrg	* testsuite/ext/slist/instantiate.cc: ...here.
1418c3d31fe1Smrg
1419c3d31fe1Smrg2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
1420c3d31fe1Smrg
1421c3d31fe1Smrg	* include/ext/mt_allocator.h: Tweaks.
1422c3d31fe1Smrg	* src/mt_allocator.cc: Same.
1423c3d31fe1Smrg
1424c3d31fe1Smrg2004-10-14  Dhruv Matani  <dhruvbird@gmx.net>
1425c3d31fe1Smrg
1426c3d31fe1Smrg	* ext/bitmap_allocator.h: Clean-up add/remove functions.
1427c3d31fe1Smrg	* src/bitmap_allocator.cc: New file. Contains the out-of-line
1428c3d31fe1Smrg	function definitions, static initialization of variables, and
1429c3d31fe1Smrg	explicit instantiations needed for the allocator.
1430c3d31fe1Smrg	* src/Makefile.am: Add.
1431c3d31fe1Smrg	* src/Makefile.in: Regenerate.
1432c3d31fe1Smrg	* config/linker.map.gnu: Add the necessary symbols.
1433c3d31fe1Smrg
1434c3d31fe1Smrg2004-10-13  Paolo Carlini  <pcarlini@suse.de>
1435c3d31fe1Smrg
1436c3d31fe1Smrg	* include/bits/basic_string.tcc (_S_create): Use consistently
1437c3d31fe1Smrg	the exponential policy, simplify.
1438c3d31fe1Smrg	* testsuite/performance/21_strings/string_append_2.cc: New.
1439c3d31fe1Smrg
1440c3d31fe1Smrg	* include/ext/array_allocator.h (allocate): Fix bad_alloc check.
1441c3d31fe1Smrg	* testsuite/ext/array_allocator/2.cc: Fix wrt 64-bit archs (in
1442c3d31fe1Smrg	that case sizeof(_Rep) == 24).
1443c3d31fe1Smrg
1444c3d31fe1Smrg2004-10-12  Paolo Carlini  <pcarlini@suse.de>
1445c3d31fe1Smrg
1446c3d31fe1Smrg	PR libstdc++/17948
1447c3d31fe1Smrg	* include/bits/stl_tree.h (erase(iterator, iterator)): Revert
1448c3d31fe1Smrg	wrong commit of 2004-10-07.
1449c3d31fe1Smrg
1450c3d31fe1Smrg2004-10-12  Scott Snyder  <snyder@fnal.gov>
1451c3d31fe1Smrg
1452c3d31fe1Smrg	PR libstdc++/17948
1453c3d31fe1Smrg	* testsuite/23_containers/set/modifiers/17948.cc: New.
1454c3d31fe1Smrg
1455c3d31fe1Smrg2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
1456c3d31fe1Smrg
1457c3d31fe1Smrg	* include/bits/stl_deque.h: Correct for over-long lines.
1458c3d31fe1Smrg
1459c3d31fe1Smrg2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
1460c3d31fe1Smrg
1461c3d31fe1Smrg	PR libstdc++/17937
1462c3d31fe1Smrg	* include/ext/mt_allocator.h (__pool::_M_destroy): New.
1463c3d31fe1Smrg	* src/mt_allocator.cc (__pool::~__pool): Change definitions to
1464c3d31fe1Smrg	_M_destroy.
1465c3d31fe1Smrg	* acconfig.h: Remove _GLIBCXX_USE___CXA_ATEXIT.
1466c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): Remove.
1467c3d31fe1Smrg	* configure.ac: Remove call to GLIBCXX_ENABLE_CXA_EXIT.
1468c3d31fe1Smrg	* configure: Regenerate.
1469c3d31fe1Smrg	* config/linker-map.gnu: Tweak exports.
1470c3d31fe1Smrg	* docs/html/ext/mt_allocator.html: Update docs.
1471c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-2.cc: Fix.
1472c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Fix.
1473c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Fix.
1474c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Fix.
1475c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Fix.
1476c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Fix.
1477c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Fix.
1478c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Fix.
1479c3d31fe1Smrg
1480c3d31fe1Smrg2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
1481c3d31fe1Smrg
1482c3d31fe1Smrg	PR libstdc++/16614 continued.
1483c3d31fe1Smrg	* include/ext/mt_allocator.h
1484c3d31fe1Smrg	(__per_type_pool_policy::_S_get_pool): Use saner defaults based on
1485c3d31fe1Smrg	specific type characteristics.
1486c3d31fe1Smrg	(__pool_base): Add constructor that takes a _Tune argument.
1487c3d31fe1Smrg	(__pool): Same.
1488c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-2.cc: Adjust default.
1489c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-4.cc: Same.
1490c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-3.cc: Same.
1491c3d31fe1Smrg
1492c3d31fe1Smrg2004-10-11  Joachim Kuebart  <kuebart@mathematik.uni-ulm.de>
1493c3d31fe1Smrg	    Paolo Carlini  <pcarlini@suse.de>
1494c3d31fe1Smrg
1495c3d31fe1Smrg	* src/pool_allocator.cc (__pool_alloc_base::_M_allocate_chunk):
1496c3d31fe1Smrg	Deal properly with exceptions thrown by ::operator new(size_t).
1497c3d31fe1Smrg	* testsuite/ext/pool_allocator/allocate_chunk.cc: New.
1498c3d31fe1Smrg
1499c3d31fe1Smrg	* include/ext/pool_allocator.h: Include <cstdlib>.
1500c3d31fe1Smrg
1501c3d31fe1Smrg2004-10-10  Benjamin Kosnik  <bkoz@redhat.com>
1502c3d31fe1Smrg
1503c3d31fe1Smrg	* include/bits/functexcept.h: Add guards.
1504c3d31fe1Smrg
1505c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_THREADS): Tweak test.
1506c3d31fe1Smrg	* configure: Regenerate.
1507c3d31fe1Smrg
1508c3d31fe1Smrg2004-10-10  Paolo Carlini  <pcarlini@suse.de>
1509c3d31fe1Smrg
1510c3d31fe1Smrg	* config/locale/gnu/monetary_members.cc (_S_construct_pattern):
1511c3d31fe1Smrg	Give __ret a default value, thus avoiding spurious warnings.
1512c3d31fe1Smrg
1513c3d31fe1Smrg	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
1514c3d31fe1Smrg	words or linux.words, otherwise exit.
1515c3d31fe1Smrg	* testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.
1516c3d31fe1Smrg
1517c3d31fe1Smrg2004-10-09  Paolo Carlini  <pcarlini@suse.de>
1518c3d31fe1Smrg
1519c3d31fe1Smrg	* include/std/std_memory.h (__get_temporary_buffer): Don't use
1520c3d31fe1Smrg	INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
1521c3d31fe1Smrg	platforms too.
1522c3d31fe1Smrg	* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
1523c3d31fe1Smrg	line numbers.
1524c3d31fe1Smrg
1525c3d31fe1Smrg2004-10-08  Benjamin Kosnik  <bkoz@redhat.com>
1526c3d31fe1Smrg
1527c3d31fe1Smrg	* acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
1528c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New.
1529c3d31fe1Smrg	* configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT.
1530c3d31fe1Smrg	* configure: Regenerate.
1531c3d31fe1Smrg	* src/mt_allocator.cc (__pool::~__pool): Make conditional on
1532c3d31fe1Smrg	_GLIBCXX_USE___CXA_ATEXIT macro.
1533c3d31fe1Smrg	* docs/html/ext/mt_allocator.html: Add note about deallocation.
1534c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks
1535c3d31fe1Smrg	with _GLIBCXX_USE___CXA_ATEXIT.
1536c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
1537c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
1538c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
1539c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
1540c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
1541c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
1542c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
1543c3d31fe1Smrg
1544c3d31fe1Smrg2004-10-07  Phil Edwards  <phil@codesourcery.com>
1545c3d31fe1Smrg
1546c3d31fe1Smrg	* testsuite/lib/libstdc++.exp:  Update list of undefined functions.
1547c3d31fe1Smrg
1548c3d31fe1Smrg2004-10-07  Paolo Carlini  <pcarlini@suse.de>
1549c3d31fe1Smrg
1550c3d31fe1Smrg	* include/bits/list.tcc (operator=): Avoid iterator postincrement.
1551c3d31fe1Smrg	* include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.
1552c3d31fe1Smrg
1553c3d31fe1Smrg2004-10-07  Benjamin Kosnik  <bkoz@redhat.com>
1554c3d31fe1Smrg
1555c3d31fe1Smrg	* include/tr1: New.
1556c3d31fe1Smrg	* include/tr1/array: New.
1557c3d31fe1Smrg	* include/Makefile.am (tr1_headers): New.
1558c3d31fe1Smrg	(stamp-tr1): New.
1559c3d31fe1Smrg	(install-headers): New.
1560c3d31fe1Smrg	(allstamped): Add stamp-tr1.
1561c3d31fe1Smrg
1562c3d31fe1Smrg	* include/ext/array_allocator.h: New.
1563c3d31fe1Smrg	* include/Makefile.am: Add.
1564c3d31fe1Smrg	* include/Makefile.in: Regenerate.
1565c3d31fe1Smrg	* testsuite/ext/array_allocator/1.cc: New.
1566c3d31fe1Smrg	* testsuite/ext/array_allocator/2.cc: New.
1567c3d31fe1Smrg
1568c3d31fe1Smrg2004-10-07  Richard Earnshaw  <rearnsha@arm.com>
1569c3d31fe1Smrg
1570c3d31fe1Smrg	* testsuite/lib/libstdc++.exp (libstdc++_exit): New proc.
1571c3d31fe1Smrg
1572c3d31fe1Smrg2004-10-07  Roger Sayle  <roger@eyesopen.com>
1573c3d31fe1Smrg
1574c3d31fe1Smrg	PR libstdc++/17850
1575c3d31fe1Smrg	* configure.ac: Newlib does not provide strtold.
1576c3d31fe1Smrg	* configure: Regenerate.
1577c3d31fe1Smrg
1578c3d31fe1Smrg2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
1579c3d31fe1Smrg
1580c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
1581c3d31fe1Smrg	(GLIBCXX_CONFIGURE_TESTSUITE): Use it.
1582c3d31fe1Smrg	* configure: Regenerated.
1583c3d31fe1Smrg	* testsuite/Makefile.am (CLEANFILES): Add TEST for
1584c3d31fe1Smrg	check-performance executables.
1585c3d31fe1Smrg	(stamp_thread): New.
1586c3d31fe1Smrg	(all-local): Use it.
1587c3d31fe1Smrg	* testsuite/Makefile.in: Regenerate.
1588c3d31fe1Smrg	* scripts/create_testsuite_files: Filter thread tests.
1589c3d31fe1Smrg
1590c3d31fe1Smrg	* testsuite/thread/pthread1.cc: Remove macro conditionals: this
1591c3d31fe1Smrg	file will only be run by thread enabled configurations.
1592c3d31fe1Smrg	* testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
1593c3d31fe1Smrg	* testsuite/thread/pthread6.cc: Same.
1594c3d31fe1Smrg	* testsuite/thread/pthread5.cc: Same.
1595c3d31fe1Smrg	* testsuite/thread/pthread4.cc: Same.
1596c3d31fe1Smrg	* testsuite/thread/pthread3.cc: Same.
1597c3d31fe1Smrg	* testsuite/thread/pthread2.cc: Same.
1598c3d31fe1Smrg
1599c3d31fe1Smrg	* testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
1600c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
1601c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
1602c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
1603c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here.
1604c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
1605c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
1606c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
1607c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.
1608c3d31fe1Smrg
1609c3d31fe1Smrg2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
1610c3d31fe1Smrg	    Paolo Carlini  <pcarlini@suse.de>
1611c3d31fe1Smrg
1612c3d31fe1Smrg	PR libstdc++/17780
1613c3d31fe1Smrg	* src/mt_allocator.cc (__pool<true>::_M_reserve_block): Revert
1614c3d31fe1Smrg	to old locking order.
1615c3d31fe1Smrg
1616c3d31fe1Smrg2004-10-06  Paolo Carlini  <pcarlini@suse.de>
1617c3d31fe1Smrg
1618c3d31fe1Smrg	* include/std/std_sstream.h (_M_sync): When the caller is
1619c3d31fe1Smrg	setbuf, don't trust _M_string.capacity() to be the size of
1620c3d31fe1Smrg	the buffer area, use _M_string.size() in this case.
1621c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: New.
1622c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1623c3d31fe1Smrg
1624c3d31fe1Smrg	* include/bits/sstream.tcc (overflow): Avoid calling string::assign
1625c3d31fe1Smrg	unnecessarily when the current _M_string is empty.
1626c3d31fe1Smrg
1627c3d31fe1Smrg2004-10-06  Paolo Carlini  <pcarlini@suse.de>
1628c3d31fe1Smrg
1629c3d31fe1Smrg	* include/bits/stl_algo.h (__reverse(bidirectional_iterator_tag)):
1630c3d31fe1Smrg	Avoid iterator postincrement.
1631c3d31fe1Smrg	(__rotate): Likewise.
1632c3d31fe1Smrg
1633c3d31fe1Smrg	* include/bits/stl_algo.h: Minor formatting tweaks.
1634c3d31fe1Smrg
1635c3d31fe1Smrg2004-10-06  Christopher Jefferson <caj@cs.york.ac.uk>
1636c3d31fe1Smrg
1637c3d31fe1Smrg	* include/bits/stl_algo.h (__reverse(random_access_iterator_tag)):
1638c3d31fe1Smrg	Avoid iterator postincrement; fix swapping middle element with
1639c3d31fe1Smrg	itself on odd-length inputs.
1640c3d31fe1Smrg
1641c3d31fe1Smrg2004-10-05  Benjamin Kosnik  <bkoz@redhat.com>
1642c3d31fe1Smrg
1643c3d31fe1Smrg	PR libstdc++/17780
1644c3d31fe1Smrg	* include/ext/mt_allocator.h (__pool_base::_Tune): Add default
1645c3d31fe1Smrg	options as compile-time constant enums.
1646c3d31fe1Smrg	(__pool_base::_Tune::is_default): New.
1647c3d31fe1Smrg	(__pool_base::_Block_address): New.
1648c3d31fe1Smrg	(__pool_base): Rearrange data members.
1649c3d31fe1Smrg	(__pool::_M_reserve_memory): To _M_reserve_block.
1650c3d31fe1Smrg	(__pool::_M_reclaim_memory): To _M_reclaim_block.
1651c3d31fe1Smrg	(__pool::_Bin_record): Add _Block_address data member.
1652c3d31fe1Smrg	(__pool<false>): Add _M_thread_freelist_initial.
1653c3d31fe1Smrg	(__pool::~__pool): Declare.
1654c3d31fe1Smrg	(__common_pool_policy): Move static data member to...
1655c3d31fe1Smrg	(__common_pool_policy::_S_get_pool): ...here, make static local.
1656c3d31fe1Smrg	(__per_type_pool_policy): Move static data member to...
1657c3d31fe1Smrg	(__per_type_pool_policy::_S_get_pool): ...here, make static local.
1658c3d31fe1Smrg	(__mt_alloc::__mt_alloc): Call __policy_type::_S_get_pool.
1659c3d31fe1Smrg	Remove static member definitions. Use define for __default_policy.
1660c3d31fe1Smrg	* src/mt_allocator.cc: Same.
1661c3d31fe1Smrg	* config/linker-map.gnu: Don't export _S_get_pool. Renames.
1662c3d31fe1Smrg	* testsuite/ext/new_allocator: New.
1663c3d31fe1Smrg	* testsuite/ext/new_allocator/instantiate.cc: New.
1664c3d31fe1Smrg	* testsuite/ext/new_allocator/check_new.cc: New.
1665c3d31fe1Smrg	* testsuite/ext/new_allocator/deallocate_global.cc: New.
1666c3d31fe1Smrg	* testsuite/ext/new_allocator/deallocate_local.cc: New.
1667c3d31fe1Smrg	* testsuite/ext/mt_allocator/instantiate.cc: Instantiate all
1668c3d31fe1Smrg	template arguments.
1669c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-1.cc: New.
1670c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-2.cc: New.
1671c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-3.cc: New.
1672c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_global-4.cc: New.
1673c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-1.cc: New.
1674c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-2.cc: New.
1675c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-3.cc: New.
1676c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate_local-4.cc: New.
1677c3d31fe1Smrg	* testsuite/ext/mt_allocator/deallocate.cc: New.
1678c3d31fe1Smrg	* testsuite/ext/malloc_allocator/deallocate.cc: New.
1679c3d31fe1Smrg	* testsuite/ext/malloc_allocator/deallocate_global.cc: New.
1680c3d31fe1Smrg	* testsuite/ext/malloc_allocator/deallocate_local.cc: New.
1681c3d31fe1Smrg
1682c3d31fe1Smrg2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
1683c3d31fe1Smrg
1684c3d31fe1Smrg	* configure.host (abi_baseline_pair): Define for s390-*-linux* and
1685c3d31fe1Smrg	s390x-*-linux*.
1686c3d31fe1Smrg	* config/abi/s390-linux-gnu/baseline_symbols.txt: Add missing symbols.
1687c3d31fe1Smrg	* config/abi/s390x-linux-gnu/baseline_symbols.txt: New file.
1688c3d31fe1Smrg
1689c3d31fe1Smrg2004-10-05  Christopher Jefferson  <caj@cs.york.ac.uk>
1690c3d31fe1Smrg
1691c3d31fe1Smrg	* include/bits/stl_algobase.h (iter_swap): delegate to swap via
1692c3d31fe1Smrg	__iter_swap when iterator's value_types are equal.
1693c3d31fe1Smrg	(struct __iter_swap): New.
1694c3d31fe1Smrg
1695c3d31fe1Smrg2004-10-04  Benjamin Kosnik  <bkoz@redhat.com>
1696c3d31fe1Smrg
1697c3d31fe1Smrg	* configure.ac (libtool_VERSION): To 6:3:0.
1698c3d31fe1Smrg	* configure: Regnerate.
1699c3d31fe1Smrg	* testsuite/testsuite_abi.cc (check_version): Add 3.4.3.
1700c3d31fe1Smrg
1701c3d31fe1Smrg2004-10-04  Roger Sayle  <roger@eyesopen.com>
1702c3d31fe1Smrg	    Eric Botcazou  <ebotcazou@libertysurf.fr>
1703c3d31fe1Smrg
1704c3d31fe1Smrg	PR libstdc++/17505
1705c3d31fe1Smrg	* config/linker-map.gnu: Synchronize the current list of stub
1706c3d31fe1Smrg	functions from libmath.
1707c3d31fe1Smrg
1708c3d31fe1Smrg2004-10-03  Roger Sayle  <roger@eyesopen.com>
1709c3d31fe1Smrg
1710c3d31fe1Smrg	* config/locale/generic/c_locale.cc (__convert_to_v): Use
1711c3d31fe1Smrg	_GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
1712c3d31fe1Smrg	Likewise, use _GLIBCXX_HAVE_STRTOLD instead of _GLIBCXX_USE_C99
1713c3d31fe1Smrg	to check for presence of strtold.
1714c3d31fe1Smrg
1715c3d31fe1Smrg2004-10-03  Paolo Carlini  <pcarlini@suse.de>
1716c3d31fe1Smrg
1717c3d31fe1Smrg	* include/bits/stl_list.h: Trivial formatting fixes.
1718c3d31fe1Smrg	* include/bits/stl_tree.h: Likewise.
1719c3d31fe1Smrg
1720c3d31fe1Smrg2004-10-03  Paolo Carlini  <pcarlini@suse.de>
1721c3d31fe1Smrg
1722c3d31fe1Smrg	* include/bits/sstream.tcc (seekpos): In case of success, just
1723c3d31fe1Smrg	return __sp.
1724c3d31fe1Smrg
1725c3d31fe1Smrg2004-10-01  Paolo Carlini  <pcarlini@suse.de>
1726c3d31fe1Smrg
1727c3d31fe1Smrg	* include/bits/sstream.tcc (pbackfail): Implement correctly
1728c3d31fe1Smrg	27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
1729c3d31fe1Smrg	write in the buffer.
1730c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
1731c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1732c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1733c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1734c3d31fe1Smrg	* testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.
1735c3d31fe1Smrg
1736c3d31fe1Smrg2004-10-01  Paolo Carlini  <pcarlini@suse.de>
1737c3d31fe1Smrg
1738c3d31fe1Smrg	* include/bits/sstream.tcc (seekpos): Minor rearrangement of two
1739c3d31fe1Smrg	conditionals consistently with seekoff.
1740c3d31fe1Smrg	* include/std/std_sstream.h (setbuf): Avoid a string temporary.
1741c3d31fe1Smrg	(_M_sync): Simplify a bit, clean-up comment.
1742c3d31fe1Smrg
1743c3d31fe1Smrg2004-09-30  Paolo Carlini  <pcarlini@suse.de>
1744c3d31fe1Smrg
1745c3d31fe1Smrg	PR libstdc++/10975 (DR 453)
1746c3d31fe1Smrg	* include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
1747c3d31fe1Smrg	and __off == 0.
1748c3d31fe1Smrg	* docs/html/ext/howto.html: Add an entry for DR 453.
1749c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
1750c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1751c3d31fe1Smrg	* testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
1752c3d31fe1Smrg	* testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1753c3d31fe1Smrg	* testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1754c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
1755c3d31fe1Smrg	move to...
1756c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
1757c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
1758c3d31fe1Smrg	move to...
1759c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.
1760c3d31fe1Smrg
1761c3d31fe1Smrg2004-09-29  Paolo Carlini  <pcarlini@suse.de>
1762c3d31fe1Smrg
1763c3d31fe1Smrg	* include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
1764c3d31fe1Smrg	Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
1765c3d31fe1Smrg	(str()): Slightly tweak, protect from pptr() == 0.
1766c3d31fe1Smrg	(_M_update_egptr()): Likewise.
1767c3d31fe1Smrg	* include/bits/sstream.tcc (ssekoff, seekpos): In order to check
1768c3d31fe1Smrg	for an empty buffer use __beg instead of _M_string.capacity().
1769c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
1770c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1771c3d31fe1Smrg
1772c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
1773c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1774c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
1775c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1776c3d31fe1Smrg
1777c3d31fe1Smrg2004-09-29  Paolo Carlini  <pcarlini@suse.de>
1778c3d31fe1Smrg	    Benjamin Kosnik  <bkoz@redhat.com>
1779c3d31fe1Smrg
1780c3d31fe1Smrg	* testsuite/testsuite_io.h (class constraint_buf): New, extended
1781c3d31fe1Smrg	and templatized version of constraint_filebuf; add typedefs for
1782c3d31fe1Smrg	streambuf/stringbuf/filebuf and wchar_t counterparts.
1783c3d31fe1Smrg
1784c3d31fe1Smrg2004-09-28  Paolo Carlini  <pcarlini@suse.de>
1785c3d31fe1Smrg
1786c3d31fe1Smrg	PR libstdc++/16612
1787c3d31fe1Smrg	* include/bits/basic_string.h (_M_dispose, _M_refcopy,
1788c3d31fe1Smrg	basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
1789c3d31fe1Smrg	don't deal with _S_empty_rep.
1790c3d31fe1Smrg	* include/bits/basic_string.tcc (_S_construct, _M_destroy,
1791c3d31fe1Smrg	_M_leak_hard, _M_mutate): Likewise.
1792c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
1793c3d31fe1Smrg	* acconfig.h: Add corresponding undef.
1794c3d31fe1Smrg	* configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
1795c3d31fe1Smrg	* docs/html/configopts.html: Document --enable-fully-dynamic-string.
1796c3d31fe1Smrg	* configure: Regenerate.
1797c3d31fe1Smrg	* config.h.in: Likewise.
1798c3d31fe1Smrg
1799c3d31fe1Smrg2004-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1800c3d31fe1Smrg            Paolo Carlini  <pcarlini@suse.de>
1801c3d31fe1Smrg
1802c3d31fe1Smrg	* testsuite/21_strings/basic_string/operations/char/1.cc: New.
1803c3d31fe1Smrg	* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
1804c3d31fe1Smrg	* testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
1805c3d31fe1Smrg	* testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
1806c3d31fe1Smrg	New.
1807c3d31fe1Smrg
1808c3d31fe1Smrg2004-09-28  Paolo Carlini  <pcarlini@suse.de>
1809c3d31fe1Smrg
1810c3d31fe1Smrg	* README: Remove obsolete entry about include/c_shadow.
1811c3d31fe1Smrg
1812c3d31fe1Smrg2004-09-24  H.J. Lu  <hongjiu.lu@intel.com>
1813c3d31fe1Smrg
1814c3d31fe1Smrg	PR libstdc++/17469
1815c3d31fe1Smrg	* testsuite/lib/libstdc++.exp: Don't use global ld_library_path.
1816c3d31fe1Smrg
1817c3d31fe1Smrg2004-09-24  Paolo Carlini  <pcarlini@suse.de>
1818c3d31fe1Smrg
1819c3d31fe1Smrg	* src/localename.cc (locale::locale(const char*)): Minor tweaks:
1820c3d31fe1Smrg	rename a variable, move an assignment.
1821c3d31fe1Smrg	(locale::_Impl::_Impl(const char*, size_t)): Likewise, minor tweak.
1822c3d31fe1Smrg
1823c3d31fe1Smrg2004-09-24  Paul Brook  <paul@codesourcery.com>
1824c3d31fe1Smrg
1825c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL more arm
1826c3d31fe1Smrg	simulator targets.
1827c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
1828c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Ditto.
1829c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Ditto.
1830c3d31fe1Smrg	* testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Ditto.
1831c3d31fe1Smrg	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Ditto.
1832c3d31fe1Smrg	* testsuite/ext/stdio_filebuf/char/10063-3.cc: Ditto.
1833c3d31fe1Smrg
1834c3d31fe1Smrg2004-09-23  Zack Weinberg  <zack@codesourcery.com>
1835c3d31fe1Smrg
1836c3d31fe1Smrg	* testsuite/20_util/memory/auto_ptr/assign_neg.cc
1837c3d31fe1Smrg	* testsuite/23_containers/map/operators/1_neg.cc
1838c3d31fe1Smrg	* testsuite/23_containers/set/operators/1_neg.cc:
1839c3d31fe1Smrg	Update locations and/or regexps of dg-error markers.
1840c3d31fe1Smrg
1841c3d31fe1Smrg2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
1842c3d31fe1Smrg
1843c3d31fe1Smrg	* include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
1844c3d31fe1Smrg	Add rule to build ${host_builddir}/gthr-tpf.h.
1845c3d31fe1Smrg	* include/Makefile.in: Regenerate.
1846c3d31fe1Smrg
1847c3d31fe1Smrg2004-09-23  Paolo Carlini  <pcarlini@suse.de>
1848c3d31fe1Smrg	    Magnus Fromreide  <magfr@lysator.liu.se>
1849c3d31fe1Smrg
1850c3d31fe1Smrg	* include/bits/boost_concept_check.h (struct _SequenceConcept):
1851c3d31fe1Smrg	Remove wrong requirement, i.e., not present in Table 67.
1852c3d31fe1Smrg
1853c3d31fe1Smrg2004-09-21  Paolo Carlini  <pcarlini@suse.de>
1854c3d31fe1Smrg
1855c3d31fe1Smrg	PR libstdc++/12882 (cont)
1856c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
1857c3d31fe1Smrg	* configure: Regenerate.
1858c3d31fe1Smrg	* config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
1859c3d31fe1Smrg	_GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
1860c3d31fe1Smrg	trivial showmanyc for large files too.
1861c3d31fe1Smrg
1862c3d31fe1Smrg2004-09-17  Jonathan Wakely  <redi@gcc.gnu.org>
1863c3d31fe1Smrg
1864c3d31fe1Smrg	* include/bits/stl_algo.h (remove): Remove too restrictive
1865c3d31fe1Smrg	concept-check.
1866c3d31fe1Smrg
1867c3d31fe1Smrg2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1868c3d31fe1Smrg
1869c3d31fe1Smrg	* include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
1870c3d31fe1Smrg	as per Nathan's original suggestion.
1871c3d31fe1Smrg
1872c3d31fe1Smrg2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1873c3d31fe1Smrg
1874c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
1875c3d31fe1Smrg	up a bit.
1876c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-2.cc: Likewise.
1877c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-3.cc: Likewise.
1878c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-4.cc: Likewise.
1879c3d31fe1Smrg
1880c3d31fe1Smrg2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1881c3d31fe1Smrg	    Andrea Arcangeli  <andrea@suse.de>
1882c3d31fe1Smrg
1883c3d31fe1Smrg	* config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
1884c3d31fe1Smrg	call unnecessarily sync, that is fflush: the library, since 3.4.0
1885c3d31fe1Smrg	does not use buffered fread/fwrite.
1886c3d31fe1Smrg	* include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.
1887c3d31fe1Smrg
1888c3d31fe1Smrg2004-09-15  Mark Mitchell  <mark@codesourcery.com>
1889c3d31fe1Smrg
1890c3d31fe1Smrg	* config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
1891c3d31fe1Smrg	Define.
1892c3d31fe1Smrg	* config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
1893c3d31fe1Smrg	Define.
1894c3d31fe1Smrg	* libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
1895c3d31fe1Smrg	(__cxa_vec_new): Use it.
1896c3d31fe1Smrg	(__cxa_vec_new2): Likewise.
1897c3d31fe1Smrg	(__cxa_vec_new3): Likewise.
1898c3d31fe1Smrg	(__cxa_vec_cdtor): Likewise.
1899c3d31fe1Smrg	(__cxa_vec_cctor): Likeiwse.
1900c3d31fe1Smrg	(__cxa_vec_dtor): Likewise.
1901c3d31fe1Smrg	(__cxa_vec_cleanup): Likewise.
1902c3d31fe1Smrg	(__cxa_vec_delete2): Likewise.
1903c3d31fe1Smrg	(__cxa_vec_delete3): Likewise.
1904c3d31fe1Smrg	* libsupc++/vec.cc (__cxa_vec_new): Likewise.
1905c3d31fe1Smrg	(__cxa_vec_new2): Likewise.
1906c3d31fe1Smrg	(__cxa_vec_new3): Likewise.
1907c3d31fe1Smrg	(__cxa_vec_cdtor): Likewise.
1908c3d31fe1Smrg	(__cxa_vec_cctor): Likeiwse.
1909c3d31fe1Smrg	(__cxa_vec_dtor): Likewise.
1910c3d31fe1Smrg	(__cxa_vec_cleanup): Likewise.
1911c3d31fe1Smrg	(__cxa_vec_delete2): Likewise.
1912c3d31fe1Smrg	(__cxa_vec_delete3): Likewise.
1913c3d31fe1Smrg	(__aeabi_vec_ctor_nocookie_nodtor): New function.
1914c3d31fe1Smrg	(__aeabi_vec_ctor_cookie_nodtor): Likewise.
1915c3d31fe1Smrg	(__aeabi_vec_cctor_nocookie_nodtor): Likewise.
1916c3d31fe1Smrg	(__aeabi_vec_new_cookie_noctor): Likewise.
1917c3d31fe1Smrg	(__aeabi_vec_new_nocookie): Likewise.
1918c3d31fe1Smrg	(__aeabi_vec_new_cookie_nodtor): Likewise.
1919c3d31fe1Smrg	(__aeabi_vec_new_cookie): Likewise.
1920c3d31fe1Smrg	(__aeabi_vec_dtor): Likewise.
1921c3d31fe1Smrg	(__aeabi_vec_dtor_cookie): Likewise.
1922c3d31fe1Smrg	(__aeabi_vec_delete): Likewise.
1923c3d31fe1Smrg	(__aeabi_vec_delete3): Likewise.
1924c3d31fe1Smrg	(__aeabi_vec_delete3_nodtor): Likewise.
1925c3d31fe1Smrg	(__aeabi_atexit): Likewise.
1926c3d31fe1Smrg
1927c3d31fe1Smrg2004-09-14  Nathan Myers  <ncm@cantrip.org>
1928c3d31fe1Smrg
1929c3d31fe1Smrg	* include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
1930c3d31fe1Smrg	for 11722: copy can replace move; the common case is __avail == 0.
1931c3d31fe1Smrg
1932c3d31fe1Smrg2004-09-14  Paolo Carlini  <pcarlini@suse.de>
1933c3d31fe1Smrg
1934c3d31fe1Smrg	* include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
1935c3d31fe1Smrg	to __is_scalar, more clear and consistent with "tr1" naming.
1936c3d31fe1Smrg	* include/bits/stl_algobase.h: Update consistently throughout.
1937c3d31fe1Smrg
1938c3d31fe1Smrg2004-09-13  Paolo Carlini  <pcarlini@suse.de>
1939c3d31fe1Smrg
1940c3d31fe1Smrg	PR libstdc++/11722
1941c3d31fe1Smrg	* include/std/std_fstream.h (xsgetn): Declare only.
1942c3d31fe1Smrg	* include/bits/fstream.tcc (xsgetn): Define, optimize for the
1943c3d31fe1Smrg	always_noconv() case: when __n > __buflen, copy the available
1944c3d31fe1Smrg	buffer and issue a direct read.
1945c3d31fe1Smrg	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.
1946c3d31fe1Smrg
1947c3d31fe1Smrg	* include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
1948c3d31fe1Smrg	conditional.
1949c3d31fe1Smrg
1950c3d31fe1Smrg2004-09-13  Hans-Peter Nilsson  <hp@bitrange.com>
1951c3d31fe1Smrg
1952c3d31fe1Smrg	* testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
1953c3d31fe1Smrg	libstdc++_maybe_build_wrapper instead of using local code.
1954c3d31fe1Smrg
1955c3d31fe1Smrg2004-09-08  Benjamin Kosnik  <bkoz@redhat.com>
1956c3d31fe1Smrg
1957c3d31fe1Smrg	* config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
1958c3d31fe1Smrg
1959c3d31fe1Smrg2004-09-03  Jan Beulich  <jbeulich@novell.com>
1960c3d31fe1Smrg
1961c3d31fe1Smrg	* crossconfig.m4: Add NetWare as a target.
1962c3d31fe1Smrg	* configure: Regenerate.
1963c3d31fe1Smrg
1964c3d31fe1Smrg2004-09-02  Mark Mitchell  <mark@codesourcery.com>
1965c3d31fe1Smrg
1966c3d31fe1Smrg	* libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
1967c3d31fe1Smrg	defined.
1968c3d31fe1Smrg
1969c3d31fe1Smrg2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1970c3d31fe1Smrg	    Simon Richter  <Simon.Richter@hogyros.de>
1971c3d31fe1Smrg
1972c3d31fe1Smrg	PR libstdc++/16715
1973c3d31fe1Smrg	* include/bits/istream.tcc: Add extern template for iostream
1974c3d31fe1Smrg	char and wchar_t instantiations.
1975c3d31fe1Smrg
1976c3d31fe1Smrg2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1977c3d31fe1Smrg	    Leland Wang  <llwang@infor.org>
1978c3d31fe1Smrg
1979c3d31fe1Smrg	PR libstdc++/17259
1980c3d31fe1Smrg	* include/ext/ropeimpl.h (rope::_S_compare): Use
1981c3d31fe1Smrg	_Rope_constants::_S_leaf.
1982c3d31fe1Smrg
1983c3d31fe1Smrg2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1984c3d31fe1Smrg
1985c3d31fe1Smrg	PR libstdc++/16848
1986c3d31fe1Smrg	* include/Makefile.am (ext_headers): Remove demangle.h.
1987c3d31fe1Smrg	* include/Makefile.in: Regenerate.
1988c3d31fe1Smrg	* include/ext/demangle.h: Remove.
1989c3d31fe1Smrg
1990c3d31fe1Smrg2004-09-01  Benjamin Kosnik  <bkoz@redhat.com>
1991c3d31fe1Smrg
1992c3d31fe1Smrg	PR libstdc++/16614
1993c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_base): Not type dependent,
1994c3d31fe1Smrg	split into..
1995c3d31fe1Smrg	(__pool): New, specialize.
1996c3d31fe1Smrg	(__common_pool): New, static bits here.
1997c3d31fe1Smrg	(__per_type_pool): New, and here.
1998c3d31fe1Smrg	(__mt_alloc_base): New.
1999c3d31fe1Smrg	(__mt_alloc): Add template parameter, inherit from it.
2000c3d31fe1Smrg	* src/allocator.cc: Split this...
2001c3d31fe1Smrg	* src/allocator-inst.cc: And this...
2002c3d31fe1Smrg	* src/pool_allocator.cc: ...into this.
2003c3d31fe1Smrg	* src/mt_allocator.cc: ... and this. Add definitions for
2004c3d31fe1Smrg	__mt_base.
2005c3d31fe1Smrg	* src/Makefile.am (sources): Split allocator.cc to
2006c3d31fe1Smrg	pool_allocator.cc and mt_allocator.cc.
2007c3d31fe1Smrg	* src/Makefile.in: Regenerate.
2008c3d31fe1Smrg	* config/linker-map.gnu: Add symbols.
2009c3d31fe1Smrg	* docs/html/ext/mt_allocator.html: Document new design.
2010c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-1.cc: New.
2011c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-2.cc: New.
2012c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-3.cc: New.
2013c3d31fe1Smrg	* testsuite/ext/mt_allocator/tune-4.cc: New.
2014c3d31fe1Smrg
2015c3d31fe1Smrg	* testsuite/testsuite_allocator.h (__gnu_test::check_new): New.
2016c3d31fe1Smrg	* testsuite/ext/allocators.cc: Use check_new, split into...
2017c3d31fe1Smrg	* testsuite/ext/mt_allocator/check_new.cc: this.
2018c3d31fe1Smrg	* testsuite/ext/pool_allocator/check_new.cc: this.
2019c3d31fe1Smrg	* testsuite/ext/malloc_allocator/check_new.cc: this.
2020c3d31fe1Smrg	* testsuite/ext/debug_allocator/check_new.cc: this.
2021c3d31fe1Smrg	* testsuite/ext/mt_allocator/instantiate.cc: this.
2022c3d31fe1Smrg	* testsuite/ext/pool_allocator/instantiate.cc: this.
2023c3d31fe1Smrg	* testsuite/ext/malloc_allocator/instantiate.cc: this.
2024c3d31fe1Smrg	* testsuite/ext/debug_allocator/instantiate.cc: this.
2025c3d31fe1Smrg
2026c3d31fe1Smrg2004-08-30  Phil Edwards  <phil@codesourcery.com>
2027c3d31fe1Smrg
2028c3d31fe1Smrg	* docs/html/install.html:  Update locales list (from Paolo).
2029c3d31fe1Smrg	Remove other redundant information and point to the GCC install
2030c3d31fe1Smrg	documentation.
2031c3d31fe1Smrg
2032c3d31fe1Smrg2004-08-30  Benjamin Kosnik  <bkoz@redhat.com>
2033c3d31fe1Smrg
2034c3d31fe1Smrg	* include/ext/pool_allocator.h: Rename __pool_base to
2035c3d31fe1Smrg	__pool_alloc_base.
2036c3d31fe1Smrg	* src/allocator.cc: Same.
2037c3d31fe1Smrg	* config/linker-map.gnu: Same.
2038c3d31fe1Smrg
2039c3d31fe1Smrg2004-08-30  Paolo Carlini  <pcarlini@suse.de>
2040c3d31fe1Smrg	    Kenneth C. Schalk  <ken@xorian.net>
2041c3d31fe1Smrg
2042c3d31fe1Smrg	PR libstdc++/17215
2043c3d31fe1Smrg	* config/io/basic_file_stdio.cc (__basic_file<char>::close()):
2044c3d31fe1Smrg	Check the return value of fclose/sync, loop on EINTR.
2045c3d31fe1Smrg	(__basic_file<char>::sys_open): Likewise, for sync.
2046c3d31fe1Smrg
2047c3d31fe1Smrg2004-08-29  Paolo Carlini  <pcarlini@suse.de>
2048c3d31fe1Smrg
2049c3d31fe1Smrg	* include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
2050c3d31fe1Smrg	case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
2051c3d31fe1Smrg	and 7.23.3.5), two if !_GLIBCXX_USE_C99.
2052c3d31fe1Smrg	* testsuite/22_locale/time_get/get_time/char/4.cc: New.
2053c3d31fe1Smrg	* testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2054c3d31fe1Smrg
2055c3d31fe1Smrg2004-08-27  Jason Merrill  <jason@redhat.com>
2056c3d31fe1Smrg
2057c3d31fe1Smrg	PR c++/13684
2058c3d31fe1Smrg	* libsupc++/guard.cc (static_mutex): Internal class implementing a
2059c3d31fe1Smrg	recursive mutex which controls initialization of local statics.
2060c3d31fe1Smrg	(__gnu_cxx::recursive_init): New exception class.
2061c3d31fe1Smrg	(__cxa_guard_acquire): Deal with locking and recursion detection.
2062c3d31fe1Smrg	(acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
2063c3d31fe1Smrg
2064c3d31fe1Smrg2004-08-27  Matthias Klose  <doko@debian.org>
2065c3d31fe1Smrg
2066c3d31fe1Smrg	* configure.host: For mips*-*-linux* update cpu_include_dir
2067c3d31fe1Smrg	after atomicity_dir is set.
2068c3d31fe1Smrg
2069c3d31fe1Smrg2004-08-27  Matthias Klose  <doko@debian.org>
2070c3d31fe1Smrg
2071c3d31fe1Smrg	* config/abi/arm-linux-gnu/baseline_symbols.txt: New.
2072c3d31fe1Smrg	* config/abi/mips-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2073c3d31fe1Smrg	* configure.host: Set abi_baseline_pair for arm*-*-linux* and
2074c3d31fe1Smrg	mips*-*-linux*.
2075c3d31fe1Smrg
2076c3d31fe1Smrg2004-08-27  Paolo Carlini  <pcarlini@suse.de>
2077c3d31fe1Smrg
2078c3d31fe1Smrg	* testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: New.
2079c3d31fe1Smrg	* testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
2080c3d31fe1Smrg	* testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
2081c3d31fe1Smrg	* testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
2082c3d31fe1Smrg	* testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
2083c3d31fe1Smrg
2084c3d31fe1Smrg	* testsuite/27_io/manipulators/adjustfield/char/1.cc: Minor
2085c3d31fe1Smrg	formatting fixes.
2086c3d31fe1Smrg	* testsuite/27_io/manipulators/adjustfield/char/2.cc: Likewise.
2087c3d31fe1Smrg	* testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
2088c3d31fe1Smrg	* testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
2089c3d31fe1Smrg	* testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
2090c3d31fe1Smrg
2091c3d31fe1Smrg2004-08-25  Paolo Carlini  <pcarlini@suse.de>
2092c3d31fe1Smrg
2093c3d31fe1Smrg	PR libstdc++/17038 (partial)
2094c3d31fe1Smrg	* include/bits/locale_facets.tcc (time_put<>::do_put): Increase
2095c3d31fe1Smrg	__maxlen to 128.
2096c3d31fe1Smrg	* include/bits/locale_facets.h (class __timepunct): Add FIXME
2097c3d31fe1Smrg	comment about _M_put.
2098c3d31fe1Smrg	* config/locale/generic/time_members.cc (_M_put): Always null
2099c3d31fe1Smrg	terminate __s.
2100c3d31fe1Smrg	* config/locale/gnu/time_members.cc (_M_put): Likewise.
2101c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/17038.cc: New.
2102c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
2103c3d31fe1Smrg
2104c3d31fe1Smrg2004-08-24  Paolo Carlini  <pcarlini@suse.de>
2105c3d31fe1Smrg
2106c3d31fe1Smrg	* testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: New.
2107c3d31fe1Smrg	* testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
2108c3d31fe1Smrg	* testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
2109c3d31fe1Smrg	* testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
2110c3d31fe1Smrg	* testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
2111c3d31fe1Smrg	* testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
2112c3d31fe1Smrg
2113c3d31fe1Smrg	* testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Trim excess
2114c3d31fe1Smrg	newlines.
2115c3d31fe1Smrg	* testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
2116c3d31fe1Smrg
2117c3d31fe1Smrg2004-08-22  Matthias Klose  <doko@debian.org>
2118c3d31fe1Smrg
2119c3d31fe1Smrg	* config/abi/m68k-linux-gnu/baseline_symbols.txt: New.
2120c3d31fe1Smrg	* config/abi/sparc-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2121c3d31fe1Smrg
2122c3d31fe1Smrg2004-08-23  Paolo Carlini  <pcarlini@suse.de>
2123c3d31fe1Smrg
2124c3d31fe1Smrg	* configure.ac: Specify version 1.9.1 in AM_INIT_AUTOMAKE.
2125c3d31fe1Smrg	* aclocal.m4: Regenerate with automake-1.9.1.
2126c3d31fe1Smrg	* configure: Regenerate.
2127c3d31fe1Smrg	* Makefile.in: Likewise.
2128c3d31fe1Smrg	* include/Makefile.in: Likewise.
2129c3d31fe1Smrg	* libmath/Makefile.in: Likewise.
2130c3d31fe1Smrg	* libsupc++/Makefile.in: Likewise.
2131c3d31fe1Smrg	* po/Makefile.in: Likewise.
2132c3d31fe1Smrg	* src/Makefile.in: Likewise.
2133c3d31fe1Smrg	* testsuite/Makefile.in: Likewise.
2134c3d31fe1Smrg
2135c3d31fe1Smrg2004-08-22  Paolo Carlini  <pcarlini@suse.de>
2136c3d31fe1Smrg
2137c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_put<>::do_put(bool)): Cast
2138c3d31fe1Smrg	to a signed type, long according to the resolution of DR 359.
2139c3d31fe1Smrg	* testsuite/22_locale/num_put/put/char/9.cc: New.
2140c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/9.cc: New.
2141c3d31fe1Smrg
2142c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_put<>::do_put(const void*)):
2143c3d31fe1Smrg	Simplify a bit: no need to clear showpos.
2144c3d31fe1Smrg
2145c3d31fe1Smrg2004-08-21  Paolo Carlini  <pcarlini@suse.de>
2146c3d31fe1Smrg
2147c3d31fe1Smrg	* include/bits/char_traits.h (struct _Char_traits_match): Remove,
2148c3d31fe1Smrg	unused.
2149c3d31fe1Smrg
2150c3d31fe1Smrg2004-08-21  Paolo Carlini  <pcarlini@suse.de>
2151c3d31fe1Smrg
2152c3d31fe1Smrg	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Use proper
2153c3d31fe1Smrg	wchar_t	type for the fill argument; minor formatting tweaks.
2154c3d31fe1Smrg	* testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2155c3d31fe1Smrg	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2156c3d31fe1Smrg	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2157c3d31fe1Smrg	* testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2158c3d31fe1Smrg	* testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2159c3d31fe1Smrg	* testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2160c3d31fe1Smrg
2161c3d31fe1Smrg2004-08-21  Paolo Carlini  <pcarlini@suse.de>
2162c3d31fe1Smrg
2163c3d31fe1Smrg	* include/bits/basic_ios.tcc (basic_ios<>::copyfmt): Don't deal
2164c3d31fe1Smrg	with _M_word != _M_local_word two times, redundantly.
2165c3d31fe1Smrg
2166c3d31fe1Smrg2004-08-20  Jason Merrill  <jason@redhat.com>
2167c3d31fe1Smrg
2168c3d31fe1Smrg	* include/Makefile.am (${host_builddir}/gthr.h): Don't add
2169c3d31fe1Smrg	_GLIBCXX_ to #pragma lines.
2170c3d31fe1Smrg	* include/Makefile.in: Update.
2171c3d31fe1Smrg
2172c3d31fe1Smrg2004-08-20  Paolo Carlini  <pcarlini@suse.de>
2173c3d31fe1Smrg
2174c3d31fe1Smrg	PR libstdc++/7219 (continued)
2175c3d31fe1Smrg	* include/bits/ios_base.h (class ios_base): Expose Annex D.6
2176c3d31fe1Smrg	typedefs by default.
2177c3d31fe1Smrg	* testsuite/27_io/types/1.cc: Remove #if _GLIBCXX_DEPRECATED.
2178c3d31fe1Smrg	* testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak dg-error
2179c3d31fe1Smrg	line number.
2180c3d31fe1Smrg	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2181c3d31fe1Smrg
2182c3d31fe1Smrg2004-08-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2183c3d31fe1Smrg
2184c3d31fe1Smrg	* cpu/hppa/atomicity.h (__exchange_and_add, __atomic_add): Add memory
2185c3d31fe1Smrg	barrier to locking asm.
2186c3d31fe1Smrg
2187c3d31fe1Smrg2004-08-20  Paolo Carlini  <pcarlini@suse.de>
2188c3d31fe1Smrg
2189c3d31fe1Smrg	* include/c_std/cmath.tcc (__cmath_power): Revert previous commit:
2190c3d31fe1Smrg	actually the warning is a front-end bug (c++/17120).
2191c3d31fe1Smrg
2192c3d31fe1Smrg2004-08-20  Matthias Klose  <doko@debian.org>
2193c3d31fe1Smrg
2194c3d31fe1Smrg	* config/abi/s390-linux-gnu/baseline_symbols.txt: New.
2195c3d31fe1Smrg
2196c3d31fe1Smrg2004-08-20  Paolo Carlini  <pcarlini@suse.de>
2197c3d31fe1Smrg
2198c3d31fe1Smrg	* include/c_std/cmath.tcc (__cmath_power): Suppress assignment
2199c3d31fe1Smrg	used as truth value warning.
2200c3d31fe1Smrg
2201c3d31fe1Smrg2004-08-20  Paolo Carlini  <pcarlini@suse.de>
2202c3d31fe1Smrg
2203c3d31fe1Smrg	* config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Add 32 bit
2204c3d31fe1Smrg	baseline.
2205c3d31fe1Smrg
2206c3d31fe1Smrg2004-08-20  Paolo Carlini  <pcarlini@suse.de>
2207c3d31fe1Smrg
2208c3d31fe1Smrg	* config/abi/x86_64-linux-gnu/baseline_symbols.txt: Fix it.
2209c3d31fe1Smrg
2210c3d31fe1Smrg2004-08-19  Benjamin Kosnik  <bkoz@redhat.com>
2211c3d31fe1Smrg
2212c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/3.cc (test03): Don't check
2213c3d31fe1Smrg	timezone.
2214c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/3.cc (test03): Same.
2215c3d31fe1Smrg
2216c3d31fe1Smrg2004-08-19  Paolo Carlini  <pcarlini@suse.de>
2217c3d31fe1Smrg
2218c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert.cc: For std::map
2219c3d31fe1Smrg	instantiate the allocator for a correct pair type.
2220c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
2221c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
2222c3d31fe1Smrg	* testsuite/performance/20_util/allocator/producer_consumer.cc:
2223c3d31fe1Smrg	Likewise.
2224c3d31fe1Smrg
2225c3d31fe1Smrg	* testsuite/performance/20_util/allocator/list_sort_search.cc: Very
2226c3d31fe1Smrg	minor formatting fixes.
2227c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
2228c3d31fe1Smrg
2229c3d31fe1Smrg2004-08-19  Paolo Carlini  <pcarlini@suse.de>
2230c3d31fe1Smrg
2231c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/1.cc: Add VERIFY on the
2232c3d31fe1Smrg	results.
2233c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2234c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2235c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2236c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2237c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2238c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2239c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2240c3d31fe1Smrg
2241c3d31fe1Smrg2004-08-19  Paolo Carlini  <pcarlini@suse.de>
2242c3d31fe1Smrg
2243c3d31fe1Smrg	* config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2244c3d31fe1Smrg
2245c3d31fe1Smrg2004-08-18  Matthias Klose  <doko@debian.org>
2246c3d31fe1Smrg
2247c3d31fe1Smrg	* config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2248c3d31fe1Smrg	* config/abi/i386-linux-gnu/baseline_symbols.txt: New.
2249c3d31fe1Smrg	* config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
2250c3d31fe1Smrg
2251c3d31fe1Smrg2004-08-17  Paolo Carlini  <pcarlini@suse.de>
2252c3d31fe1Smrg
2253c3d31fe1Smrg	* config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2254c3d31fe1Smrg
2255c3d31fe1Smrg2004-08-17  Paolo Carlini  <pcarlini@suse.de>
2256c3d31fe1Smrg
2257c3d31fe1Smrg	* config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2258c3d31fe1Smrg
2259c3d31fe1Smrg2004-08-17  Benjamin Kosnik  <bkoz@redhat.com>
2260c3d31fe1Smrg
2261c3d31fe1Smrg	* config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2262c3d31fe1Smrg
2263c3d31fe1Smrg2004-08-16  Paolo Carlini  <pcarlini@suse.de>
2264c3d31fe1Smrg
2265c3d31fe1Smrg	* include/bits/indirect_array.h: Trivial formatting fixes.
2266c3d31fe1Smrg	* include/bits/valarray_after.h: Likewise.
2267c3d31fe1Smrg	* include/bits/valarray_array.h: Likewise.
2268c3d31fe1Smrg	* src/valarray-inst.cc: Likewise.
2269c3d31fe1Smrg
2270c3d31fe1Smrg2004-08-15  Paolo Carlini  <pcarlini@suse.de>
2271c3d31fe1Smrg
2272c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Remove junk.
2273c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
2274c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
2275c3d31fe1Smrg
2276c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: New.
2277c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
2278c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
2279c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
2280c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
2281c3d31fe1Smrg
2282c3d31fe1Smrg2004-08-15  Paolo Carlini  <pcarlini@suse.de>
2283c3d31fe1Smrg
2284c3d31fe1Smrg	* include/bits/deque.tcc: Trivial formatting fixes.
2285c3d31fe1Smrg
2286c3d31fe1Smrg2004-08-15  Paolo Carlini  <pcarlini@suse.de>
2287c3d31fe1Smrg
2288c3d31fe1Smrg	* include/bits/deque.tcc: Trivial formatting fixes.
2289c3d31fe1Smrg
2290c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::do_get(&bool)):
2291c3d31fe1Smrg	Remove unneded typedef.
2292c3d31fe1Smrg
2293c3d31fe1Smrg	* include/bits/locale_facets.tcc: Very minor tweaks.
2294c3d31fe1Smrg
2295c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Use proper
2296c3d31fe1Smrg	type for the fill argument.
2297c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2298c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2299c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2300c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2301c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2302c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2303c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2304c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2305c3d31fe1Smrg
2306c3d31fe1Smrg2004-08-13  Paolo Carlini  <pcarlini@suse.de>
2307c3d31fe1Smrg
2308c3d31fe1Smrg	* src/debug.cc (_Error_formatter::_M_print_string): Fix thinko,
2309c3d31fe1Smrg	memmove is not needed, memcpy suffices.
2310c3d31fe1Smrg
2311c3d31fe1Smrg2004-08-13  Paolo Carlini  <pcarlini@suse.de>
2312c3d31fe1Smrg
2313c3d31fe1Smrg	* include/std/std_fstream.h (class basic_ifstream,
2314c3d31fe1Smrg	class basic_ofstream, class basic_fstream): Add const overloads
2315c3d31fe1Smrg	of is_open, as per DR 365 [WP].
2316c3d31fe1Smrg	* docs/html/ext/howto.html: Add an entry for DR 365.
2317c3d31fe1Smrg
2318c3d31fe1Smrg2004-08-12  Paolo Carlini  <pcarlini@suse.de>
2319c3d31fe1Smrg
2320c3d31fe1Smrg	* configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.
2321c3d31fe1Smrg
2322c3d31fe1Smrg2004-08-12  Paolo Carlini  <pcarlini@suse.de>
2323c3d31fe1Smrg
2324c3d31fe1Smrg	PR libstdc++/16956
2325c3d31fe1Smrg	* include/bits/sstream.tcc (basic_stringbuf<>::seekoff): Add __off
2326c3d31fe1Smrg	to the returned value, reorganize a bit.
2327c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: New.
2328c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: New.
2329c3d31fe1Smrg
2330c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Remove junk.
2331c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
2332c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
2333c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
2334c3d31fe1Smrg
2335c3d31fe1Smrg2004-08-12  Paul Brook  <paul@codesourcery.com>
2336c3d31fe1Smrg
2337c3d31fe1Smrg	* config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
2338c3d31fe1Smrg	_GLIBCXX_CXA_VEC_CTOR_RETURN.
2339c3d31fe1Smrg	* config/cpu/generic/cxxabi_tweaks.h: Ditto.
2340c3d31fe1Smrg	* libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
2341c3d31fe1Smrg	__cxa_vec_ctor_return.
2342c3d31fe1Smrg	* libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
2343c3d31fe1Smrg	Use _GLIBCXX_CXA_VEC_CTOR_RETURN.
2344c3d31fe1Smrg
2345c3d31fe1Smrg2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>
2346c3d31fe1Smrg
2347c3d31fe1Smrg	* Makefile.in, aclocal.m4, configure, include/Makefile.in,
2348c3d31fe1Smrg	libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2349c3d31fe1Smrg	src/Makefile.in, testsuite/Makefile.in: Regenerate
2350c3d31fe1Smrg
2351c3d31fe1Smrg2004-08-12  Jan Beulich  <jbeulich@novell.com>
2352c3d31fe1Smrg
2353c3d31fe1Smrg	* config/locale/generic/ctype_members.cc
2354c3d31fe1Smrg	(ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
2355c3d31fe1Smrg	initializer for return value, as that is invalid for enumerated	types.
2356c3d31fe1Smrg	* config/locale/gnu/ctype_members.cc
2357c3d31fe1Smrg	(ctype<wchar_t>::_M_convert_to_wmask): Likewise.
2358c3d31fe1Smrg
2359c3d31fe1Smrg2004-08-11  Paolo Carlini  <pcarlini@suse.de>
2360c3d31fe1Smrg
2361c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.
2362c3d31fe1Smrg
2363c3d31fe1Smrg2004-08-11  Paolo Carlini  <pcarlini@suse.de>
2364c3d31fe1Smrg
2365c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
2366c3d31fe1Smrg	variable.
2367c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
2368c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
2369c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
2370c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
2371c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
2372c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
2373c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
2374c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
2375c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
2376c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
2377c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
2378c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
2379c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
2380c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
2381c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
2382c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
2383c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
2384c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
2385c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
2386c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
2387c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.
2388c3d31fe1Smrg
2389c3d31fe1Smrg2004-08-11  Paolo Carlini  <pcarlini@suse.de>
2390c3d31fe1Smrg	    Petur Runolfsson  <peturr02@ru.is>
2391c3d31fe1Smrg
2392c3d31fe1Smrg	PR libstdc++/16959
2393c3d31fe1Smrg	* src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
2394c3d31fe1Smrg	standard streams are constructed.
2395c3d31fe1Smrg	* testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.
2396c3d31fe1Smrg
2397c3d31fe1Smrg2004-08-09  Paolo Carlini  <pcarlini@suse.de>
2398c3d31fe1Smrg
2399c3d31fe1Smrg	* include/bits/stl_bvector.h: Trivial formatting fixes.
2400c3d31fe1Smrg
2401c3d31fe1Smrg2004-08-09  Paolo Carlini  <pcarlini@suse.de>
2402c3d31fe1Smrg
2403c3d31fe1Smrg	* src/ios.cc (ios_base::_M_grow_words): Uglify the names.
2404c3d31fe1Smrg
2405c3d31fe1Smrg2004-08-07  Jonathan Wakely  <redi@gcc.gnu.org>
2406c3d31fe1Smrg	    Paolo Carlini  <pcarlini@suse.de>
2407c3d31fe1Smrg
2408c3d31fe1Smrg	* src/debug.cc (_Error_formatter::_M_print_string): In order
2409c3d31fe1Smrg	to print individual words from __string, _M_format_word can't
2410c3d31fe1Smrg	be called since may be just sprintf, thus ignoring completely
2411c3d31fe1Smrg	__n: instead, use memmove and append '\0' by hand.
2412c3d31fe1Smrg
2413c3d31fe1Smrg2004-08-07  Paolo Carlini  <pcarlini@suse.de>
2414c3d31fe1Smrg
2415c3d31fe1Smrg	* config/locale/generic/c_locale.h (__convert_from_v): Don't
2416c3d31fe1Smrg	use a default for __prec, assume __prec >= 0 and simplify.
2417c3d31fe1Smrg	* config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
2418c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
2419c3d31fe1Smrg	Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
2420c3d31fe1Smrg
2421c3d31fe1Smrg2004-08-04  Phil Edwards  <phil@codesourcery.com>
2422c3d31fe1Smrg
2423c3d31fe1Smrg	* docs/html/configopts.html:  Emphasize that options change.
2424c3d31fe1Smrg	* docs/html/17_intro/configury.html:  Update links.
2425c3d31fe1Smrg
2426c3d31fe1Smrg2004-08-03  Paolo Carlini  <pcarlini@suse.de>
2427c3d31fe1Smrg
2428c3d31fe1Smrg	* include/bits/list.tcc: Trivial formatting fixes.
2429c3d31fe1Smrg
2430c3d31fe1Smrg2004-08-03  Mark Mitchell  <mark@codesourcery.com>
2431c3d31fe1Smrg
2432c3d31fe1Smrg	* libsupc++/new_op.cc: Update comments.
2433c3d31fe1Smrg	* libsupc++/del_op.cc: Likewise.
2434c3d31fe1Smrg
2435c3d31fe1Smrg2004-08-02  Mark Mitchell  <mark@codesourcery.com>
2436c3d31fe1Smrg
2437c3d31fe1Smrg	* libsupc++/cxxabi.h: Make all declarations have default
2438c3d31fe1Smrg	visibility.
2439c3d31fe1Smrg	* libsupc++/exception: Likewise.
2440c3d31fe1Smrg	* libsupc++/new: Likewise.
2441c3d31fe1Smrg	* libsupc++/typeinfo: Likewise.
2442c3d31fe1Smrg	* libsupc++/unwind-cxx.h: Likewise.
2443c3d31fe1Smrg	* libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
2444c3d31fe1Smrg	the __cxxabiv1 namespace.
2445c3d31fe1Smrg	(__cxa_free_exception): Likewise.
2446c3d31fe1Smrg	* libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
2447c3d31fe1Smrg	(__cxa_bad_typeid): Likewise.
2448c3d31fe1Smrg	* libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
2449c3d31fe1Smrg	(__cxa_end_catch): Likewise.
2450c3d31fe1Smrg	* libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
2451c3d31fe1Smrg	(__cxa_get_globals): Likewise.
2452c3d31fe1Smrg	* libsupc++/eh_throw.cc (__cxa_throw): Likewise.
2453c3d31fe1Smrg	(__cxa_rethrow): Likewise.
2454c3d31fe1Smrg	* libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
2455c3d31fe1Smrg	* libsupc++/eh_type.cc: Include <cxxabi.h>.
2456c3d31fe1Smrg
2457c3d31fe1Smrg	* Makefile.am (hosted_source): Add libmath and testsuite.
2458c3d31fe1Smrg	(SUBDIRS): Remove them.
2459c3d31fe1Smrg	* acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
2460c3d31fe1Smrg	on arm*-*-symbianelf*.
2461c3d31fe1Smrg	* crossconfig.m4: Add arm*-*-symbianelf* support.
2462c3d31fe1Smrg	* include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
2463c3d31fe1Smrg	when freestanding.  Do not bring names into std:: namespace with
2464c3d31fe1Smrg	"using" when freestanding.  Declare required functions and macros
2465c3d31fe1Smrg	when freestanding.
2466c3d31fe1Smrg	* libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
2467c3d31fe1Smrg	when freestanding.
2468c3d31fe1Smrg	* libsupc++/del_op.cc: Declare "free" only when freestanding.
2469c3d31fe1Smrg	* libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
2470c3d31fe1Smrg	(malloc): Declare when freestanding.
2471c3d31fe1Smrg	(free): Likewise.
2472c3d31fe1Smrg	(memset): Likewise.
2473c3d31fe1Smrg	(__cxa_allocate_exception): Call malloc, not std::malloc.  Likewise
2474c3d31fe1Smrg	for memset.
2475c3d31fe1Smrg	(__cxa_free_exception): Likewise for free.
2476c3d31fe1Smrg	* libsupc++/new_op.cc: Declare "malloc" when freestanding.
2477c3d31fe1Smrg	* libsupc++/pure.cc (writestr): Define to nothing when
2478c3d31fe1Smrg	freestanding.
2479c3d31fe1Smrg	* libsupc++/vterminate.cc: Do not define anything when
2480c3d31fe1Smrg	freestanding.
2481c3d31fe1Smrg	* Makefile.in: Regenerated.
2482c3d31fe1Smrg	* aclocal.m4: Likewise.
2483c3d31fe1Smrg	* configure: Likewise.
2484c3d31fe1Smrg	* include/Makefile.in: Likewise.
2485c3d31fe1Smrg	* libmath/Makefile.in: Likewise.
2486c3d31fe1Smrg	* libsupc++/Makefile.in: Likewise.
2487c3d31fe1Smrg	* po/Makefile.in: Likewise.
2488c3d31fe1Smrg	* src/Makefile.in: Likewise.
2489c3d31fe1Smrg	* testsuite/Makefile.in: Likewise.
2490c3d31fe1Smrg
2491c3d31fe1Smrg2004-08-01  Matt Austern  <austern@apple.com>
2492c3d31fe1Smrg
2493c3d31fe1Smrg	PR libstdc++/16844
2494c3d31fe1Smrg	* include/bits/stl_list.h (_M_create_node): Remove unused
2495c3d31fe1Smrg	zero-argument version.
2496c3d31fe1Smrg	* include/ext/slist (_M_create_node): Pass two arguments to
2497c3d31fe1Smrg	allocator's construct() member function.
2498c3d31fe1Smrg	* testsuite/23_containers/deque/explicit_instantiation.cc: New.
2499c3d31fe1Smrg	* testsuite/23_containers/list/explicit_instantiation.cc: New.
2500c3d31fe1Smrg	* testsuite/23_containers/vector/explicit_instantiation.cc: New.
2501c3d31fe1Smrg	* testsuite/23_containers/map/explicit_instantiation.cc: New.
2502c3d31fe1Smrg	* testsuite/23_containers/set/explicit_instantiation.cc: New.
2503c3d31fe1Smrg	* testsuite/23_containers/multimap/explicit_instantiation.cc: New.
2504c3d31fe1Smrg	* testsuite/23_containers/multiset/explicit_instantiation.cc: New.
2505c3d31fe1Smrg	* testsuite/ext/hash_set_explicit_instantiation.cc: New.
2506c3d31fe1Smrg	* testsuite/ext/slist_explicit_instantiation.cc: New.
2507c3d31fe1Smrg
2508c3d31fe1Smrg2004-07-30  Paolo Carlini  <pcarlini@suse.de>
2509c3d31fe1Smrg
2510c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2511c3d31fe1Smrg	num_get<>::_M_extract_int): In the main parsing loop delay the
2512c3d31fe1Smrg	life of __q to the actual use point.
2513c3d31fe1Smrg
2514c3d31fe1Smrg2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2515c3d31fe1Smrg
2516c3d31fe1Smrg	PR libstdc++/14220
2517c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
2518c3d31fe1Smrg	Don't clip the precision passed down to __convert_from_v:
2519c3d31fe1Smrg	22.2.2.2.2 nowhere says so.
2520c3d31fe1Smrg	* testsuite/22_locale/num_put/put/char/14220.cc: New.
2521c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
2522c3d31fe1Smrg
2523c3d31fe1Smrg2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2524c3d31fe1Smrg
2525c3d31fe1Smrg	* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 31.
2526c3d31fe1Smrg
2527c3d31fe1Smrg2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2528c3d31fe1Smrg	    Petur Runolfsson  <peturr02@ru.is>
2529c3d31fe1Smrg
2530c3d31fe1Smrg	PR libstdc++/12658 (continued)
2531c3d31fe1Smrg	* src/locale_init.cc (locale::locale, locale::global): Use
2532c3d31fe1Smrg	a single locale_mutex instead of two separate mutexes.
2533c3d31fe1Smrg
2534c3d31fe1Smrg2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2535c3d31fe1Smrg
2536c3d31fe1Smrg	PR libstdc++/16813
2537c3d31fe1Smrg	* include/debug/map.h (insert(_InputIterator, _InputIterator)):
2538c3d31fe1Smrg	Fix typo.
2539c3d31fe1Smrg	* testsuite/23_containers/map/insert/16813.cc: New.
2540c3d31fe1Smrg
2541c3d31fe1Smrg2004-07-29  Phil Edwards  <phil@codesourcery.com>
2542c3d31fe1Smrg
2543c3d31fe1Smrg	* docs/html/faq/index.html:  Update version references.  Make
2544c3d31fe1Smrg	clear that code from SGI has diverged greatly.  Remove references
2545c3d31fe1Smrg	to library snapshots and what's-new sections.
2546c3d31fe1Smrg	* docs/html/faq/index.txt:  Regenerate.
2547c3d31fe1Smrg
2548c3d31fe1Smrg2004-07-28  Matt Austern  <austern@apple.com>
2549c3d31fe1Smrg
2550c3d31fe1Smrg	* include/bits/stl_construct.h (_Destroy): New three-argument
2551c3d31fe1Smrg	overload that takes an allocator argument.  Another inline
2552c3d31fe1Smrg	three-argument overload that takes std::allocator and dispatches
2553c3d31fe1Smrg	to the two-argument version.
2554c3d31fe1Smrg	* include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
2555c3d31fe1Smrg	Change return type to void to match uninitialized_fill_n.
2556c3d31fe1Smrg	(__uninitialized_copy_a_): New function.  Like uninitialized_copy
2557c3d31fe1Smrg	except that it takes an allocator and uses it for construct and
2558c3d31fe1Smrg	destroy.  If the allocator is std::allocator, dispatches to
2559c3d31fe1Smrg	uninitialized_copy.
2560c3d31fe1Smrg	(__uninitialized_fill_a): Likewise.
2561c3d31fe1Smrg	(__uninitialized_fill_n_a): Likewise.
2562c3d31fe1Smrg	(__uninitialized_copy_copy): Give it an allocator argument.
2563c3d31fe1Smrg	(__uninitialized_fill_copy): Likewise.
2564c3d31fe1Smrg	(__uninitialized_copy_fill): Likewise.
2565c3d31fe1Smrg	* include/bits/deque.tcc: Use new forms defined in stl_construct.h
2566c3d31fe1Smrg	and stl_uninitialized.h.  Replace use of single-argument _Construct
2567c3d31fe1Smrg	and _Destroy with use of allocator's construct and destroy methods.
2568c3d31fe1Smrg	* include/bits/list.tcc: Likewise.
2569c3d31fe1Smrg	* include/bits/stl_deque.h: Likewise.
2570c3d31fe1Smrg	* include/bits/stl_list.h: Likewise.
2571c3d31fe1Smrg	* include/bits/stl_tree.h: Likewise.
2572c3d31fe1Smrg	* include/bits/stl_vector.h: Likewise.
2573c3d31fe1Smrg	* include/bits/vector.tcc: Likewise.
2574c3d31fe1Smrg	* include/ext/hashtable.h: Use rebind so that allocator_type
2575c3d31fe1Smrg	has correct type for a container's allocator.  Replace use of
2576c3d31fe1Smrg	single-argument _Construct and _Destroy with use of allocator's
2577c3d31fe1Smrg	construct and destroy methods.
2578c3d31fe1Smrg	* include/ext/memory (__uninitialized_copy_n_a): New function.
2579c3d31fe1Smrg	Like uninitialized_copy_n except that it takes an extra parameter,
2580c3d31fe1Smrg	an allocator, and uses it for construct and destroy operations.
2581c3d31fe1Smrg	* include/ext/rope: Use new forms defined in stl_construct.h,
2582c3d31fe1Smrg	stl_uninitialized.h, and ext/memory.  Replace use of single-argument
2583c3d31fe1Smrg	_Construct and _Destroy with allocator construct and destroy methods.
2584c3d31fe1Smrg	* include/ext/ropeimpl.h: Likewise.
2585c3d31fe1Smrg	* include/ext/slist.h: Likewise.
2586c3d31fe1Smrg	* testsuite/testsuite_allocator.h (check_construct_destroy): New.
2587c3d31fe1Smrg	* testsuite/testsuite_allocator.cc (check_construct_destroy): New.
2588c3d31fe1Smrg	* testsuite/23_containers/deque/check_construct_destroy.cc: New.
2589c3d31fe1Smrg	* testsuite/23_containers/list/check_construct_destroy.cc: New.
2590c3d31fe1Smrg	* testsuite/23_containers/set/check_construct_destroy.cc: New.
2591c3d31fe1Smrg	* testsuite/23_containers/vector/check_construct_destroy.cc: New.
2592c3d31fe1Smrg	* testsuite/ext/hash_check_construct_destroy.cc: New.
2593c3d31fe1Smrg	* testsuite/ext/slist_check_construct_destroy.cc: New.
2594c3d31fe1Smrg
2595c3d31fe1Smrg2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
2596c3d31fe1Smrg
2597c3d31fe1Smrg	2003-10-01  Eric Christopher  <echristo@redhat.com>
2598c3d31fe1Smrg	* config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
2599c3d31fe1Smrg	constraint.
2600c3d31fe1Smrg	2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2601c3d31fe1Smrg	* config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.
2602c3d31fe1Smrg
2603c3d31fe1Smrg2004-07-23  Benjamin Kosnik  <bkoz@redhat.com>
2604c3d31fe1Smrg
2605c3d31fe1Smrg	PR libstdc++/16678
2606c3d31fe1Smrg	* include/bits/locale_facets.tcc: Fix for -Werror.
2607c3d31fe1Smrg
2608c3d31fe1Smrg2004-07-23  Jonathan Wakely  <redi@gcc.gnu.org>
2609c3d31fe1Smrg
2610c3d31fe1Smrg	* docs/html/debug.html: Say debug mode only available since 3.4.0.
2611c3d31fe1Smrg
2612c3d31fe1Smrg2004-07-21  Benjamin Kosnik  <bkoz@redhat.com>
2613c3d31fe1Smrg
2614c3d31fe1Smrg	* docs/doxygen/mainpage.html: Clarify links.
2615c3d31fe1Smrg	* docs/doxygen/stdheader.cc: Add files.
2616c3d31fe1Smrg	* docs/doxygen/style.css: Remove bolds, add h2, h3 styles.
2617c3d31fe1Smrg	* docs/doxygen/user.cfg.in: New options, wrap.
2618c3d31fe1Smrg
2619c3d31fe1Smrg2004-07-20  Danny Smith  <dannysmith@users.sourceforge.net>
2620c3d31fe1Smrg
2621c3d31fe1Smrg	* include/c_std/std_cwchar.h (wcsstr): Correct signature.
2622c3d31fe1Smrg
2623c3d31fe1Smrg2004-07-19  Benjamin Kosnik  <bkoz@redhat.com>
2624c3d31fe1Smrg
2625c3d31fe1Smrg	PR libstdc++/15488
2626c3d31fe1Smrg	* testsuite/lib/libstdc++.exp (v3-copy-files): Revert.
2627c3d31fe1Smrg
2628c3d31fe1Smrg2004-07-17  Richard Sandiford  <rsandifo@redhat.com>
2629c3d31fe1Smrg
2630c3d31fe1Smrg	PR bootstrap/16469
2631c3d31fe1Smrg	* scripts/create_testsuite_files: Pass -print to find.
2632c3d31fe1Smrg
2633c3d31fe1Smrg2004-07-15  Paolo Carlini  <pcarlini@suse.de>
2634c3d31fe1Smrg
2635c3d31fe1Smrg	* docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 30.
2636c3d31fe1Smrg	* docs/html/ext/howto.html: Tweak entries for DRs 167/253/389/402.
2637c3d31fe1Smrg
2638c3d31fe1Smrg2004-07-15  Jakub Jelinek  <jakub@redhat.com>
2639c3d31fe1Smrg
2640c3d31fe1Smrg	PR libstdc++/14697
2641c3d31fe1Smrg	* acinclude.m4 (glibcxx_shared_libgcc): Correct
2642c3d31fe1Smrg	glibcxx_shared_libgcc test for multilibs.
2643c3d31fe1Smrg	* configure: Rebuilt.
2644c3d31fe1Smrg
2645c3d31fe1Smrg2004-07-14  Paolo Carlini  <pcarlini@suse.de>
2646c3d31fe1Smrg
2647c3d31fe1Smrg	PR libstdc++/16505
2648c3d31fe1Smrg	* include/bits/stl_uninitialized.h (uninitialized_fill_n): Fix
2649c3d31fe1Smrg	the signature to return void, as per 20.4.4.3.
2650c3d31fe1Smrg	* include/bits/stl_vector.h (vector::vector(size_type,
2651c3d31fe1Smrg	const value_type&, const allocator_type&), vector::vector(size_type),
2652c3d31fe1Smrg	vector::_M_initialize_dispatch): Adjust callers.
2653c3d31fe1Smrg	* include/bits/vector.tcc (vector<>::_M_fill_assign,
2654c3d31fe1Smrg	vector<>::_M_fill_insert): Likewise.
2655c3d31fe1Smrg	* testsuite/20_util/memory/16505.cc: New.
2656c3d31fe1Smrg
2657c3d31fe1Smrg2004-07-14  Paolo Carlini  <pcarlini@suse.de>
2658c3d31fe1Smrg
2659c3d31fe1Smrg	* testsuite/22_locale/locale/cons/12658_thread-1.cc,
2660c3d31fe1Smrg	12658_thread-2.cc: Use __gnu_test::try_named_locale.
2661c3d31fe1Smrg
2662c3d31fe1Smrg2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
2663c3d31fe1Smrg
2664c3d31fe1Smrg	* docs/html/ext/mt_allocator.html: Add docs for _Tune.
2665c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
2666c3d31fe1Smrg	(__mt_alloc::_S_set_options): Same.
2667c3d31fe1Smrg	Add to comments.
2668c3d31fe1Smrg
2669c3d31fe1Smrg2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
2670c3d31fe1Smrg
2671c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
2672c3d31fe1Smrg	for linux.
2673c3d31fe1Smrg	* configure: Regenerated.
2674c3d31fe1Smrg
2675c3d31fe1Smrg2004-07-13  Paolo Carlini  <pcarlini@suse.de>
2676c3d31fe1Smrg
2677c3d31fe1Smrg	* testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
2678c3d31fe1Smrg	to 12658_thread-1.cc and xfail.
2679c3d31fe1Smrg	* testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
2680c3d31fe1Smrg	simpler version of 12658_thread-1.cc, still failing on 3_3 and
2681c3d31fe1Smrg	not failing on 3_4/mainline - both on single processor and
2682c3d31fe1Smrg	multiprocessor machines.
2683c3d31fe1Smrg
2684c3d31fe1Smrg2004-07-12  Benjamin Kosnik  <bkoz@redhat.com>
2685c3d31fe1Smrg
2686c3d31fe1Smrg	* docs/html/abi.html: Remove non-public qualification.
2687c3d31fe1Smrg
2688c3d31fe1Smrg	* include/bits/concurrence.h: Tweak comments.
2689c3d31fe1Smrg
2690c3d31fe1Smrg2004-07-11  Paolo Carlini  <pcarlini@suse.de>
2691c3d31fe1Smrg
2692c3d31fe1Smrg	Add wchar_t counterparts of the basic_streambbuf<char> tests.
2693c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: New.
2694c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc, 9322.cc:
2695c3d31fe1Smrg	Likewise.
2696c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/in_avail/wchar_t/9701-3.cc: Likewise.
2697c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc, 2.cc,
2698c3d31fe1Smrg	3599.cc: Likewise.
2699c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
2700c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
2701c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
2702c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
2703c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc, 1057.cc:
2704c3d31fe1Smrg	Likewise.
2705c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
2706c3d31fe1Smrg
2707c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/imbue/char/1.cc, 9322.cc: Minor
2708c3d31fe1Smrg	tweaks.
2709c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/overflow/char/2.cc, 3599.cc:
2710c3d31fe1Smrg	Likewise.
2711c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
2712c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
2713c3d31fe1Smrg
2714c3d31fe1Smrg2004-07-11  Phil Edwards  <phil@codesourcery.com>
2715c3d31fe1Smrg
2716c3d31fe1Smrg	* acinclude.m4:  Cosmetic shell syntax fixes.
2717c3d31fe1Smrg	* configure.ac:  Bring comment inline with reality.
2718c3d31fe1Smrg	* configure.host:  Both of the above.  Move 'arm' case to right
2719c3d31fe1Smrg	place in host_cpu switch.
2720c3d31fe1Smrg	* aclocal.m4, configure:  Regenerate.
2721c3d31fe1Smrg
2722c3d31fe1Smrg2004-07-09  Paolo Carlini  <pcarlini@suse.de>
2723c3d31fe1Smrg
2724c3d31fe1Smrg	Add wchar_t counterparts of the basic_stringbuf<char> tests.
2725c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
2726c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
2727c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
2728c3d31fe1Smrg	3599.cc, 9988.cc: Likewise.
2729c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
2730c3d31fe1Smrg	Likewise.
2731c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
2732c3d31fe1Smrg	Likewise.
2733c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
2734c3d31fe1Smrg	Likewise.
2735c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
2736c3d31fe1Smrg	Likewise.
2737c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
2738c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
2739c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
2740c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
2741c3d31fe1Smrg	Likewise.
2742c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
2743c3d31fe1Smrg	9404-1.cc: Likewise.
2744c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
2745c3d31fe1Smrg	9404-2.cc: Likewise.
2746c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
2747c3d31fe1Smrg	3955.cc: Likewise.
2748c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
2749c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
2750c3d31fe1Smrg
2751c3d31fe1Smrg2004-07-08  Paolo Carlini  <pcarlini@suse.de>
2752c3d31fe1Smrg
2753c3d31fe1Smrg	* include/bits/gslice.h: Trivial formatting fixes.
2754c3d31fe1Smrg	* include/bits/gslice_array.h: Likewise.
2755c3d31fe1Smrg	* include/bits/indirect_array.h: Likewise.
2756c3d31fe1Smrg	* include/bits/mask_array.h: Likewise.
2757c3d31fe1Smrg	* include/bits/slice_array.h: Likewise.
2758c3d31fe1Smrg	* include/bits/valarray_after.h: Likewise.
2759c3d31fe1Smrg	* include/bits/valarray_array.h: Likewise.
2760c3d31fe1Smrg	* include/bits/valarray_before.h: Likewise.
2761c3d31fe1Smrg	* include/std/std_valarray.h: Likewise.
2762c3d31fe1Smrg
2763c3d31fe1Smrg2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>
2764c3d31fe1Smrg
2765c3d31fe1Smrg	PR c++/16169
2766c3d31fe1Smrg	* include/bits/basic_string.h (basic_string::operator=): Revert.
2767c3d31fe1Smrg
2768c3d31fe1Smrg2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
2769c3d31fe1Smrg
2770c3d31fe1Smrg	* configure.ac (libtool_VERSION): To 6:2:0.
2771c3d31fe1Smrg	* configure: Regenerated.
2772c3d31fe1Smrg
2773c3d31fe1Smrg	* testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
2774c3d31fe1Smrg
2775c3d31fe1Smrg2004-07-07  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
2776c3d31fe1Smrg
2777c3d31fe1Smrg	PR libstdc++/16411
2778c3d31fe1Smrg	* config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
2779c3d31fe1Smrg
2780c3d31fe1Smrg2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
2781c3d31fe1Smrg
2782c3d31fe1Smrg	* docs/html/abi.html: Updates for 3.4.1 release. Add summary of
2783c3d31fe1Smrg	-Weffc++ issues.
2784c3d31fe1Smrg
2785c3d31fe1Smrg2004-07-07  Paolo Carlini  <pcarlini@suse.de>
2786c3d31fe1Smrg
2787c3d31fe1Smrg	PR libstdc++/16401
2788c3d31fe1Smrg	* include/bits/sstream.tcc (overflow): When reallocating _M_string
2789c3d31fe1Smrg	use an exponential grow policy.
2790c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
2791c3d31fe1Smrg	* testsuite/performance/27_io/stringbuf_overflow.cc: New.
2792c3d31fe1Smrg
2793c3d31fe1Smrg2004-07-06  Anssi Hannula  <anssi.hannula@mbnet.fi>
2794c3d31fe1Smrg
2795c3d31fe1Smrg	PR libstdc++/15928
2796c3d31fe1Smrg	* crossconfig.m4: Add in bits for djgpp.
2797c3d31fe1Smrg	* configure: Regenerate.
2798c3d31fe1Smrg
2799c3d31fe1Smrg2004-07-05  Jonathan Wakely  <redi@gcc.gnu.org>
2800c3d31fe1Smrg
2801c3d31fe1Smrg	* testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
2802c3d31fe1Smrg	instantiation of set and multiset (functor param given as int).
2803c3d31fe1Smrg
2804c3d31fe1Smrg2004-07-04  Paolo Carlini  <pcarlini@suse.de>
2805c3d31fe1Smrg
2806c3d31fe1Smrg	* include/bits/basic_string.h: Trivial formatting fixes and/or
2807c3d31fe1Smrg	const-ification of some variables.
2808c3d31fe1Smrg	* include/bits/deque.tcc: Likewise.
2809c3d31fe1Smrg	* include/bits/stl_algobase.h: Likewise.
2810c3d31fe1Smrg	* include/bits/stl_bvector.h: Likewise.
2811c3d31fe1Smrg	* include/bits/stl_construct.h: Likewise.
2812c3d31fe1Smrg	* include/bits/stl_deque.h: Likewise.
2813c3d31fe1Smrg	* include/bits/stl_pair.h: Likewise.
2814c3d31fe1Smrg	* include/bits/stl_vector.h: Likewise.
2815c3d31fe1Smrg	* include/bits/vector.tcc: Likewise.
2816c3d31fe1Smrg
2817c3d31fe1Smrg2004-07-04  Paolo Carlini  <pcarlini@suse.de>
2818c3d31fe1Smrg
2819c3d31fe1Smrg	* testsuite/25_algorithms/copy/1.cc: Add instantiations for
2820c3d31fe1Smrg	systems with no COMDAT or weak support.
2821c3d31fe1Smrg	* testsuite/25_algorithms/copy/2.cc: Likewise.
2822c3d31fe1Smrg	* testsuite/25_algorithms/copy/3.cc: Likewise.
2823c3d31fe1Smrg	* testsuite/25_algorithms/copy/4.cc: Likewise.
2824c3d31fe1Smrg
2825c3d31fe1Smrg2004-07-03  Paul Brook  <paul@codesourcery.com>
2826c3d31fe1Smrg
2827c3d31fe1Smrg	* configure.ac: Set ABI_TWEAKS_SRCDIR.
2828c3d31fe1Smrg	* configure.host: Set abi_tweaks_dir.  Check for atomicity.h when
2829c3d31fe1Smrg	setting atomicity_dir.  Override type_cpu for arm based targets.
2830c3d31fe1Smrg	* include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
2831c3d31fe1Smrg	* libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
2832c3d31fe1Smrg	* libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
2833c3d31fe1Smrg	* libsupc++/vec.cc: Ditto.
2834c3d31fe1Smrg	* config/cpu/arm/cxxabi_tweaks.h: New file.
2835c3d31fe1Smrg	* config/cpu/generic/cxxabi_tweaks.h: New file.
2836c3d31fe1Smrg	* */Makefile.in: Regenerate.
2837c3d31fe1Smrg	* configure: Regenerate.
2838c3d31fe1Smrg
2839c3d31fe1Smrg2004-07-02  Paolo Carlini  <pcarlini@suse.de>
2840c3d31fe1Smrg
2841c3d31fe1Smrg	* include/bits/type_traits.h (_Is_normal_iterator): Move...
2842c3d31fe1Smrg	* include/bits/cpp_type_traits.h: ... here, renamed to
2843c3d31fe1Smrg	__is_normal_iterator and consistent with the other traits.
2844c3d31fe1Smrg	* include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
2845c3d31fe1Smrg	to the struct __copy_normal and three specializations.
2846c3d31fe1Smrg	(__copy_backward_output_normal_iterator,
2847c3d31fe1Smrg	__copy_backward_input_normal_iterator): Likewise, convert to
2848c3d31fe1Smrg	the struct __copy_backward_normal and three specializations.
2849c3d31fe1Smrg	(copy, copy_backward): Use the latter.
2850c3d31fe1Smrg	(__copy_aux, __copy_backward_aux): Very minor tweaks.
2851c3d31fe1Smrg
2852c3d31fe1Smrg2004-07-01  Paolo Carlini  <pcarlini@suse.de>
2853c3d31fe1Smrg
2854c3d31fe1Smrg	* include/bits/stl_algobase.h (__copy_trivial): Remove.
2855c3d31fe1Smrg	(__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
2856c3d31fe1Smrg	__is_trivially_copyable, __are_same and __copy::copy.
2857c3d31fe1Smrg	(__copy): Rewrite as a class template and two specializations.
2858c3d31fe1Smrg	(__copy_ni2): Simplify, just call __copy_aux.
2859c3d31fe1Smrg
2860c3d31fe1Smrg	* include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
2861c3d31fe1Smrg	check.
2862c3d31fe1Smrg	* testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
2863c3d31fe1Smrg	for destination value type != source value type.
2864c3d31fe1Smrg
2865c3d31fe1Smrg2004-07-01  Benjamin Kosnik  <bkoz@redhat.com>
2866c3d31fe1Smrg	    Per Bothner  <per@bothner.com>
2867c3d31fe1Smrg	    Mohan Embar  <gnustuff@thisiscool.com>
2868c3d31fe1Smrg
2869c3d31fe1Smrg	PR libstdc++/16248
2870c3d31fe1Smrg	* include/bits/concurrence.h (__glibcxx_mutex_type): New.
2871c3d31fe1Smrg	(__glibcxx_mutex): Encapsulate mutex init function into type for
2872c3d31fe1Smrg	threaded configurations without __GTHREAD_MUTEX_INIT.
2873c3d31fe1Smrg	(lock::lock): Make device member a reference.
2874c3d31fe1Smrg	(lock::~lock): Same.
2875c3d31fe1Smrg	* include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
2876c3d31fe1Smrg	to mutex_type.
2877c3d31fe1Smrg	* src/allocator.cc: Same.
2878c3d31fe1Smrg
2879c3d31fe1Smrg2004-06-30  Brad Spencer  <spencer@infointeractive.com>
2880c3d31fe1Smrg
2881c3d31fe1Smrg	* include/ext/mt_allocator.h: Handle allocations at static
2882c3d31fe1Smrg	initialization that happen before _S_options is (automatically)
2883c3d31fe1Smrg	constructed; set _S_init even if _M_force_new is true.
2884c3d31fe1Smrg
2885c3d31fe1Smrg2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
2886c3d31fe1Smrg
2887c3d31fe1Smrg	* config/linker-map.gnu: Revert new exports.
2888c3d31fe1Smrg
2889c3d31fe1Smrg2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
2890c3d31fe1Smrg	    Stuart Anderson  <anderson@netsweng.com>
2891c3d31fe1Smrg
2892c3d31fe1Smrg	* config/linker-map.gnu: Add destructor exports for abstract base
2893c3d31fe1Smrg	classes to conform to LSB.
2894c3d31fe1Smrg
2895c3d31fe1Smrg2004-06-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2896c3d31fe1Smrg	    Paolo Carlini  <pcarlini@suse.de>
2897c3d31fe1Smrg
2898c3d31fe1Smrg	* include/bits/cpp_type_traits.h: Add __is_pointer and
2899c3d31fe1Smrg	__is_trivially_copyable.
2900c3d31fe1Smrg	* include/bits/stl_algobase.h (fill, fill_n): Slightly
2901c3d31fe1Smrg	tweak to use the latter.
2902c3d31fe1Smrg	(__copy_backward_dispatch): Remove.
2903c3d31fe1Smrg	(__copy_backward_aux): Rewrite to use __is_pointer and
2904c3d31fe1Smrg	__is_trivially_copyable and __copy_backward::copy_b.
2905c3d31fe1Smrg	(__copy_backward): Rewrite as a class template and two
2906c3d31fe1Smrg	specializations.
2907c3d31fe1Smrg
2908c3d31fe1Smrg2004-06-30  Paolo Carlini  <pcarlini@suse.de>
2909c3d31fe1Smrg
2910c3d31fe1Smrg	* testsuite/25_algorithms/copy.cc: Move to...
2911c3d31fe1Smrg	* testsuite/25_algorithms/copy/1.cc: ... here, extend.
2912c3d31fe1Smrg	* testsuite/25_algorithms/copy/2.cc: New.
2913c3d31fe1Smrg	* testsuite/25_algorithms/copy/3.cc: New.
2914c3d31fe1Smrg	* testsuite/25_algorithms/copy/4.cc: New.
2915c3d31fe1Smrg
2916c3d31fe1Smrg2004-06-29  Paul Brook  <paul@codesourcery.com>
2917c3d31fe1Smrg
2918c3d31fe1Smrg	* libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
2919c3d31fe1Smrg	element size in the cookie.
2920c3d31fe1Smrg
2921c3d31fe1Smrg2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2922c3d31fe1Smrg
2923c3d31fe1Smrg	* include/bits/cpp_type_traits.h: Move the additions to
2924c3d31fe1Smrg	namespace __gnu_internal outside of namespace std; trivial
2925c3d31fe1Smrg	formatting fixes.
2926c3d31fe1Smrg
2927c3d31fe1Smrg2004-06-28  Benjamin Kosnik  <bkoz@redhat.com>
2928c3d31fe1Smrg
2929c3d31fe1Smrg	* include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
2930c3d31fe1Smrg	Revert -Weffc++ changes that defined copy ctory and or assignment
2931c3d31fe1Smrg	operator.
2932c3d31fe1Smrg	* libsupc++/tinfo.cc (__upcast_result): Same.
2933c3d31fe1Smrg
2934c3d31fe1Smrg2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2935c3d31fe1Smrg
2936c3d31fe1Smrg	* src/localename.cc (locale::_Impl::_Impl): Slightly improve
2937c3d31fe1Smrg	the algorithm used to name the categories.
2938c3d31fe1Smrg
2939c3d31fe1Smrg2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
2940c3d31fe1Smrg
2941c3d31fe1Smrg	* include/Makefile.am: Give a .gch extension to
2942c3d31fe1Smrg	the PCH files, not only to the directory.
2943c3d31fe1Smrg	* include/Makefile.in: Regenerate.
2944c3d31fe1Smrg
2945c3d31fe1Smrg2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2946c3d31fe1Smrg
2947c3d31fe1Smrg	* config/locale/gnu/monetary_members.cc
2948c3d31fe1Smrg	(moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
2949c3d31fe1Smrg	assignments of _M_decimal_point and _M_thousands_sep.
2950c3d31fe1Smrg
2951c3d31fe1Smrg2004-06-27  Paolo Carlini  <pcarlini@suse.de>
2952c3d31fe1Smrg
2953c3d31fe1Smrg	* docs/html/17_intro/contribute.html: Update some links.
2954c3d31fe1Smrg	* docs/html/17_intro/porting-howto.html: Likewise.
2955c3d31fe1Smrg	* docs/html/17_intro/porting-howto.xml: Likewise.
2956c3d31fe1Smrg	* docs/html/18_support/howto.html: Likewise.
2957c3d31fe1Smrg	* docs/html/21_strings/howto.html: Likewise.
2958c3d31fe1Smrg	* docs/html/27_io/howto.html: Likewise.
2959c3d31fe1Smrg	* docs/html/configopts.html: Likewise.
2960c3d31fe1Smrg	* docs/html/ext/howto.html: Likewise.
2961c3d31fe1Smrg	* docs/html/faq/index.html: Likewise.
2962c3d31fe1Smrg	* docs/html/install.html: Don't mention 2.x compilers.
2963c3d31fe1Smrg
2964c3d31fe1Smrg2004-06-27  Paolo Carlini  <pcarlini@suse.de>
2965c3d31fe1Smrg
2966c3d31fe1Smrg	* include/ext/rope: Trivial formatting fixes.
2967c3d31fe1Smrg	* include/ext/ropeimpl.h: Likewise.
2968c3d31fe1Smrg
2969c3d31fe1Smrg2004-06-26  Paolo Carlini  <pcarlini@suse.de>
2970c3d31fe1Smrg
2971c3d31fe1Smrg	PR libstdc++/16210
2972c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
2973c3d31fe1Smrg	availability of strto(u)ll, not used anymore in the iostreams.
2974c3d31fe1Smrg	* configure: Regenerate.
2975c3d31fe1Smrg
2976c3d31fe1Smrg2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2977c3d31fe1Smrg
2978c3d31fe1Smrg	PR libstdc++/16182
2979c3d31fe1Smrg	* linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
2980c3d31fe1Smrg	AC_DEFINE_UNQUOTED.
2981c3d31fe1Smrg	* configure: Regenerate.
2982c3d31fe1Smrg
2983c3d31fe1Smrg2004-06-25  Paul Brook  <paul@codesourcery.com>
2984c3d31fe1Smrg
2985c3d31fe1Smrg	* libsupc++/cxxabi.h: Define __ARM_EABI__
2986c3d31fe1Smrg	(__guard): Use it.
2987c3d31fe1Smrg	* libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
2988c3d31fe1Smrg
2989c3d31fe1Smrg2004-06-25  Paul Brook  <paul@codesourcery.com>
2990c3d31fe1Smrg
2991c3d31fe1Smrg	* include/bits/concurrence.h: Still create mutex object when
2992c3d31fe1Smrg	single-threaded.
2993c3d31fe1Smrg
2994c3d31fe1Smrg2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2995c3d31fe1Smrg
2996c3d31fe1Smrg	* include/bits/stl_algobase.h (fill, fill_n): Revert last
2997c3d31fe1Smrg	change: actually we need to copy construct an object of type
2998c3d31fe1Smrg	_Tp, not of type iterator_traits<>::value_type, therefore the
2999c3d31fe1Smrg	code is ok.
3000c3d31fe1Smrg
3001c3d31fe1Smrg2004-06-25  Paolo Carlini  <pcarlini@suse.de>
3002c3d31fe1Smrg
3003c3d31fe1Smrg	* include/bits/stl_algobase.h (fill, fill_n): Tighten the
3004c3d31fe1Smrg	dispatch: use iterator_traits<>::value_type, not _Tp.
3005c3d31fe1Smrg
3006c3d31fe1Smrg2004-06-25  Paolo Carlini  <pcarlini@suse.de>
3007c3d31fe1Smrg
3008c3d31fe1Smrg	* testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
3009c3d31fe1Smrg	* testsuite/25_algorithms/fill/2.cc: Likewise.
3010c3d31fe1Smrg
3011c3d31fe1Smrg2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
3012c3d31fe1Smrg	    Paolo Carlini  <pcarlini@suse.de>
3013c3d31fe1Smrg
3014c3d31fe1Smrg	* include/bits/stl_algobase.h (__fill, __fill_n): New helpers
3015c3d31fe1Smrg	for fill and fill_n, respectively: when copying is cheap, use a
3016c3d31fe1Smrg	temporary to avoid a memory read in each iteration.
3017c3d31fe1Smrg
3018c3d31fe1Smrg2004-06-25  Paolo Carlini  <pcarlini@suse.de>
3019c3d31fe1Smrg
3020c3d31fe1Smrg	* testsuite/25_algorithms/fill/1.cc: New.
3021c3d31fe1Smrg	* testsuite/25_algorithms/fill/2.cc: Likewise.
3022c3d31fe1Smrg
3023c3d31fe1Smrg2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
3024c3d31fe1Smrg
3025c3d31fe1Smrg	* include/debug/formatter.h (__gnu_debug::_Error_formatter):
3026c3d31fe1Smrg	Remove copy constructor and assignment operator.
3027c3d31fe1Smrg
3028c3d31fe1Smrg2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>
3029c3d31fe1Smrg
3030c3d31fe1Smrg	* include/bits/concurrence.h (__gnu_cxx::lock): New.
3031c3d31fe1Smrg	* include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
3032c3d31fe1Smrg	(__pool_base::_M_get_mutex): New.
3033c3d31fe1Smrg	* include/bits/allocator.h: Tweak.
3034c3d31fe1Smrg	* src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
3035c3d31fe1Smrg	* config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
3036c3d31fe1Smrg	* include/bits/stl_threads.h: Remove.
3037c3d31fe1Smrg	* include/Makefile.am: Also here.
3038c3d31fe1Smrg	* include/Makefile.in: Regenerate.
3039c3d31fe1Smrg
3040c3d31fe1Smrg	* src/locale_init.cc: Use __gnu_cxx::lock.
3041c3d31fe1Smrg
3042c3d31fe1Smrg	* src/allocator.cc: Move all instantiations...
3043c3d31fe1Smrg	* src/allocator-inst.cc: ...here.
3044c3d31fe1Smrg
3045c3d31fe1Smrg2004-06-23  Andrew Pinski  <apinski@apple.com>
3046c3d31fe1Smrg
3047c3d31fe1Smrg	* linkage.m4: Remove check for libmx.
3048c3d31fe1Smrg	* configure: Regenerate.
3049c3d31fe1Smrg
3050c3d31fe1Smrg2004-06-23  Paolo Carlini  <pcarlini@suse.de>
3051c3d31fe1Smrg
3052c3d31fe1Smrg	PR libstdc++/16154
3053c3d31fe1Smrg	* include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
3054c3d31fe1Smrg	Don't require the _DefaultConstructibleConcept.
3055c3d31fe1Smrg	(struct _ForwardIteratorConcept): Require it here.
3056c3d31fe1Smrg
3057c3d31fe1Smrg2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
3058c3d31fe1Smrg
3059c3d31fe1Smrg	* include/bits/istream.tcc (getline): Make sure arguments passed
3060c3d31fe1Smrg	to min/max have the same type.
3061c3d31fe1Smrg	* include/bits/locale_facets.tcc (__verify_grouping): Likewise.
3062c3d31fe1Smrg	* include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
3063c3d31fe1Smrg
3064c3d31fe1Smrg2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>
3065c3d31fe1Smrg
3066c3d31fe1Smrg	* docs/html/abi.html: Update links.
3067c3d31fe1Smrg
3068c3d31fe1Smrg2004-06-22  Paolo Carlini  <pcarlini@suse.de>
3069c3d31fe1Smrg
3070c3d31fe1Smrg	* testsuite/26_numerics/complex_inserters_extractors.cc,
3071c3d31fe1Smrg	complex_value.cc, buggy_complex.cc: Move to...
3072c3d31fe1Smrg	* testsuite/26_numerics/complex/: ... here.
3073c3d31fe1Smrg	* testsuite/26_numerics/c99_classification_macros_c++.cc,
3074c3d31fe1Smrg	c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
3075c3d31fe1Smrg	fabs_inline.cc: Move to...
3076c3d31fe1Smrg	* testsuite/26_numerics/cmath/: ... here.
3077c3d31fe1Smrg	* testsuite/26_numerics/binary_closure.cc, slice.cc,
3078c3d31fe1Smrg	slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
3079c3d31fe1Smrg	valarray_name_lookup.cc, valarray_operators.cc,
3080c3d31fe1Smrg	valarray_subset_assignment.cc: Move to...
3081c3d31fe1Smrg	* testsuite/26_numerics/valarray/: ... here (new dir).
3082c3d31fe1Smrg	* testsuite/26_numerics/sum_diff.cc: Move to...
3083c3d31fe1Smrg	* testsuite/26_numerics/numeric/: ... here (new dir).
3084c3d31fe1Smrg
3085c3d31fe1Smrg2004-06-22  Paolo Carlini  <pcarlini@suse.de>
3086c3d31fe1Smrg
3087c3d31fe1Smrg	* include/std/std_istream.h (ignore(streamsize __n = 1,
3088c3d31fe1Smrg	int_type __delim = traits_type::eof())): Split into...
3089c3d31fe1Smrg	(ignore(), ignore(streamsize __n), ignore(streamsize __n,
3090c3d31fe1Smrg	int_type __delim)): The first two can be much more simpler
3091c3d31fe1Smrg	and efficient than the fully general case; also, the last
3092c3d31fe1Smrg	two can take advantage of the same mechanism already used
3093c3d31fe1Smrg	for getline.
3094c3d31fe1Smrg	* include/bits/istream.tcc (ignore(streamsize __n = 1,
3095c3d31fe1Smrg	int_type __delim = traits_type::eof()): Remove.
3096c3d31fe1Smrg	(ignore(), ignore(streamsize __n), ignore(streamsize __n,
3097c3d31fe1Smrg	int_type __delim)): New.
3098c3d31fe1Smrg
3099c3d31fe1Smrg2004-06-21  Loren J. Rittle  <ljrittle@acm.org>
3100c3d31fe1Smrg
3101c3d31fe1Smrg	* config/linker-map.gnu: Use wildcards for
3102c3d31fe1Smrg	__basic_file::sys_open(FILE*, _Ios_Openmode).
3103c3d31fe1Smrg
3104c3d31fe1Smrg2004-06-20  Paolo Carlini  <pcarlini@suse.de>
3105c3d31fe1Smrg
3106c3d31fe1Smrg	* testsuite/27_io/basic_istream/ignore/char/3.cc: New.
3107c3d31fe1Smrg
3108c3d31fe1Smrg2004-06-18  Paolo Carlini  <pcarlini@suse.de>
3109c3d31fe1Smrg
3110c3d31fe1Smrg	* include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
3111c3d31fe1Smrg	the alignment requested.
3112c3d31fe1Smrg	(__mt_alloc<>::_Tune::_Tune): Tweak consistently.
3113c3d31fe1Smrg	(__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
3114c3d31fe1Smrg	(__mt_alloc<>::deallocate): Likewise.
3115c3d31fe1Smrg
3116c3d31fe1Smrg2004-06-18  Paolo Carlini  <pcarlini@suse.de>
3117c3d31fe1Smrg
3118c3d31fe1Smrg	PR libstdc++/16020
3119c3d31fe1Smrg	* include/debug/safe_base.h
3120c3d31fe1Smrg	(_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
3121c3d31fe1Smrg	_Safe_sequence_base::operator=): Provide definitions.
3122c3d31fe1Smrg	* testsuite/23_containers/bitset/cons/16020.cc: New.
3123c3d31fe1Smrg
3124c3d31fe1Smrg2004-06-18  Benjamin Kosnik  <bkoz@redhat.com>
3125c3d31fe1Smrg
3126c3d31fe1Smrg	* include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
3127c3d31fe1Smrg	(__pool_base): Remove unused template parameter.  Add
3128c3d31fe1Smrg	protected. Move lock data into __pool_base::_Lock. Remove static
3129c3d31fe1Smrg	on member functions.
3130c3d31fe1Smrg	(__pool_base::_M_get_free_list): New.
3131c3d31fe1Smrg	(__pool_alloc): Move _S_force new here.
3132c3d31fe1Smrg	* src/allocator.cc: Move out of line __pool_base definitions here.
3133c3d31fe1Smrg	* config/linker-map.gnu: Export bits from __pool_base.
3134c3d31fe1Smrg
3135c3d31fe1Smrg2004-06-18  Paolo Carlini  <pcarlini@suse.de>
3136c3d31fe1Smrg
3137c3d31fe1Smrg	* config/locale/gnu/numeric_members.cc
3138c3d31fe1Smrg	(numpunct<wchar_t>::_M_initialize_numpunct): Clean up
3139c3d31fe1Smrg	assignments of _M_decimal_point and _M_thousands_sep.
3140c3d31fe1Smrg	* config/locale/gnu/time_members.cc
3141c3d31fe1Smrg	(__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
3142c3d31fe1Smrg	and reformat assignments of date and time fields.
3143c3d31fe1Smrg
3144c3d31fe1Smrg2004-06-16  Paolo Carlini  <pcarlini@suse.de>
3145c3d31fe1Smrg
3146c3d31fe1Smrg	* include/ext/rope (rope(_CharT, const allocator_type&)): Fix
3147c3d31fe1Smrg	to use _Data_allocate.
3148c3d31fe1Smrg	* include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
3149c3d31fe1Smrg	(rope<>::_S_substring): Likewise.
3150c3d31fe1Smrg	(rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
3151c3d31fe1Smrg	(rope<>::c_str()): Likewise.
3152c3d31fe1Smrg	(rope<>::replace_with_c_str()): Likewise.
3153c3d31fe1Smrg
3154c3d31fe1Smrg	* include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
3155c3d31fe1Smrg	Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
3156c3d31fe1Smrg	not _RopeRep.
3157c3d31fe1Smrg	(_Rope_iterator_base<>::_S_setcache): Likewise.
3158c3d31fe1Smrg	(_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
3159c3d31fe1Smrg	(rope<>::_S_substring): Likewise.
3160c3d31fe1Smrg	(rope<>::_S_dump): Likewise.
3161c3d31fe1Smrg	(rope<>::_S_fetch_ptr): Likewise.
3162c3d31fe1Smrg	(rope<>::_S_compare): Likewise.
3163c3d31fe1Smrg	(rope<>::replace_with_c_str()): Likewise.
3164c3d31fe1Smrg
3165c3d31fe1Smrg	* testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
3166c3d31fe1Smrg	* testsuite/ext/rope/2.cc: New.
3167c3d31fe1Smrg
3168c3d31fe1Smrg2004-06-16  Paolo Carlini  <pcarlini@suse.de>
3169c3d31fe1Smrg	    Matt Austern  <austern@apple.com>
3170c3d31fe1Smrg
3171c3d31fe1Smrg	* testsuite/ext/rope/3.cc: New.
3172c3d31fe1Smrg
3173c3d31fe1Smrg2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
3174c3d31fe1Smrg
3175c3d31fe1Smrg	* acinclude.m4: Remove useless multilib configury.
3176c3d31fe1Smrg	* Makefile.am: Remove useless multilib rules.
3177c3d31fe1Smrg	* aclocal.m4: Regenerate.
3178c3d31fe1Smrg	* Makefile.in: Regenerate.
3179c3d31fe1Smrg	* configure: Regenerate.
3180c3d31fe1Smrg
3181c3d31fe1Smrg2004-06-15  Paolo Carlini  <pcarlini@suse.de>
3182c3d31fe1Smrg
3183c3d31fe1Smrg	* include/ext/hashtable.h: Trivial formatting fixes.
3184c3d31fe1Smrg	* include/ext/rb_tree: Likewise.
3185c3d31fe1Smrg
3186c3d31fe1Smrg2004-06-14  Paolo Carlini  <pcarlini@suse.de>
3187c3d31fe1Smrg
3188c3d31fe1Smrg	* include/ext/hash_map: Trivial formatting fixes.
3189c3d31fe1Smrg	* include/ext/hash_set: Likewise.
3190c3d31fe1Smrg	* include/ext/memory: Likewise.
3191c3d31fe1Smrg	* include/ext/numeric: Likewise.
3192c3d31fe1Smrg
3193c3d31fe1Smrg2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
3194c3d31fe1Smrg
3195c3d31fe1Smrg	* Makefile.in: Regenerate with automake 1.8.5.
3196c3d31fe1Smrg	* aclocal.m4: Same.
3197c3d31fe1Smrg	* include/Makefile.in: Same.
3198c3d31fe1Smrg	* libmath/Makefile.in: Same.
3199c3d31fe1Smrg	* libsupc++/Makefile.in: Same.
3200c3d31fe1Smrg	* po/Makefile.in: Same.
3201c3d31fe1Smrg	* src/Makefile.in: Same.
3202c3d31fe1Smrg	* testsuite/Makefile.in: Same.
3203c3d31fe1Smrg
3204c3d31fe1Smrg2004-06-14  Paolo Carlini  <pcarlini@suse.de>
3205c3d31fe1Smrg
3206c3d31fe1Smrg	* include/ext/slist: Trivial formatting fixes.
3207c3d31fe1Smrg
3208c3d31fe1Smrg2004-06-14  Paolo Carlini  <pcarlini@suse.de>
3209c3d31fe1Smrg
3210c3d31fe1Smrg	* include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
3211c3d31fe1Smrg	Don't use the 'magic number' 10 in the computation of __minlen;
3212c3d31fe1Smrg	never access __name past __minlen; in the loop over __i3, don't
3213c3d31fe1Smrg	decrease __nmatches and increase __i3 at once, only either of
3214c3d31fe1Smrg	the two; tidy.
3215c3d31fe1Smrg
3216c3d31fe1Smrg2004-06-13  Paolo Carlini  <pcarlini@suse.de>
3217c3d31fe1Smrg
3218c3d31fe1Smrg	* include/bits/locale_facets.tcc (time_get<>::do_get_time,
3219c3d31fe1Smrg	time_get<>::do_get_date): Use only once _M_extract_via_format,
3220c3d31fe1Smrg	instead of going through "%X"/"%x" and calling it two times
3221c3d31fe1Smrg	(+ using widen).
3222c3d31fe1Smrg
3223c3d31fe1Smrg2004-06-12  Paolo Carlini  <pcarlini@suse.de>
3224c3d31fe1Smrg
3225c3d31fe1Smrg	* include/ext/algorithm: Trivial formatting fixes.
3226c3d31fe1Smrg	* include/ext/functional: Likewise.
3227c3d31fe1Smrg	* include/ext/hash_fun.h: Likewise.
3228c3d31fe1Smrg	* include/ext/iterator: Likewise.
3229c3d31fe1Smrg
3230c3d31fe1Smrg2004-06-12  Paolo Carlini  <pcarlini@suse.de>
3231c3d31fe1Smrg
3232c3d31fe1Smrg	* include/bits/basic_string.tcc (find(const _CharT*, size_type,
3233c3d31fe1Smrg	size_type)): Reimplement using std::search.
3234c3d31fe1Smrg	* src/string-inst.cc: Instantiate std::search for char/wchar_t.
3235c3d31fe1Smrg
3236c3d31fe1Smrg2004-06-12  Dhruv Matani  <dhruvbird@gmx.net>
3237c3d31fe1Smrg
3238c3d31fe1Smrg	* testsuite/performance/21_strings/string_find.cc: New.
3239c3d31fe1Smrg
3240c3d31fe1Smrg2004-06-10  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
3241c3d31fe1Smrg
3242c3d31fe1Smrg	* include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
3243c3d31fe1Smrg
3244c3d31fe1Smrg2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>
3245c3d31fe1Smrg
3246c3d31fe1Smrg	* include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
3247c3d31fe1Smrg	this function return a value.
3248c3d31fe1Smrg
3249c3d31fe1Smrg2004-06-09  Paolo Carlini  <pcarlini@suse.de>
3250c3d31fe1Smrg
3251c3d31fe1Smrg	PR libstdc++/15775
3252c3d31fe1Smrg	* include/bits/stl_deque.h: Consistently with stl_set.h, define
3253c3d31fe1Smrg	pointer as allocator's pointer, likewise for reference,
3254c3d31fe1Smrg	const_pointer, and const_reference.
3255c3d31fe1Smrg	* include/bits/stl_list.h: Likewise.
3256c3d31fe1Smrg	* include/bits/stl_map.h: Likewise.
3257c3d31fe1Smrg	* include/bits/stl_multimap.h: Likewise.
3258c3d31fe1Smrg	* include/bits/stl_vector.h: Likewise.
3259c3d31fe1Smrg
3260c3d31fe1Smrg2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>
3261c3d31fe1Smrg
3262c3d31fe1Smrg	* crossconfig.m4: Remove signbit, signbitf, signbitl.
3263c3d31fe1Smrg	* linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
3264c3d31fe1Smrg	builtin math functions instead of AC_DEFINE_UNQUOTED.
3265c3d31fe1Smrg	* configure: Regenerate.
3266c3d31fe1Smrg
3267c3d31fe1Smrg2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>
3268c3d31fe1Smrg
3269c3d31fe1Smrg	* docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
3270c3d31fe1Smrg	* docs/doxygen/mainpage.html: Remove links.
3271c3d31fe1Smrg
3272c3d31fe1Smrg2004-06-08  Jason Merrill  <jason@redhat.com>
3273c3d31fe1Smrg
3274c3d31fe1Smrg	* config/linker-map.gnu: Use wildcards for
3275c3d31fe1Smrg	__basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
3276c3d31fe1Smrg
3277c3d31fe1Smrg2004-06-08  Paolo Carlini  <pcarlini@suse.de>
3278c3d31fe1Smrg
3279c3d31fe1Smrg	* include/ext/pool_allocator.h: Convert to a global free-list,
3280c3d31fe1Smrg	as per the original SGI/HP design: move the implementation
3281c3d31fe1Smrg	details to struct __pool_base, from which __pool_alloc derives.
3282c3d31fe1Smrg	* src/allocator.cc: Instantiate __pool_base.
3283c3d31fe1Smrg
3284c3d31fe1Smrg2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
3285c3d31fe1Smrg	    Paolo Carlini  <pcarlini@suse.de>
3286c3d31fe1Smrg
3287c3d31fe1Smrg	* testsuite/testsuite_performance.h
3288c3d31fe1Smrg	(resource_counter::allocated_memory): Make it return the right
3289c3d31fe1Smrg	number of bytes requested by the allocators/application. This is
3290c3d31fe1Smrg	the sbrk+mmaped memory.
3291c3d31fe1Smrg
3292c3d31fe1Smrg2004-06-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3293c3d31fe1Smrg
3294c3d31fe1Smrg	* include/std/std_complex.h (log): Tidy.
3295c3d31fe1Smrg
3296c3d31fe1Smrg2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
3297c3d31fe1Smrg
3298c3d31fe1Smrg	* config/linker-map.gnu (GLIBCXX_3.4.1): Add.
3299c3d31fe1Smrg	* testsuite/testsuite_abi.cc: Same.
3300c3d31fe1Smrg	* configure.ac (libtool_VERSION): Bump to 6:1:0.
3301c3d31fe1Smrg	* configure: Regenerate.
3302c3d31fe1Smrg	* aclocal.m4: Regenerate.
3303c3d31fe1Smrg
3304c3d31fe1Smrg2004-05-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3305c3d31fe1Smrg
3306c3d31fe1Smrg	* include/std/std_complex.h (complex<_Tp>): Properly indent
3307c3d31fe1Smrg	to follow C++STYLE.
3308c3d31fe1Smrg	(complex<>::__rep): New.
3309c3d31fe1Smrg	(__complex_abs): New.  Dispatch to built-ins.
3310c3d31fe1Smrg	(abs): Use them.
3311c3d31fe1Smrg	(__complex_arg): New. Dispatch to built-ins.
3312c3d31fe1Smrg	(arg): Use it.
3313c3d31fe1Smrg	(__complex_cos): New. Dispatch to built-ins.
3314c3d31fe1Smrg	(cos): Use it.
3315c3d31fe1Smrg	(__complex_cosh): New. Dispatch to built-ins.
3316c3d31fe1Smrg	(cosh): Use it.
3317c3d31fe1Smrg	(__complex_exp): New. Dispatch to built-ins.
3318c3d31fe1Smrg	(exp): Use it.
3319c3d31fe1Smrg	(__complex_log): New. Dispatch to built-ins.
3320c3d31fe1Smrg	(log): Use it.
3321c3d31fe1Smrg	(__complex_sin): New. Dispatch to built-ins.
3322c3d31fe1Smrg	(sin): Use it.
3323c3d31fe1Smrg	(__complex_sinh): New. Dispatch to built-ins.
3324c3d31fe1Smrg	(sinh): Use it.
3325c3d31fe1Smrg	(__complex_sqrt): New. Dispatch to built-ins.
3326c3d31fe1Smrg	(sqrt): Use it.
3327c3d31fe1Smrg	(__complex_tan): New. Dispatch to built-ins.
3328c3d31fe1Smrg	(tan): Use it.
3329c3d31fe1Smrg	(__complex_tanh): New. Dispatch to built-ins.
3330c3d31fe1Smrg	(tanh): Use it.
3331c3d31fe1Smrg	(__complex_pow): New. Dispatch to built-ins.
3332c3d31fe1Smrg	(pow): Use it.
3333c3d31fe1Smrg
3334c3d31fe1Smrg2004-05-29  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
3335c3d31fe1Smrg	    Benjamin Kosnik  <bkoz@redhat.com>
3336c3d31fe1Smrg
3337c3d31fe1Smrg	PR libstdc++/14600
3338c3d31fe1Smrg	* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
3339c3d31fe1Smrg	* include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
3340c3d31fe1Smrg	* config/io/basic_file_stdio.cc (__basic_file::file): New.
3341c3d31fe1Smrg	* config/io/basic_file_stdio.h: Define.
3342c3d31fe1Smrg
3343c3d31fe1Smrg2004-05-27  Benjamin Kosnik  <bkoz@redhat.com>
3344c3d31fe1Smrg
3345c3d31fe1Smrg	PR libstdc++/15675
3346c3d31fe1Smrg	* docs/html/documentation.html: Update doxygen links for 3.4.0.
3347c3d31fe1Smrg
3348c3d31fe1Smrg2004-05-27  Jan Beulich  <jbeulich@novell.com>
3349c3d31fe1Smrg
3350c3d31fe1Smrg	* scripts/create_testsuite_files: Tweak.
3351c3d31fe1Smrg
3352c3d31fe1Smrg2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
3353c3d31fe1Smrg
3354c3d31fe1Smrg	PR libstdc++/15489
3355c3d31fe1Smrg	* scripts/create_testsuite_files: Revert xtype change, add non-GNU
3356c3d31fe1Smrg	bits to do the same thing.
3357c3d31fe1Smrg
3358c3d31fe1Smrg2004-05-24  Paolo Carlini  <pcarlini@suse.de>
3359c3d31fe1Smrg
3360c3d31fe1Smrg	* include/bits/istream.tcc (ignore): Correctly deal with
3361c3d31fe1Smrg	n == numeric_limits<streamsize>::max().
3362c3d31fe1Smrg	* testsuite/27_io/basic_istream/ignore/char/2.cc: New.
3363c3d31fe1Smrg
3364c3d31fe1Smrg	* include/bits/istream.tcc (basic_istream<>::getline): Prefer
3365c3d31fe1Smrg	'_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
3366c3d31fe1Smrg	__n == numeric_limits<>::min().
3367c3d31fe1Smrg
3368c3d31fe1Smrg	* include/bits/istream.tcc: Minor tweaks.
3369c3d31fe1Smrg
3370c3d31fe1Smrg	* testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
3371c3d31fe1Smrg	Tighten.
3372c3d31fe1Smrg	* testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
3373c3d31fe1Smrg	Likewise.
3374c3d31fe1Smrg	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
3375c3d31fe1Smrg	Likewise.
3376c3d31fe1Smrg	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
3377c3d31fe1Smrg	Likewise.
3378c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
3379c3d31fe1Smrg
3380c3d31fe1Smrg2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3381c3d31fe1Smrg
3382c3d31fe1Smrg	PR libstdc++/12854
3383c3d31fe1Smrg	Fixups for -Weffc++.
3384c3d31fe1Smrg	* include/bits/basic_string.h (basic_string::operator=): Return
3385c3d31fe1Smrg	pointer to this instead of result of assign. Although redundant,
3386c3d31fe1Smrg	this doesn't impact resultant codegen.
3387c3d31fe1Smrg
3388c3d31fe1Smrg	* include/bits/locale_facets.h (__numpunct_cache): Declare
3389c3d31fe1Smrg	assignment opxserator and copy constructor private.
3390c3d31fe1Smrg	(__timepunct_cache): Same.
3391c3d31fe1Smrg	(__moneypunct_cache): Same.
3392c3d31fe1Smrg	(collate): Use member initialization list for _M_c_locale_collate.
3393c3d31fe1Smrg	* config/locale/gnu/messages_members.h: Same.
3394c3d31fe1Smrg	* config/locale/gnu/time_members.h (__timepunct): Same.
3395c3d31fe1Smrg	* src/codecvt.cc: Use member initialization list to initialize
3396c3d31fe1Smrg	_M_c_locale_codecvt.
3397c3d31fe1Smrg	* src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
3398c3d31fe1Smrg	* config/os/gnu-linux/ctype_noninline.h: Same.
3399c3d31fe1Smrg	* src/locale.cc (_Impl): Same.
3400c3d31fe1Smrg	* src/locale_init.cc: Same.
3401c3d31fe1Smrg	* src/localename.cc: Same.
3402c3d31fe1Smrg
3403c3d31fe1Smrg	* include/bits/basic_ios.h (basic_ios): Complete member
3404c3d31fe1Smrg	initialization list.
3405c3d31fe1Smrg	* include/bits/istream.tcc (basic_istream::sentry): Same.
3406c3d31fe1Smrg	* include/bits/ostream.tcc (basic_ostream::sentry): Same.
3407c3d31fe1Smrg	* include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
3408c3d31fe1Smrg	_M_pback to member initialization list.
3409c3d31fe1Smrg	* include/std/std_streambuf.h: Same.
3410c3d31fe1Smrg	* include/std/std_sstream.h: Same, for _M_mode.
3411c3d31fe1Smrg	* src/ios.cc (ios_base): Same.
3412c3d31fe1Smrg
3413c3d31fe1Smrg	* include/ext/rope: Make derived classes match exception
3414c3d31fe1Smrg
3415c3d31fe1Smrg	 specifications. Add copy constructors and assignment operators.
3416c3d31fe1Smrg
3417c3d31fe1Smrg	* include/debug/safe_base.h (_Safe_sequence_base): Declare copy
3418c3d31fe1Smrg	constructor and assignment operator protected.
3419c3d31fe1Smrg	(_Safe_iterator_base): Same.
3420c3d31fe1Smrg	* include/debug/formatter.h (_Error_formatter): Define copy
3421c3d31fe1Smrg	constructor and assignment operator.
3422c3d31fe1Smrg
3423c3d31fe1Smrg	* include/backward/strstream: Declare assignment operator and copy
3424c3d31fe1Smrg	constructor private.
3425c3d31fe1Smrg
3426c3d31fe1Smrg2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3427c3d31fe1Smrg
3428c3d31fe1Smrg	* testsuite/testsuite_hooks.h (func_callback): Declare copy
3429c3d31fe1Smrg	constructor and assignment operator private.
3430c3d31fe1Smrg	* testsuite/23_containers/deque/cons/clear_allocator.cc: Match
3431c3d31fe1Smrg	exception specifications of base class.
3432c3d31fe1Smrg	* testsuite/23_containers/list/cons/clear_allocator.cc: Same.
3433c3d31fe1Smrg	* testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
3434c3d31fe1Smrg	* testsuite/23_containers/vector/bool/clear_allocator.cc: New.
3435c3d31fe1Smrg
3436c3d31fe1Smrg2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3437c3d31fe1Smrg
3438c3d31fe1Smrg	* libsupc++/cxxabi.h: Remove duplicated and useless public and
3439c3d31fe1Smrg	private keywords in class declarations. Format. Use
3440c3d31fe1Smrg	stddef.h. Expose declarations to "C" compilation.
3441c3d31fe1Smrg	* libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
3442c3d31fe1Smrg	assignment operator.
3443c3d31fe1Smrg	(__dyncast_result): Same.
3444c3d31fe1Smrg	* libsupc++/vec.cc (uncatch_exception): Same, use member
3445c3d31fe1Smrg	initialization list.
3446c3d31fe1Smrg
3447c3d31fe1Smrg2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3448c3d31fe1Smrg
3449c3d31fe1Smrg	* testsuite/abi_check.cc: Add unistd.h.
3450c3d31fe1Smrg
3451c3d31fe1Smrg2004-05-22  Paolo Carlini  <pcarlini@suse.de>
3452c3d31fe1Smrg
3453c3d31fe1Smrg	PR libstdc++/15565
3454c3d31fe1Smrg	* include/bits/locale_facets.tcc (__int_to_char(unsigned long),
3455c3d31fe1Smrg	__int_to_char(unsigned long long)): Showpos is not relevant
3456c3d31fe1Smrg	for unsigned types.
3457c3d31fe1Smrg	* testsuite/22_locale/num_put/put/char/15565.cc: New.
3458c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
3459c3d31fe1Smrg
3460c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
3461c3d31fe1Smrg	char.
3462c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
3463c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
3464c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
3465c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
3466c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
3467c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
3468c3d31fe1Smrg
3469c3d31fe1Smrg2004-05-21  Matthias Klose  <doko@debian.org>
3470c3d31fe1Smrg
3471c3d31fe1Smrg	* docs/doxygen/run_doxygen:  Bump required version.
3472c3d31fe1Smrg
3473c3d31fe1Smrg2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
3474c3d31fe1Smrg
3475c3d31fe1Smrg	* docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
3476c3d31fe1Smrg	* docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
3477c3d31fe1Smrg
3478c3d31fe1Smrg2004-05-21  Paolo Carlini  <pcarlini@suse.de>
3479c3d31fe1Smrg
3480c3d31fe1Smrg	* include/bits/istream.tcc (ignore): Remove redundant line.
3481c3d31fe1Smrg	(readsome): Tidy, closely following 27.6.1.3, p30.
3482c3d31fe1Smrg
3483c3d31fe1Smrg2004-05-20  Paolo Carlini  <pcarlini@suse.de>
3484c3d31fe1Smrg
3485c3d31fe1Smrg	* include/bits/istream.tcc (operator>>(basic_istream<>&,
3486c3d31fe1Smrg	basic_string<>&)): Use a temporary buffer, thus avoiding
3487c3d31fe1Smrg	reallocation for common case.
3488c3d31fe1Smrg	* testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
3489c3d31fe1Smrg	New.
3490c3d31fe1Smrg	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
3491c3d31fe1Smrg	Likewise.
3492c3d31fe1Smrg
3493c3d31fe1Smrg	* include/bits/istream.tcc: Const-ification of a few variables.
3494c3d31fe1Smrg
3495c3d31fe1Smrg	* include/bits/ostream.tcc: Trivial formatting fixes and
3496c3d31fe1Smrg	const-ification of some variables.
3497c3d31fe1Smrg
3498c3d31fe1Smrg2004-05-20  Benjamin Kosnik  <bkoz@redhat.com>
3499c3d31fe1Smrg
3500c3d31fe1Smrg	PR libstdc++/15123
3501c3d31fe1Smrg	PR libstdc++/13928
3502c3d31fe1Smrg	* docs/doxygen/Intro.3: Remove Allocators.3.
3503c3d31fe1Smrg	Add new extension headers, extension namespace list.
3504c3d31fe1Smrg	* docs/doxygen/run_doxygen (problematic): Remove Allocators.3
3505c3d31fe1Smrg	Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
3506c3d31fe1Smrg	__gnu_debug::. Remove __policy_ renames.
3507c3d31fe1Smrg	* docs/doxygen/guide.html: Add dot note.
3508c3d31fe1Smrg	* docs/doxygen/stdheader.cc: Edit, add files.
3509c3d31fe1Smrg	* docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
3510c3d31fe1Smrg
3511c3d31fe1Smrg2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
3512c3d31fe1Smrg
3513c3d31fe1Smrg	* include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
3514c3d31fe1Smrg
3515c3d31fe1Smrg2004-05-18  Jan Beulich  <jbeulich@novell.com>
3516c3d31fe1Smrg
3517c3d31fe1Smrg	PR libstdc++/15489
3518c3d31fe1Smrg	* scripts/create_testsuite_files: Also find source files through
3519c3d31fe1Smrg	symbolic links.
3520c3d31fe1Smrg
3521c3d31fe1Smrg2004-05-18  Jan Beulich  <jbeulich@novell.com>
3522c3d31fe1Smrg
3523c3d31fe1Smrg	PR libstdc++/15488
3524c3d31fe1Smrg	* testsuite/lib/libstdc++.exp: Make test files writable.
3525c3d31fe1Smrg
3526c3d31fe1Smrg2004-05-18  Paolo Carlini  <pcarlini@suse.de>
3527c3d31fe1Smrg
3528c3d31fe1Smrg	* include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
3529c3d31fe1Smrg	tweaks.
3530c3d31fe1Smrg
3531c3d31fe1Smrg2004-05-18  Dhruv Matani  <dhruvbird@gmx.net>
3532c3d31fe1Smrg
3533c3d31fe1Smrg	* include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
3534c3d31fe1Smrg	allocation loop which removes blocks from the global free list
3535c3d31fe1Smrg	from O(N) to O(1) when the required blocks are <= the number
3536c3d31fe1Smrg	available.
3537c3d31fe1Smrg
3538c3d31fe1Smrg2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
3539c3d31fe1Smrg
3540c3d31fe1Smrg	* include/ext/enc_filebuf.h: Move concept-check macro to class scope.
3541c3d31fe1Smrg
3542c3d31fe1Smrg2004-05-17  Benjamin Kosnik  <bkoz@redhat.com>
3543c3d31fe1Smrg
3544c3d31fe1Smrg	* testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
3545c3d31fe1Smrg	* testsuite/23_containers/deque/14340.cc: New.
3546c3d31fe1Smrg	* testsuite/23_containers/list/14340.cc: New.
3547c3d31fe1Smrg	* testsuite/23_containers/map/14340.cc: New.
3548c3d31fe1Smrg	* testsuite/23_containers/multimap/14340.cc: New.
3549c3d31fe1Smrg	* testsuite/23_containers/multiset/14340.cc: New.
3550c3d31fe1Smrg	* testsuite/23_containers/set/14340.cc: New.
3551c3d31fe1Smrg	* testsuite/23_containers/vector/14340.cc: New.
3552c3d31fe1Smrg
3553c3d31fe1Smrg2004-05-17  Douglas Gregor   <gregod@cs.rpi.edu>
3554c3d31fe1Smrg
3555c3d31fe1Smrg	PR libstdc++/14340
3556c3d31fe1Smrg	* include/debug/safe_iterator.h (_Safe_iterator converting
3557c3d31fe1Smrg	constructor): Only allow declaration to instantiate when the
3558c3d31fe1Smrg	incoming _Safe_iterator has exactly the right iterator type.
3559c3d31fe1Smrg
3560c3d31fe1Smrg2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
3561c3d31fe1Smrg
3562c3d31fe1Smrg	* include/bits/boost_concept_check.h: Fix old attribute syntax.
3563c3d31fe1Smrg	* testsuite/23_containers/map/modifiers/swap.cc: Define operator<
3564c3d31fe1Smrg	to pass concept-checks.
3565c3d31fe1Smrg	* testsuite/23_containers/multimap/modifiers/swap.cc: Same.
3566c3d31fe1Smrg	* testsuite/23_containers/set/modifiers/swap.cc: Same.
3567c3d31fe1Smrg	* testsuite/23_containers/multiset/modifiers/swap.cc: Same.
3568c3d31fe1Smrg
3569c3d31fe1Smrg2004-05-16  Paolo Carlini  <pcarlini@suse.de>
3570c3d31fe1Smrg
3571c3d31fe1Smrg	* include/std/std_bitset.h: Minor formatting fixes.
3572c3d31fe1Smrg
3573c3d31fe1Smrg2004-05-16  Paolo Carlini  <pcarlini@suse.de>
3574c3d31fe1Smrg
3575c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3576c3d31fe1Smrg	Consistently update __bin._M_free[0].
3577c3d31fe1Smrg	(__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
3578c3d31fe1Smrg	__bin._M_free[0] to simplify the while loop (i.e., the number
3579c3d31fe1Smrg	of iterations becomes known at the outset).
3580c3d31fe1Smrg
3581c3d31fe1Smrg2004-05-15  Paolo Carlini  <pcarlini@suse.de>
3582c3d31fe1Smrg
3583c3d31fe1Smrg	* include/std/std_bitset.h: Trivial formatting fixes.
3584c3d31fe1Smrg
3585c3d31fe1Smrg2004-05-14  Paolo Carlini  <pcarlini@suse.de>
3586c3d31fe1Smrg	    Ivan Godard  <igodard@pacbell.net>
3587c3d31fe1Smrg
3588c3d31fe1Smrg	PR libstdc++/15361
3589c3d31fe1Smrg	* include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
3590c3d31fe1Smrg	* testsuite/23_containers/bitset/ext/15361.cc: New.
3591c3d31fe1Smrg
3592c3d31fe1Smrg2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3593c3d31fe1Smrg
3594c3d31fe1Smrg	PR libstdc++/15046
3595c3d31fe1Smrg	* crossconfig.m4: Add C99 math bits for linux crosses.
3596c3d31fe1Smrg	* configure: Regenerate.
3597c3d31fe1Smrg
3598c3d31fe1Smrg2004-05-13  Simon Marshall <simon.marshall@misys.com>
3599c3d31fe1Smrg	    Benjamin Kosnik  <bkoz@redhat.com>
3600c3d31fe1Smrg
3601c3d31fe1Smrg	PR libstdc++/15090
3602c3d31fe1Smrg	* include/bits/locale_facets.h: Fix for -fno-for-scope.
3603c3d31fe1Smrg	* include/debug/safe_sequence.h: Same.
3604c3d31fe1Smrg	* include/debug/safe_iterator.tcc: Same.
3605c3d31fe1Smrg	* src/debug.cc: Same.
3606c3d31fe1Smrg	* src/locale.cc: Same.
3607c3d31fe1Smrg	* src/locale_init.cc: Same.
3608c3d31fe1Smrg	* src/localename.cc: Same.
3609c3d31fe1Smrg	* config/locale/gnu/ctype_members.cc: Same.
3610c3d31fe1Smrg	* config/locale/gnu/numeric_members.cc: Same.
3611c3d31fe1Smrg	* testsuite/testsuite_abi.cc: Same.
3612c3d31fe1Smrg	* testsuite/testsuite_hooks.cc: Same.
3613c3d31fe1Smrg
3614c3d31fe1Smrg2004-05-13  Jonathan Wakely  <redi@gcc.gnu.org>
3615c3d31fe1Smrg
3616c3d31fe1Smrg	* docs/html/abi.html: Document effect of -fabi-version on value
3617c3d31fe1Smrg	of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
3618c3d31fe1Smrg	Fix markup.
3619c3d31fe1Smrg
3620c3d31fe1Smrg2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3621c3d31fe1Smrg
3622c3d31fe1Smrg	PR libstdc++/15074
3623c3d31fe1Smrg	* docs/html/faq/index.html: Update docs for libsupc++ usage.
3624c3d31fe1Smrg
3625c3d31fe1Smrg2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3626c3d31fe1Smrg
3627c3d31fe1Smrg	PR libstdc++/15412
3628c3d31fe1Smrg	* include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
3629c3d31fe1Smrg	__gnu_internal.
3630c3d31fe1Smrg	(_GLIBCXX_mutex_address): Same.
3631c3d31fe1Smrg	(_GLIBCXX_once): Same.
3632c3d31fe1Smrg	(_GLIBCXX_mutex_init): Same.
3633c3d31fe1Smrg	(_GLIBCXX_mutex_address_init): Same.
3634c3d31fe1Smrg
3635c3d31fe1Smrg2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3636c3d31fe1Smrg
3637c3d31fe1Smrg	* docs/html/abi.html: New.
3638c3d31fe1Smrg	* docs/html/abi.txt: Remove.
3639c3d31fe1Smrg	* docs/html/documentation.html: Add link.
3640c3d31fe1Smrg	* testsuite/Makefile.am: Add files.
3641c3d31fe1Smrg	* testsuite/Makefile.in: Regenerated.
3642c3d31fe1Smrg	* testsuite/abi_check.cc: Move and modify code into...
3643c3d31fe1Smrg	* testsuite/testsuite_abi.cc: Add.
3644c3d31fe1Smrg	* testsuite/testsuite_abi.h: Add.
3645c3d31fe1Smrg
3646c3d31fe1Smrg	* docs/html/17_intro/TODO: Update.
3647c3d31fe1Smrg	* include/bits/stl_pair.h: Format.
3648c3d31fe1Smrg
3649c3d31fe1Smrg2004-05-06  Matthias Klose  <doko@debian.org>
3650c3d31fe1Smrg
3651c3d31fe1Smrg	* include/backward/iterator.h: 	Add GPL copyright info,
3652c3d31fe1Smrg	with exception clause.
3653c3d31fe1Smrg	* include/bits/boost_concept_check.h: Likewise.
3654c3d31fe1Smrg	* include
3655c3d31fe1Smrg	* libsupc++/tinfo.h: Likewise.
3656c3d31fe1Smrg	* po/string_literals.cc: Likewise.
3657c3d31fe1Smrg
3658c3d31fe1Smrg2004-05-03  Andreas Tobler  <a.tobler@schweiz.ch>
3659c3d31fe1Smrg
3660c3d31fe1Smrg	* acinclude.m4: Replace -W with more speaking -Wextra.
3661c3d31fe1Smrg	* configure: Rebuilt.
3662c3d31fe1Smrg
3663c3d31fe1Smrg2004-05-03  Paolo Carlini  <pcarlini@suse.de>
3664c3d31fe1Smrg
3665c3d31fe1Smrg	Optimize locale::_M_impl->_M_names for the most common cases:
3666c3d31fe1Smrg	!_M_names[0] means unnamed; !_M_names[1] means all the categories
3667c3d31fe1Smrg	the same name (_M_names[0] && _M_names[1] means that the full set
3668c3d31fe1Smrg	of _M_names must be processed, the general case).
3669c3d31fe1Smrg	* include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
3670c3d31fe1Smrg	Tweak, saving work when !_M_names[1].
3671c3d31fe1Smrg	(locale::locale(const locale&, _Facet*): Simplify: now just setting
3672c3d31fe1Smrg	_M_names[0] = 0 means unnamed.
3673c3d31fe1Smrg	* src/locale.cc (locale::operator==): Deal first with the common,
3674c3d31fe1Smrg	easy cases, otherwise fall back to locale::name().
3675c3d31fe1Smrg	(locale::name()): Tweak, if !_M_names[0] just return "*".
3676c3d31fe1Smrg	(locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
3677c3d31fe1Smrg	copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
3678c3d31fe1Smrg	* src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
3679c3d31fe1Smrg	* src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
3680c3d31fe1Smrg	Simplify when !std::strchr, just updating _M_names[0]; clean up.
3681c3d31fe1Smrg	(locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
3682c3d31fe1Smrg	for the general case (full set of names), then do the usual work;
3683c3d31fe1Smrg	clean up.
3684c3d31fe1Smrg
3685c3d31fe1Smrg	* src/locale.cc (locale::name()): Reserve space in __ret.
3686c3d31fe1Smrg	* src/locale_init.cc (locale::global(const locale&)): Save
3687c3d31fe1Smrg	the name in a temporary.
3688c3d31fe1Smrg	* src/localename.cc (locale::locale(const char*)): Reserve space
3689c3d31fe1Smrg	in __str.
3690c3d31fe1Smrg
3691c3d31fe1Smrg2004-04-29  Paolo Carlini  <pcarlini@suse.de>
3692c3d31fe1Smrg
3693c3d31fe1Smrg	* src/locale.cc (locale::operator==): Always avoid constructing
3694c3d31fe1Smrg	locale::name(), directly compare pairs of _M_names.
3695c3d31fe1Smrg
3696c3d31fe1Smrg2004-04-26  Paolo Carlini  <pcarlini@suse.de>
3697c3d31fe1Smrg
3698c3d31fe1Smrg	* include/bits/istream.tcc: Fix comment.
3699c3d31fe1Smrg
3700c3d31fe1Smrg2004-04-26  Paolo Carlini  <pcarlini@suse.de>
3701c3d31fe1Smrg
3702c3d31fe1Smrg	* include/bits/stl_vector.h: Trivial formatting fixes.
3703c3d31fe1Smrg	* include/bits/vector.tcc: Likewise.
3704c3d31fe1Smrg
3705c3d31fe1Smrg2004-04-25  Paolo Carlini  <pcarlini@suse.de>
3706c3d31fe1Smrg
3707c3d31fe1Smrg	PR libstdc++/15002 (continued again)
3708c3d31fe1Smrg	* include/bits/istream.tcc (getline(basic_istream<>&,
3709c3d31fe1Smrg	basic_string<>&, _CharT)): Use a temporary buffer, thus
3710c3d31fe1Smrg	avoiding reallocation for common case.
3711c3d31fe1Smrg
3712c3d31fe1Smrg	* include/bits/basic_string.tcc (_S_construct(_InIterator,
3713c3d31fe1Smrg	_InIterator, const _Alloc&, input_iterator_tag)): Tweak size
3714c3d31fe1Smrg	of temporary buffer to a power of two.
3715c3d31fe1Smrg
3716c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
3717c3d31fe1Smrg
3718c3d31fe1Smrg2004-04-25  Paolo Carlini  <pcarlini@suse.de>
3719c3d31fe1Smrg
3720c3d31fe1Smrg	* testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
3721c3d31fe1Smrg	New.
3722c3d31fe1Smrg	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
3723c3d31fe1Smrg	Likewise.
3724c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
3725c3d31fe1Smrg
3726c3d31fe1Smrg2004-04-24  Paolo Carlini  <pcarlini@suse.de>
3727c3d31fe1Smrg	    Petur Runolfsson  <peturr02@ru.is>
3728c3d31fe1Smrg
3729c3d31fe1Smrg	PR libstdc++/15002 (continued)
3730c3d31fe1Smrg	* include/bits/istream.tcc (basic_istream<>::getline(char_type*,
3731c3d31fe1Smrg	streamsize, char_type)): Use traits::find/copy in a loop to speed
3732c3d31fe1Smrg	up greatly the function in the common case (I/O buffer size >> 1).
3733c3d31fe1Smrg
3734c3d31fe1Smrg2004-04-24  Paolo Carlini  <pcarlini@suse.de>
3735c3d31fe1Smrg
3736c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/char/4.cc: New.
3737c3d31fe1Smrg
3738c3d31fe1Smrg	* include/bits/istream.tcc (getline(basic_istream<>&,
3739c3d31fe1Smrg	basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
3740c3d31fe1Smrg	of sbumpc(), consistently with the other functions, thus also
3741c3d31fe1Smrg	dealing correctly with the case of exceeded string::max_size().
3742c3d31fe1Smrg
3743c3d31fe1Smrg2004-04-24  Matthias Klose  <doko@debian.org>
3744c3d31fe1Smrg
3745c3d31fe1Smrg	Jonathan Wakely  <cow@compsoc.man.ac.uk>
3746c3d31fe1Smrg	* docs/html/configopts.html: Fix reference to allocator config option.
3747c3d31fe1Smrg
3748c3d31fe1Smrg2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
3749c3d31fe1Smrg
3750c3d31fe1Smrg	* linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
3751c3d31fe1Smrg	* configure: Regenerate.
3752c3d31fe1Smrg
3753c3d31fe1Smrg2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
3754c3d31fe1Smrg
3755c3d31fe1Smrg	PR libstdc++/15047, libstdc++/11610
3756c3d31fe1Smrg	* testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
3757c3d31fe1Smrg	(libstdc++_init): Don't pass outdir to v3-copy-files.
3758c3d31fe1Smrg
3759c3d31fe1Smrg2004-04-21  Paolo Carlini  <pcarlini@suse.de>
3760c3d31fe1Smrg
3761c3d31fe1Smrg	* include/bits/deque.tcc: Trivial formatting fixes.
3762c3d31fe1Smrg	* include/bits/stl_deque.h: Likewise.
3763c3d31fe1Smrg	* include/bits/stl_list.h: Likewise.
3764c3d31fe1Smrg	* include/bits/stl_tree.h: Likewise.
3765c3d31fe1Smrg
3766c3d31fe1Smrg2004-04-21  Paolo Carlini  <pcarlini@suse.de>
3767c3d31fe1Smrg	    Andrew Pinski  <pinskia@physics.uc.edu>
3768c3d31fe1Smrg
3769c3d31fe1Smrg	* include/bits/basic_string.tcc (_M_mutate): Don't compute
3770c3d31fe1Smrg	__src unnecessarily.
3771c3d31fe1Smrg
3772c3d31fe1Smrg2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
3773c3d31fe1Smrg
3774c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
3775c3d31fe1Smrg	Clarify assertion, set test variable to false before assert.
3776c3d31fe1Smrg	* testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
3777c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
3778c3d31fe1Smrg	* testsuite/27_io/ios_base/storage/2.cc: Same.
3779c3d31fe1Smrg
3780c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
3781c3d31fe1Smrg	function returns.
3782c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
3783c3d31fe1Smrg	* testsuite/27_io/fpos/14320-3.cc: Same.
3784c3d31fe1Smrg
3785c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
3786c3d31fe1Smrg	* testsuite/27_io/fpos/1.cc: Same.
3787c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/2.cc: Same.
3788c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/4.cc: Same.
3789c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/1.cc: Same.
3790c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/2.cc: Same.
3791c3d31fe1Smrg	* testsuite/27_io/basic_streambuf/2.cc: Same.
3792c3d31fe1Smrg	* testsuite/27_io/basic_ostringstream/2.cc: Same.
3793c3d31fe1Smrg	* testsuite/27_io/basic_ostream/2.cc: Same.
3794c3d31fe1Smrg	* testsuite/27_io/basic_ofstream/2.cc: Same.
3795c3d31fe1Smrg	* testsuite/27_io/basic_istringstream/2.cc: Same.
3796c3d31fe1Smrg	* testsuite/27_io/basic_istream/2.cc: Same.
3797c3d31fe1Smrg	* testsuite/27_io/basic_iostream/2.cc: Same.
3798c3d31fe1Smrg	* testsuite/27_io/basic_ios/2.cc: Same.
3799c3d31fe1Smrg	* testsuite/27_io/basic_ifstream/2.cc: Same.
3800c3d31fe1Smrg	* testsuite/27_io/basic_fstream/2.cc: Same.
3801c3d31fe1Smrg	* testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
3802c3d31fe1Smrg
3803c3d31fe1Smrg	* testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
3804c3d31fe1Smrg	unsigned against zero.
3805c3d31fe1Smrg	* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
3806c3d31fe1Smrg	* testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
3807c3d31fe1Smrg
3808c3d31fe1Smrg	* testsuite/18_support/new_delete_placement.cc: Initialize
3809c3d31fe1Smrg	variables before first use.
3810c3d31fe1Smrg	* testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
3811c3d31fe1Smrg	* testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
3812c3d31fe1Smrg	* testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
3813c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
3814c3d31fe1Smrg	Same.
3815c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
3816c3d31fe1Smrg	exceptions_badbit_throw.cc: Same.
3817c3d31fe1Smrg	* testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
3818c3d31fe1Smrg	Same.
3819c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
3820c3d31fe1Smrg	exceptions_failbit_throw.cc: Same.
3821c3d31fe1Smrg	* testsuite/27_io/types/2.cc: Same.
3822c3d31fe1Smrg
3823c3d31fe1Smrg	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
3824c3d31fe1Smrg	file name.
3825c3d31fe1Smrg	* testsuite/27_io/fpos/14775.cc: Same.
3826c3d31fe1Smrg
3827c3d31fe1Smrg2004-04-19  Paolo Carlini  <pcarlini@suse.de>
3828c3d31fe1Smrg
3829c3d31fe1Smrg	PR libstdc++/15002 (partial)
3830c3d31fe1Smrg	* include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
3831c3d31fe1Smrg	Special case __n2 == 1, not calling traits_type::assign/copy.
3832c3d31fe1Smrg
3833c3d31fe1Smrg2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
3834c3d31fe1Smrg
3835c3d31fe1Smrg	* include/bits/stl_bvector.h: Use _M_impl._M_start.
3836c3d31fe1Smrg
3837c3d31fe1Smrg2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
3838c3d31fe1Smrg
3839c3d31fe1Smrg	* include/bits/c++config (_GLIBCXX_STD): New.
3840c3d31fe1Smrg	* src/list.cc: Use it.
3841c3d31fe1Smrg	* include/std/std_bitset.h: Same.
3842c3d31fe1Smrg	* include/bits/vector.tcc: Same.
3843c3d31fe1Smrg	* include/bits/stl_set.h: Same.
3844c3d31fe1Smrg	* include/bits/stl_multiset.h: Same.
3845c3d31fe1Smrg	* include/bits/stl_multimap.h: Same.
3846c3d31fe1Smrg	* include/bits/stl_map.h: Same.
3847c3d31fe1Smrg	* include/bits/stl_list.h: Same.
3848c3d31fe1Smrg	* include/bits/stl_vector.h: Same.
3849c3d31fe1Smrg	* include/bits/stl_bvector.h: Same.
3850c3d31fe1Smrg	* include/bits/stl_deque.h: Same.
3851c3d31fe1Smrg	* include/bits/deque.tcc: Same.
3852c3d31fe1Smrg	* include/bits/list.tcc: Same.
3853c3d31fe1Smrg	* include/debug/vector: Same.
3854c3d31fe1Smrg	* include/debug/set.h: Same.
3855c3d31fe1Smrg	* include/debug/multiset.h: Same.
3856c3d31fe1Smrg	* include/debug/multimap.h: Same.
3857c3d31fe1Smrg	* include/debug/map.h: Same.
3858c3d31fe1Smrg	* include/debug/list: Same.
3859c3d31fe1Smrg	* include/debug/deque: Same.
3860c3d31fe1Smrg	* include/debug/bitset: Same.
3861c3d31fe1Smrg	* include/debug/formatter.h (__gnu_debug): Remove using directive.
3862c3d31fe1Smrg	Add using declaration for std::type_info.
3863c3d31fe1Smrg	* include/debug/safe_iterator.h: Add using declaration for
3864c3d31fe1Smrg	std::iterator_traits and std::pair.
3865c3d31fe1Smrg	* src/debug_list.cc: New.
3866c3d31fe1Smrg	* src/Makefile.am: Add debug_list.cc.
3867c3d31fe1Smrg	* src/Makefile.in: Regenerate.
3868c3d31fe1Smrg	* config/linker-map.gnu: Add _List_node_base exports for std and
3869c3d31fe1Smrg	__gnu_norm.
3870c3d31fe1Smrg
3871c3d31fe1Smrg	* include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
3872c3d31fe1Smrg	idiom that other containers use.
3873c3d31fe1Smrg	* testsuite/23_containers/vector/bool/clear_allocator.cc: New.
3874c3d31fe1Smrg
3875c3d31fe1Smrg2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3876c3d31fe1Smrg
3877c3d31fe1Smrg	PR libstdc++/14975
3878c3d31fe1Smrg	* include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
3879c3d31fe1Smrg	in case of error.
3880c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
3881c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
3882c3d31fe1Smrg
3883c3d31fe1Smrg2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3884c3d31fe1Smrg
3885c3d31fe1Smrg	* acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
3886c3d31fe1Smrg	used anymore.
3887c3d31fe1Smrg	* config.h.in: Regenerate.
3888c3d31fe1Smrg
3889c3d31fe1Smrg2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3890c3d31fe1Smrg
3891c3d31fe1Smrg	* config/locale/generic/monetary_members.cc
3892c3d31fe1Smrg	(moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
3893c3d31fe1Smrg	btowc unnecessarily, just cast to wchar_t (the concerned chars
3894c3d31fe1Smrg	all belong to the basic character set).
3895c3d31fe1Smrg	* config/locale/generic/numeric_members.cc
3896c3d31fe1Smrg	(numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
3897c3d31fe1Smrg	* config/locale/gnu/monetary_members.cc
3898c3d31fe1Smrg	(moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
3899c3d31fe1Smrg	* config/locale/gnu/numeric_members.cc
3900c3d31fe1Smrg	(numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
3901c3d31fe1Smrg
3902c3d31fe1Smrg2004-04-15  Paolo Carlini  <pcarlini@suse.de>
3903c3d31fe1Smrg
3904c3d31fe1Smrg	* src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
3905c3d31fe1Smrg	avoid constructing unnecessarily this->name().
3906c3d31fe1Smrg
3907c3d31fe1Smrg2004-04-14  Zack Weinberg  <zack@codesourcery.com>
3908c3d31fe1Smrg
3909c3d31fe1Smrg	* testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
3910c3d31fe1Smrg	Change definition of CXX to use $(shell) instead of backticks.
3911c3d31fe1Smrg	* testsuite/Makefile.in: Regenerate.
3912c3d31fe1Smrg
3913c3d31fe1Smrg2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
3914c3d31fe1Smrg
3915c3d31fe1Smrg	* testsuite/performance/20_util/allocator/list_sort_search.cc:
3916c3d31fe1Smrg	Minor formatting fixes.
3917c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_mt_find.cc:
3918c3d31fe1Smrg	Likewise.
3919c3d31fe1Smrg
3920c3d31fe1Smrg2004-04-12  Paolo Carlini <pcarlini@suse.de>
3921c3d31fe1Smrg
3922c3d31fe1Smrg	* config/locale/gnu/numeric_members.cc
3923c3d31fe1Smrg	(numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
3924c3d31fe1Smrg	in __uselocale, since btowc is called for chars belonging to
3925c3d31fe1Smrg	the basic character set.
3926c3d31fe1Smrg
3927c3d31fe1Smrg2004-04-09  Paolo Carlini  <pcarlini@suse.de>
3928c3d31fe1Smrg
3929c3d31fe1Smrg	* testsuite/22_locale/messages/members/char/1.cc: Remove junk.
3930c3d31fe1Smrg	* testsuite/22_locale/messages/members/char/2.cc: Ditto.
3931c3d31fe1Smrg	* testsuite/22_locale/messages/members/char/3.cc: Ditto.
3932c3d31fe1Smrg	* testsuite/22_locale/num_get/get/char/1.cc: Ditto.
3933c3d31fe1Smrg	* testsuite/22_locale/num_get/get/char/2.cc: Ditto.
3934c3d31fe1Smrg	* testsuite/22_locale/num_get/get/char/3.cc: Ditto.
3935c3d31fe1Smrg	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
3936c3d31fe1Smrg	* testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
3937c3d31fe1Smrg	* testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
3938c3d31fe1Smrg	* testsuite/22_locale/num_put/put/char/1.cc: Ditto.
3939c3d31fe1Smrg	* testsuite/22_locale/num_put/put/char/2.cc: Ditto.
3940c3d31fe1Smrg	* testsuite/22_locale/num_put/put/char/3.cc: Ditto.
3941c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
3942c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
3943c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
3944c3d31fe1Smrg	* testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
3945c3d31fe1Smrg	* testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
3946c3d31fe1Smrg
3947c3d31fe1Smrg2004-04-07  Paolo Carlini  <pcarlini@suse.de>
3948c3d31fe1Smrg
3949c3d31fe1Smrg	* config/locale/generic/time_members.cc
3950c3d31fe1Smrg	(__timepunct<char>::_M_initialize_timepunct,
3951c3d31fe1Smrg	__timepunct<wchar_t>::_M_initialize_timepunct): the correct
3952c3d31fe1Smrg	_M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
3953c3d31fe1Smrg	* config/locale/gnu/time_members.cc
3954c3d31fe1Smrg	(__timepunct<char>::_M_initialize_timepunct,
3955c3d31fe1Smrg	__timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
3956c3d31fe1Smrg	* testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
3957c3d31fe1Smrg	* testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
3958c3d31fe1Smrg
3959c3d31fe1Smrg	* testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
3960c3d31fe1Smrg	* testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
3961c3d31fe1Smrg	* testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
3962c3d31fe1Smrg	* testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
3963c3d31fe1Smrg	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
3964c3d31fe1Smrg	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
3965c3d31fe1Smrg	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
3966c3d31fe1Smrg	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
3967c3d31fe1Smrg	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
3968c3d31fe1Smrg	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
3969c3d31fe1Smrg	* testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
3970c3d31fe1Smrg	* testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
3971c3d31fe1Smrg	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
3972c3d31fe1Smrg	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
3973c3d31fe1Smrg	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
3974c3d31fe1Smrg	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
3975c3d31fe1Smrg	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
3976c3d31fe1Smrg	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
3977c3d31fe1Smrg	* testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
3978c3d31fe1Smrg	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
3979c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/1.cc: Ditto.
3980c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/2.cc: Ditto.
3981c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/3.cc: Ditto.
3982c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/4.cc: Ditto.
3983c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/5.cc: Ditto.
3984c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/6.cc: Ditto.
3985c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/7.cc: Ditto.
3986c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/8.cc: Ditto.
3987c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
3988c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
3989c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
3990c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
3991c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
3992c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
3993c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
3994c3d31fe1Smrg	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
3995c3d31fe1Smrg
3996c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
3997c3d31fe1Smrg
3998c3d31fe1Smrg2004-04-07  Paolo Carlini  <pcarlini@suse.de>
3999c3d31fe1Smrg
4000c3d31fe1Smrg	* config/locale/gnu/monetary_members.cc
4001c3d31fe1Smrg	(moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
4002c3d31fe1Smrg	_NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
4003c3d31fe1Smrg	and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
4004c3d31fe1Smrg	_NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
4005c3d31fe1Smrg	* config/locale/gnu/numeric_members.cc
4006c3d31fe1Smrg	(numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
4007c3d31fe1Smrg	and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
4008c3d31fe1Smrg
4009c3d31fe1Smrg2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
4010c3d31fe1Smrg
4011c3d31fe1Smrg	Fixups for EDG front end.
4012c3d31fe1Smrg	* include/ext/rope: Instead of non-existent function
4013c3d31fe1Smrg	_Data_allocate, use allocator's allocate. Use this.
4014c3d31fe1Smrg	(namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
4015c3d31fe1Smrg	enumerations from _Rope_RopeRep here.
4016c3d31fe1Smrg	* include/ext/ropeimpl.h: Same.
4017c3d31fe1Smrg	* src/ext-inst.cc (_S_min_len): Fix up definition.
4018c3d31fe1Smrg
4019c3d31fe1Smrg	* config/locale/gnu/ctype_members.cc: Qualify base class members
4020c3d31fe1Smrg	with this.
4021c3d31fe1Smrg	* config/locale/generic/ctype_members.cc: Same.
4022c3d31fe1Smrg	* config/locale/gnu/messages_members.h: Same.
4023c3d31fe1Smrg	* config/locale/generic/messages_members.h: Same.
4024c3d31fe1Smrg	* src/ctype.cc: Same.
4025c3d31fe1Smrg	* include/bits/codecvt.h: Same.
4026c3d31fe1Smrg
4027c3d31fe1Smrg	* include/bits/boost_concept_check.h: Declare.
4028c3d31fe1Smrg	(__error_type_must_be_an_unsigned_integer_type): Remove this.
4029c3d31fe1Smrg	(__error_type_must_be_an_integer_type): Remove this.
4030c3d31fe1Smrg	(__error_type_must_be_a_signed_integer_type): Remove this.
4031c3d31fe1Smrg
4032c3d31fe1Smrg	* config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
4033c3d31fe1Smrg
4034c3d31fe1Smrg	* libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
4035c3d31fe1Smrg	specification to definition.
4036c3d31fe1Smrg	(__cxa_allocate_exception): Same.
4037c3d31fe1Smrg	* libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
4038c3d31fe1Smrg	* libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
4039c3d31fe1Smrg	(__cxa_get_globals): Same.
4040c3d31fe1Smrg
4041c3d31fe1Smrg	* libsupc++/del_op.cc: Add comment about freestanding.
4042c3d31fe1Smrg
4043c3d31fe1Smrg2004-04-05  Paolo Carlini  <pcarlini@suse.de>
4044c3d31fe1Smrg
4045c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
4046c3d31fe1Smrg	The critical section is actually very small, only two assignments.
4047c3d31fe1Smrg
4048c3d31fe1Smrg2004-04-04  Paolo Carlini  <pcarlini@suse.de>
4049c3d31fe1Smrg	    Petur Runolfsson  <peturr02@ru.is>
4050c3d31fe1Smrg
4051c3d31fe1Smrg	* testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
4052c3d31fe1Smrg	adapted from libstdc++/11378.
4053c3d31fe1Smrg
4054c3d31fe1Smrg2004-04-03  Paolo Carlini  <pcarlini@suse.de>
4055c3d31fe1Smrg
4056c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
4057c3d31fe1Smrg	some duplicated code.
4058c3d31fe1Smrg	(__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
4059c3d31fe1Smrg	in the single threaded case.
4060c3d31fe1Smrg	* testsuite/performance/20_util/allocator/list_sort_search.cc:
4061c3d31fe1Smrg	Reorder and renumber the tests consistently with the other testfiles.
4062c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
4063c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
4064c3d31fe1Smrg	* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
4065c3d31fe1Smrg
4066c3d31fe1Smrg2004-04-02  Paolo Carlini  <pcarlini@suse.de>
4067c3d31fe1Smrg
4068c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
4069c3d31fe1Smrg	Rearrange arithmetic to avoid computing two divisions at
4070c3d31fe1Smrg	each deallocation.
4071c3d31fe1Smrg
4072c3d31fe1Smrg2004-04-01  Paolo Carlini  <pcarlini@suse.de>
4073c3d31fe1Smrg
4074c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
4075c3d31fe1Smrg	Streamline the second half, wrapping it in a single
4076c3d31fe1Smrg	'#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
4077c3d31fe1Smrg	conditionals inside loops.
4078c3d31fe1Smrg
4079c3d31fe1Smrg2004-04-01  Paolo Carlini  <pcarlini@suse.de>
4080c3d31fe1Smrg
4081c3d31fe1Smrg	PR libstdc++/14775
4082c3d31fe1Smrg	* acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
4083c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
4084c3d31fe1Smrg	GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
4085c3d31fe1Smrg	to _GLIBCXX_RES_LIMITS.
4086c3d31fe1Smrg	(GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
4087c3d31fe1Smrg	HAVE_LIMIT_*.
4088c3d31fe1Smrg	* testsuite/testsuite_hooks.h: Declare set_file_limit.
4089c3d31fe1Smrg	* testsuite/testsuite_hooks.cc: Define it, using getrlimit
4090c3d31fe1Smrg	and setrlimit(RLIMIT_FSIZE).
4091c3d31fe1Smrg	* testsuite/27_io/fpos/14775.cc: New.
4092c3d31fe1Smrg	* config.h.in: Regenerate.
4093c3d31fe1Smrg	* configure: Likewise.
4094c3d31fe1Smrg
4095c3d31fe1Smrg2004-03-31  Paolo Carlini  <pcarlini@suse.de>
4096c3d31fe1Smrg
4097c3d31fe1Smrg	* config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
4098c3d31fe1Smrg	In v3 uses of sscanf, the special floating-point numbers INF,
4099c3d31fe1Smrg	INFINITY, etc., cannot occur in input, therefore, if the latter
4100c3d31fe1Smrg	is too large, ERANGE is always stored in errno, no need of finitel.
4101c3d31fe1Smrg
4102c3d31fe1Smrg2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
4103c3d31fe1Smrg
4104c3d31fe1Smrg	PR libstdc++/14783
4105c3d31fe1Smrg	* include/bits/stl_tree.h: Adjust initialization list order.
4106c3d31fe1Smrg
4107c3d31fe1Smrg2004-03-29  Loren J. Rittle  <ljrittle@acm.org>
4108c3d31fe1Smrg
4109c3d31fe1Smrg	* testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
4110c3d31fe1Smrg
4111c3d31fe1Smrg2004-03-29  Paolo Carlini  <pcarlini@suse.de>
4112c3d31fe1Smrg
4113c3d31fe1Smrg	* testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
4114c3d31fe1Smrg	on allocator behavior, the memory pointed by data2 may well be not
4115c3d31fe1Smrg	trashed.
4116c3d31fe1Smrg
4117c3d31fe1Smrg2004-03-28  Chavdar Botev  <cbotev@yahoo.com>
4118c3d31fe1Smrg
4119c3d31fe1Smrg	PR libstdc++/14245
4120c3d31fe1Smrg	* include/bits/basic_string.tcc
4121c3d31fe1Smrg	(basic_string::basic_string(const basic_string&)): Pass to
4122c3d31fe1Smrg	_Rep::_M_grab the actual allocator of the string being constructed
4123c3d31fe1Smrg	not the default constructed one.
4124c3d31fe1Smrg
4125c3d31fe1Smrg2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>
4126c3d31fe1Smrg
4127c3d31fe1Smrg	libstdc++ PR/13598
4128c3d31fe1Smrg	* config/locale/ieee_1003.1-2001/codecvt_specializations.h
4129c3d31fe1Smrg	(__enc_traits::_M_destroy): New.
4130c3d31fe1Smrg	(__enc_traits::~__enc_traits): Use it.
4131c3d31fe1Smrg	(__enc_traits::operator=): Use _M_destroy, _M_init.
4132c3d31fe1Smrg	(__enc_traits::__enc_traits): Same.
4133c3d31fe1Smrg
4134c3d31fe1Smrg2004-03-27  Petur Runolfsson  <peturr02@ru.is>
4135c3d31fe1Smrg
4136c3d31fe1Smrg	* testsuite/ext/enc_filebuf/char/13598.cc: New.
4137c3d31fe1Smrg
4138c3d31fe1Smrg2004-03-27  Paolo Carlini  <pcarlini@suse.de>
4139c3d31fe1Smrg
4140c3d31fe1Smrg	* include/ext/mt_allocator.h: Uglify consistently names of
4141c3d31fe1Smrg	variables, members and classes; tidy.
4142c3d31fe1Smrg
4143c3d31fe1Smrg2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>
4144c3d31fe1Smrg
4145c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
4146c3d31fe1Smrg	Deallocation loop rewrote.
4147c3d31fe1Smrg
4148c3d31fe1Smrg2004-03-26  Paolo Carlini  <pcarlini@suse.de>
4149c3d31fe1Smrg
4150c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc<>::allocate,
4151c3d31fe1Smrg	__mt_alloc<>::deallocate): Protect two instances of
4152c3d31fe1Smrg	block->thread_id with __GTHREADS.
4153c3d31fe1Smrg
4154c3d31fe1Smrg2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
4155c3d31fe1Smrg
4156c3d31fe1Smrg	* include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
4157c3d31fe1Smrg	default argument in constructors.
4158c3d31fe1Smrg	(_Rb_tree::_M_empty_initialize): Remove.
4159c3d31fe1Smrg
4160c3d31fe1Smrg2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
4161c3d31fe1Smrg
4162c3d31fe1Smrg	* testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
4163c3d31fe1Smrg	* testsuite/23_containers/set/operators/1_neg.cc: Same.
4164c3d31fe1Smrg
4165c3d31fe1Smrg2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
4166c3d31fe1Smrg
4167c3d31fe1Smrg	* include/bits/cpp_type_traits.h: Changed __is_pod
4168c3d31fe1Smrg	completely. Now, it does not use any of the previous type_traits
4169c3d31fe1Smrg	to detect the pod types, and it also detects function pointers as
4170c3d31fe1Smrg	POD types.
4171c3d31fe1Smrg
4172c3d31fe1Smrg	* include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
4173c3d31fe1Smrg	which encapsulates the internal implementation of an rb_tree. Made
4174c3d31fe1Smrg	the allocator a base class of this class instead of the rb_tree,
4175c3d31fe1Smrg	which was not conforming. This _Rb_tree_impl class is also
4176c3d31fe1Smrg	specialized on whether the _Compare parameter is a POD type or
4177c3d31fe1Smrg	not. If so, then it maintains the comparison function as a data
4178c3d31fe1Smrg	member, otherwise it makes the _Compare parameter a base class of
4179c3d31fe1Smrg	itself. Also, _M_key_compare is now a function instead of a data
4180c3d31fe1Smrg	member, so that the above trick can work properly. Delegated the
4181c3d31fe1Smrg	initialization of the other data members to this newly created
4182c3d31fe1Smrg	class. Also, now other member functions of rb_tree must refer to
4183c3d31fe1Smrg	_M_key_compare as _M_impl._M_key_compare(). The other data members
4184c3d31fe1Smrg	(*) can be referenced to as _M_impl.(*), where
4185c3d31fe1Smrg	(*) includes _M_header, and _M_node_count.
4186c3d31fe1Smrg
4187c3d31fe1Smrg2004-03-25  Paolo Carlini  <pcarlini@suse.de>
4188c3d31fe1Smrg
4189c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc<>::tune):
4190c3d31fe1Smrg	Add _M_min_bin, the size in bytes of the smallest bin.
4191c3d31fe1Smrg	(__mt_alloc<>::tune()): Tweak accordingly.
4192c3d31fe1Smrg	(__mt_alloc<>::tune(size_t, ...)): Likewise.
4193c3d31fe1Smrg	(__mt_alloc<>::block_record): Change to a union: members next
4194c3d31fe1Smrg	and thread_id are never used at the same time.
4195c3d31fe1Smrg	(__mt_alloc<>::allocate): Update consistently.
4196c3d31fe1Smrg	(__mt_alloc<>::deallocate): Likewise.
4197c3d31fe1Smrg	(__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
4198c3d31fe1Smrg	_S_bin_size for the configurable _M_min_size.
4199c3d31fe1Smrg
4200c3d31fe1Smrg2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
4201c3d31fe1Smrg
4202c3d31fe1Smrg	* include/bits/stl_list.h: Created a _List_impl class and made it
4203c3d31fe1Smrg	derive from the allocator, instead of the list deriving from the
4204c3d31fe1Smrg	allocator class, which was not conformant. Changed all references
4205c3d31fe1Smrg	from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
4206c3d31fe1Smrg	as above (changed all references to the concerned variables).
4207c3d31fe1Smrg
4208c3d31fe1Smrg2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
4209c3d31fe1Smrg
4210c3d31fe1Smrg	* include/bits/stl_deque.h: Created a _Deque_impl class and made
4211c3d31fe1Smrg	it derive from the allocator, instead of the deque deriving from
4212c3d31fe1Smrg	the allocator class, which was not conformant. Changed all
4213c3d31fe1Smrg	references to the _M_start, _M_finish, _M_map, and _M_map_size to
4214c3d31fe1Smrg	_M_impl.*.
4215c3d31fe1Smrg	(_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
4216c3d31fe1Smrg	qualification in 2 places where it was missing.
4217c3d31fe1Smrg	(_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
4218c3d31fe1Smrg	above.
4219c3d31fe1Smrg	* include/bits/deque.tcc: Same as above (changed all references to
4220c3d31fe1Smrg	the concerned variables).
4221c3d31fe1Smrg
4222c3d31fe1Smrg2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
4223c3d31fe1Smrg
4224c3d31fe1Smrg	* include/bits/stl_vector.h: Created a _Vector_impl class and made
4225c3d31fe1Smrg	it derive from the allocator, instead of the _Vector_base class,
4226c3d31fe1Smrg	deriving from the allocator which was not conformant. Changed all
4227c3d31fe1Smrg	references to the _M_start, _M_finish, and _M_end_of_storage to
4228c3d31fe1Smrg	_M_impl.*.
4229c3d31fe1Smrg	* include/bits/vector.tcc: Same as above (changed all references
4230c3d31fe1Smrg	to the concerned variables).
4231c3d31fe1Smrg
4232c3d31fe1Smrg2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
4233c3d31fe1Smrg
4234c3d31fe1Smrg	* testsuite/23_containers/deque/cons/clear_allocator.cc: New.
4235c3d31fe1Smrg	* testsuite/23_containers/list/cons/clear_allocator.cc: New.
4236c3d31fe1Smrg	* testsuite/23_containers/vector/cons/clear_allocator.cc: New.
4237c3d31fe1Smrg
4238c3d31fe1Smrg2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
4239c3d31fe1Smrg
4240c3d31fe1Smrg	* include/ext/malloc_allocator.h: Fixed the construct function to
4241c3d31fe1Smrg	call global placement new instead of assignment. Added a check
4242c3d31fe1Smrg	after the return from malloc to check whether returned pointer is
4243c3d31fe1Smrg	NULL, and if so, throw std::bad_alloc().
4244c3d31fe1Smrg	* include/ext/debug_allocator.h: Added a check in the deallocate
4245c3d31fe1Smrg	function to check whether the user has passed a NULL pointer or
4246c3d31fe1Smrg	not.
4247c3d31fe1Smrg
4248c3d31fe1Smrg2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
4249c3d31fe1Smrg
4250c3d31fe1Smrg	* docs/html/20_util/allocator.html: Add bitmap_allocator links.
4251c3d31fe1Smrg
4252c3d31fe1Smrg2004-03-24  Andreas Schwab  <schwab@suse.de>
4253c3d31fe1Smrg
4254c3d31fe1Smrg	* testsuite/lib/prune.exp (prune_g++_output): Ignore errata
4255c3d31fe1Smrg	warning from IA64 assembler.
4256c3d31fe1Smrg
4257c3d31fe1Smrg2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
4258c3d31fe1Smrg
4259c3d31fe1Smrg	* include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
4260c3d31fe1Smrg	function call __builtin_ctz instead of the while loop.
4261c3d31fe1Smrg	(allocate) -> If condition has __builtin_expect.
4262c3d31fe1Smrg	(deallocate) -> Ditto.
4263c3d31fe1Smrg	Renamed a few left-over variables and typedefs according to the
4264c3d31fe1Smrg	C++STYLE mentioned in the documentation.
4265c3d31fe1Smrg	Protected calls to __gthread* by __gthread_active_p(), whose value
4266c3d31fe1Smrg	is cached in the local variable __threads_active.
4267c3d31fe1Smrg
4268c3d31fe1Smrg2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
4269c3d31fe1Smrg
4270c3d31fe1Smrg	* testsuite/performance/20_util/allocator/producer_consumer.cc:
4271c3d31fe1Smrg	Use linear algorithm for producer.
4272c3d31fe1Smrg
4273c3d31fe1Smrg2004-03-24  Paolo Carlini  <pcarlini@suse.de>
4274c3d31fe1Smrg
4275c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc<>::allocate,
4276c3d31fe1Smrg	__mt_alloc<>::deallocate): Avoid redundant conditionals.
4277c3d31fe1Smrg
4278c3d31fe1Smrg2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
4279c3d31fe1Smrg
4280c3d31fe1Smrg	* include/bits/locale_facets.h: Tweaks for 80 column.
4281c3d31fe1Smrg	(__numpunct_cache::_M_cache): Move to locale_facets.tcc.
4282c3d31fe1Smrg	(__moneypunct_cache::_M_cache): Same.
4283c3d31fe1Smrg	(num_get): Don't inherit from __num_base.
4284c3d31fe1Smrg	(num_put): Same.
4285c3d31fe1Smrg	(money_get): Don't inherit from money_base.
4286c3d31fe1Smrg	(money_put): Same.
4287c3d31fe1Smrg	(__timepunct::_M_am_pm_format): New.
4288c3d31fe1Smrg	(time_get::_M_extract_num): Return iterator, use ios_base as argument.
4289c3d31fe1Smrg	(time_get::_M_extract_name): Same.
4290c3d31fe1Smrg	(time_get::_M_extract_via_format): Same.
4291c3d31fe1Smrg	* include/bits/locale_facets.tcc: Tweaks for 80 column.
4292c3d31fe1Smrg	Use _M_getloc instead of getloc.
4293c3d31fe1Smrg	* testsuite/22_locale/money_put/put/char/9780-3.cc: New.
4294c3d31fe1Smrg	* testsuite/22_locale/num_put/put/char/9780-2.cc: New.
4295c3d31fe1Smrg	* testsuite/22_locale/time_put/put/char/9780-1.cc: New.
4296c3d31fe1Smrg
4297c3d31fe1Smrg2004-03-22  Paolo Carlini  <pcarlini@suse.de>
4298c3d31fe1Smrg
4299c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
4300c3d31fe1Smrg	* configure: Regenerate.
4301c3d31fe1Smrg	* config/allocator/pool_allocator_base.h: New.
4302c3d31fe1Smrg	* include/ext/pool_allocator.h: Convert to a standard-conforming
4303c3d31fe1Smrg	allocator.
4304c3d31fe1Smrg	* src/allocator.cc: Tweak instantiations.
4305c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
4306c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
4307c3d31fe1Smrg	* testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
4308c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
4309c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
4310c3d31fe1Smrg	* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
4311c3d31fe1Smrg
4312c3d31fe1Smrg2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
4313c3d31fe1Smrg
4314c3d31fe1Smrg	* config/cpu/cris/atomicity.h (__atomic_add): Remove "static
4315c3d31fe1Smrg	inline" and attribute-unused.  Qualify parameter __mem with
4316c3d31fe1Smrg	"volatile".
4317c3d31fe1Smrg	(__exchange_and_add): Ditto.  Add back memory clobber to asm.
4318c3d31fe1Smrg
4319c3d31fe1Smrg2004-03-20  Paolo Carlini  <pcarlini@suse.de>
4320c3d31fe1Smrg
4321c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
4322c3d31fe1Smrg	Remove junk.
4323c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
4324c3d31fe1Smrg	Likewise.
4325c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
4326c3d31fe1Smrg	Likewise.
4327c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
4328c3d31fe1Smrg	Likewise.
4329c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
4330c3d31fe1Smrg	Likewise.
4331c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
4332c3d31fe1Smrg	Likewise.
4333c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
4334c3d31fe1Smrg	Likewise.
4335c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
4336c3d31fe1Smrg	Likewise.
4337c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
4338c3d31fe1Smrg	Likewise.
4339c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
4340c3d31fe1Smrg	Likewise.
4341c3d31fe1Smrg
4342c3d31fe1Smrg2004-03-20  Paolo Carlini  <pcarlini@suse.de>
4343c3d31fe1Smrg
4344c3d31fe1Smrg	* include/std/std_valarray.h: Document DR389 [Ready].
4345c3d31fe1Smrg	* docs/html/ext/howto.html: Add an entry for DR389.
4346c3d31fe1Smrg
4347c3d31fe1Smrg2004-03-19  Michael Eager  <eager@mvista.com>
4348c3d31fe1Smrg
4349c3d31fe1Smrg	* config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
4350c3d31fe1Smrg	SC instructions.
4351c3d31fe1Smrg
4352c3d31fe1Smrg2004-03-19  Paolo Carlini  <pcarlini@suse.de>
4353c3d31fe1Smrg
4354c3d31fe1Smrg	* testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
4355c3d31fe1Smrg	static_cast-s.
4356c3d31fe1Smrg	* testsuite/22_locale/num_get/get/char/12.cc: Likewise.
4357c3d31fe1Smrg	* testsuite/22_locale/num_get/get/char/13.cc: Likewise.
4358c3d31fe1Smrg	* testsuite/22_locale/num_get/get/char/14.cc: Likewise.
4359c3d31fe1Smrg	* testsuite/22_locale/num_get/get/char/15.cc: Likewise.
4360c3d31fe1Smrg	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
4361c3d31fe1Smrg	* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
4362c3d31fe1Smrg	* testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
4363c3d31fe1Smrg	* testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
4364c3d31fe1Smrg	* testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
4365c3d31fe1Smrg
4366c3d31fe1Smrg2004-03-19  Paolo Carlini  <pcarlini@suse.de>
4367c3d31fe1Smrg	    Petur Runolfsson  <peturr02@ru.is>
4368c3d31fe1Smrg
4369c3d31fe1Smrg	PR libstdc++/12077
4370c3d31fe1Smrg	* include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
4371c3d31fe1Smrg	no way to find out the conversion used by the underlying FILE*.
4372c3d31fe1Smrg	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
4373c3d31fe1Smrg	* testsuite/27_io/objects/char/9.cc: Tweak.
4374c3d31fe1Smrg
4375c3d31fe1Smrg2004-03-19  Paolo Carlini  <pcarlini@suse.de>
4376c3d31fe1Smrg
4377c3d31fe1Smrg	PR libstdc++/14648
4378c3d31fe1Smrg	* include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
4379c3d31fe1Smrg	memory allocation/deallocation calls.
4380c3d31fe1Smrg	* testsuite/ext/14648.cc: New.
4381c3d31fe1Smrg
4382c3d31fe1Smrg2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
4383c3d31fe1Smrg
4384c3d31fe1Smrg	PR libstdc++/14647
4385c3d31fe1Smrg	* include/backward/bvector.h (bit_vector): Allocator is in std
4386c3d31fe1Smrg	namespace.
4387c3d31fe1Smrg
4388c3d31fe1Smrg2004-03-19  Phil Edwards  <phil@codesourcery.com>
4389c3d31fe1Smrg
4390c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
4391c3d31fe1Smrg	not libiconv.  SUBST this variable as well.
4392c3d31fe1Smrg	* testsuite/Makefile.am (site.exp):  New target, based on that
4393c3d31fe1Smrg	created by automake.  Also set libiconv.
4394c3d31fe1Smrg
4395c3d31fe1Smrg	* configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
4396c3d31fe1Smrg	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
4397c3d31fe1Smrg	testsuite/Makefile.in:  Regenerate.
4398c3d31fe1Smrg
4399c3d31fe1Smrg2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
4400c3d31fe1Smrg
4401c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
4402c3d31fe1Smrg	new_allocator for all hosts.
4403c3d31fe1Smrg	* configure: Regenerate.
4404c3d31fe1Smrg
4405c3d31fe1Smrg2004-03-16  Paolo Carlini  <pcarlini@suse.de>
4406c3d31fe1Smrg
4407c3d31fe1Smrg	* testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
4408c3d31fe1Smrg	* testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
4409c3d31fe1Smrg
4410c3d31fe1Smrg2004-03-15  Paolo Carlini  <pcarlini@suse.de>
4411c3d31fe1Smrg
4412c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
4413c3d31fe1Smrg	Adjust the logic underlying the parsing of symbol to deal
4414c3d31fe1Smrg	correctly with an optional sign component (i.e., when either
4415c3d31fe1Smrg	negative_sign or positive_sign is empty)
4416c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/19.cc: New.
4417c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
4418c3d31fe1Smrg
4419c3d31fe1Smrg2004-03-15  Paolo Carlini  <pcarlini@suse.de>
4420c3d31fe1Smrg
4421c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
4422c3d31fe1Smrg	Do not accept an incomplete currency symbol.
4423c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/18.cc: New.
4424c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
4425c3d31fe1Smrg
4426c3d31fe1Smrg2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
4427c3d31fe1Smrg
4428c3d31fe1Smrg	* config/allocator: New.
4429c3d31fe1Smrg	* config/allocator/bitmap_allocator_base.h: New.
4430c3d31fe1Smrg	* config/allocator/malloc_allocator_base.h: New.
4431c3d31fe1Smrg	* config/allocator/mt_allocator_base.h: New.
4432c3d31fe1Smrg	* config/allocator/new_allocator_base.h: New.
4433c3d31fe1Smrg	* include/bits/allocator.h: Include c++allocator.h.
4434c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
4435c3d31fe1Smrg	* aclocal.m4: Regenerate.
4436c3d31fe1Smrg	* configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
4437c3d31fe1Smrg	* configure: Regenerate.
4438c3d31fe1Smrg	* include/Makefile.am (host_headers_extra): Add c++allocator.h.
4439c3d31fe1Smrg	* include/Makefile.in: Regenerate.
4440c3d31fe1Smrg	* docs/html/configopts.html: Add enable-libstdcxx-allocator.
4441c3d31fe1Smrg
4442c3d31fe1Smrg2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
4443c3d31fe1Smrg
4444c3d31fe1Smrg	* include/bits/allocator.h: Revert.
4445c3d31fe1Smrg
4446c3d31fe1Smrg2004-03-12  Paolo Carlini  <pcarlini@suse.de>
4447c3d31fe1Smrg
4448c3d31fe1Smrg	* docs/html/ext/howto.html: Add entry for DR 253 [Ready].
4449c3d31fe1Smrg	* include/bits/gslice_array.h: Add comment about DR 253.
4450c3d31fe1Smrg	* include/bits/indirect_array.h: Likewise.
4451c3d31fe1Smrg	* include/bits/mask_array.h: Likewise.
4452c3d31fe1Smrg	* include/bits/slice_array.h: Likewise.
4453c3d31fe1Smrg
4454c3d31fe1Smrg2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
4455c3d31fe1Smrg
4456c3d31fe1Smrg	* testsuite/20_util/allocator/14176.cc: New.
4457c3d31fe1Smrg	* include/ext/mt_allocator.h: Formatting fixes.
4458c3d31fe1Smrg
4459c3d31fe1Smrg2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
4460c3d31fe1Smrg
4461c3d31fe1Smrg	* include/Makefile.am (ext_headers): Add
4462c3d31fe1Smrg	${ext_srcdir}/bitmap_allocator.h .
4463c3d31fe1Smrg	* include/Makefile.in: Regenerate.
4464c3d31fe1Smrg	* docs/html/ext/ballocator_doc.txt: New file.
4465c3d31fe1Smrg	* include/ext/bitmap_allocator.h: New file.
4466c3d31fe1Smrg	* testsuite/performance/20_util/allocator/list_sort_search.cc: Add
4467c3d31fe1Smrg	test.
4468c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
4469c3d31fe1Smrg	* testsuite/performance/20_util/allocator/producer_consumer.cc: Add
4470c3d31fe1Smrg	test for the bitmap_allocator<>.
4471c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert.cc: Likewise.
4472c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
4473c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
4474c3d31fe1Smrg
4475c3d31fe1Smrg2004-03-11  Paolo Carlini  <pcarlini@suse.de>
4476c3d31fe1Smrg
4477c3d31fe1Smrg	* include/std/std_complex.h (pow(const complex&, const _Tp&),
4478c3d31fe1Smrg	pow(const _Tp&, const complex&), pow(const complex&,
4479c3d31fe1Smrg	const complex&)): Fully qualify with std:: a few calls.
4480c3d31fe1Smrg	* testsuite/26_numerics/complex/13450.cc: Minor tweak.
4481c3d31fe1Smrg
4482c3d31fe1Smrg2004-03-11  Steven Bosscher  <stevenb@suse.de>
4483c3d31fe1Smrg
4484c3d31fe1Smrg	PR libstdc++/11706
4485c3d31fe1Smrg	* include/c_std/cmath.tcc (__cmath_power): Define inline.
4486c3d31fe1Smrg
4487c3d31fe1Smrg2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
4488c3d31fe1Smrg
4489c3d31fe1Smrg	* configure.ac: Bump AC_PREREQ to 2.59.
4490c3d31fe1Smrg
4491c3d31fe1Smrg2004-03-10  Paolo Carlini  <pcarlini@suse.de>
4492c3d31fe1Smrg
4493c3d31fe1Smrg	* testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
4494c3d31fe1Smrg
4495c3d31fe1Smrg2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
4496c3d31fe1Smrg	    Paolo Carlini  <pcarlini@suse.de>
4497c3d31fe1Smrg
4498c3d31fe1Smrg	PR libstdc++/13450
4499c3d31fe1Smrg	* include/std/std_complex.h (pow(const complex&, const _Tp&),
4500c3d31fe1Smrg	pow(const _Tp&, const complex&)): Use cmath pow only when safe.
4501c3d31fe1Smrg	* testsuite/26_numerics/complex/13450.cc: New.
4502c3d31fe1Smrg
4503c3d31fe1Smrg	* testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
4504c3d31fe1Smrg	* testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
4505c3d31fe1Smrg
4506c3d31fe1Smrg2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
4507c3d31fe1Smrg
4508c3d31fe1Smrg	PR libstdc++/3247
4509c3d31fe1Smrg	* include/bits/gslice_array.h (gslice_array()): Make public.
4510c3d31fe1Smrg	(operator=(gslice_array)): Make public.  Implement.
4511c3d31fe1Smrg	* include/bits/indirect_array.h (indirect_array()): Make public.
4512c3d31fe1Smrg	* include/bits/mask_array.h (mask_array()): Make public.
4513c3d31fe1Smrg	(operator=(mask_array)): Make public.  Implement.
4514c3d31fe1Smrg	* include/bits/valarray_array.tcc (__valarray_copy):
4515c3d31fe1Smrg	Comment.  Add versions for gslice_array and mask_array.
4516c3d31fe1Smrg	* testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
4517c3d31fe1Smrg
4518c3d31fe1Smrg2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
4519c3d31fe1Smrg
4520c3d31fe1Smrg	* testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
4521c3d31fe1Smrg	non-weak systems.
4522c3d31fe1Smrg	* testsuite/23_containers/vector/modifiers/swap.cc: Same.
4523c3d31fe1Smrg	* testsuite/23_containers/set/modifiers/swap.cc: Same.
4524c3d31fe1Smrg	* testsuite/23_containers/multiset/modifiers/swap.cc: Same.
4525c3d31fe1Smrg	* testsuite/23_containers/multimap/modifiers/swap.cc: Same.
4526c3d31fe1Smrg	* testsuite/23_containers/map/modifiers/swap.cc: Same.
4527c3d31fe1Smrg	* testsuite/23_containers/list/modifiers/swap.cc: Same.
4528c3d31fe1Smrg
4529c3d31fe1Smrg	* testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
4530c3d31fe1Smrg
4531c3d31fe1Smrg2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
4532c3d31fe1Smrg
4533c3d31fe1Smrg	PR c++/13658
4534c3d31fe1Smrg	* testsuite/23_containers/deque/modifiers/swap.cc: New.
4535c3d31fe1Smrg	* testsuite/23_containers/list/modifiers/swap.cc: New.
4536c3d31fe1Smrg	* testsuite/23_containers/map/modifiers/swap.cc: New.
4537c3d31fe1Smrg	* testsuite/23_containers/multimap/modifiers/swap.cc: New.
4538c3d31fe1Smrg	* testsuite/23_containers/multiset/modifiers/swap.cc: New.
4539c3d31fe1Smrg	* testsuite/23_containers/set/modifiers/swap.cc: New.
4540c3d31fe1Smrg	* testsuite/23_containers/vector/modifiers/swap.cc: New.
4541c3d31fe1Smrg
4542c3d31fe1Smrg2004-03-08  Petur Runolfsson  <peturr02@ru.is>
4543c3d31fe1Smrg
4544c3d31fe1Smrg	PR libstdc++/12658
4545c3d31fe1Smrg	* testsuite/22_locale/locale/cons/12658_thread.cc: New.
4546c3d31fe1Smrg
4547c3d31fe1Smrg2004-03-08  Paolo Carlini  <pcarlini@suse.de>
4548c3d31fe1Smrg
4549c3d31fe1Smrg	* docs/html/ext/howto.html: Add entry for DR 103 [WP].
4550c3d31fe1Smrg	* include/bits/stl_multiset.h: Add comment about DR 103.
4551c3d31fe1Smrg	* include/bits/stl_set.h: Likewise.
4552c3d31fe1Smrg
4553c3d31fe1Smrg2004-03-08  Paolo Carlini  <pcarlini@suse.de>
4554c3d31fe1Smrg
4555c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
4556c3d31fe1Smrg	The value _space_ indicates that at least one space is required
4557c3d31fe1Smrg	at that position.
4558c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/17.cc: New.
4559c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
4560c3d31fe1Smrg
4561c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
4562c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
4563c3d31fe1Smrg
4564c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
4565c3d31fe1Smrg	Remove redundant conditional on __str.size().
4566c3d31fe1Smrg
4567c3d31fe1Smrg2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
4568c3d31fe1Smrg
4569c3d31fe1Smrg	* include/bits/allocator.h: Switch defaults to mt_alloc.
4570c3d31fe1Smrg
4571c3d31fe1Smrg2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
4572c3d31fe1Smrg
4573c3d31fe1Smrg	* include/ext/mt_allocator.h (_S_initialize): If
4574c3d31fe1Smrg	!__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
4575c3d31fe1Smrg
4576c3d31fe1Smrg2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
4577c3d31fe1Smrg
4578c3d31fe1Smrg	PR libstdc++/12658
4579c3d31fe1Smrg	* src/locale_init.cc (locale::locale): Lock critical regions with
4580c3d31fe1Smrg	external mutexes.
4581c3d31fe1Smrg	(locale::global): Same.
4582c3d31fe1Smrg	* include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
4583c3d31fe1Smrg	Add in once bits for cases without __GTHREAD_MUTEX_INIT.
4584c3d31fe1Smrg	(__glibcxx_mutex_lock): Same.
4585c3d31fe1Smrg
4586c3d31fe1Smrg	* config/cpu/generic/atomicity.h: Remove
4587c3d31fe1Smrg	_GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
4588c3d31fe1Smrg	* src/misc-inst.cc: Move all locking bits out of this file.
4589c3d31fe1Smrg
4590c3d31fe1Smrg	* config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
4591c3d31fe1Smrg	* src/misc-inst.cc: Same.
4592c3d31fe1Smrg	* config/cpu/hppa/atomicity.h: Same.
4593c3d31fe1Smrg
4594c3d31fe1Smrg	* config/linker-map.gnu: Remove types in the signature of atomic
4595c3d31fe1Smrg	exports, as they may vary.
4596c3d31fe1Smrg
4597c3d31fe1Smrg2004-03-06  Paolo Carlini  <pcarlini@suse.de>
4598c3d31fe1Smrg
4599c3d31fe1Smrg	* include/bits/locale_facets.tcc: Tweak the comment preceding
4600c3d31fe1Smrg	has_facet: doesn't throw.
4601c3d31fe1Smrg
4602c3d31fe1Smrg2004-03-06  Paolo Carlini  <pcarlini@suse.de>
4603c3d31fe1Smrg
4604c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/1.cc: Clean up.
4605c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/2.cc: Likewise.
4606c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/3.cc: Likewise.
4607c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/4.cc: Likewise.
4608c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
4609c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
4610c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
4611c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
4612c3d31fe1Smrg
4613c3d31fe1Smrg2004-03-06  Paolo Carlini  <pcarlini@suse.de>
4614c3d31fe1Smrg
4615c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4616c3d31fe1Smrg	num_get<>::_M_extract_int, num_get<>::do_get(bool&),
4617c3d31fe1Smrg	__pad<>::_S_pad): Prefer plain operator== to traits::eq().
4618c3d31fe1Smrg	* testsuite/testsuite_character.h (struct __gnu_test::character):
4619c3d31fe1Smrg	Provide operator==.
4620c3d31fe1Smrg	* testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
4621c3d31fe1Smrg	Likewise.
4622c3d31fe1Smrg
4623c3d31fe1Smrg2004-03-05  Paolo Carlini  <pcarlini@suse.de>
4624c3d31fe1Smrg
4625c3d31fe1Smrg	* testsuite/27_io/fpos/14320-2.cc: Remove xfail.
4626c3d31fe1Smrg
4627c3d31fe1Smrg2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
4628c3d31fe1Smrg
4629c3d31fe1Smrg	* testsuite/23_containers/multiset/insert/1.cc: Test result string.
4630c3d31fe1Smrg
4631c3d31fe1Smrg	* testsuite/23_containers/bitset/invalidation/1.cc: Main always
4632c3d31fe1Smrg	returns 0.
4633c3d31fe1Smrg	* testsuite/23_containers/deque/invalidation/4.cc: Same.
4634c3d31fe1Smrg	* testsuite/23_containers/list/invalidation/1.cc: Same.
4635c3d31fe1Smrg	* testsuite/23_containers/list/invalidation/2.cc: Same.
4636c3d31fe1Smrg	* testsuite/23_containers/list/invalidation/3.cc: Same.
4637c3d31fe1Smrg	* testsuite/23_containers/list/invalidation/4.cc: Same.
4638c3d31fe1Smrg	* testsuite/23_containers/map/invalidation/2.cc: Same.
4639c3d31fe1Smrg	* testsuite/23_containers/multimap/invalidation/1.cc: Same.
4640c3d31fe1Smrg	* testsuite/23_containers/multimap/invalidation/2.cc: Same.
4641c3d31fe1Smrg	* testsuite/23_containers/multiset/invalidation/1.cc: Same.
4642c3d31fe1Smrg	* testsuite/23_containers/multiset/invalidation/2.cc: Same.
4643c3d31fe1Smrg	* testsuite/23_containers/set/invalidation/1.cc: Same.
4644c3d31fe1Smrg	* testsuite/23_containers/set/invalidation/2.cc: Same.
4645c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/1.cc: Same.
4646c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/2.cc: Same.
4647c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/3.cc: Same.
4648c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/4.cc: Same.
4649c3d31fe1Smrg
4650c3d31fe1Smrg2004-03-04  Paolo Carlini  <pcarlini@suse.de>
4651c3d31fe1Smrg
4652c3d31fe1Smrg	* scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
4653c3d31fe1Smrg	CXXFLAGS_save.
4654c3d31fe1Smrg	* testsuite/lib/libstdc++.exp: Don't add it conditionally to
4655c3d31fe1Smrg	DEFAULT_CXXFLAGS.
4656c3d31fe1Smrg	* testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
4657c3d31fe1Smrg	from the dg-options.
4658c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/1.cc: Likewise.
4659c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/2.cc: Likewise.
4660c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/3.cc: Likewise.
4661c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/4.cc: Likewise.
4662c3d31fe1Smrg	* testsuite/23_containers/vector/resize/1.cc: Likewise.
4663c3d31fe1Smrg	* testsuite/26_numerics/complex_value.cc: Likewise.
4664c3d31fe1Smrg	* testsuite/27_io/ios_base/storage/1.cc: Likewise.
4665c3d31fe1Smrg	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
4666c3d31fe1Smrg	* testsuite/27_io/ios_base/storage/3.cc: Likewise.
4667c3d31fe1Smrg	* testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
4668c3d31fe1Smrg	* testsuite/27_io/objects/char/5.cc: Likewise.
4669c3d31fe1Smrg	* testsuite/27_io/objects/wchar_t/5.cc: Likewise.
4670c3d31fe1Smrg	* testsuite/backward/11460.cc: Likewise.
4671c3d31fe1Smrg	* testsuite/thread/pthread7-rope.cc: Likewise.
4672c3d31fe1Smrg
4673c3d31fe1Smrg	* testsuite/21_strings/basic_string/compare/char/1.cc: Add
4674c3d31fe1Smrg	missing test variable.
4675c3d31fe1Smrg	* testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
4676c3d31fe1Smrg	missing test variable.
4677c3d31fe1Smrg
4678c3d31fe1Smrg2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
4679c3d31fe1Smrg
4680c3d31fe1Smrg	* testsuite/20_util/allocator/1.cc: Provide explicit
4681c3d31fe1Smrg	instantiations for non-weak systems.
4682c3d31fe1Smrg	* testsuite/20_util/binders.cc: Same.
4683c3d31fe1Smrg	* testsuite/20_util/allocator/8230.cc: Same.
4684c3d31fe1Smrg	* testsuite/20_util/allocator/10378.cc: Same.
4685c3d31fe1Smrg	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
4686c3d31fe1Smrg	* testsuite/22_locale/ctype/is/char/2.cc: Same.
4687c3d31fe1Smrg	* testsuite/thread/pthread7-rope.cc: Same.
4688c3d31fe1Smrg	* testsuite/thread/pthread6.cc: Same.
4689c3d31fe1Smrg	* testsuite/thread/pthread5.cc: Same.
4690c3d31fe1Smrg	* testsuite/thread/pthread4.cc: Same.
4691c3d31fe1Smrg	* testsuite/thread/pthread1.cc: Same.
4692c3d31fe1Smrg	* testsuite/ext/rope.cc: Same.
4693c3d31fe1Smrg	* testsuite/ext/hash_set.cc: Same.
4694c3d31fe1Smrg	* testsuite/ext/hash_map.cc: Same.
4695c3d31fe1Smrg	* testsuite/ext/concept_checks.cc: Same.
4696c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
4697c3d31fe1Smrg	* testsuite/25_algorithms/unique/2.cc: Same.
4698c3d31fe1Smrg	* testsuite/25_algorithms/unique/1.cc: Same.
4699c3d31fe1Smrg	* testsuite/25_algorithms/rotate.cc: Same.
4700c3d31fe1Smrg	* testsuite/25_algorithms/min_max.cc: Same.
4701c3d31fe1Smrg	* testsuite/25_algorithms/equal.cc: Same.
4702c3d31fe1Smrg	* testsuite/24_iterators/rel_ops.cc: Same.
4703c3d31fe1Smrg	* testsuite/24_iterators/iterator.cc: Same.
4704c3d31fe1Smrg	* testsuite/24_iterators/insert_iterator.cc: Same.
4705c3d31fe1Smrg	* testsuite/24_iterators/front_insert_iterator.cc: Same.
4706c3d31fe1Smrg	* testsuite/24_iterators/back_insert_iterator.cc: Same.
4707c3d31fe1Smrg	* testsuite/23_containers/vector/resize/1.cc: Same.
4708c3d31fe1Smrg	* testsuite/23_containers/vector/modifiers/2.cc: Same.
4709c3d31fe1Smrg	* testsuite/23_containers/vector/modifiers/1.cc: Same.
4710c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/4.cc: Same.
4711c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/3.cc: Same.
4712c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/2.cc: Same.
4713c3d31fe1Smrg	* testsuite/23_containers/vector/invalidation/1.cc: Same.
4714c3d31fe1Smrg	* testsuite/23_containers/vector/element_access/1.cc: Same.
4715c3d31fe1Smrg	* testsuite/23_containers/vector/cons/6513.cc: Same.
4716c3d31fe1Smrg	* testsuite/23_containers/vector/cons/3.cc: Same.
4717c3d31fe1Smrg	* testsuite/23_containers/vector/cons/2.cc: Same.
4718c3d31fe1Smrg	* testsuite/23_containers/vector/cons/1.cc: Same.
4719c3d31fe1Smrg	* testsuite/23_containers/vector/capacity/8230.cc: Same.
4720c3d31fe1Smrg	* testsuite/23_containers/vector/capacity/1.cc: Same.
4721c3d31fe1Smrg	* testsuite/23_containers/vector/bool/6886.cc: Same.
4722c3d31fe1Smrg	* testsuite/23_containers/stack/members/7158.cc: Same.
4723c3d31fe1Smrg	* testsuite/23_containers/set/invalidation/2.cc: Same.
4724c3d31fe1Smrg	* testsuite/23_containers/set/invalidation/1.cc: Same.
4725c3d31fe1Smrg	* testsuite/23_containers/queue/members/7157.cc: Same.
4726c3d31fe1Smrg	* testsuite/23_containers/priority_queue/members/7161.cc: Same.
4727c3d31fe1Smrg	* testsuite/23_containers/multiset/invalidation/2.cc: Same.
4728c3d31fe1Smrg	* testsuite/23_containers/multiset/invalidation/2.cc: Same.
4729c3d31fe1Smrg	* testsuite/23_containers/multiset/insert/1.cc: Same.
4730c3d31fe1Smrg	* testsuite/23_containers/multimap/invalidation/2.cc: Same.
4731c3d31fe1Smrg	* testsuite/23_containers/multimap/invalidation/2.cc: Same.
4732c3d31fe1Smrg	* testsuite/23_containers/map/operators/1.cc: Same.
4733c3d31fe1Smrg	* testsuite/23_containers/map/invalidation/2.cc: Same.
4734c3d31fe1Smrg	* testsuite/23_containers/map/invalidation/1.cc: Same.
4735c3d31fe1Smrg	* testsuite/23_containers/map/insert/1.cc: Same.
4736c3d31fe1Smrg	* testsuite/23_containers/list/operators/4.cc: Same.
4737c3d31fe1Smrg	* testsuite/23_containers/list/operators/3.cc: Same.
4738c3d31fe1Smrg	* testsuite/23_containers/list/operators/2.cc: Same.
4739c3d31fe1Smrg	* testsuite/23_containers/list/operators/1.cc: Same.
4740c3d31fe1Smrg	* testsuite/23_containers/list/modifiers/3.cc: Same.
4741c3d31fe1Smrg	* testsuite/23_containers/list/modifiers/2.cc: Same.
4742c3d31fe1Smrg	* testsuite/23_containers/list/modifiers/1.cc: Same.
4743c3d31fe1Smrg	* testsuite/23_containers/list/invalidation/4.cc: Same.
4744c3d31fe1Smrg	* testsuite/23_containers/list/invalidation/3.cc: Same.
4745c3d31fe1Smrg	* testsuite/23_containers/list/invalidation/2.cc: Same.
4746c3d31fe1Smrg	* testsuite/23_containers/list/invalidation/1.cc: Same.
4747c3d31fe1Smrg	* testsuite/23_containers/list/cons/9.cc: Same.
4748c3d31fe1Smrg	* testsuite/23_containers/list/cons/8.cc: Same.
4749c3d31fe1Smrg	* testsuite/23_containers/list/cons/7.cc: Same.
4750c3d31fe1Smrg	* testsuite/23_containers/list/cons/6.cc: Same.
4751c3d31fe1Smrg	* testsuite/23_containers/list/cons/5.cc: Same.
4752c3d31fe1Smrg	* testsuite/23_containers/list/cons/4.cc: Same.
4753c3d31fe1Smrg	* testsuite/23_containers/list/cons/3.cc: Same.
4754c3d31fe1Smrg	* testsuite/23_containers/list/cons/2.cc: Same.
4755c3d31fe1Smrg	* testsuite/23_containers/list/cons/1.cc: Same.
4756c3d31fe1Smrg	* testsuite/23_containers/list/capacity/1.cc: Same.
4757c3d31fe1Smrg	* testsuite/23_containers/deque/operators/1.cc: Same.
4758c3d31fe1Smrg	* testsuite/23_containers/deque/invalidation/4.cc: Same.
4759c3d31fe1Smrg	* testsuite/23_containers/deque/invalidation/3.cc: Same.
4760c3d31fe1Smrg	* testsuite/23_containers/deque/invalidation/2.cc: Same.
4761c3d31fe1Smrg	* testsuite/23_containers/deque/invalidation/1.cc: Same.
4762c3d31fe1Smrg	* testsuite/23_containers/deque/cons/2.cc: Same.
4763c3d31fe1Smrg	* testsuite/23_containers/deque/cons/1.cc: Same.
4764c3d31fe1Smrg
4765c3d31fe1Smrg	* src/allocator.cc: Add char, wchar_t instantiations
4766c3d31fe1Smrg	to match extern template declarations in memory.h.
4767c3d31fe1Smrg
4768c3d31fe1Smrg2004-03-03  Paolo Carlini  <pcarlini@suse.de>
4769c3d31fe1Smrg
4770c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_put<>::_M_insert):
4771c3d31fe1Smrg	Fix warning regression.
4772c3d31fe1Smrg
4773c3d31fe1Smrg2004-03-03  Paolo Carlini  <pcarlini@suse.de>
4774c3d31fe1Smrg
4775c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_put<>::_M_insert):
4776c3d31fe1Smrg	Deal properly with empty __digits and negative frac_digits,
4777c3d31fe1Smrg	clean-up a bit.
4778c3d31fe1Smrg
4779c3d31fe1Smrg2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
4780c3d31fe1Smrg
4781c3d31fe1Smrg	* docs/html/documentation.html: Regenerate.
4782c3d31fe1Smrg
4783c3d31fe1Smrg2004-03-02  Paolo Carlini  <pcarlini@suse.de>
4784c3d31fe1Smrg
4785c3d31fe1Smrg	PR libstdc++/14320
4786c3d31fe1Smrg	* include/bits/postypes.h (class streamoff): Remove, now
4787c3d31fe1Smrg	streamoff is just typedef a 64 bit signed integer type.
4788c3d31fe1Smrg	(class fpos): Tweak consistently.
4789c3d31fe1Smrg	* testsuite/27_io/fpos/14320-1.cc: New.
4790c3d31fe1Smrg	* testsuite/27_io/fpos/14320-2.cc: New.
4791c3d31fe1Smrg	* testsuite/27_io/fpos/14320-3.cc: New.
4792c3d31fe1Smrg	* testsuite/27_io/fpos/14320-4.cc: New.
4793c3d31fe1Smrg	* testsuite/27_io/fpos/14320-5.cc: New.
4794c3d31fe1Smrg	* testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
4795c3d31fe1Smrg
4796c3d31fe1Smrg2004-03-02  Paolo Carlini  <pcarlini@suse.de>
4797c3d31fe1Smrg
4798c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
4799c3d31fe1Smrg	Reorganize a bit the main parsing loop, thus early detecting
4800c3d31fe1Smrg	an empty value component.
4801c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/16.cc: New.
4802c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
4803c3d31fe1Smrg
4804c3d31fe1Smrg2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
4805c3d31fe1Smrg
4806c3d31fe1Smrg	Support automake 1.8.2
4807c3d31fe1Smrg	* configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
4808c3d31fe1Smrg	* po/Makefile.am (EXTRA_DIST): New.
4809c3d31fe1Smrg	* po/Makefile.in: Regenerate.
4810c3d31fe1Smrg	* Makefile.in: Same.
4811c3d31fe1Smrg	* include/Makefile.in: Same.
4812c3d31fe1Smrg	* libmath/Makefile.in: Same.
4813c3d31fe1Smrg	* libsupc++/Makefile.in: Same.
4814c3d31fe1Smrg	* src/Makefile.in: Same.
4815c3d31fe1Smrg	* testsuite/Makefile.in: Same.
4816c3d31fe1Smrg
4817c3d31fe1Smrg	* include/Makefile.am (${host_builddir}/gthr-posix.h): Use
4818c3d31fe1Smrg	__GXX_WEAK__ instead of SUPPORTS_WEAK.
4819c3d31fe1Smrg	(${host_builddir}/gthr-default.h): Same.
4820c3d31fe1Smrg	(${host_builddir}/gthr.h): Same.
4821c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
4822c3d31fe1Smrg	_GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
4823c3d31fe1Smrg	-fno-weak.
4824c3d31fe1Smrg	* aclocal.m4: Regenerate.
4825c3d31fe1Smrg	* acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
4826c3d31fe1Smrg	* config.h.in: Regenerate.
4827c3d31fe1Smrg	* configure: Same.
4828c3d31fe1Smrg
4829c3d31fe1Smrg2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
4830c3d31fe1Smrg
4831c3d31fe1Smrg	Support autoconf 2.59
4832c3d31fe1Smrg	* acinclude.m4: Quote correctly.
4833c3d31fe1Smrg	* aclocal.m4: Regenerate.
4834c3d31fe1Smrg	* linkage.m4: Same.
4835c3d31fe1Smrg
4836c3d31fe1Smrg2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
4837c3d31fe1Smrg
4838c3d31fe1Smrg	* docs/html/test.html: Add multilib RUNTESTFLAGS example.
4839c3d31fe1Smrg
4840c3d31fe1Smrg	* docs/html/18_support/howto.html: Add bit about writing to
4841c3d31fe1Smrg	stderr, mostly by Zack.
4842c3d31fe1Smrg
4843c3d31fe1Smrg2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4844c3d31fe1Smrg
4845c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::_M_extract,
4846c3d31fe1Smrg	money_get<>::do_get(string_type&)): ... and two more.
4847c3d31fe1Smrg
4848c3d31fe1Smrg2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4849c3d31fe1Smrg
4850c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
4851c3d31fe1Smrg	Fix thinkos in the switch from string_type& to string& as last
4852c3d31fe1Smrg	argument.
4853c3d31fe1Smrg
4854c3d31fe1Smrg2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4855c3d31fe1Smrg
4856c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
4857c3d31fe1Smrg	Also when parsing exponent sign, first look for thousands_sep
4858c3d31fe1Smrg	and decimal_point; tweak a bit.
4859c3d31fe1Smrg	* testsuite/22_locale/num_get/get/char/15.cc: New.
4860c3d31fe1Smrg	* testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
4861c3d31fe1Smrg
4862c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4863c3d31fe1Smrg	num_get<>::_M_extract_int): Reorder some conditionals.
4864c3d31fe1Smrg
4865c3d31fe1Smrg2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4866c3d31fe1Smrg
4867c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
4868c3d31fe1Smrg	Consistently with numpunct, enforce the requirements in
4869c3d31fe1Smrg	22.2.6.3, p3 for the thousands separators; tweak a bit.
4870c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/15.cc: New.
4871c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
4872c3d31fe1Smrg
4873c3d31fe1Smrg2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
4874c3d31fe1Smrg
4875c3d31fe1Smrg	* testsuite/lib/libstdc++.exp (v3-list-tests): Use
4876c3d31fe1Smrg	testsuite_files from correct multilib blddir when running
4877c3d31fe1Smrg	testsuite.
4878c3d31fe1Smrg
4879c3d31fe1Smrg2004-02-29  Phil Edwards  <phil@codesourcery.com>
4880c3d31fe1Smrg
4881c3d31fe1Smrg	* testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
4882c3d31fe1Smrg	the summary file to the logfile.
4883c3d31fe1Smrg	* testsuite/Makefile.in:  Regenerate.
4884c3d31fe1Smrg
4885c3d31fe1Smrg2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4886c3d31fe1Smrg
4887c3d31fe1Smrg	* config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
4888c3d31fe1Smrg	volatile.
4889c3d31fe1Smrg	* config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
4890c3d31fe1Smrg	__GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
4891c3d31fe1Smrg
4892c3d31fe1Smrg2004-02-28  Paolo Carlini  <pcarlini@suse.de>
4893c3d31fe1Smrg
4894c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
4895c3d31fe1Smrg	According to 22.2.3.1, p2, 'units' may be followed by 'e' with
4896c3d31fe1Smrg	no 'decimal-point' in the middle: in this case too we must fix
4897c3d31fe1Smrg	up __found_grouping; slightly tweak.
4898c3d31fe1Smrg	* testsuite/22_locale/num_get/get/char/14.cc: New.
4899c3d31fe1Smrg	* testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
4900c3d31fe1Smrg
4901c3d31fe1Smrg2004-02-27  Eric Christopher  <echristo@redhat.com>
4902c3d31fe1Smrg	    Phil Edwards  <phil@codesourcery.com>
4903c3d31fe1Smrg
4904c3d31fe1Smrg	* testsuite/22_locale/collate/compare/wchar_t/2.cc,
4905c3d31fe1Smrg	testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
4906c3d31fe1Smrg	testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
4907c3d31fe1Smrg	testsuite/22_locale/collate/hash/wchar_t/2.cc,
4908c3d31fe1Smrg	testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
4909c3d31fe1Smrg	testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
4910c3d31fe1Smrg	testsuite/22_locale/collate/transform/wchar_t/2.cc,
4911c3d31fe1Smrg	testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
4912c3d31fe1Smrg	testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
4913c3d31fe1Smrg	Use dg-require-iconv.
4914c3d31fe1Smrg	* testsuite/lib/libstdc++.exp:  Load target-supports.exp.
4915c3d31fe1Smrg
4916c3d31fe1Smrg2004-02-27  Phil Edwards  <phil@codesourcery.com>
4917c3d31fe1Smrg	    Eric Christopher  <echristo@redhat.com>
4918c3d31fe1Smrg
4919c3d31fe1Smrg	* testsuite/config/default.exp:  Update with comments.
4920c3d31fe1Smrg	(${tool}_target_compile):  New wrapper routine.
4921c3d31fe1Smrg	* testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
4922c3d31fe1Smrg	* testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
4923c3d31fe1Smrg	fixes.
4924c3d31fe1Smrg	(load_gcc_lib, v3track):  New routines.
4925c3d31fe1Smrg	(v3-init):  Rename to libstdc++_init.
4926c3d31fe1Smrg	* testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
4927c3d31fe1Smrg	Move DEFAULT_CXXFLAGS handling into libstdc++_init.
4928c3d31fe1Smrg
4929c3d31fe1Smrg2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
4930c3d31fe1Smrg
4931c3d31fe1Smrg	* config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
4932c3d31fe1Smrg
4933c3d31fe1Smrg	* src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
4934c3d31fe1Smrg
4935c3d31fe1Smrg	* config/os/irix/irix5.2/atomicity.h: Merge..
4936c3d31fe1Smrg	* config/os/irix/irix6.5/atomicity.h: Merge..
4937c3d31fe1Smrg	* config/os/irix/atomicity.h: ...into this.
4938c3d31fe1Smrg	* config/os/irix/atomic_word.h: New.
4939c3d31fe1Smrg	* configure.host: Set atomic_word_dir for irix.
4940c3d31fe1Smrg
4941c3d31fe1Smrg	* hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
4942c3d31fe1Smrg	* i386/atomicity.h: Same.
4943c3d31fe1Smrg	* m68k/atomicity.h: Same.
4944c3d31fe1Smrg	* sparc/atomicity.h: Same.
4945c3d31fe1Smrg
4946c3d31fe1Smrg2004-02-27  David Edelsohn  <edelsohn@gnu.org>
4947c3d31fe1Smrg
4948c3d31fe1Smrg	* config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
4949c3d31fe1Smrg	static, and inline keywords.
4950c3d31fe1Smrg
4951c3d31fe1Smrg2004-02-27  Paolo Carlini  <pcarlini@suse.de>
4952c3d31fe1Smrg
4953c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4954c3d31fe1Smrg	num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
4955c3d31fe1Smrg	call reserve on the __tmp_gruping string.
4956c3d31fe1Smrg	(num_get<>::_M_extract_float): Don't append unnecessarily a
4957c3d31fe1Smrg	char() to the returned string.
4958c3d31fe1Smrg	* include/bits/locale_facets.tcc: Trivial reformattings.
4959c3d31fe1Smrg
4960c3d31fe1Smrg2004-02-27  Paolo Carlini  <pcarlini@suse.de>
4961c3d31fe1Smrg
4962c3d31fe1Smrg	* include/bits/locale_facets.h (money_get<>::_M_extract):
4963c3d31fe1Smrg	Change signature: now takes a plain string&.
4964c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
4965c3d31fe1Smrg	Update consistently the definition; use the moneypunct cache
4966c3d31fe1Smrg	to parse the value; use swap to change __units.
4967c3d31fe1Smrg	(money_get<>::do_get(long double&)): Update call of _M_extract,
4968c3d31fe1Smrg	avoid ctype::narrow, not correct wrt the standard.
4969c3d31fe1Smrg	(money_get<>::do_get(string_type&)): Likewise, update call
4970c3d31fe1Smrg	of _M_extract, use ctype::widen.
4971c3d31fe1Smrg	* src/locale-inst.cc: Tweak instantiations of _M_extract.
4972c3d31fe1Smrg
4973c3d31fe1Smrg2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
4974c3d31fe1Smrg
4975c3d31fe1Smrg	* testsuite/demangle/abi_examples/01.cc: Expect error -2.
4976c3d31fe1Smrg	* testsuite/demangle/abi_examples/02.cc: Likewise.
4977c3d31fe1Smrg	* testsuite/demangle/regression/cw-11.cc: Likewise.
4978c3d31fe1Smrg	* testsuite/demangle/regression/cw-16.cc: Change two expected
4979c3d31fe1Smrg	results to match libiberty demangler output.
4980c3d31fe1Smrg
4981c3d31fe1Smrg2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
4982c3d31fe1Smrg
4983c3d31fe1Smrg	PR libstdc++/10246
4984c3d31fe1Smrg	* libsupc++/Makefile.am: Use libiberty demangler.
4985c3d31fe1Smrg	(c_sources): Add cp-demangle.c.
4986c3d31fe1Smrg	* libsupc++/Makefile.in: Regenerate.
4987c3d31fe1Smrg	* src/Makefile.am (sources): Remove demangle.cc.
4988c3d31fe1Smrg	* src/Makefile.in: Regenerate.
4989c3d31fe1Smrg	* include/Makefile.am (bits_headers): Move demangle.h.
4990c3d31fe1Smrg	(ext_headers): ...here.
4991c3d31fe1Smrg	* include/Makefile.in: Regenerate.
4992c3d31fe1Smrg	* include/bits/demangle.h: Move...
4993c3d31fe1Smrg	* include/ext/demangle.h: ...here.
4994c3d31fe1Smrg	* src/demangle.cc: Remove.
4995c3d31fe1Smrg
4996c3d31fe1Smrg2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
4997c3d31fe1Smrg
4998c3d31fe1Smrg	* include/bits/demangle.h: Add type template parameter to all
4999c3d31fe1Smrg	templates with just an Allocator template parameter.
5000c3d31fe1Smrg
5001c3d31fe1Smrg2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
5002c3d31fe1Smrg
5003c3d31fe1Smrg	* include/bits/atomicity.h: New, forward declarations for __atomic_add
5004c3d31fe1Smrg	and __exchange_and_add.
5005c3d31fe1Smrg	* config/cpu/generic/atomic_word.h: New, typdef for atomic word.
5006c3d31fe1Smrg	* config/cpu/cris/atomic_word.h: Same.
5007c3d31fe1Smrg	* config/cpu/sparc/atomic_word.h: Same.
5008c3d31fe1Smrg	* include/bits/ios_base.h (_Callback_list::_M_remove_reference):
5009c3d31fe1Smrg	Qualifiy with __gnu_cxx.
5010c3d31fe1Smrg	(_Callback_list::_M_add_reference): Same.
5011c3d31fe1Smrg	* include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
5012c3d31fe1Smrg	(locale::facet::_M_remove_reference): Same.
5013c3d31fe1Smrg	(locale::_Impl::_M_add_reference): Add.
5014c3d31fe1Smrg	(locale::_Impl::_M_remove_reference): Same.
5015c3d31fe1Smrg	* include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
5016c3d31fe1Smrg	(basic_string::_Rep::_M_dispose): Same.
5017c3d31fe1Smrg	* src/ios.cc (ios_base::xalloc): Same.
5018c3d31fe1Smrg	* src/ios_init.cc (ios_base::Init::Init): Same.
5019c3d31fe1Smrg	(ios_base::Init::~Init): Same.
5020c3d31fe1Smrg	* src/locale.cc (locale::id::_M_id): Same.
5021c3d31fe1Smrg	* config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
5022c3d31fe1Smrg	static, and inline keywords.
5023c3d31fe1Smrg	* config/cpu/alpha/atomicity.h: Same.
5024c3d31fe1Smrg	* config/cpu/cris/atomicity.h: Same.
5025c3d31fe1Smrg	* config/cpu/generic/atomicity.h: Same.
5026c3d31fe1Smrg	* config/cpu/hppa/atomicity.h: Same.
5027c3d31fe1Smrg	* config/cpu/i386/atomicity.h: Same.
5028c3d31fe1Smrg	* config/cpu/ia64/atomicity.h: Same.
5029c3d31fe1Smrg	* config/cpu/m68k/atomicity.h: Same.
5030c3d31fe1Smrg	* config/cpu/mips/atomicity.h: Same.
5031c3d31fe1Smrg	* config/cpu/powerpc/atomicity.h: Same.
5032c3d31fe1Smrg	* config/cpu/s390/atomicity.h: Same.
5033c3d31fe1Smrg	* config/cpu/sparc/atomicity.h: Same.
5034c3d31fe1Smrg
5035c3d31fe1Smrg	* src/Makefile.am (host_sources): Add atomicity.cc.
5036c3d31fe1Smrg	(atomicity.cc): New rule.
5037c3d31fe1Smrg	* src/Makefile.in: Regenerate.
5038c3d31fe1Smrg	* include/Makefile.am (host_headers): Remove host atomicity.h.
5039c3d31fe1Smrg	(host_headers): Add atomic_word.h.
5040c3d31fe1Smrg	(bits_headers): Add bits atomicity.h.
5041c3d31fe1Smrg	Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
5042c3d31fe1Smrg	* include/Makefile.in: Regenerate.
5043c3d31fe1Smrg	* configure.host (atomic_word_dir): Add.
5044c3d31fe1Smrg	* configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
5045c3d31fe1Smrg	ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
5046c3d31fe1Smrg	* configure: Regenerate.
5047c3d31fe1Smrg	* config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
5048c3d31fe1Smrg
5049c3d31fe1Smrg	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
5050c3d31fe1Smrg	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
5051c3d31fe1Smrg
5052c3d31fe1Smrg2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
5053c3d31fe1Smrg
5054c3d31fe1Smrg	* docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
5055c3d31fe1Smrg	docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
5056c3d31fe1Smrg	Fix markup, more <link> tags.
5057c3d31fe1Smrg
5058c3d31fe1Smrg2004-02-25  Carlo Wood  <carlo@alinoe.com>
5059c3d31fe1Smrg
5060c3d31fe1Smrg	* bits/demangle.h
5061c3d31fe1Smrg	namespace __gnu_cxx::demangler
5062c3d31fe1Smrg	(session<Allocator>::qualifier_list_Allocator): Add
5063c3d31fe1Smrg	(session<Allocator>::M_qualifier_list_alloc): Add
5064c3d31fe1Smrg	(session<Allocator>::decode_type_with_postfix):
5065c3d31fe1Smrg	Use M_qualifier_list_alloc instead of calling operator new/delete.
5066c3d31fe1Smrg
5067c3d31fe1Smrg2004-02-24  Paolo Carlini  <pcarlini@suse.de>
5068c3d31fe1Smrg
5069c3d31fe1Smrg	PR libstdc++/14252
5070c3d31fe1Smrg	* include/bits/postypes.h (class streamoff): Add operator++(),
5071c3d31fe1Smrg	operator++(int), operator--() and operator--(int).
5072c3d31fe1Smrg	* testsuite/27_io/fpos/14252.cc: New.
5073c3d31fe1Smrg
5074c3d31fe1Smrg2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
5075c3d31fe1Smrg
5076c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
5077c3d31fe1Smrg	error in handling of hex constants.
5078c3d31fe1Smrg
5079c3d31fe1Smrg2004-02-24  Paolo Carlini  <pcarlini@suse.de>
5080c3d31fe1Smrg
5081c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_put<>::_M_insert):
5082c3d31fe1Smrg	Prefer basic_string::append to operator+= and a temporary.
5083c3d31fe1Smrg
5084c3d31fe1Smrg2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
5085c3d31fe1Smrg
5086c3d31fe1Smrg	* libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
5087c3d31fe1Smrg	Only use fputs, not write.
5088c3d31fe1Smrg
5089c3d31fe1Smrg2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
5090c3d31fe1Smrg
5091c3d31fe1Smrg	* include/ext/malloc_allocator.h: Add operators ==, !=.
5092c3d31fe1Smrg	* include/ext/new_allocator.h: Add operators ==, !=.
5093c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc::tune): New.
5094c3d31fe1Smrg	(__mt_alloc::_S_get_options): New.
5095c3d31fe1Smrg	(__mt_alloc::_S_set_options): New.
5096c3d31fe1Smrg	(__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
5097c3d31fe1Smrg	(__mt_alloc::_S_no_of_bins): To _S_bin_size.
5098c3d31fe1Smrg	Move functions out of line, simplify, format.
5099c3d31fe1Smrg	* src/allocator.cc: Simplify explicit instantiations.
5100c3d31fe1Smrg	* include/bits/allocator.h: Tweak.
5101c3d31fe1Smrg
5102c3d31fe1Smrg2004-02-22  Paolo Carlini  <pcarlini@suse.de>
5103c3d31fe1Smrg
5104c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_put<>::_M_insert):
5105c3d31fe1Smrg	Restructure formatting of value component, first dealing with
5106c3d31fe1Smrg	the non-decimal digits; use reserve.
5107c3d31fe1Smrg
5108c3d31fe1Smrg2004-02-22  Paolo Carlini  <pcarlini@suse.de>
5109c3d31fe1Smrg
5110c3d31fe1Smrg	* include/bits/locale_facets.h (class money_get): Inherit
5111c3d31fe1Smrg	from money_base too; tweak declaration of _M_extract, now
5112c3d31fe1Smrg	parameterized on _Intl too.
5113c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
5114c3d31fe1Smrg	Update definition to use the cache; call reserve on __res to
5115c3d31fe1Smrg	avoid multiple reallocations; fix parsing of sign component
5116c3d31fe1Smrg	according to 22.2.6.1.2, p3.
5117c3d31fe1Smrg	(money_get<>::do_get(long double&),
5118c3d31fe1Smrg	money_get<>::do_get(string_type&)): Update calls of _M_extract.
5119c3d31fe1Smrg	* src/locale-inst.cc:  Add instantiations of
5120c3d31fe1Smrg	money_get::_M_extract<false> and money_get::_M_extract<true>.
5121c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/14.cc: New.
5122c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
5123c3d31fe1Smrg
5124c3d31fe1Smrg2004-02-21  Mark Mitchell  <mark@codesourcery.com>
5125c3d31fe1Smrg
5126c3d31fe1Smrg	* libsupc++/vterminate.cc
5127c3d31fe1Smrg	(__gnu_cxx::__verbose_terminate_handler): Guard against recursive
5128c3d31fe1Smrg	calls to terminate.
5129c3d31fe1Smrg	* src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
5130c3d31fe1Smrg
5131c3d31fe1Smrg	* testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
5132c3d31fe1Smrg	not set RLIMIT_AS on HP-UX.
5133c3d31fe1Smrg
5134c3d31fe1Smrg2004-02-21  Mark Mitchell  <mark@codesourcery.com>
5135c3d31fe1Smrg
5136c3d31fe1Smrg	* testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
5137c3d31fe1Smrg	not set RLIMIT_AS on HP-UX.
5138c3d31fe1Smrg
5139c3d31fe1Smrg2004-02-21  Paolo Carlini  <pcarlini@suse.de>
5140c3d31fe1Smrg
5141c3d31fe1Smrg	* include/bits/locale_facets.h (class money_base): Add { _S_minus,
5142c3d31fe1Smrg	_S_zero, _S_end } enum, _S_atoms.
5143c3d31fe1Smrg	(struct __moneypunct_cache<>): Parameterize on _Intl too; add
5144c3d31fe1Smrg	_M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
5145c3d31fe1Smrg	_M_negative_sign_size, _M_atoms; tweak constructor consistently.
5146c3d31fe1Smrg	(__moneypunct_cache<>::~__moneypunct_cache): Update.
5147c3d31fe1Smrg	(__moneypunct_cache<>::_M_cache): Fill the cache.
5148c3d31fe1Smrg	(class moneypunct): Tweak __cache_type typedef.
5149c3d31fe1Smrg	(class money_put): Inherit from money_base too; tweak declaration
5150c3d31fe1Smrg	of _M_insert, now parameterized on _Intl.
5151c3d31fe1Smrg	* include/bits/locale_facets.tcc
5152c3d31fe1Smrg	(struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
5153c3d31fe1Smrg	(money_put<>::_M_insert): Update definition to use the cache;
5154c3d31fe1Smrg	call reserve on __res to avoid multiple reallocations.
5155c3d31fe1Smrg	(money_put<>::do_put(long double),
5156c3d31fe1Smrg	money_put<>::do_put(const string_type&): Update calls of _M_insert.
5157c3d31fe1Smrg	* config/locale/generic/monetary_members.cc
5158c3d31fe1Smrg	(moneypunct<char, true>::_M_initialize_moneypunct,
5159c3d31fe1Smrg	moneypunct<char, false>::_M_initialize_moneypunct,
5160c3d31fe1Smrg	moneypunct<wchar_t, true>::_M_initialize_moneypunct,
5161c3d31fe1Smrg	moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
5162c3d31fe1Smrg	* config/locale/gnu/monetary_members.cc: Likewise.
5163c3d31fe1Smrg	* config/locale/gnu/monetary_members.cc
5164c3d31fe1Smrg	(moneypunct<wchar_t, true>::~moneypunct(),
5165c3d31fe1Smrg	moneypunct<wchar_t, false>::~moneypunct()): Likewise.
5166c3d31fe1Smrg	* src/globals_locale.cc: Tweak fake_money_cache_c.
5167c3d31fe1Smrg	* src/locale-inst.cc: Add instantiations for
5168c3d31fe1Smrg	money_put::_M_insert<false> and money_put::_M_insert<true> and
5169c3d31fe1Smrg	__moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
5170c3d31fe1Smrg	* src/locale_facets.cc: Define money_base::_S_atoms.
5171c3d31fe1Smrg	* src/locale_init.cc: Update placement new of
5172c3d31fe1Smrg	__moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
5173c3d31fe1Smrg	__moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
5174c3d31fe1Smrg
5175c3d31fe1Smrg	* config/locale/generic/numeric_members.cc: Clean up.
5176c3d31fe1Smrg	* config/locale/gnu/numeric_members.cc: Likewise.
5177c3d31fe1Smrg	* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
5178c3d31fe1Smrg	* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
5179c3d31fe1Smrg	* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
5180c3d31fe1Smrg	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
5181c3d31fe1Smrg	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
5182c3d31fe1Smrg	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
5183c3d31fe1Smrg
5184c3d31fe1Smrg2004-02-20  Mark Mitchell  <mark@codesourcery.com>
5185c3d31fe1Smrg
5186c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
5187c3d31fe1Smrg	FIFO for writing with ios_base::in|ios_base::out.
5188c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
5189c3d31fe1Smrg	* testsuite/27_io/objects/char/7.cc: Likewise.
5190c3d31fe1Smrg	* testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
5191c3d31fe1Smrg	with "r+".
5192c3d31fe1Smrg
5193c3d31fe1Smrg2004-02-19  David Edelsohn  <edelsohn@gnu.org>
5194c3d31fe1Smrg
5195c3d31fe1Smrg	* 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
5196c3d31fe1Smrg	from iso-8859-1 to ISO8859-1.
5197c3d31fe1Smrg	* 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
5198c3d31fe1Smrg	* 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
5199c3d31fe1Smrg	* 22_locale/collate/hash/wchar_t/2.cc: Same.
5200c3d31fe1Smrg	* 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
5201c3d31fe1Smrg	* 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
5202c3d31fe1Smrg	* 22_locale/collate/transform/wchar_t/2.cc: Same.
5203c3d31fe1Smrg	* 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
5204c3d31fe1Smrg	* 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
5205c3d31fe1Smrg
5206c3d31fe1Smrg2004-02-18  Paolo Carlini  <pcarlini@suse.de>
5207c3d31fe1Smrg
5208c3d31fe1Smrg	* include/bits/locale_facets.h (money_get<>::_M_extract):
5209c3d31fe1Smrg	New, helper for do_get.
5210c3d31fe1Smrg	(money_put<>::_M_insert): Likewise, for do_put.
5211c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get<>::_M_extract,
5212c3d31fe1Smrg	money_put<>::_M_insert): Define.
5213c3d31fe1Smrg	(money_get<>::do_get(long double&), money_get<>::do_get(
5214c3d31fe1Smrg	string_type&), money_put::do_put(long double),
5215c3d31fe1Smrg	money_put::do_put(const string_type&)): Use the helpers.
5216c3d31fe1Smrg
5217c3d31fe1Smrg2004-02-18  Paolo Carlini  <pcarlini@suse.de>
5218c3d31fe1Smrg
5219c3d31fe1Smrg	* config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
5220c3d31fe1Smrg	Rewrite, avoiding recursion.
5221c3d31fe1Smrg	(__gnu_internal::xwrite): Minor tweaks.
5222c3d31fe1Smrg
5223c3d31fe1Smrg2004-02-17  Stefan Olsson  <stefan@xapa.se>
5224c3d31fe1Smrg
5225c3d31fe1Smrg	* include/ext/mt_allocator.h: Removed the last
5226c3d31fe1Smrg	pointer. Deallocated blocks are now added to the front of
5227c3d31fe1Smrg	freelists as proposed by Felix Yen.  This gives roughly 10%
5228c3d31fe1Smrg	performance boost and saves some memory.
5229c3d31fe1Smrg	* docs/html/ext/mt_allocator.html: Change due to that deallocated
5230c3d31fe1Smrg	blocks now are added to the front of freelists. The reason to this
5231c3d31fe1Smrg	approach is also explained.
5232c3d31fe1Smrg
5233c3d31fe1Smrg2004-02-17  Paolo Carlini  <pcarlini@suse.de>
5234c3d31fe1Smrg
5235c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
5236c3d31fe1Smrg	num_get<>::_M_extract_int, money_get<>::do_get): Simplify
5237c3d31fe1Smrg	grouping fidelity conditional.
5238c3d31fe1Smrg
5239c3d31fe1Smrg2004-02-16  Paolo Carlini  <pcarlini@suse.de>
5240c3d31fe1Smrg
5241c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
5242c3d31fe1Smrg	Qualify exception with std::.
5243c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
5244c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
5245c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
5246c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
5247c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
5248c3d31fe1Smrg
5249c3d31fe1Smrg2004-02-16  Paolo Carlini  <pcarlini@suse.de>
5250c3d31fe1Smrg
5251c3d31fe1Smrg	* testsuite/ext/enc_filebuf/char/13189.cc: Don't check
5252c3d31fe1Smrg	for now that the catch block is not reached.
5253c3d31fe1Smrg	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
5254c3d31fe1Smrg
5255c3d31fe1Smrg2004-02-16  Paolo Carlini  <pcarlini@suse.de>
5256c3d31fe1Smrg
5257c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
5258c3d31fe1Smrg	Fix parsing of the remaining sign characters.
5259c3d31fe1Smrg	* 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
5260c3d31fe1Smrg	the input is scanned 'til eof.
5261c3d31fe1Smrg	* 22_locale/money_get/get/char/4.cc: Likewise.
5262c3d31fe1Smrg	* 22_locale/money_get/get/wchar_t/2.cc: Likewise.
5263c3d31fe1Smrg	* 22_locale/money_get/get/wchar_t/4.cc: Likewise.
5264c3d31fe1Smrg	* 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
5265c3d31fe1Smrg	not do_pos_format: the former is the only one that matters during
5266c3d31fe1Smrg	input.
5267c3d31fe1Smrg	* 22_locale/money_get/get/wchar_t/8.cc: Likewise.
5268c3d31fe1Smrg
5269c3d31fe1Smrg	* 22_locale/money_get/get/char/6.cc: Minor tweak.
5270c3d31fe1Smrg	* 22_locale/money_get/get/wchar_t/6.cc: Likewise.
5271c3d31fe1Smrg
5272c3d31fe1Smrg2004-02-15  David Asher  <david.asher@cavium.com>
5273c3d31fe1Smrg
5274c3d31fe1Smrg	PR libstdc++/11352
5275c3d31fe1Smrg	* include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
5276c3d31fe1Smrg	access __olds beyond __oldlen.
5277c3d31fe1Smrg
5278c3d31fe1Smrg2004-02-14  Paolo Carlini  <pcarlini@suse.de>
5279c3d31fe1Smrg
5280c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
5281c3d31fe1Smrg	sure the exception is actually thrown.
5282c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
5283c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
5284c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
5285c3d31fe1Smrg
5286c3d31fe1Smrg2004-02-14  Paolo Carlini  <pcarlini@suse.de>
5287c3d31fe1Smrg
5288c3d31fe1Smrg	PR libstdc++/13858
5289c3d31fe1Smrg	* include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
5290c3d31fe1Smrg	In case of conversion errors, throw ios_failure; simplify.
5291c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
5292c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
5293c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
5294c3d31fe1Smrg	previously we didn't throw in case of conversion errors, instead
5295c3d31fe1Smrg	just returned eof().
5296c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
5297c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
5298c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
5299c3d31fe1Smrg
5300c3d31fe1Smrg	* include/bits/fstream.tcc (basic_filebuf<>::overflow):
5301c3d31fe1Smrg	Trivial simplification of a conditional.
5302c3d31fe1Smrg
5303c3d31fe1Smrg2004-02-12  Paolo Carlini  <pcarlini@suse.de>
5304c3d31fe1Smrg
5305c3d31fe1Smrg	PR libstdc++/13731 (final part: writev)
5306c3d31fe1Smrg	* config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
5307c3d31fe1Smrg	New, a wrapper around writev() handling partial writes.
5308c3d31fe1Smrg	(__basic_file<char>::xwrite): Move to __gnu_internal and make
5309c3d31fe1Smrg	static.
5310c3d31fe1Smrg	(__basic_file<char>::xsputn): Update call.
5311c3d31fe1Smrg	(__basic_file<char>::xsputn_2): Likewise.
5312c3d31fe1Smrg	* config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
5313c3d31fe1Smrg	Don't declare, now static.
5314c3d31fe1Smrg
5315c3d31fe1Smrg2004-02-11  Stefan Olsson  <stefan@xapa.se>
5316c3d31fe1Smrg
5317c3d31fe1Smrg	* docs/html/ext/mt_allocator.html: New.
5318c3d31fe1Smrg
5319c3d31fe1Smrg2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
5320c3d31fe1Smrg
5321c3d31fe1Smrg	* docs/html/20_util/allocator.html: New file, consolidate
5322c3d31fe1Smrg	allocator information here. Revamp.
5323c3d31fe1Smrg	* docs/html/documentation.html: Change links.
5324c3d31fe1Smrg	* docs/html/20_util/howto.html: Same.
5325c3d31fe1Smrg	* docs/html/ext/howto.html: Same.
5326c3d31fe1Smrg
5327c3d31fe1Smrg2004-02-11  Paolo Carlini  <pcarlini@suse.de>
5328c3d31fe1Smrg
5329c3d31fe1Smrg	PR libstdc++/13731 (first part: write)
5330c3d31fe1Smrg	* config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
5331c3d31fe1Smrg	New, declare.
5332c3d31fe1Smrg	* config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
5333c3d31fe1Smrg	Define it: a wrapper around write() handling partial write.
5334c3d31fe1Smrg	(__basic_file<char>::xsputn): Use it.
5335c3d31fe1Smrg	(__basic_file<char>::xsputn_2): Likewise.
5336c3d31fe1Smrg
5337c3d31fe1Smrg2004-02-11  Paolo Carlini  <pcarlini@suse.de>
5338c3d31fe1Smrg	    Petur Runolfsson  <peturr02@ru.is>
5339c3d31fe1Smrg
5340c3d31fe1Smrg	PR libstdc++/14078
5341c3d31fe1Smrg	* include/std/std_istream.h (operator>>(__istream_type& (*)
5342c3d31fe1Smrg	(__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
5343c3d31fe1Smrg	operator>>(ios_base& (*)(ios_base&))): Declare inline.
5344c3d31fe1Smrg	* include/std/std_ostream.h (operator<<(__ostream_type& (*)
5345c3d31fe1Smrg	(__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
5346c3d31fe1Smrg	operator<<(ios_base& (*) (ios_base&))): Likewise.
5347c3d31fe1Smrg	* testsuite/performance/27_io/fmtflags_manipulators.cc: New.
5348c3d31fe1Smrg
5349c3d31fe1Smrg2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
5350c3d31fe1Smrg
5351c3d31fe1Smrg	PR libstdc++/14098
5352c3d31fe1Smrg	* config/linker-map.gnu: Add typeinfo and typeinfo name for
5353c3d31fe1Smrg	__gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
5354c3d31fe1Smrg
5355c3d31fe1Smrg	PR libstdc++/14097
5356c3d31fe1Smrg	* config/linker-map.gnu: Add typeinfo and typeinfo name for
5357c3d31fe1Smrg	__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
5358c3d31fe1Smrg
5359c3d31fe1Smrg2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
5360c3d31fe1Smrg
5361c3d31fe1Smrg	* include/ext/pool_allocator.h: Include c++config.h.
5362c3d31fe1Smrg
5363c3d31fe1Smrg2004-02-09  Stefan Olsson  <stefan@xapa.se>
5364c3d31fe1Smrg
5365c3d31fe1Smrg	* include/ext/mt_allocator.h: thread_id is unused in non threaded
5366c3d31fe1Smrg	applications and now has a ifdef to remove it completely on
5367c3d31fe1Smrg	compilers without thread support. Include stdlib.h due to a
5368c3d31fe1Smrg	compiler warning on getenv().
5369c3d31fe1Smrg
5370c3d31fe1Smrg2004-02-09  Paul Brook  <paul@codesourcery.com>
5371c3d31fe1Smrg
5372c3d31fe1Smrg	* libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
5373c3d31fe1Smrg
5374c3d31fe1Smrg2004-02-09  Paolo Carlini  <pcarlini@suse.de>
5375c3d31fe1Smrg
5376c3d31fe1Smrg	PR libstdc++/14071
5377c3d31fe1Smrg	* src/locale_init.cc (locale::global(const locale&)): Use
5378c3d31fe1Smrg	locale::name() in order to decide whether calling setlocale.
5379c3d31fe1Smrg	* testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
5380c3d31fe1Smrg
5381c3d31fe1Smrg	* include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
5382c3d31fe1Smrg	Avoid computing &= unnecessarily.
5383c3d31fe1Smrg
5384c3d31fe1Smrg2004-02-09  James E Wilson  <wilson@specifixinc.com>
5385c3d31fe1Smrg
5386c3d31fe1Smrg	PR libstdc++/5625
5387c3d31fe1Smrg	* libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
5388c3d31fe1Smrg	__builtin_extend_pointer.
5389c3d31fe1Smrg
5390c3d31fe1Smrg2004-02-09  Paolo Carlini  <pcarlini@suse.de>
5391c3d31fe1Smrg
5392c3d31fe1Smrg	PR libstdc++/14072
5393c3d31fe1Smrg	* include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
5394c3d31fe1Smrg	Don't leave dangling pointers.
5395c3d31fe1Smrg	* testsuite/27_io/basic_ios/imbue/14072.cc: New.
5396c3d31fe1Smrg	* testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
5397c3d31fe1Smrg	facet is needed in the final test.
5398c3d31fe1Smrg
5399c3d31fe1Smrg2004-02-09  Bernardo Innocenti  <bernie@develer.com>
5400c3d31fe1Smrg
5401c3d31fe1Smrg	* crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
5402c3d31fe1Smrg	* configure: Regenerate.
5403c3d31fe1Smrg
5404c3d31fe1Smrg2004-02-08  Richard Henderson  <rth@redhat.com>
5405c3d31fe1Smrg
5406c3d31fe1Smrg	PR libstdc++/14026
5407c3d31fe1Smrg	* libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
5408c3d31fe1Smrg	uncaughtExceptions during nested catch rethrow.
5409c3d31fe1Smrg	* testsuite/18_support/14026.cc: New.
5410c3d31fe1Smrg
5411c3d31fe1Smrg2004-02-08  Paolo Carlini  <pcarlini@suse.de>
5412c3d31fe1Smrg
5413c3d31fe1Smrg	* include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
5414c3d31fe1Smrg	When working in place remember to set the state to sharable
5415c3d31fe1Smrg	(otherwise, _M_mutate does it).
5416c3d31fe1Smrg
5417c3d31fe1Smrg2004-02-08  Bernardo Innocenti  <bernie@develer.com>
5418c3d31fe1Smrg
5419c3d31fe1Smrg	* include/bits/allocator.h, include/bits/basic_ios.h,
5420c3d31fe1Smrg	include/bits/basic_ios.tcc, include/bits/basic_string.h,
5421c3d31fe1Smrg	include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
5422c3d31fe1Smrg	include/bits/char_traits.h, include/bits/codecvt.h,
5423c3d31fe1Smrg	include/bits/concurrence.h, include/bits/cpp_type_traits.h,
5424c3d31fe1Smrg	include/bits/demangle.h, include/bits/deque.tcc,
5425c3d31fe1Smrg	include/bits/fstream.tcc, include/bits/functexcept.h,
5426c3d31fe1Smrg	include/bits/gslice.h, include/bits/gslice_array.h,
5427c3d31fe1Smrg	include/bits/indirect_array.h, include/bits/ios_base.h,
5428c3d31fe1Smrg	include/bits/istream.tcc, include/bits/list.tcc,
5429c3d31fe1Smrg	include/bits/locale_classes.h, include/bits/locale_facets.h,
5430c3d31fe1Smrg	include/bits/locale_facets.tcc, include/bits/localefwd.h,
5431c3d31fe1Smrg	include/bits/mask_array.h, include/bits/ostream.tcc,
5432c3d31fe1Smrg	include/bits/postypes.h, include/bits/slice_array.h,
5433c3d31fe1Smrg	include/bits/sstream.tcc, include/bits/stl_algo.h,
5434c3d31fe1Smrg	include/bits/stl_algobase.h, include/bits/stl_bvector.h,
5435c3d31fe1Smrg	include/bits/stl_construct.h, include/bits/stl_deque.h,
5436c3d31fe1Smrg	include/bits/stl_function.h, include/bits/stl_heap.h,
5437c3d31fe1Smrg	include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
5438c3d31fe1Smrg	include/bits/stl_list.h, include/bits/stl_map.h,
5439c3d31fe1Smrg	include/bits/stl_multimap.h, include/bits/stl_multiset.h,
5440c3d31fe1Smrg	include/bits/stl_numeric.h, include/bits/stl_pair.h,
5441c3d31fe1Smrg	include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
5442c3d31fe1Smrg	include/bits/stl_relops.h, include/bits/stl_set.h,
5443c3d31fe1Smrg	include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
5444c3d31fe1Smrg	include/bits/stl_threads.h, include/bits/stl_tree.h,
5445c3d31fe1Smrg	include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
5446c3d31fe1Smrg	include/bits/stream_iterator.h, include/bits/streambuf.tcc,
5447c3d31fe1Smrg	include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
5448c3d31fe1Smrg	include/bits/type_traits.h, include/bits/valarray_after.h,
5449c3d31fe1Smrg	include/bits/valarray_array.h, include/bits/valarray_array.tcc,
5450c3d31fe1Smrg	include/bits/valarray_before.h, include/bits/vector.tcc: Remove
5451c3d31fe1Smrg	trailing whitespace.
5452c3d31fe1Smrg
5453c3d31fe1Smrg2004-02-06  Paolo Carlini  <pcarlini@suse.de>
5454c3d31fe1Smrg
5455c3d31fe1Smrg	* include/bits/basic_string.h: Fix comment.
5456c3d31fe1Smrg
5457c3d31fe1Smrg2004-02-06  Paolo Carlini  <pcarlini@suse.de>
5458c3d31fe1Smrg
5459c3d31fe1Smrg	* include/bits/stl_construct.h: Wrap overlong lines, reformat
5460c3d31fe1Smrg	according to the coding standards.
5461c3d31fe1Smrg	* include/bits/stl_pair.h: Likewise.
5462c3d31fe1Smrg	* include/bits/stl_raw_storage_iter.h: Likewise.
5463c3d31fe1Smrg	* include/bits/stl_stack.h: Likewise.
5464c3d31fe1Smrg	* include/bits/stl_uninitialized.h: Likewise.
5465c3d31fe1Smrg	* include/bits/stream_iterator.h: Likewise.
5466c3d31fe1Smrg	* include/bits/streambuf_iterator.h: Likewise.
5467c3d31fe1Smrg	* include/bits/type_traits.h: Likewise.
5468c3d31fe1Smrg
5469c3d31fe1Smrg2004-02-06  Paolo Carlini  <pcarlini@suse.de>
5470c3d31fe1Smrg
5471c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/open/char/9507.cc:
5472c3d31fe1Smrg	Adjust timings.
5473c3d31fe1Smrg
5474c3d31fe1Smrg2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
5475c3d31fe1Smrg
5476c3d31fe1Smrg	* scripts/check_performance: Support PCH.
5477c3d31fe1Smrg
5478c3d31fe1Smrg	* scripts/check_performance (CXX): Add -DNOTHREAD.
5479c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert.cc: Integrate
5480c3d31fe1Smrg	threaded tests from insert_insert.cc.  Tweak iterations,
5481c3d31fe1Smrg	remove special cases.
5482c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert_insert.cc:
5483c3d31fe1Smrg	Make all tests single-threaded. Tweak iterations.
5484c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_thread.cc:
5485c3d31fe1Smrg	Tweak iterations.
5486c3d31fe1Smrg	* testsuite/performance/20_util/allocator/producer_consumer.cc:
5487c3d31fe1Smrg	Likewise.
5488c3d31fe1Smrg
5489c3d31fe1Smrg2004-02-05  Geoffrey Keating  <geoffk@apple.com>
5490c3d31fe1Smrg
5491c3d31fe1Smrg	PR 12179
5492c3d31fe1Smrg	* .cvsignore: New.
5493c3d31fe1Smrg	* acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
5494c3d31fe1Smrg	'gcc-lib'.  Add comment about poorly-named variables.
5495c3d31fe1Smrg	* aclocal.m4: Regenerate.
5496c3d31fe1Smrg	* configure: Regenerate.
5497c3d31fe1Smrg
5498c3d31fe1Smrg2004-02-05  Paolo Carlini  <pcarlini@suse.de>
5499c3d31fe1Smrg
5500c3d31fe1Smrg	* include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
5501c3d31fe1Smrg	Thousands-sep are always optional; thousands-sep are not allowed
5502c3d31fe1Smrg	after the decimal_point.
5503c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/12.cc: New.
5504c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/13.cc: New.
5505c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
5506c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
5507c3d31fe1Smrg
5508c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
5509c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/2.cc: Likewise.
5510c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/3.cc: Likewise.
5511c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/4.cc: Likewise.
5512c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
5513c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
5514c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
5515c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
5516c3d31fe1Smrg
5517c3d31fe1Smrg	* testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
5518c3d31fe1Smrg	the standard.
5519c3d31fe1Smrg	* testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
5520c3d31fe1Smrg
5521c3d31fe1Smrg2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
5522c3d31fe1Smrg
5523c3d31fe1Smrg	* config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
5524c3d31fe1Smrg	Define.
5525c3d31fe1Smrg	* config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
5526c3d31fe1Smrg	it to decide whether FIONREAD should take an off_t or int argument.
5527c3d31fe1Smrg
5528c3d31fe1Smrg2004-02-05  Paolo Carlini  <pcarlini@suse.de>
5529c3d31fe1Smrg
5530c3d31fe1Smrg	* include/bits/stl_function.h: Minor formatting changes.
5531c3d31fe1Smrg
5532c3d31fe1Smrg2004-02-04  Zack Weinberg  <zack@codesourcery.com>
5533c3d31fe1Smrg
5534c3d31fe1Smrg	Revert previous change to config/abi/*/baseline_symbols.txt.
5535c3d31fe1Smrg
5536c3d31fe1Smrg2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
5537c3d31fe1Smrg	    Zack Weinberg  <zack@codesourcery.com>
5538c3d31fe1Smrg
5539c3d31fe1Smrg	* config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
5540c3d31fe1Smrg	New function.
5541c3d31fe1Smrg	(__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
5542c3d31fe1Smrg	(__basic_file<char>::_M_open_mode): Delete.
5543c3d31fe1Smrg	* config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
5544c3d31fe1Smrg
5545c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/close/char/9964.cc
5546c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/open/char/9507.cc:
5547c3d31fe1Smrg	Correct flags to filebuf::open calls.
5548c3d31fe1Smrg
5549c3d31fe1Smrg	* config/abi/alpha-freebsd5/baseline_symbols.txt
5550c3d31fe1Smrg	* config/abi/alpha-linux-gnu/baseline_symbols.txt
5551c3d31fe1Smrg	* config/abi/hppa-linux-gnu/baseline_symbols.txt
5552c3d31fe1Smrg	* config/abi/i386-freebsd4/baseline_symbols.txt
5553c3d31fe1Smrg	* config/abi/i386-freebsd5/baseline_symbols.txt
5554c3d31fe1Smrg	* config/abi/i486-linux-gnu/baseline_symbols.txt
5555c3d31fe1Smrg	* config/abi/ia64-linux-gnu/baseline_symbols.txt
5556c3d31fe1Smrg	* config/abi/mips-linux-gnu/baseline_symbols.txt
5557c3d31fe1Smrg	* config/abi/sparc-freebsd5/baseline_symbols.txt
5558c3d31fe1Smrg	* config/abi/sparc-linux-gnu/baseline_symbols.txt
5559c3d31fe1Smrg	* config/abi/x86_64-linux-gnu/baseline_symbols.txt:
5560c3d31fe1Smrg	Remove entry for __basic_file<char>::_M_open_mode.
5561c3d31fe1Smrg
5562c3d31fe1Smrg2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
5563c3d31fe1Smrg
5564c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
5565c3d31fe1Smrg
5566c3d31fe1Smrg2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
5567c3d31fe1Smrg
5568c3d31fe1Smrg	* testsuite/performance/20_util/producer_consumer.cc: New.
5569c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
5570c3d31fe1Smrg
5571c3d31fe1Smrg2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
5572c3d31fe1Smrg
5573c3d31fe1Smrg	* testsuite/performance/20_util/allocator.cc: Move to..
5574c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert.cc: ...here.
5575c3d31fe1Smrg	* testsuite/performance/20_util/allocator_thread.cc: Move to...
5576c3d31fe1Smrg	* testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
5577c3d31fe1Smrg	* testsuite/performance/20_util/allocator_map_thread.cc: Move to...
5578c3d31fe1Smrg	* testsuite/performance/20_util/allocator/map_thread.cc: ...here.
5579c3d31fe1Smrg
5580c3d31fe1Smrg2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
5581c3d31fe1Smrg
5582c3d31fe1Smrg	* docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
5583c3d31fe1Smrg	* docs/html/faq/index.txt: Regenerate.
5584c3d31fe1Smrg
5585c3d31fe1Smrg2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
5586c3d31fe1Smrg
5587c3d31fe1Smrg	* include/ext/debug_allocator.h: _M_extra now stands for the
5588c3d31fe1Smrg	number of extra objects instead of the number of extra bytes.
5589c3d31fe1Smrg	(debug_allocator::allocate): Adjust.
5590c3d31fe1Smrg	(debug_allocator::deallocate): Adjust.
5591c3d31fe1Smrg
5592c3d31fe1Smrg	* include/ext/pool_allocator.h: Fix typo.
5593c3d31fe1Smrg
5594c3d31fe1Smrg2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
5595c3d31fe1Smrg	    Benjamin Kosnik  <bkoz@redhat.com>
5596c3d31fe1Smrg
5597c3d31fe1Smrg	* testsuite/performance/20_util/allocator.cc: Add map,
5598c3d31fe1Smrg	deque, set tests.
5599c3d31fe1Smrg	* testsuite/performance/20_util/allocator_thread.cc: Same.
5600c3d31fe1Smrg
5601c3d31fe1Smrg2004-02-03  Paolo Carlini  <pcarlini@suse.de>
5602c3d31fe1Smrg
5603c3d31fe1Smrg	* include/bits/basic_string.h (insert(iterator)): Remove,
5604c3d31fe1Smrg	non-standard and already scheduled for removal.
5605c3d31fe1Smrg
5606c3d31fe1Smrg2004-02-03  Paolo Carlini  <pcarlini@suse.de>
5607c3d31fe1Smrg
5608c3d31fe1Smrg	* include/bits/stl_iterator_base_funcs.h: Minor formatting
5609c3d31fe1Smrg	and indentation tweaks.
5610c3d31fe1Smrg	* include/bits/stl_iterator_base_types.h: Likewise.
5611c3d31fe1Smrg	* include/bits/stl_list.h: Likewise.
5612c3d31fe1Smrg	* include/bits/stl_map.h: Likewise.
5613c3d31fe1Smrg	* include/bits/stl_tempbuf.h: Likewise.
5614c3d31fe1Smrg
5615c3d31fe1Smrg2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
5616c3d31fe1Smrg
5617c3d31fe1Smrg	* include/bits/gslice.h, include/bits/gslice_array.h,
5618c3d31fe1Smrg	include/bits/indirect_array.h, include/bits/mask_array.h,
5619c3d31fe1Smrg	include/bits/slice_array.h, include/bits/stl_numeric.h,
5620c3d31fe1Smrg	include/std/std_valarray.h:  Update copyright years.
5621c3d31fe1Smrg
5622c3d31fe1Smrg2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
5623c3d31fe1Smrg
5624c3d31fe1Smrg	* include/bits/gslice.h (gslice):  Document.
5625c3d31fe1Smrg	* include/bits/gslice_array.h (gslice_array):  Document.
5626c3d31fe1Smrg	* include/bits/indirect_array (indirect_array):  Document.
5627c3d31fe1Smrg	* include/bits/mask_array (mask_array):  Document.
5628c3d31fe1Smrg	* include/bits/slice_array.h (slice,slice_array):  Document.
5629c3d31fe1Smrg	* include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
5630c3d31fe1Smrg	adjacent_difference):  Document
5631c3d31fe1Smrg	* include/std/std_valarray.h (valarray):  Document.
5632c3d31fe1Smrg
5633c3d31fe1Smrg2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
5634c3d31fe1Smrg
5635c3d31fe1Smrg	* docs/html/19_diagnostics/howto.html: Move verbose terminate
5636c3d31fe1Smrg	documentation...
5637c3d31fe1Smrg	* docs/html/18_support/howto.html: Here.
5638c3d31fe1Smrg	* docs/html/documentation.html: Add reference here.
5639c3d31fe1Smrg
5640c3d31fe1Smrg2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5641c3d31fe1Smrg
5642c3d31fe1Smrg	* config/locale/gnu/c++locale_internal.h: Remove prototypes
5643c3d31fe1Smrg	of no longer used GLIBC thread locale functions.
5644c3d31fe1Smrg
5645c3d31fe1Smrg2004-02-02  Eric Christopher  <echristo@redhat.com>
5646c3d31fe1Smrg	    Zack Weinberg  <zack@codesourcery.com>
5647c3d31fe1Smrg
5648c3d31fe1Smrg	* testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
5649c3d31fe1Smrg	-finput-charset.
5650c3d31fe1Smrg	* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
5651c3d31fe1Smrg	* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
5652c3d31fe1Smrg	* testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
5653c3d31fe1Smrg	* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
5654c3d31fe1Smrg	* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
5655c3d31fe1Smrg	* testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
5656c3d31fe1Smrg	* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
5657c3d31fe1Smrg	* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
5658c3d31fe1Smrg	Ditto.
5659c3d31fe1Smrg
5660c3d31fe1Smrg2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5661c3d31fe1Smrg
5662c3d31fe1Smrg	* include/bits/stl_function.h: Additional minor tweaks.
5663c3d31fe1Smrg	* include/bits/stl_multiset.h: Likewise.
5664c3d31fe1Smrg
5665c3d31fe1Smrg	* include/bits/stl_queue.h: Minor tweaks.
5666c3d31fe1Smrg
5667c3d31fe1Smrg2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5668c3d31fe1Smrg
5669c3d31fe1Smrg	PR libstdc++/13976 (continued)
5670c3d31fe1Smrg	* include/ext/malloc_allocator.h (malloc_allocator::deallocate):
5671c3d31fe1Smrg	Make the second parameter unnamed, to void unused parameter
5672c3d31fe1Smrg	warnings.
5673c3d31fe1Smrg	* include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
5674c3d31fe1Smrg
5675c3d31fe1Smrg2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5676c3d31fe1Smrg
5677c3d31fe1Smrg	PR libstdc++/13976
5678c3d31fe1Smrg	* include/ext/malloc_allocator.h (malloc_allocator::allocate):
5679c3d31fe1Smrg	Make the second parameter unnamed, to void unused parameter
5680c3d31fe1Smrg	warnings.
5681c3d31fe1Smrg	* include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
5682c3d31fe1Smrg	* include/ext/new_allocator.h (new_allocator::allocate): Ditto.
5683c3d31fe1Smrg
5684c3d31fe1Smrg2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5685c3d31fe1Smrg
5686c3d31fe1Smrg	* include/bits/stl_algo.h: Additional minor tweaks.
5687c3d31fe1Smrg	* include/bits/stl_map.h: Likewise.
5688c3d31fe1Smrg	* include/bits/stl_multimap.h: Likewise.
5689c3d31fe1Smrg	* include/bits/stl_multiset.h: Likewise.
5690c3d31fe1Smrg	* include/bits/stl_set.h: Likewise.
5691c3d31fe1Smrg	* include/bits/stl_tree.h: Likewise.
5692c3d31fe1Smrg
5693c3d31fe1Smrg2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5694c3d31fe1Smrg
5695c3d31fe1Smrg	* include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
5696c3d31fe1Smrg	Remove, unused.
5697c3d31fe1Smrg
5698c3d31fe1Smrg2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5699c3d31fe1Smrg
5700c3d31fe1Smrg	* include/bits/stl_function.h: Additional minor tweaks.
5701c3d31fe1Smrg
5702c3d31fe1Smrg2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5703c3d31fe1Smrg
5704c3d31fe1Smrg	* include/bits/deque.tcc: Wrap overlong lines, constify
5705c3d31fe1Smrg	a few variables, reformat according to the coding standards.
5706c3d31fe1Smrg	* include/bits/list.tcc: Likewise.
5707c3d31fe1Smrg	* include/bits/stl_deque.h: Likewise.
5708c3d31fe1Smrg	* include/bits/stl_function.h: Likewise.
5709c3d31fe1Smrg	* include/bits/stl_iterator.h: Likewise.
5710c3d31fe1Smrg	* include/bits/stl_iterator_base_funcs.h: Likewise.
5711c3d31fe1Smrg	* include/bits/stl_iterator_base_types.h: Likewise.
5712c3d31fe1Smrg	* include/bits/stl_list.h: Likewise.
5713c3d31fe1Smrg	* include/bits/stl_map.h: Likewise.
5714c3d31fe1Smrg	* include/bits/stl_multimap.h: Likewise.
5715c3d31fe1Smrg	* include/bits/stl_multiset.h: Likewise.
5716c3d31fe1Smrg	* include/bits/stl_relops.h: Likewise.
5717c3d31fe1Smrg	* include/bits/stl_set.h: Likewise.
5718c3d31fe1Smrg
5719c3d31fe1Smrg2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5720c3d31fe1Smrg
5721c3d31fe1Smrg	* include/bits/stl_bvector.h: Wrap overlong lines, constify
5722c3d31fe1Smrg	a few variables, reformat according to the coding standards.
5723c3d31fe1Smrg	* include/bits/stl_tree.h: Likewise.
5724c3d31fe1Smrg
5725c3d31fe1Smrg2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5726c3d31fe1Smrg
5727c3d31fe1Smrg	* include/bits/stl_algo.h: Minor additional reformat, add
5728c3d31fe1Smrg	copyright year.
5729c3d31fe1Smrg	* include/bits/stl_algobase.h: Add copyright year.
5730c3d31fe1Smrg
5731c3d31fe1Smrg2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5732c3d31fe1Smrg
5733c3d31fe1Smrg	* include/bits/stl_algo.h: Wrap overlong lines, constify
5734c3d31fe1Smrg	a few variables, reformat according to the coding standards.
5735c3d31fe1Smrg	* include/bits/stl_algobase.h: Likewise.
5736c3d31fe1Smrg	* include/bits/stl_heap.h: Likewise.
5737c3d31fe1Smrg
5738c3d31fe1Smrg2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5739c3d31fe1Smrg
5740c3d31fe1Smrg	* include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
5741c3d31fe1Smrg
5742c3d31fe1Smrg	* include/bits/basic_string.h: Fix two comments.
5743c3d31fe1Smrg
5744c3d31fe1Smrg2004-01-31  Per Bothner  <per@bothner.com>
5745c3d31fe1Smrg
5746c3d31fe1Smrg	* include/ext/mt_allocator.h
5747c3d31fe1Smrg	(__mt_alloc::_S_thread_freelist_mutex): Guard with
5748c3d31fe1Smrg	__GTHREAD_MUTEX_INIT.
5749c3d31fe1Smrg
5750c3d31fe1Smrg2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5751c3d31fe1Smrg
5752c3d31fe1Smrg	* include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
5753c3d31fe1Smrg
5754c3d31fe1Smrg2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5755c3d31fe1Smrg
5756c3d31fe1Smrg	* testsuite/21_strings/basic_string/cons/char/6.cc: New.
5757c3d31fe1Smrg	* testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
5758c3d31fe1Smrg	* testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
5759c3d31fe1Smrg
5760c3d31fe1Smrg2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
5761c3d31fe1Smrg
5762c3d31fe1Smrg	* testsuite/performance/20_util/allocator_thread.cc (do_loop):
5763c3d31fe1Smrg	Don't use clear, but instead assign. Use insert.
5764c3d31fe1Smrg
5765c3d31fe1Smrg2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
5766c3d31fe1Smrg
5767c3d31fe1Smrg	* src/demangle.cc: Add instantiations.
5768c3d31fe1Smrg	* src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
5769c3d31fe1Smrg	* src/Makefile.in: Regenerate.
5770c3d31fe1Smrg
5771c3d31fe1Smrg2004-01-30  David Edelsohn  <edelsohn@gnu.org>
5772c3d31fe1Smrg
5773c3d31fe1Smrg	* src/allocator.cc: Protect _S_get_thread_id() and
5774c3d31fe1Smrg	_S_thread_key_destr() with #ifdef __GTHREADS.
5775c3d31fe1Smrg
5776c3d31fe1Smrg2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5777c3d31fe1Smrg
5778c3d31fe1Smrg	Reshuffle performance testsuite.
5779c3d31fe1Smrg	* testsuite/performance/allocator.cc, allocator_map_thread.cc,
5780c3d31fe1Smrg	allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
5781c3d31fe1Smrg	cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
5782c3d31fe1Smrg	fstream_seek_write.cc, ifstream_extract_float.cc,
5783c3d31fe1Smrg	ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
5784c3d31fe1Smrg	list_create_fill_sort.cc, map_create_fill.cc,
5785c3d31fe1Smrg	narrow_widen_char.cc, narrow_widen_wchar_t.cc,
5786c3d31fe1Smrg	ofstream_insert_float.cc, ofstream_insert_int.cc,
5787c3d31fe1Smrg	string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
5788c3d31fe1Smrg	wchar_t_out.cc: Split into...
5789c3d31fe1Smrg	* testsuite/performance/20_util/allocator.cc: New.
5790c3d31fe1Smrg	* testsuite/performance/20_util/allocator_map_thread.cc: New.
5791c3d31fe1Smrg	* testsuite/performance/20_util/allocator_thread.cc: New.
5792c3d31fe1Smrg	* testsuite/performance/21_strings/string_append: New.
5793c3d31fe1Smrg	* testsuite/performance/22_locale/is_wchar_t.cc: New.
5794c3d31fe1Smrg	* testsuite/performance/22_locale/narrow_widen_char.cc: New.
5795c3d31fe1Smrg	* testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
5796c3d31fe1Smrg	* testsuite/performance/22_locale/wchar_t_in.cc: New.
5797c3d31fe1Smrg	* testsuite/performance/22_locale/wchar_t_length.cc: New.
5798c3d31fe1Smrg	* testsuite/performance/22_locale/wchar_t_out.cc: New.
5799c3d31fe1Smrg	* testsuite/performance/23_containers/container_benchmark.cc: New.
5800c3d31fe1Smrg	* testsuite/performance/23_containers/list_create_fill_sort.cc: New.
5801c3d31fe1Smrg	* testsuite/performance/23_containers/map_create_fill.cc: New.
5802c3d31fe1Smrg	* testsuite/performance/26_numerics/complex_norm.cc: New.
5803c3d31fe1Smrg	* testsuite/performance/27_io/cout_insert_int.cc: New.
5804c3d31fe1Smrg	* testsuite/performance/27_io/filebuf_copy.cc: New.
5805c3d31fe1Smrg	* testsuite/performance/27_io/filebuf_sputc.cc: New.
5806c3d31fe1Smrg	* testsuite/performance/27_io/fstream_seek_write.cc: New.
5807c3d31fe1Smrg	* testsuite/performance/27_io/ifstream_extract_float.cc: New.
5808c3d31fe1Smrg	* testsuite/performance/27_io/ifstream_extract_int.cc: New.
5809c3d31fe1Smrg	* testsuite/performance/27_io/ifstream_getline.cc: New.
5810c3d31fe1Smrg	* testsuite/performance/27_io/ofstream_insert_float.cc: New.
5811c3d31fe1Smrg	* testsuite/performance/27_io/ofstream_insert_int.cc: New.
5812c3d31fe1Smrg
5813c3d31fe1Smrg2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5814c3d31fe1Smrg
5815c3d31fe1Smrg	* include/bits/basic_string.tcc (_Rep::_S_create):
5816c3d31fe1Smrg	Never allocate a string bigger than max_size(); always keep
5817c3d31fe1Smrg	__capacity and __size in sync to avoid memory leaks at
5818c3d31fe1Smrg	deallocation time.
5819c3d31fe1Smrg
5820c3d31fe1Smrg2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5821c3d31fe1Smrg
5822c3d31fe1Smrg	* include/bits/basic_string.tcc (_S_construct(_InIterator,
5823c3d31fe1Smrg	_InIterator, const _Alloc&, input_iterator_tag)): Simplify
5824c3d31fe1Smrg	the double loop, streamline.
5825c3d31fe1Smrg
5826c3d31fe1Smrg	* include/bits/basic_string.tcc: Very minor tweaks.
5827c3d31fe1Smrg
5828c3d31fe1Smrg2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
5829c3d31fe1Smrg
5830c3d31fe1Smrg	* scripts/check_performance: Only compile with $THREAD_FLAG
5831c3d31fe1Smrg	when test is marked to require it.  Allow multiple
5832c3d31fe1Smrg	compilations/executions of marked tests.
5833c3d31fe1Smrg	* testsuite/testsuite_performance.h (report_performance):
5834c3d31fe1Smrg	Report dynamic thread support status.
5835c3d31fe1Smrg	(report_header): Likewise.
5836c3d31fe1Smrg	* testsuite/performance/allocator.cc: Stabilize iteration
5837c3d31fe1Smrg	count.  Support more allocators.  Mark each allocator test to
5838c3d31fe1Smrg	run and report independently.
5839c3d31fe1Smrg	* testsuite/performance/allocator_map_thread.cc: Likewise.
5840c3d31fe1Smrg	* testsuite/performance/allocator_thread.cc: Likewise.
5841c3d31fe1Smrg
5842c3d31fe1Smrg2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
5843c3d31fe1Smrg
5844c3d31fe1Smrg	* config/local/generic/c_locale.h: Change ::malloc() to new char[].
5845c3d31fe1Smrg	* config/local/gnu/c_locale.h: Change ::malloc() to new char[].
5846c3d31fe1Smrg	* include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
5847c3d31fe1Smrg	std::get_temporary_buffer() instead of duplicating its code.
5848c3d31fe1Smrg	Update to C++STYLE conventions.
5849c3d31fe1Smrg	* include/std/std_memory.h (get_temporary_buffer): Use ::operator
5850c3d31fe1Smrg	new() instead of std::malloc().
5851c3d31fe1Smrg	(return_temporary_buffer): Use ::operator delete() instead of
5852c3d31fe1Smrg	std::free().
5853c3d31fe1Smrg
5854c3d31fe1Smrg2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
5855c3d31fe1Smrg
5856c3d31fe1Smrg	* include/bits/allocator.h: Temporary switch to new_allocator as
5857c3d31fe1Smrg	the default to unjam bootstraps.
5858c3d31fe1Smrg
5859c3d31fe1Smrg2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
5860c3d31fe1Smrg
5861c3d31fe1Smrg	* include/Makefile.am (bits_headers): Remove allocator_traits.h.
5862c3d31fe1Smrg	* include/Makefile.in: Regenerate.
5863c3d31fe1Smrg	* include/bits/allocator_traits.h: Remove.
5864c3d31fe1Smrg	* include/bits/allocator.h: Remove allocator_traits.h include, and
5865c3d31fe1Smrg	relevant comments.
5866c3d31fe1Smrg	(allocator): Empty base class, inherit from the underlying allocator.
5867c3d31fe1Smrg	* src/allocator-inst.cc: Move __pool_alloc instantiation to...
5868c3d31fe1Smrg	* src/allocator.cc: ...here. New. For the underlying allocators.
5869c3d31fe1Smrg	Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
5870c3d31fe1Smrg	* config/linker-map.gnu: Remove __pool_alloc bits.
5871c3d31fe1Smrg	* src/Makefile.am (sources): Add allocator.cc.
5872c3d31fe1Smrg	* src/Makefile.in: Regenerate.
5873c3d31fe1Smrg	* testsuite/20_util/allocator/1.cc: Split second test into...
5874c3d31fe1Smrg	* testsuite/20_util/allocator/8230.cc: ...this.
5875c3d31fe1Smrg	* include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
5876c3d31fe1Smrg	typedef to use std::allocatore. Format.
5877c3d31fe1Smrg	* include/ext/pool_allocator.h: Remove allocator_traits.h include,
5878c3d31fe1Smrg	_Alloc_traits.
5879c3d31fe1Smrg	* include/ext/mt_allocator.h (__gnu_cxx): Qualify
5880c3d31fe1Smrg	__throw_bad_alloc calls. Don't include <memory>.
5881c3d31fe1Smrg	* include/ext/malloc_allocator.h: Remove <memory> include.
5882c3d31fe1Smrg	* include/ext/new_allocator.h (new_allocator): Same.
5883c3d31fe1Smrg	* include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
5884c3d31fe1Smrg	declaration. Switch __alloc to _Alloc.
5885c3d31fe1Smrg	* include/ext/hashtable.h: Remove __alloc.
5886c3d31fe1Smrg	* include/backward/alloc.h: Only inject allocator, not
5887c3d31fe1Smrg	implementation details.
5888c3d31fe1Smrg
5889c3d31fe1Smrg	* include/ext/mt_allocator.h: Replace free with delete.
5890c3d31fe1Smrg
5891c3d31fe1Smrg2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
5892c3d31fe1Smrg
5893c3d31fe1Smrg	* src/globals_io.cc: Change to __gnu_internal namespace.
5894c3d31fe1Smrg	* src/globals_locale.cc: Same.
5895c3d31fe1Smrg	* src/locale_init.cc: Same.
5896c3d31fe1Smrg	* src/ios_init.cc: Same.
5897c3d31fe1Smrg
5898c3d31fe1Smrg2004-01-28  Stefan Olsson  <stefan@snon.net>
5899c3d31fe1Smrg
5900c3d31fe1Smrg	* include/ext/mt_allocator.h: Replaced all malloc() calls with
5901c3d31fe1Smrg	operator new(). Added support for the env variable
5902c3d31fe1Smrg	GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
5903c3d31fe1Smrg	one in allocate() as well). Fix typos.
5904c3d31fe1Smrg
5905c3d31fe1Smrg2004-01-28  Paolo Carlini  <pcarlini@suse.de>
5906c3d31fe1Smrg
5907c3d31fe1Smrg	* include/bits/basic_string.h (_S_create(size_t,
5908c3d31fe1Smrg	const _Alloc&): Change signature to take two size_type
5909c3d31fe1Smrg	arguments.
5910c3d31fe1Smrg	* include/bits/basic_string.tcc (_S_construct(_InIterator,
5911c3d31fe1Smrg	_InIterator, const _Alloc&, input_iterator_tag)): Update
5912c3d31fe1Smrg	call, tweak a bit.
5913c3d31fe1Smrg	(_S_construct(_InIterator, _InIterator, const _Alloc&,
5914c3d31fe1Smrg	forward_iterator_tag)): Likewise.
5915c3d31fe1Smrg	(_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
5916c3d31fe1Smrg	(_M_mutate(size_type, size_type, size_type)): Don't
5917c3d31fe1Smrg	implement the exponential growth policy, demand it to
5918c3d31fe1Smrg	_S_create, update call and simplify.
5919c3d31fe1Smrg	(_M_clone(const _Alloc&, size_type)): Likewise.
5920c3d31fe1Smrg	(_S_create(size_type, size_type, const _Alloc&)): Implement
5921c3d31fe1Smrg	the growth policy, simplify otherwise.
5922c3d31fe1Smrg
5923c3d31fe1Smrg	* include/bits/basic_string.h (_Rep::operator[]): Tweak
5924c3d31fe1Smrg	signature to take a size_type, consistently with the other
5925c3d31fe1Smrg	members.
5926c3d31fe1Smrg
5927c3d31fe1Smrg2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
5928c3d31fe1Smrg
5929c3d31fe1Smrg	* testsuite/27_io/ios_base/storage/11584.cc: Correct new and
5930c3d31fe1Smrg	delete declarations, add include and test variable.
5931c3d31fe1Smrg
5932c3d31fe1Smrg2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
5933c3d31fe1Smrg
5934c3d31fe1Smrg	* include/bits/codecvt.h, include/bits/locale_facets.h,
5935c3d31fe1Smrg	include/bits/postypes.h, include/bits/stl_bvector.h,
5936c3d31fe1Smrg	include/bits/stl_multiset.h, include/bits/stl_set.h,
5937c3d31fe1Smrg	include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
5938c3d31fe1Smrg	include/std/std_complex.h:  Document.
5939c3d31fe1Smrg
5940c3d31fe1Smrg2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
5941c3d31fe1Smrg
5942c3d31fe1Smrg	PR libstdc++/11584
5943c3d31fe1Smrg	* include/bits/ios_base.h (ios_base::_M_grow_words):  Add
5944c3d31fe1Smrg	iword/pword selector.
5945c3d31fe1Smrg	(ios_base::iword, ios_base::pword):  Use it.
5946c3d31fe1Smrg	* src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
5947c3d31fe1Smrg	iword or pword member on alloc failure.
5948c3d31fe1Smrg	* testsuite/27_io/ios_base/storage/11584.cc:  New test.
5949c3d31fe1Smrg
5950c3d31fe1Smrg2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
5951c3d31fe1Smrg	    PJ Darcy  <darcypj@us.ibm.com>
5952c3d31fe1Smrg
5953c3d31fe1Smrg	* configure.host: Add support for *-tpf.
5954c3d31fe1Smrg	* crossconfig.m4: Likewise.
5955c3d31fe1Smrg	* configure: Regenerate.
5956c3d31fe1Smrg	* config/os/tpf: New directory.
5957c3d31fe1Smrg	* config/os/tpf/os_defines.h: New file.
5958c3d31fe1Smrg	* config/os/tpf/ctype_base.h: Likewise.
5959c3d31fe1Smrg	* config/os/tpf/ctype_inline.h: Likewise.
5960c3d31fe1Smrg	* config/os/tpf/ctype_noninline.h: Likewise.
5961c3d31fe1Smrg
5962c3d31fe1Smrg2004-01-27  Paolo Carlini  <pcarlini@suse.de>
5963c3d31fe1Smrg
5964c3d31fe1Smrg	PR libstdc++/13884
5965c3d31fe1Smrg	* include/bits/sstream.tcc: Guard use of extern template.
5966c3d31fe1Smrg
5967c3d31fe1Smrg2004-01-27  Paolo Carlini  <pcarlini@suse.de>
5968c3d31fe1Smrg
5969c3d31fe1Smrg	* include/bits/basic_string.tcc
5970c3d31fe1Smrg	(basic_string(const basic_string&, size_type, size_type),
5971c3d31fe1Smrg	basic_string(const basic_string&, size_type, size_type,
5972c3d31fe1Smrg	const _Alloc&)): Avoid unnecessarily constructing iterators.
5973c3d31fe1Smrg
5974c3d31fe1Smrg2004-01-26  Paolo Carlini  <pcarlini@suse.de>
5975c3d31fe1Smrg
5976c3d31fe1Smrg	* config/locale/generic/c_locale.cc: Fix throw messages
5977c3d31fe1Smrg	to use the __N marker.
5978c3d31fe1Smrg	* config/locale/gnu/c_locale.cc: Likewise.
5979c3d31fe1Smrg	* config/locale/ieee_1003.1-2001/codecvt_specializations.h:
5980c3d31fe1Smrg	Likewise.
5981c3d31fe1Smrg	* docs/html/17_intro/C++STYLE: Likewise.
5982c3d31fe1Smrg	* include/bits/basic_ios.tcc: Likewise.
5983c3d31fe1Smrg	* include/bits/fstream.tcc: Likewise.
5984c3d31fe1Smrg	* include/bits/vector.tcc: Likewise.
5985c3d31fe1Smrg	* include/ext/ropeimpl.h: Likewise.
5986c3d31fe1Smrg	* include/std/std_bitset.h: Likewise.
5987c3d31fe1Smrg	* src/ios.cc: Likewise.
5988c3d31fe1Smrg	* src/locale.cc: Likewise.
5989c3d31fe1Smrg	* src/localename.cc: Likewise.
5990c3d31fe1Smrg
5991c3d31fe1Smrg2004-01-26  Paolo Carlini  <pcarlini@suse.de>
5992c3d31fe1Smrg
5993c3d31fe1Smrg	* include/bits/basic_string.h (_M_replace_aux): Use the
5994c3d31fe1Smrg	__N marker in throw message.
5995c3d31fe1Smrg	* include/bits/basic_string.tcc (assign(const _CharT*,
5996c3d31fe1Smrg	size_type), insert(size_type, const _CharT*, size_type),
5997c3d31fe1Smrg	replace(size_type, size_type, const _CharT*, size_type),
5998c3d31fe1Smrg	reserve, _Rep::_S_create, resize, _M_replace_dispatch):
5999c3d31fe1Smrg	Likewise.
6000c3d31fe1Smrg
6001c3d31fe1Smrg	* include/bits/basic_string.h, include/bits/basic_string.tcc:
6002c3d31fe1Smrg	Fold overlong lines, minor formatting changes.
6003c3d31fe1Smrg
6004c3d31fe1Smrg2004-01-26  Paolo Carlini  <pcarlini@suse.de>
6005c3d31fe1Smrg
6006c3d31fe1Smrg	* include/bits/basic_string.h (replace(iterator, iterator,
6007c3d31fe1Smrg	const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
6008c3d31fe1Smrg	(replace(iterator, iterator, const _CharT*)): Ditto.
6009c3d31fe1Smrg	(replace(iterator, iterator, const _CharT*, size_type)):
6010c3d31fe1Smrg	Add missing _GLIBCXX_DEBUG_PEDASSERT.
6011c3d31fe1Smrg
6012c3d31fe1Smrg2004-01-26  Paolo Carlini  <pcarlini@suse.de>
6013c3d31fe1Smrg
6014c3d31fe1Smrg	* include/bits/basic_string.tcc (replace(size_type,
6015c3d31fe1Smrg	size_type, const _CharT*, size_type)): Implement optimized
6016c3d31fe1Smrg	in-place algorithm for non-overlapping ranges.
6017c3d31fe1Smrg	* testsuite/21_strings/basic_string/replace/char/6.cc: New.
6018c3d31fe1Smrg	* testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
6019c3d31fe1Smrg
6020c3d31fe1Smrg	* include/bits/basic_string.tcc (insert(size_type,
6021c3d31fe1Smrg	const _CharT*, size_type)): Tweak slightly.
6022c3d31fe1Smrg
6023c3d31fe1Smrg2004-01-26  Andreas Schwab  <schwab@suse.de>
6024c3d31fe1Smrg
6025c3d31fe1Smrg	* config/locale/gnu/monetary_members.cc: Restore locale before
6026c3d31fe1Smrg	rethrowing exception.
6027c3d31fe1Smrg
6028c3d31fe1Smrg2004-01-25  Paolo Carlini  <pcarlini@suse.de>
6029c3d31fe1Smrg
6030c3d31fe1Smrg	* include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
6031c3d31fe1Smrg	Define inline here.
6032c3d31fe1Smrg	* include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
6033c3d31fe1Smrg	Move inline.
6034c3d31fe1Smrg
6035c3d31fe1Smrg	* include/bits/basic_string.tcc: Very minor tweaks.
6036c3d31fe1Smrg
6037c3d31fe1Smrg2004-01-25  Paolo Carlini  <pcarlini@suse.de>
6038c3d31fe1Smrg
6039c3d31fe1Smrg	* testsuite/performance/string_append.cc: Increase number
6040c3d31fe1Smrg	of iterations.
6041c3d31fe1Smrg
6042c3d31fe1Smrg2004-01-25  Paolo Carlini  <pcarlini@suse.de>
6043c3d31fe1Smrg
6044c3d31fe1Smrg	* include/bits/basic_string.h (erase(size_type, size_type),
6045c3d31fe1Smrg	erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
6046c3d31fe1Smrg	instead, thus avoiding redundant check for length_error.
6047c3d31fe1Smrg
6048c3d31fe1Smrg	* include/bits/basic_string.h: Tweak some comments.
6049c3d31fe1Smrg
6050c3d31fe1Smrg2004-01-24  Paolo Carlini  <pcarlini@suse.de>
6051c3d31fe1Smrg
6052c3d31fe1Smrg	* include/bits/basic_string.tcc (operator+(const _CharT*,
6053c3d31fe1Smrg	const basic_string&)): No need to go through the append
6054c3d31fe1Smrg	taking two iterators.
6055c3d31fe1Smrg
6056c3d31fe1Smrg2004-01-24  Paolo Carlini  <pcarlini@suse.de>
6057c3d31fe1Smrg
6058c3d31fe1Smrg	* include/bits/basic_string.tcc (rfind(_CharT, size_type)):
6059c3d31fe1Smrg	Revert last change to use std::min: machine language is worse.
6060c3d31fe1Smrg	(find_last_of(const _CharT*, size_type, size_type)): Ditto.
6061c3d31fe1Smrg	(find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
6062c3d31fe1Smrg	(find_last_not_of(_CharT, size_type)): Ditto.
6063c3d31fe1Smrg
6064c3d31fe1Smrg	* include/bits/basic_string.tcc (insert(size_type, const _CharT*,
6065c3d31fe1Smrg	size_type)): Discard the value returned by _M_check.
6066c3d31fe1Smrg	(replace(size_type, size_type, const _CharT*, size_type)): Ditto.
6067c3d31fe1Smrg	(append(const basic_string&, size_type, size_type)): Ditto.
6068c3d31fe1Smrg	(copy(_CharT*, size_type, size_type)): Ditto.
6069c3d31fe1Smrg	(compare(size_type, size_type, const basic_string&)): Ditto.
6070c3d31fe1Smrg	(compare(size_type, size_type, const basic_string&,
6071c3d31fe1Smrg	size_type, size_type)): Ditto.
6072c3d31fe1Smrg	(compare(size_type, size_type, const _CharT*)): Ditto.
6073c3d31fe1Smrg	(compare(size_type, size_type, const _CharT*, size_type)): Ditto.
6074c3d31fe1Smrg
6075c3d31fe1Smrg2004-01-24  Paolo Carlini  <pcarlini@suse.de>
6076c3d31fe1Smrg
6077c3d31fe1Smrg	* include/bits/basic_string.h (insert(size_type,
6078c3d31fe1Smrg	const basic_string&, size_type, size_type)): Define inline here.
6079c3d31fe1Smrg	* include/bits/basic_string.tcc (insert(size_type,
6080c3d31fe1Smrg	const basic_string&, size_type, size_type)): Move inline.
6081c3d31fe1Smrg
6082c3d31fe1Smrg2004-01-24  Paolo Carlini  <pcarlini@suse.de>
6083c3d31fe1Smrg
6084c3d31fe1Smrg	* include/bits/basic_string.h (assign(const basic_string&,
6085c3d31fe1Smrg	size_type, size_type)): Define inline here.
6086c3d31fe1Smrg	(replace(size_type, size_type, const basic_string&,
6087c3d31fe1Smrg	size_type, size_type)): Ditto.
6088c3d31fe1Smrg	(_M_replace_dispatch(iterator, iterator, _InputIterator,
6089c3d31fe1Smrg	_InputIterator, __false_type)): Only declare.
6090c3d31fe1Smrg	(_M_replace(iterator, iterator, _InputIterator,
6091c3d31fe1Smrg	_InputIterator)): Remove.
6092c3d31fe1Smrg	* include/bits/basic_string.tcc (assign(const basic_string&,
6093c3d31fe1Smrg	size_type, size_type)): Move inline.
6094c3d31fe1Smrg	(replace(size_type, size_type, const basic_string&,
6095c3d31fe1Smrg	size_type, size_type)): Ditto.
6096c3d31fe1Smrg	(_M_replace_dispatch(iterator, iterator, _InputIterator,
6097c3d31fe1Smrg	_InputIterator, __false_type)): Define, now does also what
6098c3d31fe1Smrg	_M_replace did before.
6099c3d31fe1Smrg	* src/string-inst.cc (_M_replace): Don't instantiate.
6100c3d31fe1Smrg
6101c3d31fe1Smrg	* include/bits/basic_string.tcc (find(const _CharT*,
6102c3d31fe1Smrg	size_type, size_type)): Tidy.
6103c3d31fe1Smrg	(rfind(_CharT, size_type)): Ditto.
6104c3d31fe1Smrg	(find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
6105c3d31fe1Smrg	(find_first_not_of(_CharT, size_type)): Ditto.
6106c3d31fe1Smrg	(find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
6107c3d31fe1Smrg	(find_last_not_of(_CharT, size_type)): Ditto.
6108c3d31fe1Smrg
6109c3d31fe1Smrg2004-01-23  Paolo Carlini  <pcarlini@suse.de>
6110c3d31fe1Smrg
6111c3d31fe1Smrg	PR libstdc++/13838
6112c3d31fe1Smrg	* include/debug/bitset (operator|=): Fix typo.
6113c3d31fe1Smrg	* testsuite/23_containers/bitset/operations/13838.cc: New.
6114c3d31fe1Smrg
6115c3d31fe1Smrg2004-01-23  Paolo Carlini  <pcarlini@suse.de>
6116c3d31fe1Smrg
6117c3d31fe1Smrg	* include/bits/basic_string.tcc (insert(size_type,
6118c3d31fe1Smrg	const _CharT*, size_type __n)): Fix length_error check.
6119c3d31fe1Smrg	(replace(size_type, size_type, const _CharT*, size_type):
6120c3d31fe1Smrg	Ditto; call _M_replace_safe.
6121c3d31fe1Smrg	(_M_replace_aux(size_type, size_type, size_type, _CharT):
6122c3d31fe1Smrg	Fix length_error check.
6123c3d31fe1Smrg	(_M_replace(iterator, iterator, _InputIterator,
6124c3d31fe1Smrg	_InputIterator)): Ditto, tweak.
6125c3d31fe1Smrg	(_M_replace_safe(size_type, size_type, const _CharT*,
6126c3d31fe1Smrg	size_type)): Remove length_error check.
6127c3d31fe1Smrg
6128c3d31fe1Smrg	* include/bits/basic_string.tcc (append(const basic_string&),
6129c3d31fe1Smrg	append(const basic_string&, size_type, size_type)): Tweak
6130c3d31fe1Smrg	comment.
6131c3d31fe1Smrg
6132c3d31fe1Smrg	* include/bits/basic_string.tcc (copy(_CharT*, size_type,
6133c3d31fe1Smrg	size_type)): If __n == 0 don't call traits::copy.
6134c3d31fe1Smrg
6135c3d31fe1Smrg2004-01-23  Stefan Olsson  <stefan@snon.net>
6136c3d31fe1Smrg
6137c3d31fe1Smrg	* include/ext/mt_allocator.h: Reduce lock contention.
6138c3d31fe1Smrg
6139c3d31fe1Smrg2004-01-23  Paolo Carlini  <pcarlini@suse.de>
6140c3d31fe1Smrg
6141c3d31fe1Smrg	PR libstdc++/13831
6142c3d31fe1Smrg	* include/bits/fstream.tcc (underflow): Remove unused
6143c3d31fe1Smrg	variable.
6144c3d31fe1Smrg	* include/bits/streambuf_iterator.h (equal): Ditto.
6145c3d31fe1Smrg	* include/bits/locale_facets.h (_M_convert_from_char):
6146c3d31fe1Smrg	Ditto.
6147c3d31fe1Smrg
6148c3d31fe1Smrg2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6149c3d31fe1Smrg
6150c3d31fe1Smrg	PR c/13814
6151c3d31fe1Smrg	* config/linker-map.gnu (nan): Delete.
6152c3d31fe1Smrg	* libmath/mathconf.h (NAN, nan): Delete.
6153c3d31fe1Smrg	* linkage.m4 (nan): Don't check for it.
6154c3d31fe1Smrg	* libmath/nan.c: Delete file.
6155c3d31fe1Smrg
6156c3d31fe1Smrg	* config.h.in, configure: Regenerate.
6157c3d31fe1Smrg
6158c3d31fe1Smrg2004-01-23  Paolo Carlini  <pcarlini@suse.de>
6159c3d31fe1Smrg
6160c3d31fe1Smrg	* include/bits/basic_string.h (push_back(_CharT)):
6161c3d31fe1Smrg	Call _M_replace_aux.
6162c3d31fe1Smrg	(insert(size_type, const basic_string&)): Trivial tweak.
6163c3d31fe1Smrg	(insert(size_type, size_type, _CharT)): Call _M_replace_aux.
6164c3d31fe1Smrg	(insert(iterator, _CharT)): Ditto.
6165c3d31fe1Smrg	(erase(size_type, size_type)): Ditto.
6166c3d31fe1Smrg	(erase(iterator)): Ditto.
6167c3d31fe1Smrg	(erase(iterator, iterator)): Ditto.
6168c3d31fe1Smrg	(replace(size_type, size_type, size_type, _CharT)): Ditto.
6169c3d31fe1Smrg
6170c3d31fe1Smrg2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
6171c3d31fe1Smrg
6172c3d31fe1Smrg	libstdc++/13823
6173c3d31fe1Smrg	* testsuite/performance/allocator_map_thread.cc: New test.
6174c3d31fe1Smrg
6175c3d31fe1Smrg2004-01-22  Paolo Carlini  <pcarlini@suse.de>
6176c3d31fe1Smrg
6177c3d31fe1Smrg	* include/bits/locale_facets.tcc
6178c3d31fe1Smrg	(money_put::do_put(..., long double)): Use the basic_string
6179c3d31fe1Smrg	constructor for char arrays, not that for C-strings, to pass
6180c3d31fe1Smrg	__digits to do_put(..., const string_type&): __ws isn't
6181c3d31fe1Smrg	null-terminated.
6182c3d31fe1Smrg
6183c3d31fe1Smrg2004-01-22  Paolo Carlini  <pcarlini@suse.de>
6184c3d31fe1Smrg
6185c3d31fe1Smrg	* include/bits/basic_string.h (_M_replace_safe): Change
6186c3d31fe1Smrg	signatures to take size_types and const _CharT*.
6187c3d31fe1Smrg	(_M_replace_aux): Likewise, takes size_types instead of
6188c3d31fe1Smrg	iterators.
6189c3d31fe1Smrg	(append(size_type, _CharT)): Update call.
6190c3d31fe1Smrg	(assign(size_type, _CharT)): Ditto.
6191c3d31fe1Smrg	(replace(iterator, iterator, size_type, _CharT)): Ditto.
6192c3d31fe1Smrg	(_M_replace_dispatch(iterator, iterator, _Integer,
6193c3d31fe1Smrg	_Integer, __true_type)): Ditto.
6194c3d31fe1Smrg	* include/bits/basic_string.tcc (assign(const _CharT*,
6195c3d31fe1Smrg	size_type)): Ditto.
6196c3d31fe1Smrg	(insert(size_type, const _CharT*, size_type)): Ditto.
6197c3d31fe1Smrg	(replace(size_type, size_type, const _CharT*,
6198c3d31fe1Smrg	size_type)): Ditto.
6199c3d31fe1Smrg	(_M_replace(iterator, iterator, _InputIterator,
6200c3d31fe1Smrg	_InputIterator)): Ditto.
6201c3d31fe1Smrg	(append(const basic_string&)): Ditto.
6202c3d31fe1Smrg	(append(const basic_string&, size_type, size_type): Ditto.
6203c3d31fe1Smrg	(append(const _CharT*, size_type): Ditto.
6204c3d31fe1Smrg	(_M_replace_safe, _M_replace_safe): Change definitions
6205c3d31fe1Smrg	accordingly, simplify.
6206c3d31fe1Smrg	* string-inst.cc (_M_replace_safe): Don't instantiate.
6207c3d31fe1Smrg
6208c3d31fe1Smrg2004-01-21  Paolo Carlini  <pcarlini@suse.de>
6209c3d31fe1Smrg
6210c3d31fe1Smrg	* include/bits/basic_string.tcc (append(const basic_string&)):
6211c3d31fe1Smrg	Revert previous change.
6212c3d31fe1Smrg	(append(const basic_string&, size_type, size_type)): Revert
6213c3d31fe1Smrg	previous change, use _M_check and _M_limit.
6214c3d31fe1Smrg
6215c3d31fe1Smrg2004-01-21  Paolo Carlini  <pcarlini@suse.de>
6216c3d31fe1Smrg
6217c3d31fe1Smrg	* include/bits/basic_string.h (_M_check): Change to return
6218c3d31fe1Smrg	a checked __pos and take an additional const char* argument.
6219c3d31fe1Smrg	(_M_fold): Rename to _M_limit, change to return a size_type,
6220c3d31fe1Smrg	corresponding to the __off limited to the actual length.
6221c3d31fe1Smrg	(insert(size_type, size_type, _CharT)): Update call, call
6222c3d31fe1Smrg	replace.
6223c3d31fe1Smrg	(insert(iterator, _CharT)): Call replace(iterator, iterator,
6224c3d31fe1Smrg	size_type, _CharT) instead.
6225c3d31fe1Smrg	(erase(size_type, size_type)): Update calls.
6226c3d31fe1Smrg	(replace(size_type, size_type, size_type, _CharT)): Ditto.
6227c3d31fe1Smrg	(substr(size_type, size_type)): Use _M_check.
6228c3d31fe1Smrg	* include/bits/basic_string.tcc (basic_string(const basic_string&,
6229c3d31fe1Smrg	size_type, size_type)): Update calls.
6230c3d31fe1Smrg	(basic_string(const basic_string&, size_type, size_type,
6231c3d31fe1Smrg	const _Alloc&)): Ditto.
6232c3d31fe1Smrg	(assign(const basic_string&, size_type, size_type)): Use the
6233c3d31fe1Smrg	new _M_check and _M_limit.
6234c3d31fe1Smrg	(insert(size_type, const basic_string&, size_type, size_type):
6235c3d31fe1Smrg	Ditto.
6236c3d31fe1Smrg	(insert(size_type, const _CharT*, size_type)): Ditto.
6237c3d31fe1Smrg	(replace(size_type, size_type, const _CharT*, size_type): Ditto.
6238c3d31fe1Smrg	(replace(size_type, size_type, const basic_string&,
6239c3d31fe1Smrg	size_type, size_type)): Ditto.
6240c3d31fe1Smrg	(append(const basic_string&)): Ditto.
6241c3d31fe1Smrg	(append(const basic_string&, size_type, size_type)): Ditto.
6242c3d31fe1Smrg	(copy(_CharT*, size_type, size_type)): Ditto.
6243c3d31fe1Smrg	(compare(size_type, size_type, const basic_string&)): Ditto.
6244c3d31fe1Smrg	(compare(size_type, size_type, const basic_string&,size_type,
6245c3d31fe1Smrg	size_type)): Ditto.
6246c3d31fe1Smrg	(compare(size_type, size_type, const _CharT*)): Ditto.
6247c3d31fe1Smrg	(compare(size_type, size_type, const _CharT*, size_type)): Ditto.
6248c3d31fe1Smrg
6249c3d31fe1Smrg2004-01-19  Stefan Olsson  <stefan@snon.net>
6250c3d31fe1Smrg
6251c3d31fe1Smrg	* include/ext/mt_allocator.h: If a thread, when it dies, still has
6252c3d31fe1Smrg	memory on it's freelist this memory is not returned to global
6253c3d31fe1Smrg	list. Simplification of deallocate so that memory is always
6254c3d31fe1Smrg	returned to the calling thread id's freelist instead of to
6255c3d31fe1Smrg	global. Fix typos. Add volatile where appropriate.
6256c3d31fe1Smrg
6257c3d31fe1Smrg2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
6258c3d31fe1Smrg
6259c3d31fe1Smrg	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
6260c3d31fe1Smrg	* testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
6261c3d31fe1Smrg	use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
6262c3d31fe1Smrg
6263c3d31fe1Smrg2004-01-19  Paolo Carlini  <pcarlini@suse.de>
6264c3d31fe1Smrg
6265c3d31fe1Smrg	* src/debug.cc: Make sure all the names are prefixed with
6266c3d31fe1Smrg	double (or single) underscore.
6267c3d31fe1Smrg
6268c3d31fe1Smrg2004-01-19  Paolo Carlini  <pcarlini@suse.de>
6269c3d31fe1Smrg
6270c3d31fe1Smrg	* src/debug.cc: Trivial formatting change.
6271c3d31fe1Smrg
6272c3d31fe1Smrg2004-01-19  Paolo Carlini  <pcarlini@suse.de>
6273c3d31fe1Smrg
6274c3d31fe1Smrg	* include/bits/basic_string.tcc (_S_construct(size_type,
6275c3d31fe1Smrg	_CharT, const _Alloc&)): Remove redundant try/catch.
6276c3d31fe1Smrg	(_M_mutate(size_type, size_type, size_type)): Ditto.
6277c3d31fe1Smrg	(_M_clone(const _Alloc&, size_type)): Ditto.
6278c3d31fe1Smrg
6279c3d31fe1Smrg2004-01-18  Paolo Carlini  <pcarlini@suse.de>
6280c3d31fe1Smrg
6281c3d31fe1Smrg	* include/bits/basic_string.h (c_str()): Simplify, due to
6282c3d31fe1Smrg	21.3.4 the internal representation is always kept null-terminated.
6283c3d31fe1Smrg	* include/bits/basic_string.tcc (_M_clone): Null-terminate.
6284c3d31fe1Smrg	* testsuite/21_strings/basic_string/element_access/char/4.cc: New.
6285c3d31fe1Smrg	* testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
6286c3d31fe1Smrg	Ditto.
6287c3d31fe1Smrg
6288c3d31fe1Smrg2004-01-18  Paolo Carlini  <pcarlini@suse.de>
6289c3d31fe1Smrg
6290c3d31fe1Smrg	* include/bits/basic_string.h (append(size_type, _CharT)):
6291c3d31fe1Smrg	Moved inline, just call _M_replace_aux, no source iterators at
6292c3d31fe1Smrg	risk of being clobbered.
6293c3d31fe1Smrg	(assign(size_type, _CharT)): Call directly _M_replace_aux.
6294c3d31fe1Smrg	(_M_replace(iterator, iterator, _InputIterator, _InputIterator,
6295c3d31fe1Smrg	input_iterator_tag)): Remove fifth unused argument.
6296c3d31fe1Smrg	(_M_replace_dispatch(iterator, iterator, _InputIterator,
6297c3d31fe1Smrg	_InputIterator, __false_type)): Update call.
6298c3d31fe1Smrg	* include/bits/basic_string.tcc (replace(size_type, size_type,
6299c3d31fe1Smrg	const _CharT*, size_type)): Update call.
6300c3d31fe1Smrg	(_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
6301c3d31fe1Smrg	throw string literal.
6302c3d31fe1Smrg	(_M_replace_safe(iterator, iterator, _ForwardIterator,
6303c3d31fe1Smrg	_ForwardIterator)): Likewise.
6304c3d31fe1Smrg	(_M_replace(iterator, iterator, _InputIterator, _InputIterator,
6305c3d31fe1Smrg	input_iterator_tag)): Remove fifth unused argument.
6306c3d31fe1Smrg	(append(size_type __n, _CharT __c)): Move inline.
6307c3d31fe1Smrg	* src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
6308c3d31fe1Smrg	const C*, const C*, input_iterator_tag)): Remove fifth unused
6309c3d31fe1Smrg	argument.
6310c3d31fe1Smrg
6311c3d31fe1Smrg2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
6312c3d31fe1Smrg
6313c3d31fe1Smrg	* testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
6314c3d31fe1Smrg	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
6315c3d31fe1Smrg
6316c3d31fe1Smrg2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
6317c3d31fe1Smrg
6318c3d31fe1Smrg	* testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
6319c3d31fe1Smrg	mkfifo for mingw32.
6320c3d31fe1Smrg
6321c3d31fe1Smrg2004-01-15  Stefan Olsson  <stefan@snon.net>
6322c3d31fe1Smrg
6323c3d31fe1Smrg	* include/ext/mt_allocator.h: Reuse thread id's as soon as
6324c3d31fe1Smrg	possible by changing the behaviour of thread_freelist to do
6325c3d31fe1Smrg	push_front when threads die instead of push_back.
6326c3d31fe1Smrg
6327c3d31fe1Smrg2004-01-14  Paolo Carlini  <pcarlini@suse.de>
6328c3d31fe1Smrg
6329c3d31fe1Smrg	* include/bits/locale_facets.h (struct __numpunct_cache):
6330c3d31fe1Smrg	Add member _M_grouping_size, caching the length of _M_grouping.
6331c3d31fe1Smrg	(__numpunct_cache<>::_M_cache): Assign the latter.
6332c3d31fe1Smrg	(__verify_grouping): Move declaration...
6333c3d31fe1Smrg	* include/bits/locale_facets.tcc (__verify_grouping):
6334c3d31fe1Smrg	... here, change signature to take a const char* and a size_t
6335c3d31fe1Smrg	for the grouping; not a template anymore.
6336c3d31fe1Smrg	(__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
6337c3d31fe1Smrg	Likewise change signature and tweak consistently.
6338c3d31fe1Smrg	(num_get::_M_extract_float, num_get::_M_extract_int,
6339c3d31fe1Smrg	num_put::_M_insert_int, num_put::_M_insert_float,
6340c3d31fe1Smrg	money_get::do_get(string_type&), money_get::do_put(string_type)):
6341c3d31fe1Smrg	Update callers.
6342c3d31fe1Smrg	* config/locale/generic/numeric_members.cc
6343c3d31fe1Smrg	(numpunct<>::_M_initialize_numpunct): Assign the new member.
6344c3d31fe1Smrg	* config/locale/gnu/numeric_members.cc
6345c3d31fe1Smrg	(numpunct<>::_M_initialize_numpunct): Likewise.
6346c3d31fe1Smrg	* src/locale-inst.cc (__add_grouping): Tweak signature.
6347c3d31fe1Smrg	(__verify_grouping): Don't instantiate, not a template anymore.
6348c3d31fe1Smrg
6349c3d31fe1Smrg	* include/bits/locale_facets.h: Rename _M_truename_len ->
6350c3d31fe1Smrg	_M_truename_size, _M_falsename_len -> _M_falsename_size.
6351c3d31fe1Smrg	* include/bits/locale_facets.tcc: Likewise.
6352c3d31fe1Smrg	* config/locale/generic/numeric_members.cc: Likewise.
6353c3d31fe1Smrg	* config/locale/gnu/numeric_members.cc: Likewise.
6354c3d31fe1Smrg
6355c3d31fe1Smrg2004-01-14  Stefan Olsson  <stefan@snon.net>
6356c3d31fe1Smrg
6357c3d31fe1Smrg	* include/ext/mt_allocator.h: Fixups.
6358c3d31fe1Smrg	* testsuite/performance/allocator.cc: Enable __mt_alloc tests.
6359c3d31fe1Smrg	* testsuite/performance/allocator_thread.cc: Same.
6360c3d31fe1Smrg
6361c3d31fe1Smrg2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
6362c3d31fe1Smrg
6363c3d31fe1Smrg	* testsuite/performance/ifstream_extract_float.cc: Add higher
6364c3d31fe1Smrg	precision tests.
6365c3d31fe1Smrg	* testsuite/performance/ofstream_insert_float.cc: Same.
6366c3d31fe1Smrg
6367c3d31fe1Smrg2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6368c3d31fe1Smrg
6369c3d31fe1Smrg	* src/locale-misc-inst.cc (__convert_from_v(long),
6370c3d31fe1Smrg	__convert_from_v(unsigned long), __convert_from_v(long long),
6371c3d31fe1Smrg	__convert_from_v(unsigned long long)): Remove, unused.
6372c3d31fe1Smrg
6373c3d31fe1Smrg2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
6374c3d31fe1Smrg
6375c3d31fe1Smrg	* testsuite/performance/ifstream_extract_float.cc: New.
6376c3d31fe1Smrg	* testsuite/performance/ofstream_insert_float.cc: Float generation
6377c3d31fe1Smrg	matches above.
6378c3d31fe1Smrg
6379c3d31fe1Smrg	* 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
6380c3d31fe1Smrg	* 20_util/auto_ptr/1.cc: ...this.
6381c3d31fe1Smrg	* 20_util/auto_ptr/2.cc: Same.
6382c3d31fe1Smrg	* 20_util/auto_ptr/3.cc: Same.
6383c3d31fe1Smrg	* 20_util/auto_ptr/3946.cc: Same.
6384c3d31fe1Smrg	* 20_util/auto_ptr/4.cc: Same.
6385c3d31fe1Smrg	* 20_util/auto_ptr/5.cc: Same.
6386c3d31fe1Smrg	* 20_util/auto_ptr/6.cc: Same.
6387c3d31fe1Smrg	* 20_util/auto_ptr/7.cc: Same.
6388c3d31fe1Smrg	* 20_util/auto_ptr/assign_neg.cc
6389c3d31fe1Smrg	* 20_util/pairs.cc: Break into...
6390c3d31fe1Smrg	* 20_util/pair/1.cc: ...this.
6391c3d31fe1Smrg	* 20_util/pair/2.cc: Same.
6392c3d31fe1Smrg	* 20_util/pair/3.cc: Same.
6393c3d31fe1Smrg	* 20_util/pair/4.cc: Same.
6394c3d31fe1Smrg
6395c3d31fe1Smrg2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6396c3d31fe1Smrg
6397c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get::do_get(void*&)):
6398c3d31fe1Smrg	Set correctly just basefield, the only group that matters.
6399c3d31fe1Smrg
6400c3d31fe1Smrg2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6401c3d31fe1Smrg
6402c3d31fe1Smrg	* include/ext/rope (_Rope_rep_alloc_base): Eliminate.
6403c3d31fe1Smrg	(_Rope_rep_base): Inherit directly from the rope allocator;
6404c3d31fe1Smrg	use rebinding instead of _Alloc_traits; pick up data member
6405c3d31fe1Smrg	from _Rope_rep_alloc_base.
6406c3d31fe1Smrg	(_Rope_alloc_base): Eliminate.
6407c3d31fe1Smrg	(_Rope_base): Inherit directly from the rope allocator; use
6408c3d31fe1Smrg	rebinding instead of _Alloc_traits; pick up data member from
6409c3d31fe1Smrg	_Rope_alloc_base.
6410c3d31fe1Smrg	(rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
6411c3d31fe1Smrg	rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
6412c3d31fe1Smrg
6413c3d31fe1Smrg2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6414c3d31fe1Smrg
6415c3d31fe1Smrg	PR libstdc++/13650
6416c3d31fe1Smrg	* include/bits/basic_string.tcc (compare(size_type, size_type,
6417c3d31fe1Smrg	const _CharT*, size_type)): Implement correctly the resolution
6418c3d31fe1Smrg	of DR 5: basically, s is a char array, -not- a C string.
6419c3d31fe1Smrg	* include/bits/basic_string.h: Tweak some comments.
6420c3d31fe1Smrg	* testsuite/21_strings/basic_string/compare/char/13650.cc: New.
6421c3d31fe1Smrg	* testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
6422c3d31fe1Smrg
6423c3d31fe1Smrg2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
6424c3d31fe1Smrg
6425c3d31fe1Smrg	* testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
6426c3d31fe1Smrg	Solaris.
6427c3d31fe1Smrg
6428c3d31fe1Smrg2004-01-12  Paolo Carlini  <pcarlini@suse.de>
6429c3d31fe1Smrg
6430c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
6431c3d31fe1Smrg	Use try_mkfifo.
6432c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
6433c3d31fe1Smrg	Likewise.
6434c3d31fe1Smrg
6435c3d31fe1Smrg2004-01-12  Paolo Carlini  <pcarlini@suse.de>
6436c3d31fe1Smrg
6437c3d31fe1Smrg	* include/bits/locale_facets.h (struct __numpunct_cache):
6438c3d31fe1Smrg	Add members _M_truename_len and _M_falsename_len, caching
6439c3d31fe1Smrg	the lengths of _M_truename and _M_falsename.
6440c3d31fe1Smrg	(__numpunct_cache<>::_M_cache): Assign the latter.
6441c3d31fe1Smrg	* include/bits/locale_facets.tcc (num_get::do_get(bool&),
6442c3d31fe1Smrg	num_put::do_put(bool)): Use the new members, thus avoiding
6443c3d31fe1Smrg	computing string lengths again and again.
6444c3d31fe1Smrg	* config/locale/generic/numeric_members.cc
6445c3d31fe1Smrg	(numpunct<>::_M_initialize_numpunct): Assign the new members.
6446c3d31fe1Smrg	* config/locale/gnu/numeric_members.cc
6447c3d31fe1Smrg	(numpunct<>::_M_initialize_numpunct): Likewise.
6448c3d31fe1Smrg
6449c3d31fe1Smrg2004-01-12  Mark Mitchell  <mark@codesourcery.com>
6450c3d31fe1Smrg
6451c3d31fe1Smrg	* testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
6452c3d31fe1Smrg	* testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
6453c3d31fe1Smrg	it.
6454c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
6455c3d31fe1Smrg	and remove Cygwin XFAIL.
6456c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
6457c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
6458c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
6459c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
6460c3d31fe1Smrg	Likewise.
6461c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
6462c3d31fe1Smrg	* testsuite/27_io/objects/char/7.cc: Likewise.
6463c3d31fe1Smrg	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
6464c3d31fe1Smrg	* testsuite/27_io/objects/wchar_t/7.cc: Likewise.
6465c3d31fe1Smrg	* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
6466c3d31fe1Smrg
6467c3d31fe1Smrg2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6468c3d31fe1Smrg
6469c3d31fe1Smrg	* include/std/std_complex.h (std::complex<>::real): Return a
6470c3d31fe1Smrg	reference. Add non-const overload.
6471c3d31fe1Smrg	(std::complex<>::real): Likewise.
6472c3d31fe1Smrg	(std::real): Likewise.
6473c3d31fe1Smrg	(std::imag): Likewise.
6474c3d31fe1Smrg	(std::operator+): Tidy.
6475c3d31fe1Smrg	(std::operator-): Likewise.
6476c3d31fe1Smrg	(std::operator*): Likewise.
6477c3d31fe1Smrg	(std::operator/): Likewise.
6478c3d31fe1Smrg	(std::operator>>): Likewise.
6479c3d31fe1Smrg
6480c3d31fe1Smrg2004-01-11  Paolo Carlini  <pcarlini@suse.de>
6481c3d31fe1Smrg
6482c3d31fe1Smrg	PR libstdc++/13582
6483c3d31fe1Smrg	* include/bits/fstream.tcc (imbue): Exploit the external
6484c3d31fe1Smrg	buffer to imbue 'on the fly' a new locale and convert its
6485c3d31fe1Smrg	remainder with the new codecvt facet.
6486c3d31fe1Smrg	(underflow): Tweak slightly to deal with this special case.
6487c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
6488c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
6489c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
6490c3d31fe1Smrg	* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
6491c3d31fe1Smrg	* testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
6492c3d31fe1Smrg
6493c3d31fe1Smrg2004-01-10  Paolo Carlini  <pcarlini@suse.de>
6494c3d31fe1Smrg
6495c3d31fe1Smrg	* docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
6496c3d31fe1Smrg	Import Revision 28.
6497c3d31fe1Smrg
6498c3d31fe1Smrg2004-01-10  Paolo Carlini  <pcarlini@suse.de>
6499c3d31fe1Smrg
6500c3d31fe1Smrg	PR libstdc++/13630
6501c3d31fe1Smrg	* include/bits/locale_classes.h (class locale): Fix category
6502c3d31fe1Smrg	typedef.
6503c3d31fe1Smrg	* testsuite/22_locale/locale/13630.cc: Add.
6504c3d31fe1Smrg
6505c3d31fe1Smrg2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
6506c3d31fe1Smrg
6507c3d31fe1Smrg	* include/bits/locale_facets.h: Make a name really dependent. This
6508c3d31fe1Smrg	will be needed when Core Issue 224 is implemented.
6509c3d31fe1Smrg
6510c3d31fe1Smrg2004-01-09  Paolo Carlini  <pcarlini@suse.de>
6511c3d31fe1Smrg
6512c3d31fe1Smrg	* testsuite/performance/allocator.cc: Demangle typeid(obj).name().
6513c3d31fe1Smrg	* testsuite/performance/allocator_thread.cc: Likewise.
6514c3d31fe1Smrg
6515c3d31fe1Smrg2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
6516c3d31fe1Smrg
6517c3d31fe1Smrg	* crossconfig.m4: Add LFS, io bits to linux cross config.
6518c3d31fe1Smrg	* acconfig.h: Remove obsolete bits, reorder.
6519c3d31fe1Smrg	* config.h.in: Regenerate.
6520c3d31fe1Smrg	* aclocal.m4: Same.
6521c3d31fe1Smrg	* configure: Same.
6522c3d31fe1Smrg
6523c3d31fe1Smrg2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
6524c3d31fe1Smrg
6525c3d31fe1Smrg	* include/bits/stl_list.h:
6526c3d31fe1Smrg	* include/bits/list.tc:
6527c3d31fe1Smrg	* src/list.cc:
6528c3d31fe1Smrg	Performance enhancements for destructor, push_front(),
6529c3d31fe1Smrg	push_back(), pop_front(), pop_back(), sort()
6530c3d31fe1Smrg	Eliminated static_casts where possible.
6531c3d31fe1Smrg	Moved code out of header files into new src/list.cc
6532c3d31fe1Smrg	implementation file for library where possible.
6533c3d31fe1Smrg	Remove inheritance from iterator class and create separate
6534c3d31fe1Smrg	classes for non-constant and constant iterators.
6535c3d31fe1Smrg	* include/bits/stl_tree.h (_Rb_tree class):
6536c3d31fe1Smrg	* src/tree.cc:
6537c3d31fe1Smrg	Only erase contents in destructor.
6538c3d31fe1Smrg	Eliminate unnecessary initialization in assignment operator.
6539c3d31fe1Smrg	Optimize for the nominal case by not checking whether
6540c3d31fe1Smrg	container is empty in clear().
6541c3d31fe1Smrg	Re-order test in _M_insert() to improve performance.
6542c3d31fe1Smrg	Move initialization of new node's left & right pointers to
6543c3d31fe1Smrg	src/tree.cc to where new node's colour is initialized
6544c3d31fe1Smrg	and to reduce the amount of inline code.
6545c3d31fe1Smrg	Use  _M_leftmost() and _M_end() to improve readability where
6546c3d31fe1Smrg	appropriate.
6547c3d31fe1Smrg	Create separate classes for non-constant and constant
6548c3d31fe1Smrg	iterators to clarify code, avoid extra template parameters and
6549c3d31fe1Smrg	casting away constness.
6550c3d31fe1Smrg
6551c3d31fe1Smrg2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
6552c3d31fe1Smrg
6553c3d31fe1Smrg	* src/Makefile.am (sources): Add list.cc, tree.cc.
6554c3d31fe1Smrg	* src/stl_tree.cc: Move to...
6555c3d31fe1Smrg	* src/tree.cc: ...here.
6556c3d31fe1Smrg	* src/list.cc: Add.
6557c3d31fe1Smrg	* config/linker-map.gnu: Tweaks.
6558c3d31fe1Smrg	* testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
6559c3d31fe1Smrg	* testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
6560c3d31fe1Smrg
6561c3d31fe1Smrg	* bits/stl_vector.h: Column wrap comments.
6562c3d31fe1Smrg
6563c3d31fe1Smrg2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
6564c3d31fe1Smrg
6565c3d31fe1Smrg	(re-open) PR libstdc++/12658
6566c3d31fe1Smrg	* src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
6567c3d31fe1Smrg	(locale::global): Likewise.
6568c3d31fe1Smrg
6569c3d31fe1Smrg2004-01-07  Paolo Carlini  <pcarlini@suse.de>
6570c3d31fe1Smrg
6571c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
6572c3d31fe1Smrg	Remove redundant #include.
6573c3d31fe1Smrg	* testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
6574c3d31fe1Smrg	* testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
6575c3d31fe1Smrg	re-enable normal testing.
6576c3d31fe1Smrg	* testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
6577c3d31fe1Smrg	#include.
6578c3d31fe1Smrg	* testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
6579c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
6580c3d31fe1Smrg	Likewise.
6581c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
6582c3d31fe1Smrg	Likewise.
6583c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
6584c3d31fe1Smrg	Likewise.
6585c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
6586c3d31fe1Smrg	Likewise.
6587c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
6588c3d31fe1Smrg	Likewise.
6589c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
6590c3d31fe1Smrg	Likewise.
6591c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
6592c3d31fe1Smrg	Likewise.
6593c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
6594c3d31fe1Smrg	More properly, #include <locale>.
6595c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
6596c3d31fe1Smrg	Remove redundant #include.
6597c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
6598c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
6599c3d31fe1Smrg	redundant DejaGnu directive.
6600c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
6601c3d31fe1Smrg	redundant #include.
6602c3d31fe1Smrg
6603c3d31fe1Smrg2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
6604c3d31fe1Smrg	    Stefan Olsson  <stefan@snon.net>
6605c3d31fe1Smrg
6606c3d31fe1Smrg	* scripts/check_performance: Use -pthread.
6607c3d31fe1Smrg	* testsuite/performance/allocator.cc: Tweaks, add list.
6608c3d31fe1Smrg	* testsuite/performance/allocator_thread.cc: New.
6609c3d31fe1Smrg
6610c3d31fe1Smrg2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
6611c3d31fe1Smrg
6612c3d31fe1Smrg	* include/bits/locale_facets.h: Document public classes and
6613c3d31fe1Smrg	functions.
6614c3d31fe1Smrg	* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
6615c3d31fe1Smrg	Add comment.
6616c3d31fe1Smrg
6617c3d31fe1Smrg2004-01-06  Paolo Carlini  <pcarlini@suse.de>
6618c3d31fe1Smrg
6619c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/char/1.cc:
6620c3d31fe1Smrg	Remove redundant #includes.
6621c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/char/2.cc:
6622c3d31fe1Smrg	Likewise.
6623c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_other/char/3.cc:
6624c3d31fe1Smrg	Likewise.
6625c3d31fe1Smrg	* testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
6626c3d31fe1Smrg	* testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
6627c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
6628c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
6629c3d31fe1Smrg	* testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
6630c3d31fe1Smrg	* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
6631c3d31fe1Smrg	* testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
6632c3d31fe1Smrg	* testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
6633c3d31fe1Smrg	* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
6634c3d31fe1Smrg	* testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
6635c3d31fe1Smrg	* testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
6636c3d31fe1Smrg	* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
6637c3d31fe1Smrg	* testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
6638c3d31fe1Smrg	* testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
6639c3d31fe1Smrg	* testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
6640c3d31fe1Smrg	Likewise.
6641c3d31fe1Smrg	* testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
6642c3d31fe1Smrg	Likewise.
6643c3d31fe1Smrg	* testsuite/27_io/basic_istream/readsome/char/8258.cc:
6644c3d31fe1Smrg	Likewise.
6645c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
6646c3d31fe1Smrg	Likewise.
6647c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
6648c3d31fe1Smrg	Likewise.
6649c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
6650c3d31fe1Smrg	* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
6651c3d31fe1Smrg	* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
6652c3d31fe1Smrg
6653c3d31fe1Smrg2004-01-04  Paolo Carlini  <pcarlini@suse.de>
6654c3d31fe1Smrg
6655c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
6656c3d31fe1Smrg	Remove redundant #includes.
6657c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
6658c3d31fe1Smrg	Likewise.
6659c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
6660c3d31fe1Smrg	Likewise.
6661c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
6662c3d31fe1Smrg	Likewise.
6663c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
6664c3d31fe1Smrg	Likewise.
6665c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
6666c3d31fe1Smrg	Likewise.
6667c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
6668c3d31fe1Smrg	Likewise.
6669c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
6670c3d31fe1Smrg	Likewise.
6671c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
6672c3d31fe1Smrg	Likewise.
6673c3d31fe1Smrg	* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
6674c3d31fe1Smrg	Likewise.
6675c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
6676c3d31fe1Smrg	Likewise.
6677c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
6678c3d31fe1Smrg	Likewise.
6679c3d31fe1Smrg	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
6680c3d31fe1Smrg	Likewise.
6681c3d31fe1Smrg
6682c3d31fe1Smrg2004-01-04  Mark Mitchell  <mark@codesourcery.com>
6683c3d31fe1Smrg
6684c3d31fe1Smrg	PR c++/12226
6685c3d31fe1Smrg	* testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
6686c3d31fe1Smrg	constructor.
6687c3d31fe1Smrg	* testsuite/27_io/basic_fstream/4.cc: Likewise.
6688c3d31fe1Smrg	* testsuite/27_io/basic_ifstream/4.cc: Likewise.
6689c3d31fe1Smrg	* testsuite/27_io/basic_ios/4.cc: Likewise.
6690c3d31fe1Smrg	* testsuite/27_io/basic_iostream/4.cc: Likewise.
6691c3d31fe1Smrg	* testsuite/27_io/basic_istream/4.cc: Likewise.
6692c3d31fe1Smrg	* testsuite/27_io/basic_istingstream/4.cc: Likewise.
6693c3d31fe1Smrg	* testsuite/27_io/basic_ofstream/4.cc: Likewise.
6694c3d31fe1Smrg	* testsuite/27_io/basic_ostream/4.cc: Likewise.
6695c3d31fe1Smrg	* testsuite/27_io/basic_ostringstream/4.cc: Likewise.
6696c3d31fe1Smrg	* testsuite/27_io/basic_stringbuf/5.cc: Likewise.
6697c3d31fe1Smrg	* testsuite/27_io/basic_stringstream/4.cc: Likewise.
6698c3d31fe1Smrg
6699c3d31fe1Smrg2004-01-04  Paolo Carlini  <pcarlini@suse.de>
6700c3d31fe1Smrg
6701c3d31fe1Smrg	* config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
6702c3d31fe1Smrg	Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
6703c3d31fe1Smrg	always use double underscored names.
6704c3d31fe1Smrg	* config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
6705c3d31fe1Smrg	Likewise.
6706c3d31fe1Smrg	* include/bits/locale_facets.h (struct __numpunct_cache):
6707c3d31fe1Smrg	Dimension _M_atoms_out and _M_atoms_in one position smaller.
6708c3d31fe1Smrg	(__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
6709c3d31fe1Smrg	and _M_atoms_in.
6710*af526226Smrg
6711*af526226SmrgCopyright (C) 2004 Free Software Foundation, Inc.
6712*af526226Smrg
6713*af526226SmrgCopying and distribution of this file, with or without modification,
6714*af526226Smrgare permitted in any medium without royalty provided the copyright
6715*af526226Smrgnotice and this notice are preserved.
6716