12003-12-31  Paolo Carlini  <pcarlini@suse.de>
2
3	* include/bits/locale_facets.tcc (num_get::_M_extract_int,
4	num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
5	_first_ look for thousands_sep, then for decimal_point and
6	finally for digits.
7	(num_get::_M_extract_float): After the decimal_point or
8	'e'/'E', decimal_point and thousands_sep just break out the
9	parsing loop.
10	* testsuite/22_locale/num_get/get/char/11.cc: Add tests.
11	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
12
132003-12-30  Paolo Carlini  <pcarlini@suse.de>
14
15	PR libstdc++/13369
16	* include/bits/locale_facets.tcc (__verify_grouping):
17	Fix to deal properly with __grouping_tmp.size() >
18	__grouping.size().
19	* testsuite/22_locale/num_get/get/char/13.cc: New.
20	* testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto.
21
222003-12-29  Jerry Quinn  <jlquinn@optonline.net>
23
24	* include/bits/locale_facets.h (ctype.narrow,widen): Add cast.
25
262003-12-29  Paolo Carlini  <pcarlini@suse.de>
27
28	* acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
29	to CXXFLAGS.
30	* aclocal.m4: Regenerate.
31	* configure: Likewise.
32
332003-12-29  Mark Mitchell  <mark@codesourcery.com>
34
35	* acconfig.h: Add _GLIBCXX_USE_C99_MATH.
36	* acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
37	* configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
38	targeting newlib.
39	* aclocal.m4: Regenerated.
40	* config.h.in: Likewise.
41	* configure: Likewise.
42	* Makefile.in: Likewise.
43	* include/Makefile.in: Likewise.
44	* libmath/Makefile.in: Likewise.
45	* libsupc++/Makefile.in: Likewise.
46	* testsuite/Makefile.in: Likewise.
47	* src/Makefile.in: Likewise.
48	* po/Makefile.in: Likewise.
49	* include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
50	(_GLIBCXX_USE_C99_MATH): ... this.
51
52	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
53	arm-none-elf.
54	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
55	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
56	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
57	* testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
58	* testsuite/27_io/objects/char/9.cc: Likewise.
59	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
60
612003-12-28  Paolo Carlini  <pcarlini@suse.de>
62
63	* include/ext/pool_allocator.h (class __pool_alloc): Use
64	operator new and operator delete.
65
662003-12-24  Andrew Pinski  <pinskia@physics.uc.edu>
67
68	* config/cpu/i386/atomicity.h (__exchange_and_add): Fix output
69	constraint.
70
71	PR libstdc++/13480
72	* config/cpu/i386/atomicity.h: Split up read-write memory operand.
73
742003-12-23  Benjamin Kosnik  <bkoz@redhat.com>
75
76	* include/ext/new_allocator.h (new_allocator): Proper allocator class.
77	(__new_alloc): Delete.
78	* include/ext/malloc_allocator.h (malloc_allocator): Same.
79	(__malloc_alloc): Delete.
80 	* include/ext/mt_allocator.h: Same, but weakly.
81 	* include/ext/debug_allocator.h: Convert to the new style.
82	* include/ext/pool_allocator.h: Use global new and delete directly.
83	* include/backward/alloc.h: Don't inject malloc_allocator, or
84	debug_allocator.
85	* testsuite/ext/allocators.cc: Minimal fixups for usage of new
86	classes.  Comment out tests with __pool_alloc for now.
87	* testsuite/performance/allocator.cc: Same.
88
892003-12-22  Matt Austern  <austern@apple.com>
90
91	* include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate.
92	(_Bvector_base): Inherit directly from word allocator.
93	* include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate.
94	(_Rb_tree_base): Eliminate.
95	(_Rb_tree): Inherit directly from node allocator.
96	* include/ext/slist (_Alist_alloc_base): Eliminate.
97	(_Slist_base): Inherit direcly from node allocator.
98
992003-12-22  Benjamin Kosnik  <bkoz@redhat.com>
100
101	* testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
102	dg-options in testcases that use VERIFY.
103	* testsuite/23_containers/vector/invalidation/1.cc: Same.
104	* testsuite/23_containers/vector/invalidation/2.cc: Same.
105	* testsuite/23_containers/vector/invalidation/3.cc: Same.
106	* testsuite/23_containers/vector/invalidation/4.cc: Same.
107	* testsuite/23_containers/vector/resize/1.cc: Same.
108	* testsuite/26_numerics/complex_value.cc: Same.
109	* testsuite/27_io/ios_base/storage/1.cc: Same.
110	* testsuite/27_io/ios_base/storage/2.cc: Same.
111	* testsuite/27_io/ios_base/storage/3.cc: Same.
112	* testsuite/27_io/manipulators/standard/char/2.cc: Same.
113	* testsuite/backward/11460.cc: Same.
114	* testsuite/backward/strstream_members.cc: Same.
115
116	* include/ext/hash_set (class hash_multiset): Fix typo.
117
1182003-12-22  Benjamin Kosnik  <bkoz@redhat.com>
119
120	* testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
121	* testsuite/27_io/objects/wchar_t/5.cc: Same.
122	* docs/html/test.html: Add docs for constructing test files that
123	don't use stdc++.h.gch.
124	* scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
125	* testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
126	differently.
127
128	* include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
129	* src/ios_init.cc: Same.
130	* config/linker-map.gnu: Same.
131	* testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
132	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
133
1342003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
135
136	PR libstdc++/13462
137	* include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer
138	as allocator's pointer, likewise for reference, const_pointer, and
139	const_reference.
140	* include/bits/stl_set.h (__gnu_norm::set): Likewise.
141	* include/ext/hash_set (__gnu_ext::hash_set): Likewise.
142	(__gnu_ext::hash_multiset): Likewise.
143
1442003-12-22  Paolo Carlini  <pcarlini@suse.de>
145
146	* include/bits/locale_facets.tcc (num_get::_M_extract_int,
147	num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
148	first look for decimal_point and thousands_sep, when parsing
149	sign, leading zeros (and 0, Ox, 0X for integer types) too.
150	* testsuite/22_locale/num_get/get/char/12.cc: New.
151	* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
152
153	* testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
154	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
155
1562003-12-20  Jason Merrill  <jason@redhat.com>
157
158	* config/cpu/powerpc/atomicity.h: Fix oversight in previous
159	change.
160
1612003-12-20  Jerry Quinn  <jlquinn@optonline.net>
162
163	* docs/doxygen/TODO: Update.
164	* include/bits/locale_classes.h (locale, facet, id): Document.
165	* include/bits/locale_facets.tcc (has_facet, use_facet): Document.
166
1672003-12-19  Jason Merrill  <jason@redhat.com>
168
169	* config/cpu/cris/atomicity.h: Remove memory clobbers.
170	* config/cpu/mips/atomicity.h: Likewise.
171	* config/cpu/i486/atomicity.h: Remove memory clobbers.
172	Split up read-write memory operand.
173	* config/cpu/m68k/atomicity.h: Likewise.
174	* config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
175	* config/cpu/s390/atomicity.h: Likewise.
176	* config/cpu/sparc/atomicity.h: Likewise.
177
1782003-12-20  Carlo Wood  <carlo@alinoe.com>
179
180	* bits/demangle.h
181	namespace __gnu_cxx::demangler
182	(session<Allocator>::decode_encoding): Put the postfix
183	of the return type of (member) functions after the function
184	instead of after the return type.
185
1862003-12-19  Jerry Quinn  <jlquinn@optonline.net>
187
188        * include/bits/locale_facet.h
189        (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
190        Document.
191
1922003-12-19  Paolo Carlini  <pcarlini@suse.de>
193
194	* include/bits/locale_facets.tcc (num_get::_M_extract_int,
195	num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
196	first look for decimal_point and thousands_sep.
197	* testsuite/22_locale/num_get/get/char/11.cc: New.
198	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
199
2002003-12-19  Paolo Carlini  <pcarlini@suse.de>
201
202	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
203	When __found_sci becomes true stop eating thousands separators
204	and the decimal radix separator.
205	* testsuite/22_locale/num_get/get/char/9.cc: New.
206	* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
207
208	* config/locale/generic/c_locale.cc (__convert_to_v): Don't
209	check that *__sanity == '\0': parsing may stop earlier, still
210	be successful.
211	* config/locale/gnu/c_locale.cc: Likewise.
212	* testsuite/22_locale/num_get/get/char/10.cc: New.
213	* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
214	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
215	Tweak in one place accordingly.
216
217	* testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
218	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
219
2202003-12-18  Benjamin Kosnik  <bkoz@redhat.com>
221
222	* include/bits/stl_list.h: Formatting tweaks.
223	* include/bits/list.tcc: Same.
224
2252003-12-18  Matt Austern  <austern@apple.com>
226
227	* include/bits/demangle.h: Fix allocator type correctness,
228	i.e. make sure that when we instantiate a container with a value
229	type and an allocator, the allocator's value type matches the
230	container's.
231	* include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
232	(_Deque_base): inherit directly from the deque's allocator.  Use
233	rebinding instead of _Alloc_traits.  Pick up data members from
234	_Deque_alloc_base.
235	* include/bits/stl_list.h (_List_alloc_base): Eliminate.
236	(_List_base): Inherit directly from the list's allocator.  Use
237	rebinding instead of _Alloc_traits.  Pick up data members from
238	_List_alloc_base.
239	* include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
240	(_Vector_base): Inherit directly from the vector's allocator.  Use
241	rebinding instead of _Alloc_traits.  Pick up data members from
242	_Vector_alloc_base.
243	* include/ext/hashtable.h: Fix allocator type correctness (the
244	vector of buckets must be passed an allocator for objects of
245	type _Node*).  Use rebinding instead of _Alloc_traits.
246
2472003-12-17  Paolo Carlini  <pcarlini@suse.de>
248
249	* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
250	Use narrow to get from __format[__i] a char __c representing a
251	formatting code, don't use it to compare *__beg to __format[__i].
252	* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.
253
2542003-12-17  Paolo Carlini  <pcarlini@suse.de>
255
256	* testsuite/performance/container_benchmark.cc: Tweak outputs.
257
258	* testsuite/performance/list_create_fill_sort.cc: Shrink a
259	bit some outputs.
260
261	* testsuite/testsuite_performance.h: Widen a few output fields.
262
263	* testsuite/performance/ifstream_extract_int.cc: New.
264
2652003-12-16  Phil Edwards  <phil@codesourcery.com>
266
267	* configure.ac (AM_INIT_AUTOMAKE):  Don't warn about GNU Make.
268	* configure:  Regenerated.
269	* Makefile.am (check-%):  New catch-all forwarding target.
270	* Makefile.in:  Regenerated.
271
2722003-12-16  Paolo Carlini  <pcarlini@suse.de>
273
274	* testsuite/performance/container_benchmark.cc: New, a
275	benchmark developed by Bjarne Stroustrup and Alexander
276	Stepanov and made available with no restrictions.
277
278	* testsuite/testsuite_performance.h (report_header): New,
279	useful to produce header lines in the reports.
280
2812003-12-16  Jonathan Wakely  <redi@gcc.gnu.org>
282
283	* docs/html/21_strings/howto.html: Document shrink-to-fit reserve().
284	* docs/html/faq/index.html: Reducing vector's capacity() to size().
285	* docs/html/documentation.html, docs/html/faq/index.txt: Regenerate.
286
2872003-12-16  Paolo Carlini  <pcarlini@suse.de>
288
289	* testsuite/performance/narrow_widen_char.cc: Tweak the
290	number of iterations for each test.
291	* testsuite/performance/narrow_widen_wchar_t.cc: Add a
292	missing clear_counters.
293
2942003-12-16  Paolo Carlini  <pcarlini@suse.de>
295
296	PR libstdc++/11723
297	* include/bits/locale_facets.h: Add _M_bit and _M_wmask,
298	used to speed up the computation of ctype::do_is.
299	* config/locale/generic/ctype_members.cc
300	(_M_initialize_ctype): Fill _M_bit and _M_wmask.
301	(ctype::do_is): Use _M_bit and _M_wmask.
302	* config/locale/gnu/ctype_members.cc: Likewise.
303	* testsuite/performance/is_wchar_t.cc: New.
304
305	* testsuite/performance/narrow_widen_wchar_t.cc: Tweak
306	string literal (incorrect citation ;)
307
308	* include/bits/locale_facets.h: Minor tweaks, const
309	correctness, unsigned -> size_t.
310
3112003-12-16  Jerry Quinn  <jlquinn@optonline.net>
312
313	* include/bits/locale_facets.h (widen, narrow):  Uncomment the
314	intended code.
315
3162003-12-15  Jerry Quinn  <jlquinn@optonline.net>
317
318        * config/os/aix/ctype_noninline.h,
319	config/os/bsd/freebsd/ctype_noninline.h,
320	config/os/bsd/netbsd/ctype_noninline.h,
321	config/os/djgpp/ctype_noninline.h,
322	config/os/generic/ctype_noninline.h,
323	config/os/gnu-linux/ctype_noninline.h,
324	config/os/hpux/ctype_noninline.h,
325	config/os/irix/irix5.2/ctype_noninline.h,
326	config/os/irix/irix6.5/ctype_noninline.h,
327	config/os/mingw32/ctype_noninline.h,
328	config/os/newlib/ctype_noninline.h,
329	config/os/qnx/qnx6.1/ctype_noninline.h,
330	config/os/solaris/solaris2.5/ctype_noninline.h,
331	config/os/solaris/solaris2.6/ctype_noninline.h,
332	config/os/solaris/solaris2.7/ctype_noninline.h,
333	config/os/vxworks/ctype_noninline.h,
334	config/os/windiss/ctype_noninline.h (ctype):  Initialize
335	_M_narrow, _M_widen.
336	* include/bits/locale_facets.h (_M_widen, _M_widen_ok,
337	_M_narrow, _M_narrow_ok): New.
338	(widen, narrow): Use tables to bypass virtual functions.
339	(_M_widen_init, _M_narrow_init): New.
340
3412003-12-15  Carlo Wood  <carlo@alinoe.com>
342
343	* include/bits/ios_base.h (Init::_S_initialized): Change into
344	declaration.
345	* src/ios_init.cc (Init::_S_initialized): Add definition.
346
3472003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
348
349	PR libstdc++/12658
350	* include/Makefile.am (bits_headers): Add concurrence.h.
351	* include/Makefile.in: Regenerated.
352	* include/bits/concurrence.h: New.
353	* src/locale_init.cc: Use it.
354	(locale::locale): Lock critical regions.
355	(locale::global): Same.
356
3572003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
358
359	* include/bits/basic_string.h: Change _*_references to _*_refcount.
360	* include/bits/locale_classes.h: Same.
361	* src/locale.cc: Same.
362	* src/locale_name.cc: Same.
363	* src/locale_init.cc: Same.
364
3652003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
366
367	PR libstdc++/12855
368	* include/bits/ios_base.h (Init::_S_ios_base_init): Change to
369	_S_refcount, make atomic.
370	* src/ios.cc: Adjust definition.
371	* src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
372	and __atomic_add.
373	(ios_base::Init::~Init): Same.
374	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
375	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
376
3772003-12-15  Paolo Carlini  <pcarlini@suse.de>
378
379	* include/bits/locale_facets.tcc (num_get::do_get(bool&)):
380	Fail as soon as the begins of both truename and falsename
381	stop to match; always leave __beg one position beyond the
382	last char successfully matched.
383	* testsuite/22_locale/num_get/get/char/8.cc: New.
384	* testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
385
3862003-12-15  Paolo Carlini  <pcarlini@suse.de>
387
388	* include/bits/locale_facets.h (_M_widen): Reserve space
389	for all the possible widened chars.
390	* config/locale/generic/ctype_members.cc (_M_initialize_ctype):
391	Compute at construction time all the possible widened chars.
392	(do_widen): Tweak, simplify.
393	* config/locale/gnu/ctype_members.cc: Likewise.
394	* testsuite/performance/narrow_widen_wchar_t.cc: Add tests
395	for the array versions.
396
3972003-12-12  Paolo Carlini  <pcarlini@suse.de>
398	    Benjamin Kosnik  <bkoz@redhat.com>
399
400	PR libstdc++/13341
401	* include/bits/locale_facets.h (ctype<wchar_t>): Declare
402	_M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
403	* src/ctype.cc (ctype<wchar_t>::ctype(size_t),
404	ctype<wchar_t>::ctype(__c_locale, size_t)): Use
405	_M_initialize_ctype to fill _M_narrow and _M_widen.
406	(ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
407	Likewise.
408	* config/locale/generic/ctype_members.cc (do_narrow, do_widen)
409	Use _M_narrow and _M_widen when possible, instead of calling
410	wctob and btowc, respectively.
411	(_M_initialize_ctype): Define, it fills at construction time
412	_M_narrow and _M_widen.
413	* config/locale/gnu/ctype_members.cc: Likewise.
414	* testsuite/performance/narrow_widen_wchar_t.cc: New.
415
4162003-12-12  Jonathan Wakely  <redi@gcc.gnu.org>
417
418	* docs/html/faq/index.txt: Regenerate after adding <link> tags.
419
4202003-12-11  Neil Ferguson  <nferguso@eso.org>
421            Paolo Carlini  <pcarlini@suse.de>
422
423	* include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
424	* testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
425	* testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
426	* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.
427
4282003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
429
430	PR libstdc++/6243
431	* testsuite/lib/libstdc++.exp (v3-init): Add
432	original_ld_library_path, calculate ld_library path, set
433	LD_LIBRARY_PATH to both. Based on libjava.exp.
434
4352003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
436            Alexandre Oliva  <aoliva@redhat.com>
437
438	PR libstdc++/11612
439	* testsuite/Makefile.am (GLIBCXX_DIR): New.
440	(GLIBGCC_DIR): New.
441	(CXXLINK): Use both with -R so libtool links the correct libs.
442
4432003-12-10  Paolo Carlini  <pcarlini@suse.de>
444
445	PR libstdc++/13217
446	* include/bits/fstream.tcc (underflow): Deal gracefully with
447	read errors: throw ios_base::failure.
448
4492003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
450
451	PR libstdc++/10063
452	* config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
453	* testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
454	* testsuite/ext/stdio_filebuf/char/10063-2.cc: New.
455
4562003-12-10  Paolo Carlini  <pcarlini@suse.de>
457
458	* include/bits/locale_facets.tcc (num_put::do_put(void*)):
459	Remove the try/catch, not necessary.
460
4612003-12-10  Paolo Carlini  <pcarlini@suse.de>
462
463	* testsuite/22_locale/locale/cons/12438.cc: Tweak memory
464	limit and iterations to avoid spurious failures on some
465	64 bit machines.
466
4672003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
468
469	* config/linker-map.gnu: Remove private ios_base members from
470	export list.
471
472	* config/cpu/alpha/atomicity.h: Consistently format.
473	* config/cpu/cris/atomicity.h: Same.
474	* config/cpu/generic/atomicity.h: Same.
475	* config/cpu/hppa/atomicity.h: Same.
476	* config/cpu/i386/atomicity.h: Same.
477	* config/cpu/i486/atomicity.h: Same.
478	* config/cpu/ia64/atomicity.h: Same.
479	* config/cpu/m68k/atomicity.h: Same.
480	* config/cpu/mips/atomicity.h: Same.
481	* config/cpu/powerpc/atomicity.h: Same.
482	* config/cpu/s390/atomicity.h: Same.
483	* config/cpu/sparc/atomicity.h: Same.
484
4852003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
486
487	PR libstdc++/13296
488	* acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
489	* aclocal.m4: Regenerate.
490	* configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
491	* conigure: Regenerate.
492	* src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
493	* src/Makefile.in: Regenerate.
494	* docs/html/17_intro/configury.html: Modify.
495
4962003-12-09  Paolo Carlini  <pcaelini@suse.de>
497
498	* include/bits/demangle.h (struct implementation_details):
499	Keep in comments the names of the unused parameters.
500
5012003-12-09  Paolo Carlini  <pcaelini@suse.de>
502
503	* include/bits/demangle.h (struct implementation_details):
504	Fix unused parameters warning.
505
5062003-12-09  Paolo Carlini  <pcarlini@suse.de>
507
508	* include/bits/locale_facets.tcc (num_get::_M_extract_int):
509	Slightly streamline the code dealing with overflows and the
510	parsing of the sign.
511
5122003-12-09  Bernardo Innocenti  <bernie@develer.com>
513
514	* include/ext/algorithm, include/ext/debug_allocator.h,
515	include/ext/enc_filebuf.h, include/ext/functional,
516	include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
517	include/ext/hashtable.h, include/ext/iterator,
518	include/ext/malloc_allocator.h, include/ext/memory,
519	include/ext/mt_allocator.h, include/ext/numeric,
520	include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
521	include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
522	include/ext/slist, include/ext/stdio_filebuf.h,
523	include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.
524
5252003-12-09  Bernardo Innocenti  <bernie@develer.com>
526
527	* include/debug/bitset, include/debug/debug.h, include/debug/deque,
528	include/debug/formatter.h, include/debug/hash_map.h,
529	include/debug/hash_multimap.h, include/debug/hash_multiset.h,
530	include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
531	include/debug/map.h, include/debug/multimap.h,
532	include/debug/multiset.h, include/debug/safe_base.h,
533	include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
534	include/debug/safe_sequence.h, include/debug/set.h,
535	include/debug/string, include/debug/vector: Remove trailing whitespace.
536
5372003-12-09  Bernardo Innocenti  <bernie@develer.com>
538
539	* include/c_compatibility/iso646.h, include/c_compatibility/limits.h,
540	include/c_compatibility/locale.h, include/c_compatibility/stdio.h,
541	include/c_compatibility/string.h, include/c_compatibility/time.h,
542	include/c_compatibility/wchar.h, include/c_compatibility/wctype.h:
543	Remove trailing whitespace.
544
5452003-12-09  Bernardo Innocenti  <bernie@develer.com>
546
547	* include/c_std/cmath.tcc, include/c_std/std_cassert.h,
548	include/c_std/std_cctype.h, include/c_std/std_cmath.h,
549	include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
550	include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
551	include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
552	Remove trailing whitespace.
553
5542003-12-09  Bernardo Innocenti  <bernie@develer.com>
555
556	* include/c/std_cctype.h, include/c/std_cmath.h,
557	include/c/std_cstdlib.h include/c/std_cwchar.h,
558	include/c/std_cwctype.h: Remove trailing whitespace.
559
5602003-12-09  Bernardo Innocenti  <bernie@develer.com>
561
562	* include/backward/algo.h, include/backward/algobase.h,
563	include/backward/alloc.h, include/backward/complex.h,
564	include/backward/defalloc.h, include/backward/function.h,
565	include/backward/iterator.h, include/backward/new.h,
566	include/backward/ostream.h, include/backward/queue.h,
567	include/backward/rope.h, include/backward/stream.h,
568	include/backward/streambuf.h, include/backward/strstream,
569	include/backward/tempbuf.h, include/backward/tree.h,
570	include/backward/vector.h: Remove trailing whitespace.
571
5722003-12-08  Paolo Carlini  <pcarlini@suse.de>
573
574	* config/locale/generic/c_locale.cc (__convert_to_v(long&),
575	__convert_to_v(unsigned long&), __convert_to_v(long long&),
576	__convert_to_v(unsigned long long&): Remove.
577	(__convert_to_v(float&), __convert_to_v(double&),
578	__convert_to_v(long double&)): Remove last unused parameter.
579	* config/locale/gnu/c_locale.cc: Likewise.
580	* include/bits/locale_facets.h: Likewise.
581	(num_get::_M_extract_int): Update declaration.
582	(class __num_base): Tweak _S_ie and _S_iE according to the
583	_S_atoms_in changes.
584	* include/bits/locale_facets.tcc (num_get::_M_extract_int):
585	Provide directly the final _ValueT, not a string: accumulate
586	the result checking for overflow at each digit.
587	(num_get::do_get(bool&), num_get::do_get(long&),
588	num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
589	num_get::do_get(unsigned long&), num_get::do_get(long long&),
590	num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
591	Use the new _M_extract_int, simplify.
592	* src/locale-inst.cc (num_get::_M_extract_int(long&),
593	num_get::_M_extract_int(unsigned short&),
594	num_get::_M_extract_int(unsigned int&),
595	num_get::_M_extract_int(unsigned long&),
596	num_get::_M_extract_int(long long&),
597	num_get::_M_extract_int(unsigned long long&): Instantiate.
598	* src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
599        the chars in the natural order: abcdefABCDEF.
600
6012003-12-08  David S. Miller  <davem@redhat.com>
602
603	PR libstdc++/12496
604	* config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
605	Extend increment to _Atomic_word before giving to assembler.
606
6072003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
608
609	* testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
610	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
611
6122003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
613
614	PR libstdc++/11691
615	* include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
616	Remove __del argument to file descriptor constructor.
617	* config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
618	bool argument.
619	* config/io/basic_file_stdio.cc: Same.
620
6212003-12-05  Benjamin Kosnik  <bkoz@redhat.com>
622
623	PR libstdc++/13189
624	* include/ext/enc_filebuf.h: Fix.
625	* include/bits/fstream.tcc: Tweak formatting.
626	* include/bits/postypes.h: Same.
627	* include/bits/sstream.tcc: Same.
628	* include/bits/streambuf.tcc: Same.
629	* testsuite/ext/stdio_filebuf.cc: Split.
630	* testsuite/ext/stdio_filebuf_2.cc: Split.
631	* testsuite/ext/stdio_sync_filebuf_char.cc: Split.
632	* testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
633	* testsuite/ext/enc_filebuf/char/13189.cc: New.
634	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
635	* testsuite/ext/stdio_filebuf/char/1.cc: New.
636	* testsuite/ext/stdio_filebuf/char/2.cc: New.
637	* testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
638	* testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
639	* testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
640	* testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
641	* testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
642	* testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
643	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
644	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
645	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
646	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.
647
6482003-12-05  Carlo Wood  <carlo@alinoe.com>
649
650	PR libstdc++/13045
651	* bits/demangle.h
652	namespace __gnu_cxx::demangler
653	(enum substitution_nt): Removed trailing comma.
654	(implementation_details): Added.
655	(session<Allocator>::M_implementation_details): Added.
656	(session<Allocator>::session): Pass implementation_details.
657	(session<Allocator>::decode_encoding): Same.
658	(session<Allocator>::decode_real): Added.
659	(_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
660	_GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
661	_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
662	_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
663	implementation_details equivalent.
664	(session<Allocator>::decode_expression):
665	Use M_implementation_details instead of macros. Add extra parentheses
666	around 'larger than' operator in expressions in template arguments.
667	(session<Allocator>::decode_bare_function_type): Idem.
668	(session<Allocator>::decode_literal):
669	Idem, and call decode_real for floating literals.
670	(session<Allocator>::decode_type_with_postfix): Put the postfix
671	of the return type of (member) functions after the function
672	instead of after the return type.  Also, put a space after the
673	prefix of qualified function pointers: "int (* const<space>".
674	* src/demangle.cc: include most dependent header file first.
675	* testsuite/demangle/regression/cw-16.cc: Updated two
676	and added three tests.
677
6782003-12-04  Benjamin Kosnik  <bkoz@redhat.com>
679
680	PR libstdc++/13284
681	* include/bits/stl_algo.h (__random_number): Remove.
682	(random_shuffle): Use rand, as permitted by DR 395.
683	* include/ext/algorithm: Same.
684	* linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
685	* acconfig.h: Same.
686	* crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
687	* config.h.in: Regenerated.
688	* configure: Same.
689	* aclocal.m4: Same.
690
6912003-12-04  Paolo Carlini  <pcarlini@suse.de>
692
693	PR libstdc++/12653
694	* include/std/std_bitset.h (operator>>): Implement resolution
695	of DR 303 [WP]: use widen('0') and widen('1').
696	* docs/html/ext/howto.html: Add an entry for DR 303.
697
698	* include/std/std_bitset.h (operator>>): Implement the common
699	requirements of formatted input functions (27.6.1.2.1).
700
701	* include/std/std_bitset.h (operator>>): Set the failbit when
702	nothing was extracted and _Nb != 0.
703	* testsuite/23_containers/bitset/input/1.cc: New.
704
7052003-12-03  Paolo Carlini  <pcarlini@suse.de>
706
707	PR libstdc++/12791
708	* include/bits/locale_facets.tcc (time_get::_M_extract_num):
709	Rewrite, stop the parsing as soon as a digit cannot possibly
710	lead to a final number within the bounds; otherwise, simplify,
711	avoiding __ctype.is() and atoi().
712	* testsuite/22_locale/time_get/get_date/char/12791.cc: New.
713	* testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
714
715	* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
716	Minor tweak: a 4-digit integer cannot be bigger than 9999.
717
718	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
719	type-correct wchar_t string literals.
720	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
721	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
722	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
723	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
724
7252003-12-02  Paolo Carlini  <pcarlini@suse.de>
726
727	* include/bits/locale_facets.tcc (time_get::do_get_year):
728	Avoid using a basic_string and calling a full blown strtol
729	(via __convert_to_v) for simple 2 or 4 digits, base 10,
730	positive integers; simplify.
731
7322003-12-02  Paolo Carlini  <pcarlini@suse.de>
733
734	* config/locale/gnu/monetary_members.cc
735	(money_base::_S_construct_pattern): For case 3: and 4:
736	exchanging 'if (__precedes)' and 'if (__space)' allows
737	to factor out a few more assignments.
738
7392003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
740
741	* include/bits/basic_ios.h (basic_ios::setstate): Revert.
742	* include/bits/istream.tcc: Only call setstate if __err != goodbit.
743	* include/bits/ostream.tcc: Same.
744	* testsuite/27_io/basic_ios/exceptions/char/2.cc: New.
745
746	* testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
747	internal buffer non-static.
748
7492003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
750
751	* docs/html/17_intro/C++STYLE: Add exception bits.
752	* include/bits/fstream.tcc: Add location info to exception strings.
753
754	* include/bits/stl_construct.h: Formatting tweaks.
755
7562003-12-01  Paolo Carlini  <pcarlini@suse.de>
757
758	PR libstdc++/10378
759	* include/bits/allocator.h (allocator::construct): Implement
760	resolution of DR 402 [Ready] (in Revision 28).
761	* include/bits/allocator_traits.h (__allocator::construct):
762	Likewise.
763	* include/bits/stl_construct.h (_Construct): Likewise.
764	* testsuite/20_util/allocator_members.cc: Move to...
765	* testsuite/20_util/allocator/1.cc: ... here.
766	* testsuite/20_util/allocator/10378.cc: New.
767	* docs/html/ext/howto.html: Add an entry for DR 402.
768
7692003-11-30  Paolo Carlini  <pcarlini@suse.de>
770
771	* config/locale/gnu/codecvt_members.cc (codecvt::do_in,
772	codecvt::do_length): More minor tweaks.
773
7742003-11-30  Paolo Carlini  <pcarlini@suse.de>
775
776	* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
777	Minor stylistic tweak.
778
7792003-11-30  Paolo Carlini  <pcarlini@suse.de>
780
781	* include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
782	Minor tweaks, consistent with the style used in other facets.
783
7842003-11-29  Paolo Carlini  <pcarlini@suse.de>
785
786	* include/bits/fstream.tcc (underflow): Minor tweaks in
787	preparation for libstdc++/13217.
788
7892003-11-29  Paolo Carlini  <pcarlini@suse.de>
790
791	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
792	Tweak for a few small problems (fix timings, use VERIFY..)
793
7942003-11-28  Paolo Carlini  <pcarlini@suse.de>
795
796	* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
797	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
798	the original third testcase for libstdc++/13171 belong here.
799
8002003-11-28  Paolo Carlini  <pcarlini@suse.de>
801
802	* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
803	Remove extraneous wchar_t lines.
804
8052003-11-27  Paolo Carlini  <pcarlini@suse.de>
806
807	PR libstdc++/11544
808	PR libstdc++/11603
809	* include/bits/fstream.tcc (underflow): Throw ios_base::failure
810	upon incomplete or invalid byte sequences in the file.
811	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
812	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
813	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.
814
8152003-11-27  Paolo Carlini  <pcarlini@suse.de>
816
817	* include/std/std_streambuf.h (__copy_streambufs): Remove
818	the first, unused, basic_ios<> parameter.
819	* src/streambuf-inst.cc: Likewise.
820	* include/bits/streambuf.tcc: Likewise.
821	* include/bits/istream.tcc (operator>>(__streambuf_type*)):
822	Tweak accordingly the call.
823	* include/bits/ostream.tcc (operator<<(__streambuf_type*)):
824	Likewise.
825
826	* include/bits/streambuf.tcc (__copy_streambufs): Remove
827	redundant try/catch.
828
8292003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
830
831	PR libstdc++/9371
832	PR libstdc++/9546
833	PR libstdc++/10093
834	PR libstdc++/10095
835	* include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
836	(basic_ios::_M_setstate): Consolidate common error handling code.
837	* include/bits/basic_ios.tcc: Tweak.
838	* include/bits/fstream.tcc: Tweak.
839	* include/bits/istream.tcc: Use _M_setstate for common exception
840	handling. Move setstate calls after catch.
841	(basic_istream::tellg): Check for exceptions thrown by streambuf
842	virtual functions.
843	(basic_istream::seekg): Same.
844	* include/bits/ostream.tcc: Same, but for ostream.
845	(basic_ostream::flush): Check for exceptions thrown by streambuf
846	virtual functions.
847	(basic_istream::tellp): Same.
848	(basic_istream::seekp): Same.
849	* include/bits/locale_facets.tcc: Tweak.
850	* include/bits/streambuf.tcc: Tweak.
851	(__copy_streambufs): Propagate exceptions.
852	* testsuite/testsuite_io.h (fail_streambuf): New.
853	(fail_num_get): New.
854	(fail_num_put): New.
855	(facet_error): New.
856	(underflow_error): New.
857	(overflow_error): New.
858	(positioning_error): New.
859	* testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
860	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
861        exceptions_badbit_throw.cc, exceptions_failbit.cc,
862        exceptions_failbit_throw.cc: New.
863	* testsuite/27_io/basic_istream/extractors_other/char/
864	error_failbit.cc, exceptions_badbit_throw.cc,
865        exceptions_failbit_throw.cc, exceptions_null.cc: New.
866	* testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
867	New.
868	* testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
869	New.
870	* testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
871	New.
872	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
873	exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
874	* testsuite/27_io/basic_ostream/inserters_other/char/
875	error_failbit.cc, exceptions_badbit_throw.cc,
876        exceptions_failbit_throw.cc, exceptions_null.cc: New.
877	* testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
878	New.
879	* testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
880	New.
881
8822003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
883
884	PR libstdc++/12297
885	* include/bits/istream.tcc
886	(basic_istream::sentry::sentry): Set failbit and eofbit when eof.
887	* testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
888
8892003-11-26  Paolo Carlini  <pcarlini@suse.de>
890	    Petur Runolfsson  <peturr02@ru.is>
891
892	PR libstdc++/13171
893	* include/bits/fstream.tcc (imbue): Relax the conditions under
894	which the function succeeds: allow for two consecutive calls with
895	the same name; state dependent encodings are ok even after open
896	if at the beginning of the file; don't check seekoff return value
897	(pipes, cin, cout, etc...)
898	* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
899	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
900	* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
901	* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
902	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
903	* testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
904	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
905	* testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
906
907	* testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
908	correctly use the UTF-8 locale appearing in the PR.
909
9102003-11-26  Paolo Carlini  <pcarlini@suse.de>
911
912	* include/bits/locale_facets.h
913	(__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
914	_M_truename and _M_falsename: the constructor always does
915	it immediately before the _M_cache call.
916
9172003-11-25  Paolo Carlini  <pcarlini@suse.de>
918
919	* config/locale/gnu/codecvt_members.cc (codecvt::do_length):
920	Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
921	former is very fast, but stops if encounters a NUL.
922	(codecvt::do_out): Tweaks.
923	(codecvt::do_in): Tweaks, improve the code dealing with errors.
924	* testsuite/performance/wchar_t_length.cc: New.
925
9262003-11-24  Paolo Carlini  <pcarlini@suse.de>
927
928	* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
929	Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
930	former is very fast, but stops if encounters a NUL.
931	(codecvt::do_out): Tweak.
932	* testsuite/performance/wchar_t_in.cc: New.
933
9342003-11-24  Paolo Carlini  <pcarlini@suse.de>
935
936	* include/bits/locale_facets.h
937	(__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
938	in order to avoid memory leaks; simplify a bit.
939
9402003-11-24  Benjamin Kosnik  <bkoz@redhat.com>
941
942	* include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove
943	non-standard throw specs.
944	* testsuite/24_iterators/istreambuf_iterator.cc: Split into...
945	* testsuite/24_iterators/istreambuf_iterator/1.cc
946	* testsuite/24_iterators/istreambuf_iterator/2.cc
947	* testsuite/24_iterators/istreambuf_iterator/2627.cc
948	* testsuite/24_iterators/ostreambuf_iterator.cc: Split into...
949	* testsuite/24_iterators/ostreambuf_iterator/1.cc
950	* testsuite/24_iterators/ostreambuf_iterator/2.cc
951
952	* testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
953	don't link.
954
955	* include/bits/allocator.h: Formatting tweak.
956
9572003-11-24  Paolo Carlini  <pcarlini@suse.de>
958
959	* src/locale_init.cc: Cosmetic reformatting.
960
9612003-11-23  Paolo Carlini  <pcarlini@suse.de>
962
963	* include/bits/locale_facets.tcc (__add_grouping):
964	Cosmetic reformatting.
965
9662003-11-23  Paolo Carlini  <pcarlini@suse.de>
967
968	* include/bits/locale_facets.tcc (_M_extract_float,
969	_M_extract_int): Remove a wrong comment and simplify
970	the corresponding code using char_traits::find().
971
9722003-11-22  Paolo Carlini  <pcarlini@suse.de>
973
974	* config/locale/gnu/monetary_members.cc
975	(money_base::_S_construct_pattern): Factor out two assignments.
976
9772003-11-22  Paolo Carlini  <pcarlini@suse.de>
978
979	* include/bits/istream.tcc (getline(basic_string<>&)):
980        Fix error in comment of the previous commit.
981
9822003-11-22  Paolo Carlini  <pcarlini@suse.de>
983
984	PR libstdc++/12593
985	* include/bits/istream.tcc (operator>>(basic_string<>&),
986	getline(basic_string<>&)): Implement resolution of DR 91 [WP];
987	fix some minor issues with the exit conditions.
988	* docs/html/ext/howto.html: Add an entry for DR 91.
989
9902003-11-21  Paolo Carlini  <pcarlini@suse.de>
991
992	* config/locale/gnu/monetary_members.cc
993	(money_base::_S_construct_pattern): Factor out an assignment.
994
9952003-11-21  Paolo Carlini  <pcarlini@suse.de>
996
997	PR libstdc++/12882 (partial)
998	* acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64
999	and ftello64 too.
1000	* include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64
1001	and ftello64 if available.
1002	* aclocal.m4: Regenerate.
1003	* configure: Ditto.
1004
10052003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1006
1007	* include/debug/formatter.h: Use _Tp as template argument.
1008	* src/debug.cc: Same, instantiate std::size_t.
1009
10102003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1011
1012	PR libstdc++/13109
1013	* include/debug/formatter.h (_Error_formatter::_M_format_word): New.
1014	* src/debug.cc (__gnu_debug): Format.
1015	(_Error_formatter::_M_format_word): Define, use, instantiate.
1016
10172003-11-20  Paolo Carlini  <pcarlini@suse.de>
1018
1019	PR libstdc++/11602
1020	* config/locale/gnu/codecvt_members.cc (codecvt::do_out):
1021	Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
1022	former is very fast, but stops if encounters a NUL.
1023	* testsuite/performance/wchar_t_out.cc: New, from the PR.
1024
10252003-11-19  Paolo Carlini  <pcarlini@suse.de>
1026
1027	* config/locale/gnu/codecvt_members.cc (do_out): If
1028	we can upper bound the total number of external chars
1029	to something smaller than __to_end - __to, avoid the
1030	temporary buffer, the memcopy and simplify the loop.
1031	* config/locale/generic/codecvt_members.cc (do_out):
1032	Likewise.
1033
10342003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
1035
1036	* testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
1037	* testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
1038	flag.
1039
10402003-11-18  Jonathan Wakely  <redi@gcc.gnu.org>
1041
1042	* docs/html/configopts.html, docs/html/debug.html,
1043	docs/html/documentation.html, docs/html/explanations.html,
1044	docs/html/install.html, docs/html/17_intro/contribute.html,
1045	docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
1046	docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
1047	docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
1048	docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
1049	docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
1050	docs/html/22_locale/messages.html, docs/html/23_containers/howto.html,
1051	docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html,
1052	docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
1053	docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add <link> tags.
1054
10552003-11-18  Paolo Carlini  <pcarlini@suse.de>
1056
1057	PR libstdc++/12868
1058	* include/bits/fstream.tcc (imbue): For encodings != -1 it's
1059	always ok to imbue a new locale, provided seekoff(0, cur, ...)
1060	doesn't fail, of course.
1061	(underflow): In order for the above to work, deal gracefully
1062	with _M_codecvt->in returning codecvt_base::error while
1063	(__ilen = __iend - this->eback()) > 0: it just means __ilen
1064	correctly converted internal characters before an error.
1065	* testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.
1066
10672003-11-17  Paolo Carlini  <pcarlini@suse.de>
1068
1069	* include/bits/locale_facets.tcc: Fix typo in comment.
1070
10712003-11-17  Paolo Carlini  <pcarlini@suse.de>
1072
1073	* testsuite/22_locale/num_put/put/char/8.cc: New test,
1074	summarizing the discussion ensuing libstdc++/12988.
1075	* testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto.
1076
10772003-11-15  Paolo Carlini  <pcarlini@suse.de>
1078
1079	* include/std/std_fstream.h: Tweak a comment.
1080
10812003-11-15  Roger Sayle  <roger@eyesopen.com>
1082
1083	* include/c_std/std_cmath.h: Don't import C99's float transcendentals
1084	into the __gnu_cxx::__c99_binding namespace.
1085	(acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
1086	ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
1087	GCC's math builtins, i.e. __builtin_foo.
1088	* libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
1089	ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
1090	ldexpf, ldexpl, modff, modfl): Provide stub implementations.
1091
10922003-11-14  Paolo Carlini  <pcarlini@suse.de>
1093
1094	* testsuite/22_locale/locale/cons/12352.cc: Use
1095	__gnu_test::try_named_locale.
1096
10972003-11-14  Paolo Carlini  <pcarlini@suse.de>
1098
1099	* docs/html/ext/howto.html: Add entries for DR 63, 75
1100	and 305; tweak entries for DR 60 and 328.
1101
11022003-11-13  Douglas Gregor  <gregod@cs.rpi.edu>
1103
1104	* docs/html/debug.html: Users are allowed to specialize in
1105	namespace __gnu_debug, unlike in the Apple version of the debug
1106	mode. Clear up a confusing double-negative. Note that
1107	std::basic_string does provide extra debugging capabilities, but
1108	not safe iterators.
1109	* include/bits/basic_string.tcc: Make sure there's never an
1110	ambiguity when calling __is_null_pointer.
1111	* include/debug/deque: (deque::erase) Properly handle invalidation
1112	when erasing at the end of the deque.
1113	* include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
1114	(vector::clear): Set the guaranteed capacity to 0.
1115	* testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
1116	iterator invalidation when erasing at the end of the deque.
1117
11182003-11-13  Paolo Carlini  <pcarlini@suse.de>
1119	    Petur Runolfsson  <peturr02@ru.is>
1120
1121	PR libstdc++/13007
1122	* include/bits/fstream.tcc (imbue): Don't touch the stored
1123	locale.
1124	* include/std/std_streambuf.h (imbue): According to the
1125	standard, base class version does nothing.
1126	(pubimbue): Store the locale.
1127	* testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
1128	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
1129	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
1130	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1131	* testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
1132	* testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
1133	* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
1134	* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.
1135
11362003-11-13  Petur Runolfsson  <peturr02@ru.is>
1137
1138	PR libstdc++/12594
1139	* include/bits/ostream.tcc
1140	(basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
1141	basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
1142	basic_ostream::operator<<(ios_base& (*)(ios_base&))):
1143	Implement the resolution of DR 60 (TC): These are not formatted
1144	output functions so don't construct sentry objects and don't
1145	catch exceptions.
1146	(basic_ostream::put, basic_ostream::write): Implement the
1147	resolution of DR 63 (TC) by catching exceptions and setting
1148	badbit.
1149	(basic_ostream::flush): Implement the resolution of DR 60 (TC):
1150	This is not an unformatted output function so don't construct
1151	a sentry object.
1152	* testsuite/testsuite_io.h (sync_streambuf): Define.
1153	* testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
1154	* testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
1155	* testsuite/27_io/basic_ostream/put/char/1.cc: New test.
1156	* testsuite/27_io/basic_ostream/write/char/1.cc: New test.
1157
11582003-11-13  Paolo Carlini  <pcarlini@suse.de>
1159
1160	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
1161	Fix, closely following the testcase included in the PR.
1162	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
1163	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
1164	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
1165
11662003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1167
1168	* docs/html/17_intro/configury.html: XHTML tweak.
1169
11702003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1171
1172	* docs/html/debug_mode.html: XHTML fixes.
1173
11742003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1175
1176	* docs/html/debug_mode.html: Update.
1177	* docs/html/17_intro/TODO: Update.
1178
11792003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1180
1181	* include/bits/c++config: Move using directive...
1182	* include/debug/formatter.h: ...here.
1183
11842003-11-12  Carlo Wood  <carlo@alinoe.com>
1185
1186        PR libstdc++/12947
1187	* bits/demangle.h
1188	(_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
1189	(_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
1190	(session<Allocator>::next_peek() const): Added.
1191	(decode_non_negative_decimal_integer(string_type&)):
1192	Renamed from decode_decimal_integer(string_type&).
1193	(session<Allocator>::decode_nested_name):
1194	Decode <template_param> as well.
1195	(session<Allocator>::add_substitution):
1196	Handle <template-param> for <nested-name>'s.
1197	(enum xary_nt): Added.
1198	(struct entry_st): Added member `xary_nt type' instead of `bool unary'.
1199	(symbol_name_table_c): Updated for `entry_st::type' and additional
1200	operators (unary `operator+' and `sizeof(type)').
1201	(offset_table_c): Updated for new operators (causing a new hash map).
1202	(decode_operator_name): Match the updated hash map.
1203	(session<Allocator>::decode_expression):
1204	Support for `sizeof ([typename] type)' (st),
1205	dependent names (sr) and casting operator (cv).  Handle
1206	`entry_st::type'.  Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
1207	and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
1208	(session<Allocator>::decode_type_with_postfix):
1209	Support `extern "C"' function types (FY).
1210	* testsuite/demangle/regression/cw-16.cc: Added tests for the
1211	added functionality.
1212	* testsuite/demangle/regression/3111-2.cc: sizeof now has a space
1213	appended.
1214
12152003-11-11  Paolo Carlini  <pcarlini@suse.de>
1216
1217	PR libstdc++/12875
1218	* include/bits/fstream.tcc (setbuf): Don't do anything
1219	after open(), in particular don't discard data.
1220	(_M_allocate_internal_buffer): Tweak to not allocate memory
1221	in case the buffer is provided by the user via setbuf.
1222	* include/ext/stdio_filebuf.h: Tweak comment.
1223	* testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
1224	* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
1225	* testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
1226	setbuf does nothing after open().
1227	* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1228
12292003-11-11  Doug Gregor  <gregod@cs.rpi.edu>
1230
1231	* docs/html/debug.html: Document libstdc++ debug mode.
1232	* docs/html/debug_mode.html: Document libstdc++ debug mode design.
1233	* docs/html/test.html: Document how to test under debug mode.
1234	* docs/html/17_intro/howto.html: Document debug-mode macros.
1235	* include/Makefile.am: Install debug-mode headers.
1236	* src/Makefile.am: Include debug.cc.
1237	* include/bits/basic_string.tcc:
1238	(basic_string::_S_construct): Fix NULL pointer check.
1239	(__is_null_pointer): New.
1240	Add precondition annotations.
1241	* include/bits/stream_iterator.h (istream_iterator,
1242	ostream_iterator): Added precondition annotations.
1243	* include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
1244	* include/bits/stl_queue.h (queue, priority_queue): Ditto.
1245	* include/bits/stl_stack.h (stack): Ditto.
1246	* include/bits/basic_string.h (basic_string): Ditto.
1247	* include/bits/basic_string.tcc (basic_string): Ditto.
1248	* include/std/std_memory.h (auto_ptr): Ditto.
1249	* include/std/std_valarray.h (valarray): Ditto.
1250	* include/bits/stl_algo.h: Added algorithm precondition
1251	annotations.
1252	* include/bits/stl_algobase.h: Added algorithm precondition
1253	annotations.
1254	* include/bits/stl_numeric.h: Ditto.
1255	* include/ext/algorithm: Added algorithm precondition
1256	annotations.
1257	(__is_heap): Moved away from here.
1258	* include/bits/stl_heap.h: Added algorithm precondition
1259	annotations.
1260	(__is_heap): Moved to the top of this file.
1261	(__is_heap): Added iterator range overloads.
1262	* testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
1263	with changes in std_memory.h.
1264	* testsuite/23_containers/list/operators/4.cc: Don't verify
1265	performance guarantees when in debug mode.
1266	* testsuite/23_containers/bitset/invalidation/1.cc: New.
1267	* testsuite/23_containers/deque/invalidation/1.cc: New.
1268	* testsuite/23_containers/deque/invalidation/2.cc: New.
1269	* testsuite/23_containers/deque/invalidation/3.cc: New.
1270	* testsuite/23_containers/deque/invalidation/4.cc: New.
1271	* testsuite/23_containers/list/invalidation/1.cc: New.
1272	* testsuite/23_containers/list/invalidation/2.cc: New.
1273	* testsuite/23_containers/list/invalidation/3.cc: New.
1274	* testsuite/23_containers/list/invalidation/4.cc: New.
1275	* testsuite/23_containers/map/invalidation/1.cc: New.
1276	* testsuite/23_containers/map/invalidation/2.cc: New.
1277	* testsuite/23_containers/multimap/invalidation/1.cc: New.
1278	* testsuite/23_containers/multimap/invalidation/2.cc: New.
1279	* testsuite/23_containers/multiset/invalidation/1.cc: New.
1280	* testsuite/23_containers/multiset/invalidation/2.cc: New.
1281	* testsuite/23_containers/set/invalidation/1.cc: New.
1282	* testsuite/23_containers/set/invalidation/2.cc: New.
1283	* testsuite/23_containers/vector/invalidation/1.cc: New.
1284	* testsuite/23_containers/vector/invalidation/2.cc: New.
1285	* testsuite/23_containers/vector/invalidation/3.cc: New.
1286	* testsuite/23_containers/vector/invalidation/4.cc: New.
1287	* testsuite/25_algorithms/heap.cc: Don't verify
1288	performance guarantees when in debug mode.
1289	* include/debug/bitset: New.
1290	* include/debug/debug.h: New.
1291	* include/debug/deque: New.
1292	* include/debug/formatter.h: New.
1293	* include/debug/hash_map: New.
1294	* include/debug/hash_map.h: New.
1295	* include/debug/hash_multimap.h: New.
1296	* include/debug/hash_set: New.
1297	* include/debug/hash_set.h: New.
1298	* include/debug/hash_multiset.h: New.
1299	* include/debug/list: New.
1300	* include/debug/map: New.
1301	* include/debug/map.h: New.
1302	* include/debug/multimap.h: New.
1303	* include/debug/multiset.h: New.
1304	* include/debug/safe_base.h: New.
1305	* include/debug/safe_iterator.h: New.
1306	* include/debug/safe_iterator.tcc: New.
1307	* include/debug/safe_sequence.h: New.
1308	* include/debug/set: New.
1309	* include/debug/set.h: New.
1310	* include/debug/string: New.
1311	* include/debug/vector: New.
1312	* src/debug.cc: New.
1313	* config/linker-map.gnu: Add debug mode symbols.
1314
13152003-11-11  Benjamin Kosnik  <bkoz@redhat.com>
1316
1317	* src/string-inst.cc: Tweak namespaces.
1318	* src/misc-inst.cc: Same.
1319	* docs/html/debug.html: Edits.
1320	* config/link-map.gnu: Remove cruft.
1321
1322	* include/bits/c++config: Add in namespace associations.
1323	* include/std/std_bitset.h: Adjust namespace to __gnu_norm,
1324	comment tweaks.
1325	* include/bits/deque.tcc: Same.
1326	* include/bits/list.tcc: Same.
1327	* include/bits/stl_bvector.h: Same.
1328	* include/bits/stl_deque.h: Same.
1329	* include/bits/stl_list.h: Same.
1330	* include/bits/stl_map.h: Same.
1331	* include/bits/stl_multimap.h: Same.
1332	* include/bits/stl_multiset.h: Same.
1333	* include/bits/stl_set.h: Same.
1334	* include/bits/stl_vector.h: Same.
1335	* include/bits/vector.tcc: Same.
1336
1337	* include/std/std_algorithm.h: Remove markup comments.
1338	* include/std/std_functional.h: Same.
1339	* include/std/std_iterator.h: Same.
1340	* include/std/std_numeric.h: Same.
1341	* include/std/std_utility.h: Same.
1342	* include/bits/stl_queue.h: Formatting tweaks.
1343	* include/bits/stl_stack.h: Same.
1344	* include/std/std_deque.h: Include debugging version in debug mode.
1345	* include/std/std_list.h: Same.
1346	* include/std/std_map.h: Same.
1347	* include/std/std_set.h: Same.
1348	* include/std/std_vector.h: Same.
1349	* include/std/std_queue.h: Use deque, vector.
1350	* include/std/std_stack.h: Same.
1351
13522003-11-09  Paolo Carlini  <pcarlini@suse.de>
1353
1354	* include/bits/locale_facets.tcc (_M_insert_int,
1355	_M_insert_float): Move a couple of vars inside an if block.
1356
13572003-11-09  Paolo Carlini  <pcarlini@suse.de>
1358
1359	PR libstdc++/12971
1360	* include/bits/locale_facets.tcc
1361	(money_put::do_put(..., long double)): Fix conversion
1362	specification as per DR 328 [WP].
1363	* testsuite/22_locale/money_put/put/char/12971.cc: Add.
1364	* testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
1365	* docs/html/ext/howto.html: Add entry for DR 328.
1366
13672003-11-08  Paolo Carlini  <pcarlini@suse.de>
1368
1369	PR libstdc++/12967
1370	* include/bits/list.tcc (merge): Implement resolution of
1371	DR 300 [WP].
1372	* docs/html/ext/howto.html: Add entry for DR 300; tweak entry
1373	for DR 231.
1374
1375	* docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1376	Import R27.
1377
13782003-11-07  Jonathan Wakely  <redi@gcc.gnu.org>
1379
1380	* libsupc++/vec.cc: Conform to C++STYLE.
1381
13822003-11-07  Carlo Wood  <carlo@alinoe.com>
1383
1384	PR libstdc++/12736
1385	* bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
1386	(qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
1387	K, V, r and A qualifiers before processing them as a group.
1388	* testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
1389	* testsuite/demangle/regression/cw-16.cc: New.
1390
13912003-11-07  Robert Millan  <robertmh@gnu.org>
1392
1393	* configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
1394	* crossconfig.m4: Likewise.
1395	* configure: Regenerate.
1396
13972003-11-07  Carlo Wood  <carlo@alinoe.com>
1398
1399	* include/bits/demangle.h
1400	(qualifier_list<Allocator>::decode_qualifiers(string_type&,
1401	string_type&, bool member_function_pointer_qualifiers):
1402	Always separate the '[' of an array type with a space from
1403	what is left of it, except when that is the closing bracket
1404	of another array dimension.
1405
14062003-11-07  Carlo Wood  <carlo@alinoe.com>
1407
1408	* include/bits/demangle.h
1409	(qualifier_list<Allocator>::decode_qualifiers(string_type&,
1410	string_type&, bool) const): Made const.
1411	(qualifier_list<Allocator>::M_printing_suppressed): Added mutable.
1412	(_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3,
1413	std::ostream& operator<<(std::ostream&, qualifier const&),
1414	std::ostream& operator<<(std::ostream&, qualifier_list const&),
1415	qualifier_list<Allocator>::decode_qualifiers(string_type&,
1416	string_type&, bool) const,
1417	session<Allocator>::decode_type_with_postfix(string_type&,
1418	string_type&, qualifier_list<Allocator>*))
1419	Added and/or changed debug-only hooks and code.
1420
14212003-11-04  Jeffrey D. Oldham  <oldham@codesourcery.com>
1422
1423	* libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
1424	immediately return.  This reflects a C++ ABI change 2003 Nov 03.
1425	(__cxa_vec_delete3): Likewise.
1426
14272003-11-03  Petur Runolfsson  <peturr02@ru.is>
1428
1429	PR libstdc++/12790
1430	* include/bits/fstream.tcc: Delete _M_last_overflowed.
1431	(basic_filebuf::basic_filebuf): Initialize _M_state_last.
1432	(basic_filebuf::open, basic_filebuf::close): Assign
1433	_M_state_beg to _M_state_cur and _M_state_last.
1434	(basic_filebuf::close): Call _M_terminate_output to handle
1435	unshift and flushing.
1436	(basic_filebuf::underflow): Assign _M_state_last, throw
1437	exception instead of calling abort when codecvt::max_length()
1438	is bad.
1439	(basic_filebuf::seekoff): Use _M_state_last when calling
1440	codecvt::length(), pass correct state to _M_seek.
1441	(basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
1442	(basic_filebuf::_M_seek): Add __state_type parameter,
1443	set _M_state_cur correctly, store the resulting state in
1444	the return value and use _M_terminate_output to handle
1445	flushing and unshift.
1446	(basic_filebuf::_M_terminate_output): Flush contents of
1447	output buffer, if any, then call codecvt::unshift as
1448	needed and output the result.
1449	(basic_filebuf::sync): Move here, don't modify _M_writing
1450	or _M_reading.
1451
1452	* include/std/std_fstream.h
1453	(basic_filebuf::_M_state_last): Declare it.
1454	(basic_filebuf::_M_last_overflowed): Delete.
1455	(basic_filebuf::_M_seek): Add __state_type parameter.
1456	(basic_filebuf::sync): Declare only.
1457	(basic_filebuf::_M_output_unshift): Delete.
1458	(basic_filebuf::_M_terminate_output): Declare it.
1459
1460	* testsuite/testsuite_character.h:
1461	Define character class and state class plus char_traits and
1462	codecvt specializations for same for testing support for
1463	stateful encodings.
1464
1465	* testsuite/27_io/basic_filebuf/close/12790-1.cc,
1466	* testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
1467	* testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
1468	* testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
1469	* testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
1470	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
1471	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
1472	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
1473	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
1474	* testsuite/27_io/basic_filebuf/open/12790-1.cc,
1475	* testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
1476	* testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
1477	* testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
1478	* testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
1479	* testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
1480	* testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
1481	* testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
1482	* testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
1483	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
1484	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
1485	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
1486	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
1487	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
1488	* testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
1489	* testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
1490	* testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
1491	* testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
1492	* testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
1493	* testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
1494	* testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
1495	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
1496	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
1497	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
1498	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
1499	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
1500	* testsuite/27_io/basic_filebuf/sync/char/1.cc,
1501	* testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
1502	New tests.
1503
1504	* testsuite/27_io/basic_filebuf/3.cc,
1505	* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
1506	* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
1507	* testsuite/27_io/basic_fstream/3.cc,
1508	* testsuite/27_io/basic_ifstream/3.cc,
1509	* testsuite/27_io/basic_ofstream/3.cc:
1510	Use streamoff as off_type and fpos<state_type> as pos_type.
1511
1512	* testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
1513	* testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
1514	Check that sync does *not* set _M_writing to false.
1515
15162003-11-03  Anthony Green  <green@redhat.com>
1517
1518	* libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
1519	they're used.
1520
15212003-11-03  Benjamin Kosnik  <bkoz@redhat.com>
1522
1523	* include/bits/locale_facets.h (time_get::_M_extract_name): Add
1524	ctype argument.
1525	* include/bits/locale_facets.tcc: Same, use it to allow
1526	capitalized names.
1527
1528	* include/bits/fstream.tcc: Spacing tweak.
1529	* include/bits/istream.tcc: Same.
1530	* include/bits/ostream.tcc: Same.
1531
15322003-10-30  Paolo Carlini  <pcarlini@suse.de>
1533
1534	* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1535	__mod is only assigned, never used its value, remove it.
1536
15372003-10-29  Paolo Carlini  <pcarlini@suse.de>
1538
1539	* include/bits/locale_facets.tcc (time_get::do_get_year):
1540	Absolutely avoid dereferencing end iterators.
1541	(time_put::put): Minor clean up.
1542
1543	* include/bits/locale_facets.tcc: Cosmetic reformattings.
1544
15452003-10-29  Paolo Carlini  <pcarlini@suse.de>
1546
1547	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
1548	Revert the last commit, is not correct, sorry.
1549
15502003-10-29  Paolo Carlini  <pcarlini@suse.de>
1551
1552	* config/locale/generic/c_locale.cc: Add back <cmath> and
1553	<cstdlib>.
1554
1555	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
1556	Clean up.
1557
15582003-10-29  Paolo Carlini  <pcarlini@suse.de>
1559
1560	* include/bits/locale_facets.tcc (time_put::put): Absolutely
1561	avoid dereferencing end iterators; clean up.
1562
1563	* include/bits/locale_facets.tcc (num_get::_M_extract_float,
1564	num_get::_M_extract_int): Minor tweak.
1565
15662003-10-29  Paolo Carlini  <pcarlini@suse.de>
1567
1568	* include/bits/locale_facets.tcc: Remove some unnecessary
1569	includes.
1570	* config/locale/generic/c_locale.cc: Include <cerrno> here.
1571	* config/locale/gnu/c_locale.cc: Likewise.
1572
15732003-10-28  Paolo Carlini  <pcarlini@suse.de>
1574
1575	* include/bits/locale_facets.tcc
1576	(money_get<>::do_get(..., string_type&)): Absolutely avoid
1577	dereferencing end iterators; general clean up.
1578
15792003-10-28  Paolo Carlini  <pcarlini@suse.de>
1580
1581	* include/bits/locale_facets.tcc (time_get::_M_extract_num):
1582	Absolutely avoid dereferencing end iterators.
1583	(time_get::_M_extract_name): Likewise.
1584
1585	* include/bits/locale_facets.tcc
1586	(time_get::_M_extract_via_format, case 'e'): Don't try to
1587	be smart wrt returning the right __beg in case of parse
1588	error, time_get::_M_extract_num must be fixed instead.
1589
15902003-10-27  Paolo Carlini  <pcarlini@suse.de>
1591
1592	PR libstdc++/12778
1593	* acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
1594	* aclocal.m4: Regenerate.
1595	* configure: Regenerate.
1596
15972003-10-27  Benjamin Kosnik  <bkoz@redhat.com>
1598
1599	* docs/html/17_intro/TODO: Add links.
1600	* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1601	Uncomment.
1602
16032003-10-27  Paolo Carlini  <pcarlini@suse.de>
1604
1605	PR libstdc++/12750
1606	* include/bits/locale_facets.tcc
1607	(time_get::_M_extract_via_format): Deal with code 'e'.
1608	* testsuite/22_locale/time_get/get_date/char/12750.cc: New.
1609	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
1610
1611	* include/bits/locale_facets.tcc
1612	(time_get::_M_extract_via_format): Tweak to absolutely avoid
1613	dereferencing end iterators.
1614
1615	* include/bits/locale_facets.h (__verify_grouping):
1616	Const-ify second parameter.
1617	* include/bits/locale_facets.tcc (__verify_grouping): Ditto.
1618	* src/locale-inst.cc (__verify_grouping): Ditto.
1619
16202003-10-27  Paolo Carlini  <pcarlini@suse.de>
1621
1622	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
1623	Various things: 1- Avoid absolutely end iterator dereferences;
1624	2- Improve performance-wise the code skipping leading zeros;
1625	3- Fix two bugs wrt early bail out in case of parsing errors
1626	(see testcases); 4- General clean up.
1627	(num_get::_M_extract_int): Likewise, except 3-. Additionally,
1628	use __builtin_expect to favor base 10 inputs.
1629	* testsuite/22_locale/num_get/get/char/7.cc: New.
1630	* testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
1631
16322003-10-26  Paolo Carlini  <pcarlini@suse.de>
1633
1634	* testsuite/22_locale/money_put/put/char/1.cc: Clean up.
1635	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.
1636
16372003-10-25  Paolo Carlini  <pcarlini@suse.de>
1638
1639	* include/bits/locale_facets.tcc (num_get::_M_extract_int):
1640	__pos in only incremented, never used its value, remove it.
1641
16422003-10-24  Robert Millan  <robertmh@gnu.org>
1643
1644	* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
1645	and knetbsd*-gnu.
1646	* aclocal.m4:  Regenerated.
1647	* configure:  Regenerated.
1648
16492003-10-24  Paolo Carlini  <pcarlini@suse.de>
1650
1651	* include/bits/locale_facets.tcc (money_get::do_get(...,
1652	long double&): Properly size the temporary buffer.
1653	* testsuite/22_locale/money_get/get/char/11.cc: New.
1654	* testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto.
1655
1656	* include/bits/locale_facets.tcc (num_put::_M_group_int,
1657	num_put::_M_group_float, money_put::do_put(..., const
1658	string_type&), collate::do_compare, collate::do_transform):
1659	Prefer basic_string::data() to c_str() when the '\0'
1660	terminator is not really needed.
1661
16622003-10-24  Paolo Carlini  <pcarlini@suse.de>
1663
1664	* include/bits/locale_facets.tcc (__verify_grouping):
1665	Prefer '=' to an unnecessary '&='.
1666
16672003-10-24  Paolo Carlini  <pcarlini@suse.de>
1668
1669	* include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
1670	Tweak my fix for libstdc++/12657.
1671
16722003-10-24  Paolo Carlini  <pcarlini@suse.de>
1673
1674	* include/bits/locale_facets.tcc (money_get::do_get(...,
1675	string_type&): Minor tweak to the previous commit.
1676
16772003-10-24  Paolo Carlini  <pcarlini@suse.de>
1678
1679	* include/bits/locale_facets.tcc (money_get::do_get(...,
1680	string_type&): Disregard the previous commit: doesn't hurt but
1681	doesn't accomplish anything useful either. This is the right
1682	one, speeding up greatly the function in case of early fail.
1683
16842003-10-24  Paolo Carlini  <pcarlini@suse.de>
1685
1686	* include/bits/locale_facets.tcc (money_get::do_get(...,
1687	string_type&): Move an if block, thus minimizing the amount
1688	of code processed anyway when __tmp_units.size() == 0.
1689
16902003-10-24  Paolo Carlini  <pcarlini@suse.de>
1691
1692	* include/bits/locale_facets.tcc
1693	(time_get<>::_M_extract_via_format): Deal with case 'C' too,
1694	equivalent to 'y'.
1695
16962003-10-23  Benjamin Kosnik  <bkoz@redhat.com>
1697
1698	* docs/html/documentation.html: Add a pointer to the doxygen style
1699	guide.
1700	* docs/html/17_intro/TODO: Update.
1701	* docs/html/test.html: Add instructions for running a subset of
1702	tests, update.
1703
17042003-10-23  Paolo Carlini  <pcarlini@suse.de>
1705
1706	* include/bits/locale_facets.tcc (money_get<>::do_get(...,
1707	string_type&)): Use find_first_not_of to strip leading
1708	zeros; if __tmp_units == "0" never prefix it with '-';
1709	always fail if __tmp_units is empty.
1710	* testsuite/22_locale/money_get/get/char/10.cc: New.
1711	* testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
1712
17132003-10-23  Phil Edwards  <phil@codesourcery.com>
1714
1715	* config/os/vxworks/ctype_noninline.h:  Adjust ctor to match
1716	2003-10-21 change.
1717
17182003-10-22  Paolo Carlini  <pcarlini@suse.de>
1719
1720	* include/bits/locale_facets.tcc (__int_to_char): Remove
1721	the const int parameter.
1722	(_M_insert_int): Update caller.
1723	* src/locale-inst.cc (__int_to_char): Update instantiations.
1724
17252003-10-22  Benjamin Kosnik  <bkoz@redhat.com>
1726
1727	* include/bits/locale_facets.h: Correct byname facets for "C"
1728	locale.
1729	* config/locale/generic/ctype_members.cc: Same.
1730	* config/locale/generic/messages_members.h: Same.
1731	* config/locale/gnu/ctype_members.cc: Same.
1732	* config/locale/gnu/messages_members.h: Same.
1733	* include/bits/codecvt.h: Same.
1734	* src/ctype.cc: Same.
1735	* testsuite/22_locale/codecvt_byname/1.cc: New.
1736	* testsuite/22_locale/collate/1.cc: Edit.
1737	* testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
1738	* testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
1739	* testsuite/22_locale/ctype/1.cc: Derivation tests.
1740	* testsuite/22_locale/ctype/11844.cc: Move...
1741	* testsuite/22_locale/ctype_base/11844.cc: ...here.
1742	* testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
1743	* testsuite/22_locale/ctype_byname/1.cc: Name.
1744	* testsuite/22_locale/messages_byname/1.cc: New.
1745	* testsuite/22_locale/messages_byname/named_equivalence.cc: New.
1746	* testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
1747	* testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
1748	* testsuite/22_locale/numpunct/1.cc: Edit.
1749	* testsuite/22_locale/numpunct_byname/2.cc: Move...
1750	* testsuite/22_locale/numpunct/members/char/3.cc: ...here.
1751	* testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
1752	* testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.
1753
17542003-10-22  Paolo Carlini  <pcarlini@suse.de>
1755
1756	PR libstdc++/8610
1757	* acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
1758	checking for the availability of int64_t.
1759	(GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
1760	* configure.ac: Call here.
1761	* acconfig.h: Add undef for the corresponding symbols.
1762	* config/io/basic_file_stdio.cc	(__basic_file<char>::open):
1763	Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
1764	(__basic_file<char>::seekoff): Likewise, call lseek64 when
1765	available, otherwise lseek, checking the __off parameter.
1766	* include/bits/postypes.h: Typedef __streamoff_base_type
1767	to int64_t if available, otherwise long long.
1768	* aclocal.m4: Regenerate.
1769	* config.h.in: Likewise.
1770	* configure: Likewise.
1771
1772	* acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
1773	Use AC_TRY_LINK instead of AC_TRY_COMPILE.
1774
17752003-10-22  Paolo Carlini  <pcarlini@suse.de>
1776
1777	PR libstdc++/12657
1778	* include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
1779	Implement resolution of DR 292 (WP).
1780	* docs/html/ext/howto.html: Add entry for DR 292.
1781
17822003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
1783
1784	* include/ext/mt_allocator.h: Change include to gthr.h.
1785	* include/ext/rope: Same. Add _Refcount_base definitions.
1786	* include/ext/pool_allocator.h: Adjust namespaces.
1787	* include/bits/stl_threads.h (_Refcount_base): Move.
1788	Put remaining into namespace __gnu_cxx.
1789
17902003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
1791
1792	PR libstdc++/9858
1793	* include/bits/locale_facets.h (ctype<char>): Remove
1794	__ctype_abstract_base.
1795	(ctype<char>::do_is): Remove.
1796	(ctype<char>::do_scan_is): Remove.
1797	* src/ctype.cc: Same. Inline the rest.
1798	* testsuite/22_locale/ctype/is/char/9858.cc: New.
1799	* config/os/aix/ctype_noninline.h: Adjust ctor.
1800	* config/os/bsd/freebsd/ctype_noninline.h: Same.
1801	* config/os/bsd/netbsd/ctype_noninline.h: Same.
1802	* config/os/djgpp/ctype_noninline.h: Same.
1803	* config/os/generic/ctype_noninline.h: Same.
1804	* config/os/gnu-linux/ctype_noninline.h: Same.
1805	* config/os/hpux/ctype_noninline.h: Same.
1806	* config/os/irix/irix5.2/ctype_noninline.h: Same.
1807	* config/os/irix/irix6.5/ctype_noninline.h: Same.
1808	* config/os/mingw32/ctype_noninline.h: Same.
1809	* config/os/newlib/ctype_noninline.h: Same.
1810	* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
1811	* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
1812	* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
1813	* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
1814	* config/os/windiss/ctype_noninline.h: Same.
1815
18162003-10-21  Paolo Carlini  <pcarlini@suse.de>
1817
1818	* src/locale.cc: Tweak a comment.
1819	* src/localename.cc: Move a comment.
1820
18212003-10-20  Benjamin Kosnik  <bkoz@redhat.com>
1822
1823	PR libstdc++/10081
1824	* testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
1825	* testsuite_hooks.cc: Same.
1826	* 22_locale/numpunct/members/pod/1.cc: Edit.
1827	* 22_locale/numpunct/members/pod/2.cc: Same.
1828	* 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
1829	* 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
1830	* 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
1831	* 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
1832	* 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
1833	* 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
1834	* 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
1835	* 27_io/basic_istream/sentry/pod/1.cc: New.
1836	* 27_io/basic_ostream/sentry/pod/1.cc: New.
1837	* 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
1838	* 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.
1839
18402003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1841
1842	* config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
1843	of external _MIPS_SIM_ABI32.
1844
18452003-10-20  Phil Edwards  <phil@codesourcery.com>
1846
1847	* configure.ac:  Fix comment typo.
1848	* configure.host:  Add vxworks to host_os switch.
1849	* crossconfig.m4:  Remove old commented os_include_dir variables
1850	left over from autotools transition.
1851	(*-vxworks):  New stanza.
1852	(*-windiss):  Add missing symbols.
1853	* configure:  Regenerate.
1854	* config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
1855	config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
1856	New files.
1857	* config/os/windiss/os_defines.h:  Define __C9X__.
1858
18592003-10-19  David Edelsohn  <edelsohn@gnu.org>
1860
1861	PR other/12506
1862	* configure.host (aix4,aix*): Define os_include_dir to os/generic.
1863
18642003-10-18  Andreas Tobler  <a.tobler@schweiz.ch>
1865
1866	* src/locale.cc (locale::_S_initialize): Re-apply workaround a
1867	confusion of the use of the gthr API when __gthread_active_p()
1868	returns true.
1869
18702003-10-17  Benjamin Kosnik  <bkoz@redhat.com>
1871
1872	* src/Makefile.am: Add new files.
1873	* src/Makefile.in: Regenerate.
1874	* src/globals.cc: Split into..
1875	* src/globals_io.cc: New.
1876	* src/globals_locale.cc: New.
1877	* src/ios.cc: Split into...
1878	* src/ios_init.cc: New.
1879	* src/ios_locale.cc: New.
1880	* src/locale-inst.cc: Split into..
1881	* src/wlocale-inst.cc: New.
1882	* src/locale-misc-inst.cc: New.
1883	* src/locale.cc, src/localename: Split into...
1884	* src/locale_facets.cc: New.
1885	* src/locale_init.cc: New.
1886	* src/wstring-inst.cc: Add copyright info.
1887
18882003-10-16  Petur Runolfsson  <peturr02@ru.is>
1889
1890	PR libstdc++/11450
1891	PR libstdc++/11543
1892	PR libstdc++/12065
1893	* config/io/basic_file_stdio.cc (__basic_file::seekoff):
1894	Change return value from streampos to streamoff.
1895	(__basic_file::seekpos): Delete.
1896	* config/io/basic_file_stdio.h: Same.
1897	* config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
1898	* include/Makefile.am (bits_headers): Add bits/postypes.h.
1899	* include/bits/char_traits.h: Include bits/postypes.h instead of
1900	bits/fpos.h.
1901	* include/bits/fstream.tcc (basic_filebuf::open,
1902	basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
1903	values, use == and != instead.
1904	(basic_filebuf::_M_seek): Use explicit conversion from streamoff
1905	to pos_type.
1906	(basic_filebuf::imbue):  Don't use ! on pos_type values, use
1907	== instead. Don't use __check_facet(_M_codecvt) unless is_open().
1908	* include/bits/postypes.h: New file.
1909	Add __streamoff_base_type typedef, streamsize.
1910	(streamoff, streampos, wstreampos): Define typedefs, with
1911	streamoff defined as...
1912	(streamoff): New class. Document implementation defined
1913	aspects.
1914	(fpos): New implementation. Document implementation defined
1915	aspects.
1916	* include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
1917	explicit conversion from pos_type to off_type.
1918	* include/std/std_iosfwd.h: Include bits/postypes.h instead
1919	of bits/fpos.h.
1920	* testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
1921	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
1922	* testsuite/27_io/fpos/11450.cc: New test.
1923	* testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
1924	* testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
1925	* testsuite/27_io/types/3.cc: New test.
1926
19272003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
1928
1929	* configure.host: Remove fpos_include_dir.
1930	* configure.ac: Remove FPOS_INC_SRCDIR.
1931	* configure: Regenerate.
1932	* acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
1933	* aclocal.m4: Regenerate.
1934	* include/Makefile.am (host_headers): Remove fpos.h.
1935	(bits_headers): Add postypes.h.
1936	* include/Makefile.in: Regenerate.
1937	* config/os/gnu-linux/fposh: Remove.
1938	* config/os/generic/fpos.h: Remove.
1939
1940	* testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
1941	* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
1942	* testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
1943	* testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
1944	* testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
1945	* testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
1946	* testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
1947	* testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
1948	* testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
1949	* testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
1950	* testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
1951	* testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
1952	* testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
1953	* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
1954	* testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
1955	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
1956	* testsuite/27_io/objects/char/10.cc: Same.
1957
19582003-10-16  Paolo Carlini  <pcarlini@suse.de>
1959
1960	* src/locale.cc (locale::locale(const char*)): ... one
1961	more comparison missed in the previous commit.
1962
19632003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
1964
1965        * acconfig.h: Add HAVE_DRAND48.
1966	* crossconfig.m4: Remove ISATTY.
1967	* aclocal.m4: Regenerated.
1968	* config.h.in: Regenerated.
1969	* configure: Regenerated.
1970
19712003-10-16  Bernardo Innocenti  <bernie@develer.com>
1972
1973	* config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
1974	__mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
1975	Document SMP safeness of asm macros.
1976
19772003-10-16  Paolo Carlini  <pcarlini@suse.de>
1978
1979	* src/locale.cc (locale::locale(const char*)): Tweak
1980	a couple of comparisons to use basic_string operators.
1981
19822003-10-16  Paolo Carlini  <pcarlini@suse.de>
1983
1984	PR libstdc++/12540
1985	* config/locale/gnu/monetary_members.cc
1986	(moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
1987	Don't leak memory if new throws.
1988	* src/locale.cc (locale::locale(const char*)): In order not
1989	to leak memory in case new throws, use a basic_string type
1990	for __res too and avoid strdup.
1991
19922003-10-14  Jeff Bailey  <jbailey@nisa.net>
1993
1994	PR libstdc++/12562
1995	* crossconfig.m4: Share the config between *-linux* and *-gnu*.
1996	* configure: Regenerate.
1997
19982003-10-14  Carlo Wood  <carlo@alinoe.com>
1999
2000	PR libstdc++/12600
2001	* include/bits/demangle.h (session<Allocator>::
2002	  decode_unqualified_name(string_type& output)): Fail on a
2003	  <operator-name> when decoding <template-argument>.
2004	* testsuite/demangle/regression/cw-15.cc: New.
2005
20062003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2007
2008	PR libstdc++/11480
2009	* include/bits/stl_algo.h (unique): Fix.
2010	* testsuite/25_algorithms/unique.cc: Move to unique/1.cc.
2011	* testsuite/25_algorithms/unique/11480.cc: New, from the PR.
2012	* testsuite/25_algorithms/unique/2.cc: New.
2013
20142003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2015
2016	* src/localename.cc (_M_replace_categories, M_replace_facet):
2017	Const-ify a couple of variables.
2018
20192003-10-14  Petur Runolfsson  <peturr02@ru.is>
2020	    Andreas Tobler  <a.tobler@schweiz.ch>
2021
2022	* src/locale.cc (locale::_S_initialize): Workaround a confusion
2023	of the use of the gthr API when __gthread_active_p() returns true.
2024
20252003-10-12  Petur Runolfsson  <peturr02@ru.is>
2026	    Paolo Carlini  <pcarlini@unitus.it>
2027
2028	PR libstdc++/11460
2029	* src/strstream.cc (pbackfail): Fix to use to_int_type.
2030	* testsuite/backward/11460.cc: New, from the PR.
2031
20322003-10-12  Paolo Carlini  <pcarlini@unitus.it>
2033
2034	* config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2035	Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
2036	* include/bits/basic_string.tcc: Likewise.
2037	* include/bits/ios_base.h: Likewise.
2038	* include/bits/istream.tcc: Likewise.
2039	* include/bits/locale_facets.tcc: Likewise.
2040	* include/bits/ostream.tcc: Likewise.
2041	* include/bits/stl_function.h: Likewise.
2042	* include/bits/stl_multiset.h: Likewise.
2043	* include/bits/stl_pair.h: Likewise.
2044	* include/bits/stl_set.h: Likewise.
2045	* include/bits/streambuf_iterator.h
2046	* include/std/std_iosfwd.h: Likewise.
2047	* include/std/std_istream.h: Likewise.
2048	* include/std/std_sstream.h: Likewise.
2049	* include/std/std_streambuf.h: Likewise.
2050	* src/ios.cc: Likewise.
2051	* include/bits/c++config:
2052	Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
2053	* testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
2054	dg-error directive due to removal of a blank line.
2055	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2056
20572003-10-12  Andreas Tobler  <a.tobler@schweiz.ch>
2058	    Paolo Carlini  <pcarlini@unitus.it>
2059
2060	PR libstdc++/11844/11740 (cont)
2061	* config/os/generic/ctype_inline.h (ctype<char>::is):
2062	Generically, use a bitmasksize of 15 (instead of 10);
2063	Fix the logic to actually return (M & m) != 0 as per
2064	22.2.1.1.2.
2065
20662003-10-11  Bernardo Innocenti  <bernie@develer.com>
2067
2068	* crossconfig.m4 (*-uclinux*): New target.
2069	* configure: Regenerate.
2070
20712003-10-10  Paolo Carlini  <pcarlini@unitus.it>
2072
2073	* include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT))
2074	Avoid unnecessarily calling __builtin_alloca and dealing
2075	explicitly with width() smaller than zero.
2076	(operator<<(basic_ostream&, char), operator<<(basic_ostream&,
2077	const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
2078	const char*), operator<<(basic_ostream<char, _Traits>&,
2079	const char*), operator<<(basic_ostream, const basic_string&)):
2080	Likewise.
2081
20822003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2083
2084	* config/linker-map.gnu: Make more *_type_info bits visible.
2085	Move new/delete bits back into GLIBCXX space.
2086
2087	* include/bits/locale_classes.h: Move _M_id out of line, so that
2088	locale::id::_S_highwater can be removed from the export list.
2089	* src/locale.cc (locale::id::_M_id): Define.
2090
20912003-10-09  Andreas Tobler  <a.tobler@schweiz.ch>
2092
2093	* testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
2094	SPARC64.
2095
20962003-10-09  Paolo Carlini  <pcarlini@unitus.it>
2097
2098	PR libstdc++/11844
2099	* config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
2100	to conform to the requirements of 22.2.1.
2101	* config/os/bsd/freebsd/ctype_base.h: Likewise.
2102	* config/os/djgpp/ctype_base.h: Likewise.
2103	* config/os/generic/ctype_base.h: Likewise.
2104	* config/os/gnu-linux/ctype_base.h: Likewise.
2105	* config/os/hpux/ctype_base.h: Likewise.
2106	* config/os/irix/irix6.5/ctype_base.h: Likewise.
2107	* config/os/solaris/solaris2.6/ctype_base.h: Likewise.
2108	* config/os/solaris/solaris2.7/ctype_base.h: Likewise.
2109	* testsuite/22_locale/ctype/11844.cc: New.
2110
2111	* config/locale/generic/ctype_members.cc (do_is):
2112	Generically, use a bitmasksize of 15 (instead of 10), since
2113	we don't know the numerical encoding of the various categories
2114	in the underlying /usr/include/ctype.h.
2115
21162003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2117
2118	* src/string-inst.cc: Prune.
2119	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
2120	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2121
21222003-10-09  Petur Runolfsson  <peturr02@ru.is>
2123
2124	* src/io-inst.cc: Don't include iostream.
2125	* include/bits/ios_base.h (ios_base::failure): Use string.
2126	* src/Makefile.am: Add ios_failure.cc.
2127	* src/Makefile.in: Regenerate.
2128	* src/ios.cc: Move ios_base::failure definitions to...
2129	* src/ios_failure.cc: ...here. New.
2130
21312003-10-09  Petur Runolfsson  <peturr02@ru.is>
2132
2133	PR libstdc++/9874
2134	* include/bits/fstream.tcc (basic_filebuf::seekoff):
2135	Move code needed for both seekoff and seekpos...
2136	(basic_filebuf::_M_seek): ...here. New function.
2137	(basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
2138	* include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
2139	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.
2140
2141	* testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.
2142
21432003-10-08  Paolo Carlini  <pcarlini@unitus.it>
2144
2145	* include/bits/locale_facets.tcc: More minor cosmetic
2146	changes and const-ifications of some variables.
2147
21482003-10-07  Paolo Carlini  <pcarlini@unitus.it>
2149
2150	* include/bits/locale_facets.tcc: Minor cosmetic changes
2151	and const-ifications of some variables.
2152
2153	* include/bits/locale_facets.tcc
2154	(money_get::do_get(..., string_type&)): Simplify an if-else.
2155
21562003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2157
2158	PR libstdc++/11740
2159	* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
2160	Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
2161	* config/locale/generic/ctype_members.cc: Same.
2162	* testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.
2163
21642003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2165
2166	* include/bits/locale_facets.tcc (__pad<>::_S_pad):
2167	Improve performance-wise: avoid one traits::copy, avoid
2168	the __builtin_alloca, streamline.
2169
21702003-10-05  Paolo Carlini  <pcarlini@unitus.it>
2171
2172	* include/bits/locale_facets.tcc
2173	(num_put::do_put(..., bool)): Prefer ?: to if-else.
2174	(time_get::_M_extract_name): Qualify min with std::.
2175	(__pad<>::_S_pad): Constify two variables; simplify an
2176	if-else statement factoring out some code.
2177
2178	* include/bits/locale_facets.tcc: Minor cosmetic changes.
2179
21802003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2181
2182	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
2183	Constify a couple of variables.
2184	(num_get::do_get(..., bool&)): Constify __c; prefer *__beg,
2185	++__beg to *__beg++.
2186
21872003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2188            Petur Runolfsson  <peturr02@ru.is>
2189
2190	* include/ext/stdio_sync_filebuf.h: Don't include the whole
2191	<fstream>, only <streambuf> and <cstdio>.
2192
21932003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2194
2195	PR libstdc++/12206
2196	* include/bits/fstream.tcc (imbue): In case a codecvt facet
2197	is not available, set _M_codecvt = 0.
2198	* testsuite/27_io/basic_filebuf/imbue/12206.cc: New.
2199
22002003-10-02  Harald Boehme  <boehme@informatik.hu-berlin.de>
2201
2202	PR libstdc++/12451
2203	* libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
2204
22052003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2206
2207	* include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
2208	* src/locale.cc: Define.
2209	* src/localename.cc: Use it.
2210	* config/locale/generic/time_members.h: Same.
2211	* config/locale/gnu/messages_members.h: Same.
2212	* config/locale/gnu/time_members.h: Same.
2213
22142003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2215
2216	PR libstdc++/12232
2217	* include/bits/fstream.tcc (seekoff): Ignore the openmode
2218	argument; simplify.
2219	* config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
2220	seekpos): Remove the openmode argument.
2221	* config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
2222	seekpos): Remove redundant placeholder for the openmode argument.
2223	* testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
2224	* testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
2225	* testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
2226	* testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
2227	* testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
2228
22292003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2230
2231	* src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
2232	(locale::facet::_S_get_c_locale): Same.
2233
22342003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2235
2236	* config/linker-map.gnu: Export _S_get_c_locale instead of
2237	_S_c_locale object.
2238
22392003-10-02  Petur Runolfsson  <peturr02@ru.is>
2240
2241	* config/locale/generic/c_locale.cc
2242	(category_names, locale::_S_categories): Const qualify.
2243	* config/locale/gnu/c_locale.cc: Same.
2244	* config/locale/generic/time_members.h (__timepunct::__timepunct):
2245	Copy string contents before assigning to _M_name_timepunct,
2246	qualify strcpy and strlen with std::.
2247	* config/locale/gnu/time_members.h: Same.
2248	* config/locale/gnu/messages_members.h (messages::messages):
2249	Copy string contents before assigning to _M_name_messages,
2250	qualify strcpy and strlen with std::.
2251	* config/os/gnu-linux/ctype_noninline.h
2252	(ctype<char>::classic_table()): Don't call locale::classic().
2253	* include/bits/locale_classes.h
2254	(locale::_S_categories): Const qualify.
2255	(locale::_S_once, locale::_S_initialize_once,
2256	locale::facet::_S_once, locale::facet::_S_initialize_once,
2257	locale::facet::_S_get_c_locale): Declare.
2258	(locale::_S_initialize): Don't define.
2259	(locale::facet::_S_c_locale): Make private.
2260	(locale::facet::_S_c_name): Same, const qualify.
2261	(locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
2262	parameters, add throw() specifier.
2263	* include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
2264	messages::_M_name_messages): Const qualify.
2265	* src/locale.cc
2266	(locale::_S_once, locale::facet::_S_once): Define.
2267	(locale::classic): Move initialization code...
2268	(locale::_S_initialize_once): ...here.
2269	(locale::_S_initialize): Call _S_initialize_once through
2270	__gthread_once.
2271	(locale::facet::_S_initialize_once): Initialize _S_c_locale.
2272	(locale::facet::_S_get_c_locale): Call _S_initialize_once through
2273	__gthread_once before returning _S_c_locale.
2274	* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
2275	Drop unused parameters, add throw() specifier, don't initialize
2276	locale::facet::_S_c_locale and _S_c_name.
2277
2278	* config/locale/generic/messages_members.h:
2279	Replace _S_c_locale with _S_get_c_locale().
2280	* config/locale/gnu/c_locale.cc: Same.
2281	* config/locale/gnu/messages_members.h: Same.
2282	* config/locale/gnu/numeric_members.cc: Same.
2283	* config/locale/gnu/time_members.cc: Same.
2284	* config/os/gnu-linux/ctype_noninline.h: Same.
2285	* include/bits/locale_facets.h: Same.
2286	* include/bits/locale_facets.tcc: Same.
2287	* src/codecvt.cc: Same.
2288	* src/ctype.cc: Same.
2289
22902003-10-02  Carlo Wood  <carlo@alinoe.com>
2291
2292	* include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
2293	Decode symbols that start with _GLOBAL_[ID]_ differently: the
2294	trailing part ends with a terminating zero and is not necessarily an
2295	encoding.
2296	* src/demangle.cc (): Same.
2297	* testsuite/demangle/regression/cw-13.cc: Adjust for new output.
2298
22992003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2300
2301	* testsuite/22_locale/locale/cons/12438.cc: Use
2302	__gnu_test::try_named_locale("").
2303
23042003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2305
2306	* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
2307	(GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
2308	instead of drand48.
2309	* acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
2310	* crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
2311	HAVE_DRAND48.
2312	* config.h.in, configure: Regenerate.
2313	* include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
2314	lrand48 use.
2315
23162003-10-01  Nathan Myers  <ncm@cantrip.org>
2317
2318	* include/bits/locale_facets.tcc (time_put::put): Avoid
2319	expensive *__s++, in favor of *__s, ++__s.
2320
23212003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2322
2323	* include/bits/locale_facets.tcc (time_put::put): Minor
2324	tweak to the previous commit.
2325
23262003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2327
2328	PR libstdc++/12439
2329	* include/bits/locale_facets.tcc (time_put::put): Deal
2330	with the three issues pointed out by the PR.
2331	* testsuite/22_locale/time_put/put/char/12439_1.cc: New.
2332	* testsuite/22_locale/time_put/put/char/12439_3.cc: New.
2333	* testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
2334	* testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
2335	* testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
2336
23372003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2338
2339	* include/bits/stl_algo.h: Minor cosmetic reformattings.
2340
23412003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2342
2343	* include/bits/stl_algo.h (search_n): Tweak, to spare the
2344	first --__n.
2345
23462003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2347
2348	* testsuite/22_locale/locale/cons/12352.cc: Explicitly
2349	qualify exception name.
2350
23512003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2352
2353	PR libstdc++/12438
2354	* include/bits/locale_facets.tcc (locale::combine): Don't
2355	leak memory if _M_replace_facet throws.
2356	* testsuite/22_locale/locale/cons/12438.cc: New, from the PR.
2357
2358	* include/bits/locale_classes.h (locale::locale(const locale&,
2359	_Facet*)): Tweak, use consistently _M_remove_reference.
2360
23612003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2362
2363	PR libstdc++/12352 (cont)
2364	* src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
2365	Don't leak __cloc; don't leak if any of the _M_init_facet(...)
2366	calls fail.
2367	(locale::_Impl::_Impl(const _Impl&, size_t)): Tweak.
2368	(locale::_Impl::~_Impl): Don't do anything if !_M_facets,
2369	!_M_caches, !_M_names.
2370
23712003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2372
2373	* configure.host: Handle Solaris 2.5 micro releases explicitly.
2374	Remove wildcards from Solaris 2.6, 7-9: there were no
2375	micro releases.
2376	Treat Solaris 10 and up like 7-9.
2377
23782003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2379
2380	* include/bits/stl_algo.h (search_n): Improve the previous
2381	fix as suggested by Martin.
2382
23832003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2384
2385	PR libstdc++/12296
2386	* include/bits/istream.tcc (peek): Set eofbit if sgetc
2387	returns eof.
2388	* testsuite/27_io/basic_istream/peek/char/12296.cc:
2389	New, from the PR.
2390
23912003-09-29  Nathan Myers  <ncm@cantrip.org>
2392	    Paolo Carlini  <pcarlini@unitus.it>
2393
2394	PR libstdc++/11400
2395	* include/bits/stl_algo.h (search_n):
2396	Use iterator_traits<>::difference_type for __n.
2397	* testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
2398
23992003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2400
2401	* testsuite/22_locale/locale/cons/12352.cc:
2402	Use __attribute__((unused)) for test.
2403
24042003-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
2405
2406	* testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either
2407	"Son" or "So" as abbreviated name for Sunday in de_DE locale.
2408	* testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.
2409
24102003-09-26  Brad Spencer  <spencer@infointeractive.com>
2411
2412	* testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
2413	Explicitly qualify exceptions.
2414	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
2415	* testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
2416	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
2417	* testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
2418
24192003-09-25  Paolo Carlini  <pcarlini@unitus.it>
2420
2421	PR libstdc++/12352
2422	* src/localename.cc (locale::_Impl::_Impl(const _Impl&,
2423	size_t)): Don't leak if memory allocations for _M_facets,
2424	_M_caches, and _M_names fail.
2425	(locale::_Impl::_Impl(const char*, size_t)): Ditto.
2426	(locale::_Impl::_M_replace_categories(const _Impl*,
2427	category)): Ditto.
2428	(locale::_Impl::_M_install_facet(const locale::id*,
2429	const facet*)): Ditto.
2430	* include/bits/locale_classes.h (locale::locale(const locale&,
2431	_Facet*)): Don't leak memory.
2432	* testsuite/22_locale/locale/cons/12352.cc: New, from the PR.
2433
2434	* src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
2435	bool)): Qualify with std:: strcpy, tweak.
2436	* include/bits/locale_classes.h
2437	(locale::_Impl::_M_check_same_name): Qualify strcmp.
2438
24392003-09-25  Brad Spencer  <spencer@infointeractive.com>
2440
2441	PR libstdc++/6072
2442	* acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf,
2443	wcstof, iswblank.
2444	* aclocal.m4: Regenerate.
2445	* config.h.in: Regenerate.
2446	* configure: Regenerate.
2447	* crossconfig.m4: Add in wchar_t bits for solaris crosses.
2448	* config/io/basic_file_stdio.cc: Guard unistd.h.
2449	* include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
2450	* include/c_std/std_cwchar.h: Same.
2451	* include/c_std/std_cwctype.h: Same.
2452
24532003-09-25  Benjamin Kosnik  <bkoz@redhat.com>
2454
2455	PR libstdc++/11065
2456	* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
2457	* config/locale/generic/ctype_members.cc: Same.
2458	* testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
2459	* testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.
2460
2461	* config/os/generic/ctype_inline.h: Update.
2462
24632003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
2464
2465	* src/Makefile.am (version_dep): New variable.
2466	(libstdc___la_DEPENDENCIES): Use it to add dependency on
2467	libstdc++-symbol.ver only when using symbol versioning.
2468	* src/Makefile.in: Regenerate.
2469
24702003-09-23  Benjamin Kosnik  <bkoz@redhat.com>
2471
2472	* include/bits/locale_facets.tcc: Tweak to avoid warnings.
2473	* testsuite/testsuite_hooks.h: Same.
2474	* testsuite/*/*.cc: Same.
2475
24762003-09-22  Petur Runolfsson  <peturr02@ru.is>
2477
2478	* include/bits/istream.tcc (basic_istream::read,
2479	basic_istream::readsome, basic_istream::putback,
2480	basic_istream::unget, operator>>(basic_istream, CharT)):
2481	Avoid redundant setstate(failbit) calls when sentry::operator bool()
2482	returns false.
2483
24842003-09-22  Carlo Wood  <carlo@alinoe.com>
2485
2486	PR libstdc++/12365
2487	* include/bits/demangle.h (qualifier(int, cv_qualifier_nt,
2488	char const*, int, int)):  Remove unused identifier
2489	cv_qualifier for overloaded constructor.
2490
24912003-09-18  Benjamin Kosnik  <bkoz@redhat.com>
2492
2493	PR libstdc++/11504
2494	* acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to
2495	WARN_FLAGS, remove -Wno-format.
2496	* aclocal.m4: Regenerate.
2497	* configure: Regenerate.
2498
24992003-09-18  Petur Runolfsson  <peturr02@ru.is>
2500
2501	* config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
2502	* config/io/basic_file_stdio.h: Same.
2503	* include/std/std_fstream.h (__ctype_type): Delete.
2504	* include/std/std_streambuf.h (__ctype_type, __state_type): Delete.
2505
25062003-09-17  Benjamin Kosnik  <bkoz@redhat.com>
2507
2508	PR libstdc++/12239
2509	* configure.host (abi_baseline_pair): Error out on solaris2
2510	configurations without a minor version number.
2511
25122003-09-13  Phil Edwards  <phil@codesourcery.com>
2513
2514	* docs/doxygen/run_doxygen:  Clear GENERATE_TAGFILE entirely
2515	if man pages are on.
2516	* docs/doxygen/user.cfg.in:  And here.
2517
25182003-09-10  Daniel Jacobowitz  <drow@mvista.com>
2519	    Andreas Jaeger <aj@suse.de>
2520
2521	PR libstdc++/12189
2522	* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build
2523	abi_check if cross compiling.
2524	* aclocal.m4: Regenerated.
2525	* configure: Regenerated.
2526
25272003-09-10  Jeffrey D. Oldham  <oldham@codesourcery.com>
2528
2529	* libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
2530	NULL, return NULL.  This reflects a C++ ABI change 2003 Sep 05.
2531	(__cxa_vec_new3): Likewise.
2532
25332003-09-10  Petur Runolfsson  <peturr02@ru.is>
2534
2535	* include/bits/fstream.tcc (basic_filebuf::seekoff):
2536	Use codecvt::length to handle variable-width stateless encodings
2537	correctly.
2538	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
2539	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.
2540
25412003-09-10  Alan Modra  <amodra@bigpond.net.au>
2542
2543	* config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
2544	rather than or'ing.
2545
25462003-09-09  Alan Modra  <amodra@bigpond.net.au>
2547
2548	* configure: Regenerate.
2549
25502003-09-09  David Edelsohn  <edelsohn@gnu.org>
2551
2552	* src/ios.cc (ios_base::Init::Init): Remove unnecessary
2553	qualifier from _S_synced_with_stdio.
2554
25552003-09-09  Bernardo Innocenti  <bernie@develer.com>
2556
2557	* include/c_std/std_cstdlib.h: Avoid using missing C library symbols.
2558
25592003-09-04  Petur Runolfsson  <peturr02@ru.is>
2560
2561	PR libstdc++/9028
2562	* include/bits/fstream.tcc
2563	(basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
2564	(basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
2565	_M_ext_buf_size, _M_ext_next and _M_ext_end.
2566	(basic_filebuf::underflow): Handle variable-width stateless
2567	encodings (codecvt::encoding() == 0), including UTF-8.
2568	* include/std/std_fstream.h (basic_filebuf):
2569	Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
2570	* testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
2571	* testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
2572	* testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
2573	* testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
2574	* testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
2575	* testsuite/27_io/objects/wchar_t/12.cc: New test.
2576	* testsuite/27_io/objects/wchar_t/13.cc: New test.
2577
25782003-09-04  Jonathan Wakely  <redi@gcc.gnu.org>
2579
2580	* docs/html/faq/index.html: Note that a namespace alias can't be
2581	used when specialising templates in extension namespace.
2582	* docs/html/faq/index.txt: Regenerate.
2583
25842003-09-03  Petur Runolfsson  <peturr02@ru.is>
2585
2586	PR libstdc++/12048
2587	* include/ext/stdio_sync_filebuf.h
2588	(stdio_sync_filebuf::_M_unget_buf): Declare it.
2589	(stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
2590	(stdio_sync_filebuf::uflow): Store the returned character in
2591	_M_unget_buf.
2592	(stdio_sync_filebuf::pbackfail): If argument is eof(), pass
2593	_M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
2594	(stdio_sync_filebuf<char>::xsgetn): Store last read character in
2595	_M_unget_buf, if any, else eof().
2596	(stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
2597	_M_unget_buf, if any, else eof().
2598	* testsuite/27_io/objects/char/12048.cc: Rename to...
2599	* testsuite/27_io/objects/char/12048-1.cc: ...this.
2600	* testsuite/27_io/objects/char/12048-2.cc: New test.
2601	* testsuite/27_io/objects/char/12048-3.cc: New test.
2602	* testsuite/27_io/objects/char/12048-4.cc: New test.
2603	* testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
2604	* testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
2605	* testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
2606	* testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
2607	* testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
2608	* testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
2609	* testsuite/ext/stdio_sync_filebuf_char.cc
2610	(test02, test03, test04, test05): New tests.
2611	* testsuite/ext/stdio_sync_filebuf_wchar_t.cc
2612	(test02, test03, test04, test05): New tests.
2613
26142003-09-03  Petur Runolfsson  <peturr02@ru.is>
2615
2616	* docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
2617	stringbuf or strstreambuf. Fix typos.
2618
26192003-09-02  Phil Edwards  <phil@codesourcery.com>
2620
2621	* acinclude.m4 (GLIBCXX_ENABLE_HOSTED):  #define _GLIBCXX_HOSTED
2622	appropriately.
2623	* config.h.in:  Add _GLIBCXX_HOSTED.
2624	* libsupc++/eh_term_handler.cc:  Test it here; initialize
2625	__terminate_handler to std::abort if freestanding.
2626	* aclocal.m4, configure:  Regenerated.
2627	* docs/html/configopts.html:  Document --disable-hosted-libstdcxx.
2628
26292003-08-29  Nathan Myers  <ncm@cantrip.org>
2630
2631	PR libstdc++/11990
2632	* include/bits/locale_facets.tcc (__pad): delete dead code.
2633
26342003-08-28  Alan Modra  <amodra@bigpond.net.au>
2635
2636	* configure.ac: Test $with_cross_host against $build_alias, not $build.
2637	* configure: Regenerate.
2638
26392003-08-27  Petur Runolfsson  <peturr02@ru.is>
2640
2641	* testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
2642	* testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.
2643
26442003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2645
2646	* Makefile.am:  Remove trailing whitespace.  Remove needless
2647	"foo = @foo@" assignments.  Replace direct uses of @foo@ with $(foo).
2648	* include/Makefile.am:  Likewise.
2649	* libmath/Makefile.am:  Likewise.
2650	* libsupc++/Makefile.am:  Likewise.
2651	* po/Makefile.am:  Likewise.
2652	* src/Makefile.am:  Likewise.
2653	* testsuite/Makefile.am:  Likewise.
2654
2655	* Makefile.in, include/Makefile.in, libmath/Makefile.in,
2656	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2657	testsuite/Makefile.in:  Regenerated.
2658
26592003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2660
2661	* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Change quoting of
2662	includedir.
2663	* aclocal.m4, configure:  Regenerate.
2664
26652003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2666
2667	* acinclude.m4: Include no-executables.m4.
2668	* configure.ac: Uncomment GCC_NO_EXECUTABLES.
2669	* aclocal.m4: Regenerated.
2670	* configure: Regenerated.
2671
26722003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2673
2674	* acinclude.m4: Don't call AC_ISC_POSIX.
2675	* aclocal.m4: Regenerated.
2676	* configure: Regenerated.
2677
26782003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2679
2680	* acinclude.m4 (GLIBCXX_CONDITIONAL):  New macro.  Wrap
2681	AM_CONDITIONAL.  Replace all calls to AM_CONDITIONAL with this one.
2682	(GLIBCXX_ENABLE_HOSTED):  New macro, sets new variable is_hosted,
2683	used elsewhere in this file.
2684	(GLIBCXX_EVALUATE_CONDITIONALS):  New macro...
2685	* configure.ac:  ...called here to expand all conditionals.
2686	* Makefile.am:  Conditionalize SUBDIRS on GLIBCXX_HOSTED.
2687	* include/Makefile.am:  Remove redundant gxx_include_dir assignment.
2688	(install-freestanding-headers):  New target, a subset of
2689	install-headers.  Conditionalize install-data-local on GLIBCXX_HOSTED.
2690
2691	* aclocal.m4, configure, Makefile.in, include/Makefile.in,
2692	libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2693	src/Makefile.in, testsuite/Makefile.in:  Regenerated.
2694
26952003-08-26  Phil Edwards  <pme@gcc.gnu.org>
2696
2697	* docs/doxygen/run_doxygen:  Shell fixes.  Remove hardcoded local
2698	pathnames from generated tag file.
2699
27002003-08-26  Phil Edwards  <pme@gcc.gnu.org>
2701
2702	* Makefile.am:  Add comment.
2703	* acinclude.m4 (GLIBCXX_CONFIGURE):  Set new glibcxx_SUBDIRS and
2704	SUBDIRS variables.
2705	* configure.ac:  Use them both here, instead of hardcoded lists.
2706
2707	* fragment.am:  Add STAMP varaible.
2708	* include/Makefile.am:  Cosmetic whitespace cleanup.  Use $(LN_S)
2709	instead of @LN_S@.
2710	(stamp-*):  Move file creation rule outside of 'if' branches to
2711	ensure the stamp-* files are actually updated.  Use $(STAMP).
2712	* src/Makefile.am:  Remove now-nonexistant variable.
2713	* libsupc++/Makefile.am:  Likewise.  Snap the assignment chain
2714	for -prefer-pic.
2715	* po/Makefile.am:  Include same fragment as all the others.
2716
2717	* aclocal.m4, configure, Makefile.in, include/Makefile.in,
2718	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in:  Regenerated.
2719
27202003-08-26  Loren J. Rittle  <ljrittle@acm.org>
2721
2722	* testsuite/data/cin_unget-1.txt: New.
2723	* testsuite/27_io/objects/char/12048.cc: New.
2724
27252003-08-25  Zack Weinberg  <zack@codesourcery.com>
2726
2727	* config/os/hpux/os_defines.h: Unconditionally define
2728	_GLIBCXX_GTHREAD_USE_WEAK to 0.
2729
27302003-08-19  Geoffrey Keating  <geoffk@apple.com>
2731
2732	* crossconfig.m4 (*-darwin*): Add a large and boring stanza for
2733	crosses to Darwin targets.
2734	* configure: Regenerate.
2735
27362003-08-19  Petur Runolfsson  <peturr02@ru.is>
2737
2738	* include/ext/ropeimpl.h: #include <ostream> instead of <iostream>
2739
27402003-08-17  Phil Edwards  <pme@gcc.gnu.org>
2741
2742	* configure.ac:  GCC_NO_EXECUTABLES was supposed to be commented
2743	in the patch from 3 minutes ago.  Boy, is my face red.
2744	* configure:  At least I remembered to regenerate this.
2745
27462003-08-17  Phil Edwards  <pme@gcc.gnu.org>
2747
2748	* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Remove LIBMATH_INCLUDES
2749	and LIBSUPCXX_INCLUDES.  Re-purpose TOPLEVEL_INCLUDES to refer to
2750	things from the top level.
2751	* configure.ac (GLIBCXX_IS_NATIVE):  Determine earlier and re-order.
2752	Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
2753	(currently unused).  Strip the fake-VPATH shell fragment from
2754	automake-generated rules, if present.
2755	* linkage.m4:  Add comment.
2756
2757	* fragment.am:  New file, containing factored-out common settings.
2758	(AM_CPPFLAGS):  Absorb the deprecated INCLUDES variable contents.
2759	* Makefile.am:  Include fragment.am.  Remove common variables.
2760	* include/Makefile.am:  Likewise.
2761	* libmath/Makefile.am:  Likewise.
2762	* libsupc++/Makefile.am:  Likewise.
2763	* po/Makefile.am:  Likewise.  Print rules during check.
2764	* src/Makefile.am:  Likewise.
2765	* testsuite/Makefile.am:  Likewise.
2766
2767	* aclocal.m4, configure, Makefile.in, include/Makefile.in,
2768	libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2769	src/Makefile.in, testsuite/Makefile.in:  Regenerate.
2770
27712003-08-11  John Levon  <levon@movementarian.org>
2772
2773	* docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update
2774	remaining places for the name change from GLIBCPP_FORCE_NEW
2775	to GLIBCXX_FORCE_NEW
2776
27772003-08-11  Benjamin Kosnik  <bkoz@redhat.com>
2778
2779	* include/bits/basic_ios.h: Remove *_iter typedefs, change num*
2780	typedefs to num_*.
2781	* include/bits/basic_ios.tcc: Same.
2782	* include/bits/istream.tcc: Same.
2783	* include/bits/locale_facets.h: Same.
2784	* include/bits/ostream.tcc: Same.
2785	* include/std/std_istream.h: Same.
2786	* include/std/std_ostream.h: Same.
2787	* testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
2788
2789	* include/ext/rope: Remove build warning.
2790
27912003-08-11  Andreas Jaeger  <aj@suse.de>
2792
2793	* include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
2794	to make SMP-safe.
2795	* include/Makefile.in: Regenerated.
2796
27972003-08-11  Phil Edwards  <pme@gcc.gnu.org>
2798
2799	* acinclude.m4 (GLIBCXX_CONFIGURE):  Unprecious CC and CFLAGS
2800	when calling AC_PROG_CC.
2801	* aclocal.m4, configure:  Regenerate.
2802
28032003-08-11  Phil Edwards  <pme@gcc.gnu.org>
2804
2805	* acinclude.m4:  Properly quote variable which will be expanded
2806	inside makefiles.  Use CXX instead of CC to extract compiler info.
2807	* configure.ac (AC_INIT):  Use the new 4-arg form to finally get the
2808	correct form in PACKAGE.
2809	* aclocal.m4, configure:  Regenerate.
2810
28112003-08-08  Benjamin Kosnik  <bkoz@redhat.com>
2812
2813	* testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
2814	(check-abi-verbose): Same.
2815	* testsuite/testsuite_performance.h (report_performance): Same.
2816
28172003-08-08  Loren J. Rittle  <ljrittle@acm.org>
2818
2819	* testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
2820
28212003-08-07  Doug Gregor  <dgregor@apple.com>
2822
2823	* include/bits/char_traits.h (char_traits::not_eof): Match operand
2824	types in ? :.
2825
28262003-08-07  Bernardo Innocenti  <bernie@develer.com>
2827
2828	PR libstdc++/11784
2829	* libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
2830	Replace variants with new BSET-based version.
2831
28322003-08-07  Carlo Wood  <carlo@alinoe.com>
2833
2834	* include/bits/demangle.h: Do not use cctype functions that depend
2835	on locale.
2836
28372003-08-05  Phil Edwards  <pme@gcc.gnu.org>
2838
2839	* configure.in:  Rename...
2840	* configure.ac:  ...to this.
2841	* docs/html/17_intro/porting.texi:  Update name.
2842
2843	* docs/html/17_intro/porting.html:  Regenerate.
2844	* config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
2845	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2846	testsuite/Makefile.in:  Regenerate (picks up new dependancy).
2847
28482003-08-05  Phil Edwards  <pme@gcc.gnu.org>
2849
2850	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS):  Put down the crack
2851	pipe, open the window to let out the fumes, redo the option-handling
2852	logic to properly execute the detection test.
2853	* aclocal.m4, configure:  Regenerate.
2854
28552003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2856
2857	Convert to new autotools.
2858	* acconfig.h:  Update with correct names.
2859	* configure.host (ATOMICITYH):  Rename to atomicity_include_dir.
2860	(qnx6.[12]*):  'q' comes before 's', not after 'w'.
2861	* configure.in:  Update.  Split hardcoded cross-configury settings
2862	out to...
2863	* crossconfig.m4:  ...here.  New file.  Contents untouched.
2864	* acinclude.m4:  Reorganize and rewrite as needed.  Split large
2865	chunks out to...
2866	* linkage.m4:  ...here.  New file.  Math and stdlib linkage tests.
2867	Contents untouched.
2868	* scripts/testsuite_flags.in:  Update.
2869
2870	* Makefile.am:  Remove unneeded AUTOMAKE_OPTIONS settings and other
2871	variables (already generated by automake).
2872	* include/Makefile.am:  Ditto.
2873	* libmath/Makefile.am:  Ditto.
2874	* libsupc++/Makefile.am:  Ditto.
2875	* po/Makefile.am:  Ditto.
2876	* src/Makefile.am:  Ditto.
2877
2878	* aclocal.m4:  Regenerate using new versions.
2879	* config.h.in:  Ditto.
2880	* configure:  Ditto.
2881	* Makefile.in:  Ditto.
2882	* include/Makefile.in:  Ditto.
2883	* libmath/Makefile.in:  Ditto.
2884	* libsupc++/Makefile.in:  Ditto.
2885	* po/Makefile.in:  Ditto.
2886	* src/Makefile.in:  Ditto.
2887	* testsuite/Makefile.in:  Ditto.
2888
28892003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2890
2891	* po/libstdc++.pot:  Re-extract/regenerate.
2892
28932003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2894
2895	* testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS):
2896	Remove unneeded variable assignments.  Leave them for automake.
2897	* testsuite/lib/libstdc++-v3.exp:  Rename...
2898	* testsuite/lib/libstdc++.exp:  ...to this.  Adjust function names
2899	accordingly.
2900	* testsuite/libstdc++-v3.dg/dg.exp:  Rename...
2901	* testsuite/libstdc++-dg/normal.exp:  ...to this.  Adjust function
2902	names accordingly.
2903
29042003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2905
2906	* docs/doxygen/guide.html:  run_doxygen uses bash.
2907	* docs/doxygen/mainpage.html:  We'll be shipping tag files.
2908	* docs/doxygen/run_doxygen:  Tweaks and improvements.
2909	* docs/doxygen/user.cfg.in:  Set GENERATE_TAGFILE.
2910	* docs/html/install.html:  Update autoconf/automake requirements.
2911	* docs/html/test.html:  Add section describing DejaGNU support.
2912	* docs/html/17_intro/confdeps.dot:  New file, generates...
2913	* docs/html/17_intro/confdeps.png:  ...this new file.
2914	* docs/html/Makefile:  Generated here.
2915	* docs/html/17_intro/configury.html:  New file.
2916
29172003-07-31  Phil Edwards  <pme@gcc.gnu.org>
2918
2919	* testsuite/lib/libstdc++-v3-dg.exp:  Rename...
2920	* testsuite/lib/libstdc++-v3.exp:  ...to this.
2921	* testsuite/libstdc++-v3.dg/dg.exp:  No special case needed now.
2922
29232003-07-31  Doug Gregor  <dgregor@apple.com>
2924
2925	Add user specialization tests.
2926	* testsuite/23_containers/deque/1.cc: New.
2927	* testsuite/23_containers/list/1.cc: New.
2928	* testsuite/23_containers/map/1.cc: New.
2929	* testsuite/23_containers/multimap/1.cc: New.
2930	* testsuite/23_containers/multiset/1.cc: New.
2931	* testsuite/23_containers/set/1.cc: New.
2932	* testsuite/23_containers/vector/1.cc: New.
2933
29342003-07-31  Benjamin Kosnik  <bkoz@redhat.com>
2935
2936	Reshuffle 23_containers testsuite.
2937	* 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
2938	bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
2939	list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
2940	map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
2941	set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
2942	vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
2943	vector_resize.cc: Split into...
2944	* 23_containers/bitset/cons/1.cc: New.
2945	* 23_containers/bitset/cons/6282.cc: New.
2946	* 23_containers/bitset/count/6124.cc: New.
2947	* 23_containers/bitset/operations/1.cc: New.
2948	* 23_containers/bitset/operations/2.cc: New.
2949	* 23_containers/bitset/test/1.cc: New.
2950	* 23_containers/bitset/to_ulong/1.cc: New.
2951	* 23_containers/deque/cons/1.cc: New.
2952	* 23_containers/deque/cons/2.cc: New.
2953	* 23_containers/deque/operators/1.cc: New.
2954	* 23_containers/list/capacity/1.cc: New.
2955	* 23_containers/list/cons/1.cc: New.
2956	* 23_containers/list/cons/2.cc: New.
2957	* 23_containers/list/cons/3.cc: New.
2958	* 23_containers/list/cons/4.cc: New.
2959	* 23_containers/list/cons/5.cc: New.
2960	* 23_containers/list/cons/6.cc: New.
2961	* 23_containers/list/cons/7.cc: New.
2962	* 23_containers/list/cons/8.cc: New.
2963	* 23_containers/list/cons/9.cc: New.
2964	* 23_containers/list/modifiers/1.cc: New.
2965	* 23_containers/list/modifiers/2.cc: New.
2966	* 23_containers/list/modifiers/3.cc: New.
2967	* 23_containers/list/operators/1.cc: New.
2968	* 23_containers/list/operators/2.cc: New.
2969	* 23_containers/list/operators/3.cc: New.
2970	* 23_containers/list/operators/4.cc: New.
2971	* 23_containers/map/insert/1.cc: New.
2972	* 23_containers/map/operators/1.cc: New.
2973	* 23_containers/map/operators/1_neg.cc: New.
2974	* 23_containers/multiset/insert/1.cc: New.
2975	* 23_containers/priority_queue/members/7161.cc: New.
2976	* 23_containers/queue/members/7157.cc: New.
2977	* 23_containers/set/operators/1_neg.cc: New.
2978	* 23_containers/stack/members/7158.cc: New.
2979	* 23_containers/vector/bool/1.cc: New.
2980	* 23_containers/vector/bool/6886.cc: New.
2981	* 23_containers/vector/capacity/1.cc: New.
2982	* 23_containers/vector/capacity/2.cc: New.
2983	* 23_containers/vector/capacity/8230.cc: New.
2984	* 23_containers/vector/cons/1.cc: New.
2985	* 23_containers/vector/cons/2.cc: New.
2986	* 23_containers/vector/cons/3.cc: New.
2987	* 23_containers/vector/cons/4.cc: New.
2988	* 23_containers/vector/cons/6513.cc: New.
2989	* 23_containers/vector/element_access/1.cc: New.
2990	* 23_containers/vector/modifiers/1.cc: New.
2991	* 23_containers/vector/modifiers/2.cc: New.
2992	* 23_containers/vector/resize/1.cc: New.
2993
29942003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2995
2996	* testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
2997	dg-options.
2998	* testsuite/thread/pthread2.cc: Likewise.
2999	* testsuite/thread/pthread3.cc: Likewise.
3000	* testsuite/thread/pthread4.cc: Likewise.
3001	* testsuite/thread/pthread5.cc: Likewise.
3002	* testsuite/thread/pthread6.cc: Likewise.
3003	* testsuite/thread/pthread7-rope.cc: Likewise.
3004
30052003-07-30  Phil Edwards  <pme@gcc.gnu.org>
3006
3007	* include/bits/c++config:  Partial reversion (comment placement) of
3008	previous patch.
3009
30102003-07-30  Benjamin Kosnik  <bkoz@redhat.com>
3011
3012	* include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
3013	(_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
3014	(_GLIBCXX_AT_AT): Remove.
3015	(__USE_MALLOC): Remove.
3016	* include/std/std_fstream.h: Modify.
3017	* include/bits/basic_ios.h: Same.
3018	* include/bits/valarray_array.h: Same.
3019	* include/c_std/std_cmath.h: Same.
3020	* include/c_std/cmath.tcc: Same.
3021	* include/std/std_vector.h: Same.
3022	* include/std/std_string.h: Same.
3023	* include/std/std_stack.h: Same.
3024	* include/std/std_queue.h: Same.
3025	* include/std/std_list.h: Same.
3026	* include/std/std_deque.h: Same.
3027	* include/std/std_streambuf.h: Same.
3028	* include/std/std_sstream.h: Same.
3029	* include/std/std_ostream.h: Same.
3030	* include/std/std_istream.h: Same.
3031	* include/bits/valarray_array.tcc: Same, format.
3032
3033	* include/c/std_cctype.h: Fix include guards.
3034	* include/c/std_cerrno.h: Same.
3035	* include/c/std_cfloat.h: Same.
3036	* include/c/std_climits.h: Same.
3037	* include/c/std_clocale.h: Same.
3038	* include/c/std_cmath.h: Same.
3039	* include/c/std_csetjmp.h: Same.
3040	* include/c/std_csignal.h: Same.
3041	* include/c/std_cstdarg.h: Same.
3042	* include/c/std_cstddef.h: Same.
3043	* include/c/std_cstdio.h: Same.
3044	* include/c/std_cstdlib.h: Same.
3045	* include/c/std_cstring.h: Same.
3046	* include/c/std_ctime.h: Same.
3047	* include/c/std_cwchar.h: Same.
3048	* include/c/std_cwctype.h: Same.
3049	* include/c_std/cmath.tcc: Same.
3050	* include/c_std/std_cmath.h: Same.
3051
30522003-07-30  Gawain Bolton  <gp.bolton@computer.org>
3053
3054	PR libstdc++/11504.
3055	* include/bits/stl_tree.h: Replace C-style casts with C++-style
3056	casts.  Changes to avoid casting away constness.  Eliminate
3057	_Rb_tree_base_iterator class.  Change _Rb_tree_iterator to use
3058	initialization lists.  Move out implementation of __black_count()
3059	to...
3060	* src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
3061	Rename_Rb_tree_base_iterator::_M_increment() to
3062	_Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
3063	_Rb_tree_decrement.
3064	* config/linker-map.gnu: Add and change symbols here.
3065
30662003-07-30  Jonathan Wakely  <redi@gcc.gnu.org>
3067
3068	* docs/html/22_locale/howto.html: Use locale::classic() instead
3069	of locale("C").
3070
30712003-07-28  Benjamin Kosnik  <bkoz@redhat.com>
3072
3073	* testsuite/testsuite_hooks.h: Remove list include.
3074	(func_callback): Define as unique type, not std::list.
3075	Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
3076	* testsuite/libstdc++-v3.dg/dg.exp: Same.
3077	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
3078	* testsuite/23_containers/bitset_ctor.cc:
3079	* testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
3080	* testsuite/18_support/numeric_limits.cc: Same.
3081	* testsuite/21_strings/basic_string/append/char/1.cc: Same.
3082	* testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
3083	* testsuite/21_strings/basic_string/compare/char/1.cc: Same.
3084	* testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
3085	* testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
3086	* testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
3087	* testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
3088	* testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
3089	* testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
3090	* testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
3091	* testsuite/21_strings/basic_string/find/char/1.cc: Same.
3092	* testsuite/21_strings/basic_string/find/char/2.cc: Same.
3093	* testsuite/21_strings/basic_string/find/char/3.cc: Same.
3094	* testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
3095	* testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
3096	* testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
3097	* testsuite/21_strings/basic_string/insert/char/1.cc: Same.
3098	* testsuite/21_strings/basic_string/insert/char/2.cc: Same.
3099	* testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
3100	* testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
3101	* testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
3102	* testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
3103	* testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
3104	* testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
3105	* testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
3106	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
3107	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
3108	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
3109	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
3110	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
3111	* testsuite/21_strings/basic_string/operators/char/1.cc: Same.
3112	* testsuite/21_strings/basic_string/operators/char/2.cc: Same.
3113	* testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
3114	* testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
3115	* testsuite/21_strings/basic_string/replace/char/1.cc: Same.
3116	* testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
3117	* testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
3118	* testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
3119	* testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
3120	* testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
3121	* testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
3122	* testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
3123	* testsuite/21_strings/basic_string/substr/char/1.cc: Same.
3124	* testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
3125	* testsuite/23_containers/bitset_ctor.cc: Same.
3126	* testsuite/23_containers/bitset_shift.cc: Same.
3127	* testsuite/23_containers/vector_ctor.cc: Same.
3128	* testsuite/23_containers/vector_element_access.cc: Same.
3129	* testsuite/24_iterators/istreambuf_iterator.cc: Same.
3130	* testsuite/24_iterators/iterator.cc: Same.
3131	* testsuite/24_iterators/ostreambuf_iterator.cc: Same.
3132	* testsuite/25_algorithms/lower_bound.cc: Same.
3133	* testsuite/26_numerics/complex_inserters_extractors.cc: Same.
3134	* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
3135	* testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
3136	* testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
3137	* testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
3138	* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
3139	* testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
3140	* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
3141	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
3142	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
3143	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3144	Same.
3145
31462003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3147
3148	* docs/doxygen/user.cfg.in, docs/html/abi.txt, docs/html/debug.html,
3149	docs/html/test.html, docs/html/17_intro/headers_cc.txt,
3150	docs/html/17_intro/howto.html, docs/html/ext/howto.html:  Change
3151	GLIBCPP to GLIBCXX (and explain as needed).
3152
31532003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3154
3155	* README:  Update.
3156
31572003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3158
3159	* testsuite/22_locale/messages/members/char/1.cc,
3160	testsuite/22_locale/messages/members/char/2.cc,
3161	testsuite/22_locale/messages/members/char/3.cc,
3162	testsuite/22_locale/messages_byname/1.cc:  Update comment regarding
3163	the origin of LOCALEDIR.
3164	* testsuite/lib/libstdc++-v3.exp:  New file.
3165
31662003-07-25  Benjamin Kosnik  <bkoz@redhat.com>
3167
3168	* include/bits/char_traits.h: Update copyright, tweak.
3169	* testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
3170	std types.
3171
31722003-07-24  Matt Austern  <austern@apple.com>
3173
3174	* /include/bits/char_traits.h (class char_traits): Put all the
3175	real work into the new class template __gnu_cxx::char_traits.
3176	Gave generic definitions for member functions.  Types are taken
3177	from the new class template __gnu_cxx::_Char_types.
3178	* testsuite/21_strings/char_traits/requirements/short/1.cc: New
3179	file.  Test of std::char_traits<short>, which serves as a test of
3180	the char_traits primary template.
3181
31822003-07-24  Benjamin Kosnik  <bkoz@redhat.com>
3183
3184	* testsuite/*: Change __gnu_cxx_test to __gnu_test.
3185
31862003-07-24  Nathan Myers  <ncm-nospam@cantrip.org>
3187
3188	* testsuite/23_containers/map_operators.cc: Conform to
3189	container requirement as value must be Assignable.
3190
31912003-07-23  Alexandre Oliva  <aoliva@redhat.com>
3192
3193	* acinclude.m4 (GLIBCXX_ENABLE_PCH): Rework test such that it
3194	tests not only generation of pch files, but also their use.
3195	* aclocal.m4, configure: Rebuilt.
3196
31972003-07-23  Steve Ellcey  <sje@cup.hp.com>
3198
3199	* config/cpu/hppa/atomicity.h: Change
3200	_GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
3201	to match misc-inst.cc
3202
32032003-07-23  Steve Ellcey  <sje@cup.hp.com>
3204
3205	* include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard.
3206	* include/c_std/std_cctype.h: Ditto.
3207	* include/c_std/std_cerrno.h: Ditto.
3208	* include/c_std/std_cfloat.h: Ditto.
3209	* include/c_std/std_climits.h: Ditto.
3210	* include/c_std/std_clocale.h: Ditto.
3211	* include/c_std/std_cmath.h: Ditto.
3212	* include/c_std/std_csetjmp.h: Ditto.
3213	* include/c_std/std_csignal.h: Ditto.
3214	* include/c_std/std_cstdarg.h: Ditto.
3215	* include/c_std/std_cstddef.h: Ditto.
3216	* include/c_std/std_cstdio.h: Ditto.
3217	* include/c_std/std_cstdlib.h: Ditto.
3218	* include/c_std/std_cstring.h: Ditto.
3219	* include/c_std/std_ctime.h: Ditto.
3220	* include/c_std/std_cwchar.h: Ditto.
3221	* include/c_std/std_cwctype.h: Ditto.
3222	* include/std/std_algorithm.h: Ditto.
3223	* include/std/std_bitset.h: Ditto.
3224	* include/std/std_complex.h: Ditto.
3225	* include/std/std_deque.h: Ditto.
3226	* include/std/std_fstream.h: Ditto.
3227	* include/std/std_functional.h: Ditto.
3228	* include/std/std_iomanip.h: Ditto.
3229	* include/std/std_ios.h: Ditto.
3230	* include/std/std_iosfwd.h: Ditto.
3231	* include/std/std_iostream.h: Ditto.
3232	* include/std/std_istream.h: Ditto.
3233	* include/std/std_iterator.h: Ditto.
3234	* include/std/std_limits.h: Ditto.
3235	* include/std/std_list.h: Ditto.
3236	* include/std/std_locale.h: Ditto.
3237	* include/std/std_map.h: Ditto.
3238	* include/std/std_memory.h: Ditto.
3239	* include/std/std_numeric.h: Ditto.
3240	* include/std/std_ostream.h: Ditto.
3241	* include/std/std_queue.h: Ditto.
3242	* include/std/std_set.h: Ditto.
3243	* include/std/std_sstream.h: Ditto.
3244	* include/std/std_stack.h: Ditto.
3245	* include/std/std_stdexcept.h: Ditto.
3246	* include/std/std_streambuf.h: Ditto.
3247	* include/std/std_string.h: Ditto.
3248	* include/std/std_utility.h: Ditto.
3249	* include/std/std_valarray.h: Ditto.
3250	* include/std/std_vector.h: Ditto.
3251
32522003-07-22  Doug Gregor  <dgregor@apple.com>
3253
3254	* include/bits/basic_string.h (basic_string::insert): Deprecate
3255	GNU extension.
3256
32572003-07-21  Benjamin Kosnik  <bkoz@redhat.com>
3258
3259	* scripts/testsuite_flags.in (--build-includes): Remove extraneous
3260	paths for libio.
3261	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc
3262	(test03): Include typeinfo for bad_cast.
3263	* testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
3264	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
3265	* testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
3266
32672003-07-21  Doug Gregor  <dgregor@apple.com>
3268
3269	* include/bits/boost_concept_check.h:
3270	(_EqualityComparableConcept::__constraints): Remove != from the
3271	list of constraints; it is not listed in Table 28 of the C++98
3272	standard.
3273
32742003-07-18  Andreas Jaeger  <aj@suse.de>
3275
3276	* config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
3277	* config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
3278	* config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
3279	* config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3280
32812003-07-17  Benjamin Kosnik  <bkoz@redhat.com>
3282
3283	* config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
3284	* config/locale/generic/messages_members.h: Tweaks.
3285	* config/locale/generic/monetary_members.cc
3286	(moneypunct::_M_initialize_moneypunct): Use cache.
3287	(moneypunct::~moneypunct): Delete cache.
3288	* config/locale/generic/time_members.cc:
3289	(__timepunct::_M_initialize_timepunct): Use cache.
3290	* config/locale/generic/time_members.h:
3291	(__timepunct::~__timepunct): Delete cache.
3292	(__timepunct::__timepunct): Set cache.
3293	* config/locale/gnu/messages_members.h: Tweaks.
3294	* config/locale/gnu/monetary_members.cc:
3295	(moneypunct::_M_initialize_moneypunct): Use cache.
3296	(moneypunct::~moneypunct): Delete cache.
3297	* config/locale/gnu/time_members.cc:
3298	(__timepunct::_M_initialize_timepunct): Use cache.
3299	* config/locale/gnu/time_members.h:
3300	(__timepunct::~__timepunct): Delete cache.
3301	(__timepunct::__timepunct): Set cache.
3302	* include/bits/locale_facets.h (__timepunct_cache): New.
3303	(__moneypunct_cache): New.
3304	* include/bits/locale_facets.tcc: Tweak.
3305	* src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
3306	* src/locale-inst.cc: Instantiate caches.
3307	* src/globals.cc: Add "C" caches.
3308	* src/localename.cc: Use external "C" caches.
3309
33102003-07-17  Phil Edwards  <pme@gcc.gnu.org>
3311
3312	* docs/doxygen/guide.html:  Fix typo.
3313
33142003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
3315
3316	* include/ext/pod_char_traits.h: Add state template argument.
3317
33182003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
3319
3320	* include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
3321	(num_get::_M_convert_int): To _M_insert_int.
3322	(num_get::_M_convert_float): To _M_insert_float.
3323	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
3324	Use caches for ctype, num_get.
3325	(num_get::_M_extract_int): Same.
3326	(num_get::get(bool)): Same.
3327	(__verify_grouping): Use size_t.
3328	* src/locale-inst.cc: Update.
3329	* src/locale.cc: Adjust _S_atoms_in.
3330
33312003-07-16  Phil Edwards  <pme@gcc.gnu.org>
3332
3333	* docs/doxygen/mainpage.html:  Move building/writing instructions...
3334	* docs/doxygen/guide.html:  ...to here.  New file.
3335
33362003-07-16  Jonathan Wakely  <redi@gcc.gnu.org>
3337
3338	* docs/html/ext/howto.html: Update URL for SGI STL docs.
3339	* docs/html/faq/index.html: Same.
3340	* docs/html/faq/index.txt: Regenerate.
3341
33422003-07-16  Paolo Carlini  <pcarlini@unitus.it>
3343
3344	PR libstdc++/11528
3345	* include/bits/locale_facets.tcc (money_get::do_get):
3346	Strip only _leading_ zeros.
3347	* testsuite/22_locale/money_get/get/char/11528.cc: Add.
3348	* testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add.
3349
33502003-07-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3351
3352	* include/ext/hash_map (class hash_multimap): Remove extra
3353	semicolons from __glibcxx_class_requires3 entries.
3354	* include/ext/hash_set (class hash_set): Ditto.
3355	(class hash_multiset): Ditto.
3356
33572003-07-15  Petur Runolfsson  <peturr02@ru.is>
3358
3359	* include/bits/char_traits.h (char_traits<wchar_t>::move):
3360	Change last parameter from int_type to size_t.
3361
33622003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3363
3364	* include/bits/stl_algo.h (includes, set_union, set_intersection,
3365	set_difference, set_symmetric_difference, max_element, min_element,
3366	next_permutation, prev_permutation, find_first_of, find_end):
3367	Document.
3368	* include/bits/stl_algobase.h (copy,copy_backward):  Clarify overlap
3369	restrictions in docs.
3370	* include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap):
3371	Document.
3372	* docs/doxygen/doxygroups.cc (setoperations):  New group.
3373
33742003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3375
3376	* include/bits/basic_string.h:  Document public functions.
3377	* docs/doxygen/TODO:  Update c21 todo.
3378
33792003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3380
3381	* include/bits/stl_list.h:  Document more functions.
3382	* docs/doxygen/TODO:  Update c23 todo.
3383
33842003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3385
3386	* config/locale/gnu/c_locale.h (__convert_from_v): One more
3387	qualification.
3388
33892003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3390
3391	* include/bits/stl_tempbuf.h: Qualify free with std::.
3392	* src/locale.cc: Include <cstdlib>, qualify getenv.
3393
33942003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3395
3396	* config/locale/gnu/c_locale.h (__convert_from_v): Include
3397	<cstdio>. Qualify names.
3398	* config/locale/generic/c_locale.h (__convert_from_v): Ditto.
3399
34002003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3401	    Nathan C. Myers  <ncm-nospam@cantrip.org>
3402
3403	PR libstdc++/11378
3404	* include/std/std_fstream.h (xsputn): Declare only.
3405	* include/bits/fstream.tcc (xsputn): Define, optimize for the
3406	always_noconv() case: when __n is sufficiently large flush
3407	the buffer and issue a direct write, if possible combining the
3408	two with writev in __basic_file<>::xsputn_2.
3409	* config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
3410	New, declare.
3411	* config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
3412	Define.
3413	* acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
3414	the availability of writev in <sys/uio.h>.
3415	* configure.in: Call here.
3416	* acconfig.h: Add undef for the corresponding symbol.
3417	* aclocal.m4: Regenerate.
3418	* configure: Regenerate.
3419	* config.h.in: Regenerate.
3420	* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.
3421
3422	* include/std/std_fstream.h (sync): Constify a variable.
3423
34242003-07-14  Benjamin Kosnik  <bkoz@redhat.com>
3425
3426	* testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
3427	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
3428
34292003-07-14  Gabriel Dos Reis  <gcc@integrable-solutions.net>
3430
3431	* config/locale/gnu/c_locale.h (__convert_from_v): Include
3432	<cstring> and <cstdlib>. Qualify names.
3433
34342003-07-13  Mark Mitchell  <mark@codesourcery.com>
3435
3436	* config/locale/generic/c_locale.h: Include <cstdlib> and
3437	<cstring>.
3438	* include/bits/boost_concept_check.h: Add this-> to unqualified
3439	method calls.
3440	* include/bits/deque.tcc: Likewise.
3441	* include/bits/locale_facets.h : Likewise.
3442	* include/bits/ostream.tcc: Likewise.
3443	* include/bits/stl_algo.h: Likewise.
3444	* include/bits/stl_bvector.h: Likewise.
3445	* include/bits/stl_deque.h: Likewise.
3446	* include/bits/stl_list.h: Likewise.
3447	* include/bits/stl_tree.h: Likewise.
3448	* include/bits/stl_vector.h: Likewise.
3449	* include/bits/vector.tcc: Likewise.
3450	* include/ext/rope: Likewise.
3451	* include/ext/ropeimpl.h: Likewise.
3452	* include/ext/stdio_filebuf.h: Likewise.
3453
34542003-07-11  Jerry Quinn  <jlquinn@optonline.net>
3455
3456	* include/bits/basic_ios.h (copyfmt): Document.
3457	* include/bits/ios_base.h (event, event_callback, register_callback,
3458	xalloc, iword, pword):  Document.
3459	(imbue, ~ios_base): Update docs on callbacks.
3460
34612003-07-11  Phil Edwards  <pme@gcc.gnu.org>
3462
3463	* acinclude.m4 (GLIBCC_ENABLE_SYMVERS):  Tweak comments.  Add
3464	warning messages if the environment cannot support symbol versioning.
3465	(port_specific_symbol_file):  It's plural, add an 's' on the end.
3466	* configure.host:  Likewise.
3467	* src/Makefile.am:  Likewise.
3468	* config/linker-map.gnu:  Remove one semicolon, heh.
3469	* scripts/extract_symvers:  Don't assume useful 'export' syntax.
3470	Set LANG as well as LC_ALL for possibly-broken sort(1)s.
3471	* aclocal.m4, configure, src/Makefile.in:  Regenerated.
3472
34732003-07-09  Benjamin Kosnik  <bkoz@redhat.com>
3474
3475	* include/bits/locale_facets.tcc: Use function object for
3476	__use_cache instead of template function. Partially specialize for
3477	__numpunct<_CharT>.
3478	* include/bits/locale_classes.h: Update friend declaration for
3479	__use_cache.
3480	(_M_install_cache): No throw exception specs.
3481	* src/locale.cc: Remove __use_cache specializations.
3482	* include/ext/pod_char_traits.h (length): Tweak.
3483	* include/bits/locale_facets.h (__numpunct_cache): Remove
3484	char_type typedef.
3485	* testsuite/testsuite_hooks.h (pod_unsigned_int): Remove.
3486	(pod_long): Remove.
3487	* testsuite/22_locale/numpunct/members/char/cache_1.cc: New.
3488	* testsuite/22_locale/numpunct/members/char/cache_2.cc: New.
3489	* testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: New.
3490	* testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: New.
3491	* testsuite/22_locale/numpunct/members/pod/1.cc: New.
3492	* testsuite/22_locale/numpunct/members/pod/2.cc: New.
3493
34942003-07-09  Jerry Quinn  <jlquinn@optonline.net>
3495
3496	* src/ios.cc (_M_grow_words):  Fix spelling.
3497
34982003-07-09  Gawain Bolton  <gp.bolton@computer.org>
3499
3500	* include/bits/stl_tree.h: Move larger member functions in
3501	_Rb_tree_base_iterator and _Rb_tree_node to...
3502	* src/stl_tree.cc: Here.
3503	* src/Makefile.in: Add stl_tree.cc.
3504	* src/Makefile.in: Regenerated.
3505	* config/linker-map.gnu: Add symbols here.
3506
35072003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
3508
3509	* testsuite/ext/pod_char_traits.cc: New.
3510	* include/ext/pod_char_traits.h: New.
3511	* include/Makefile.am (ext_headers): Add pod_char_traits.h.
3512	* include/Makefile.in: Regenerate.
3513	* docs/html/21_strings/howto.html: Update.
3514
35152003-07-08  Gawain Bolton  <gp.bolton@computer.org>
3516
3517	* testsuite/performance/list_create_fill_sort.cc: New.
3518
35192003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
3520
3521	* config/locale/generic/numeric_members.cc: Correct type info.
3522	* config/locale/gnu/numeric_members.cc: Same.
3523	* include/bits/locale_facets.h: Same.
3524
3525	* include/bits/char_traits.h: Correct spacing.
3526
3527	* src/locale.cc: Wrap to 80 col.
3528
35292003-07-07  Paolo Carlini  <pcarlini@unitus.it>
3530
3531	* include/std/std_complex.h: Partially revert last
3532	changes: cmath functions must not be qualified.
3533
35342003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3535
3536	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Do not test for binutils
3537	2.11 with globbing backport fix.
3538	* aclocal.m4, configure:  Regenerated.
3539
35402003-07-06  Paolo Carlini  <pcarlini@unitus.it>
3541
3542	* include/std/std_fstream.h (xsputn): Don't call _M_destroy_pback:
3543	if output is at all possible (!_M_reading), cannot be active.
3544
3545	* include/std/std_fstream.h: Tweak comments to doxygen style.
3546
35472003-07-06  Paolo Carlini  <pcarlini@unitus.it>
3548
3549	* include/bits/locale_classes.h: Fully qualify standard
3550	functions with std::, thus avoiding Koenig lookup.
3551	* include/bits/locale_facets.tcc: Likewise.
3552	* src/locale.cc: Likewise.
3553	* src/localename.cc: Likewise.
3554
35552003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3556
3557	* include/bits/allocator_traits.h:  Fix doxygen markup.
3558	* include/ext/mt_allocator.h:  Likewise.
3559
35602003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3561
3562	* testsuite/testsuite_hooks.h:  Guard against a missing unlink().
3563
35642003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3565
3566	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Bump minimal version
3567	requirement.  Add port_specific_symbol_file variable.
3568	* configure.host:  Add docs for port_specific_symbol_file.
3569	Clean up try_cpu block for x86.
3570	* config/linker-map.gnu:  No more "last symbol can't have a
3571	semicolon" kaka.  Add hook for port-specific symbols.
3572	* src/Makefile.am:  Remove trailing whitespace.
3573	(libstdc++-symbol.ver):  Detect the presence of port-specific
3574	symbols, and add them accordingly.
3575
3576	* docs/html/17_intro/porting.texi:  Bring up to date.
3577
3578	* src/Makefile.in, aclocal.m4, configure,
3579	docs/html/17_intro/porting.html:  Regenerated.
3580
35812003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3582
3583	* scripts/create_testsuite_files:  New file.
3584	* testsuite/Makefile.am (all-local, check-performance):  Use it.
3585	* testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests):  Remove.
3586	* testsuite/Makefile.in:  Regenerated.
3587
3588	* testsuite/performance/filebuf_sputc.cc:  Remove the temporary
3589	files at the end.
3590	* testsuite/performance/fstream_seek_write.cc:  Likewise.
3591	* testsuite/performance/ofstream_insert_float.cc:  Likewise.
3592	* testsuite/performance/ofstream_insert_int.cc:  Likewise.
3593	* testsuite/abi_check.cc (main):  Nicer spacing in usage output.
3594
35952003-07-05  Gawain Bolton  <gp.bolton@computer.org>
3596
3597	* include/bits/stl_list.h: Performance and memory usage
3598	improvements. In particular, the behaviour of the constructor and
3599	destructor as the list header node is no longer dynamically
3600	allocated/de-allocated.
3601	* include/bits/list.tcc: Likewise.
3602
36032003-07-05  Paolo Carlini  <pcarlini@unitus.it>
3604
3605	* include/std/std_complex.h: Fully qualify standard
3606	functions with std::, thus avoiding Koenig lookup.
3607	* include/std/std_memory.h: Likewise.
3608	* include/std/std_valarray.h: Likewise.
3609
36102003-07-05  Gawain Bolton  <gp.bolton@computer.org>
3611
3612	* include/bits/stl_tree.h: _Rb_tree_rebalance():  Add local
3613	  variable for grandparent and use const
3614
36152003-07-05  David Billinghurst <David.Billinghurst@riotinto.com>
3616
3617	* testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin
3618	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto
3619	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto
3620 	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto
3621	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto
3622 	* testsuite/27_io/objects/char/7.cc: Ditto
3623 	* testsuite/27_io/objects/char/9661-1.cc: Ditto
3624
36252003-07-05  Paolo Carlini  <pcarlini@unitus.it>
3626
3627	* include/std/std_bitset.h: Fully qualify standard
3628	functions with std::, thus avoiding Koenig lookup.
3629
3630	* include/std/std_fstream.h: Change comment to doxygen style.
3631
36322003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3633
3634	* include/std/std_limits.h:  More CPP->CXX changes.
3635	* scripts/check_survey.in:  Likewise.
3636
36372003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3638
3639	Move from CPP to CXX.
3640	* include/bits/c++config: Move to GLIBCXX from GLIBCPP.
3641	* testsuite/Makefile.am: Same.
3642	* testsuite/Makefile.in: Regenerate.
3643	* po/Makefile.am: Same.
3644	* po/Makefile.in: Regenerate.
3645	* libsupc++/Makefile.am: Same.
3646	* libsupc++/Makefile.in: Regenerate.
3647	* libmath/Makefile.am: Same.
3648	* libmath/Makefile.in: Regenerate.
3649	* include/Makefile.am: Same.
3650	* include/Makefile.in: Regenerate.
3651	* src/Makefile.am: Same.
3652	* src/Makefile.in: Regenerate.
3653	* acconfig.h: Same.
3654	* configure.host: Same.
3655	* configure.in: Same.
3656	* configure: Regenerate.
3657	* acinclude.m4: Same.
3658	* aclocal.m4: Same.
3659	* src: Change all files in this directory.
3660	* testsuite: Same.
3661	* include: Same, standardize include guards.
3662	* config: Same.
3663	* libsupc++: Same.
3664
36652003-07-04  Zack Weinberg  <zack@codesourcery.com>
3666
3667	* testsuite/22_locale/collate/compare/wchar_t/2.cc
3668	* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
3669	* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
3670	* testsuite/22_locale/collate/hash/wchar_t/2.cc
3671	* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
3672	* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
3673	* testsuite/22_locale/collate/transform/wchar_t/2.cc
3674	* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
3675	* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
3676	XFAIL on all targets.
3677
36782003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3679
3680	* acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
3681	* aclocal.m4: Regenerate.
3682	* configure: Regenerate.
3683
36842003-07-04  Jerry Quinn  <jlquinn@optonline.net>
3685
3686	* include/bits/locale_facets.tcc (__int_to_char): Move common case
3687	to the top.
3688
36892003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3690	    Petur Runolfsson  <peturr02@ru.is>
3691
3692	* config/io/basic_file_stdio.cc: Revert.
3693
36942003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3695
3696	* include/bits/deque.tcc: Fully qualify standard
3697	functions with std::, thus avoiding Koenig lookup.
3698	* include/bits/gslice_array.h: Likewise.
3699	* include/bits/indirect_array.h: Likewise.
3700	* include/bits/list.tcc: Likewise.
3701	* include/bits/mask_array.h: Likewise.
3702	* include/bits/slice_array.h: Likewise.
3703
37042003-07-04  Gawain Bolton  <gbolton@free.fr>
3705
3706	* include/bits/stl_tree.h: Performance and memory usage
3707	improvements.
3708
37092003-07-04  H.J. Lu <hongjiu.lu@intel.com>
3710
3711	* Makefile.am: Replace PWD with PWD_COMMAND.
3712	* Makefile.in: Regenerated.
3713	* docs/html/Makefile: Likewise.
3714
37152003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3716
3717	* include/bits/valarray_array.h: Fully qualify standard
3718	functions with std::, thus avoiding Koenig lookup.
3719	* include/bits/vector.tcc: Likewise.
3720
37212003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3722
3723	* include/Makefile.am: Update target_ to host_.
3724	* include/Makefile.in: Regenerate.
3725	* src/Makefile.am: Same.
3726	* src/Makefile.in: Regenerate.
3727
3728	* config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.
3729
37302003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3731
3732	* acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
3733	--enable-libstdcxx-debug-flags.
3734	(GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
3735	(GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
3736	* aclocal.m4: Regenerate.
3737	* configure: Same.
3738	* docs/html/configopts.html: Update.
3739
37402003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3741
3742	Revert the fix for libstdc++/11378.
3743
37442003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3745
3746	PR libstdc++/11378
3747	* include/std/std_fstream.h (xsputn): In the unbuffered case,
3748	provided always_noconv(), issue directly _M_file.xsputn.
3749	* testsuite/performance/filebuf_unbuf_sputn.cc: New.
3750
37512003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3752
3753	* include/bits/stl_list.h: Fully qualify standard
3754	functions with std::, thus avoiding Koenig lookup.
3755	* include/bits/stl_queue.h: Likewise.
3756	* include/bits/stl_raw_storage_iter.h: Likewise.
3757	* include/bits/stl_tempbuf.h: Likewise.
3758	* include/bits/stl_tree.h: Likewise.
3759	* include/bits/stl_uninitialized.h: Likewise.
3760	* include/bits/stl_vector.h: Likewise.
3761	* include/ext/rope: Change includes order.
3762
37632003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3764
3765	* configure.host (fpos_include_dir): Fix.
3766
37672003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3768
3769	* include/bits/stl_heap.h: Fully qualify standard
3770	functions with std::, thus avoiding Koenig lookup.
3771	* include/bits/stl_iterator_base_funcs.h: Likewise.
3772
3773	* include/bits/stl_algo.h: Qualify __iterator_category too.
3774	* include/bits/stl_algobase.h: Likewise.
3775	* include/bits/stl_bvector.h: Likewise.
3776
3777	* include/bits/stl_algo.h: Don't qualify the pair type.
3778
37792003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
3780
3781	* include/Makefile.am (target_headers): Add fpos.h
3782	(bits_headers): Remove.
3783	* include/Makefile.in: Regenerate.
3784	* configure.in: Add FPOS_INC_SRCDIR, substitute it.
3785	* configure: Regenerate.
3786	* configure.host: Add fpos_include_dir.
3787	* config/os/gnu-linux/fpos.h: New.
3788	* config/os/generic/fpos.h: Add.
3789	* include/bits/fpos.h: Remove.
3790
3791	* config/io/c_io_stdio.h: Remove fpos_t typedef.
3792
3793	* include/bits/fstream.tcc: Tweaks.
3794	* include/std/std_fstream.h: Same.
3795
3796	* testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
3797	* testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
3798	* testsuite/27_io/fpos/mbstate_t/2.cc: Same.
3799	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
3800	* testsuite/27_io/fpos/1.cc: New.
3801
38022003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
3803	    Petur Runolfsson  <peturr02@ru.is>
3804
3805	* include/std/std_streambuf.h: Remove _M_pos.
3806	* config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
3807	* config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
3808	use fread/fwrite instead of read/write.
3809	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
3810	* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
3811	before reading again.
3812	* testsuite/27_io/objects/char/6.cc: Tweak.
3813
38142003-07-03  David Edelsohn  <edelsohn@gnu.org>
3815
3816	* testsuite/22_locale/num_put/put/char/7.cc: Guard with
3817	_GLIBCPP_USE_WCHAR_T.
3818
38192003-07-02  Paolo Carlini  <pcarlini@unitus.it>
3820
3821	* include/bits/basic_string.tcc (_M_replace_aux): Constify
3822	__n1 and __off1.
3823
38242003-07-02  Paolo Carlini  <pcarlini@unitus.it>
3825
3826	* include/bits/stl_bvector.h: Fully qualify standard
3827	functions with std::, thus avoiding Koenig lookup.
3828	* include/bits/stl_construct.h: Likewise.
3829	* include/bits/stl_deque.h: Likewise.
3830
38312003-07-02  Paolo Carlini  <pcarlini@unitus.it>
3832
3833	* testsuite/22_locale/num_put/put/char/7.cc: Include
3834	<testsuite_hooks.h>, tweak.
3835	* testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
3836
38372003-07-01  Phil Edwards  <pme@gcc.gnu.org>
3838
3839	* testsuite/Makefile.am (AM_MAKEFLAGS):  Set to -j1 (affects
3840	check* targets, but not libs/programs).
3841	* testsuite/Makefile.in:  Regenerate.
3842
38432003-07-01  Roger Sayle  <roger@eyesopen.com>
3844
3845	* acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS.
3846	(GLIBCPP_CHECK_MATH_SUPPORT): Likewise.
3847	* aclocal.m4: Regenerate.
3848	* configure: Regenerate.
3849
38502003-07-01  Benjamin Kosnik  <bkoz@redhat.com>
3851
3852	* acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error.
3853	* aclocal.m4: Regenerated.
3854	* configure: Regenerated.
3855
38562003-07-01  Paolo Carlini  <pcarlini@unitus.it>
3857
3858	PR libstdc++/11389
3859	* include/bits/fstream.tcc (underflow): For encoding() == 0
3860	don't read more than __buflen chars.
3861	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New.
3862	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New.
3863	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New.
3864	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New.
3865
38662003-07-01  Jerry Quinn  <jlquinn@optonline.net>
3867
3868	* 22_locale/num_put/put/char/7.cc: New.
3869	* 22_locale/num_put/put/wchar_t/7.cc: New.
3870
38712003-06-30  Jerry Quinn  <jlquinn@optonline.net>
3872
3873	* src/locale.cc (__use_cache<numpunct>): Revert previous relocation.
3874	* include/bits/locale_facets.tcc (__use_cache<numpunct>): Ditto.
3875
38762003-06-30  Benjamin Kosnik  <bkoz@redhat.com>
3877
3878	* 27_io/basic_filebuf/seekoff/char/1-in.cc: New.
3879	* 27_io/basic_filebuf/seekoff/char/1-io.cc: New.
3880	* 27_io/basic_filebuf/seekoff/char/1-out.cc: New.
3881	* 27_io/basic_filebuf/seekoff/char/2-in.cc: New.
3882	* 27_io/basic_filebuf/seekoff/char/2-io.cc: New.
3883	* 27_io/basic_filebuf/seekoff/char/2-out.cc: New.
3884	* 27_io/basic_filebuf/seekoff/char/2.cc: Remove.
3885	* 27_io/basic_filebuf/seekoff/char/3-in.cc: New.
3886	* 27_io/basic_filebuf/seekoff/char/3-io.cc: Change.
3887	* 27_io/basic_filebuf/seekoff/char/3-out.cc: New.
3888	* 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove.
3889	* 27_io/basic_filebuf/seekpos/char/1-in.cc: New.
3890	* 27_io/basic_filebuf/seekpos/char/1-io.cc: New.
3891	* 27_io/basic_filebuf/seekpos/char/1-out.cc: New.
3892	* 27_io/basic_filebuf/seekpos/char/2-in.cc: New.
3893	* 27_io/basic_filebuf/seekpos/char/2-io.cc: New.
3894	* 27_io/basic_filebuf/seekpos/char/2-out.cc: New.
3895	* 27_io/basic_filebuf/seekpos/char/2.cc: Change.
3896	* 27_io/basic_filebuf/seekpos/char/3-in.cc: New.
3897	* 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove.
3898	* 27_io/basic_filebuf/seekpos/char/3-out.cc: New.
3899	* 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove.
3900 	* data/seekoff-1.tst: Remove.
3901	* data/seekoff-1io.tst: New.
3902	* data/seekoff-1out.tst: New.
3903	* data/seekoff-2.tst: Remove.
3904	* data/seekoff-2io.tst: New.
3905	* data/seekoff-2out.tst: New.
3906	* data/seekoff.txt
3907	* data/seekpos-1.tst: Remove.
3908	* data/seekpos-1io.tst: New.
3909	* data/seekpos-1out.tst: New.
3910	* data/seekpos-2.tst: Remove.
3911	* data/seekpos-2io.tst: New.
3912	* data/seekpos-2out.tst: New.
3913	* data/seekpos.txt: New.
3914
39152003-06-30  Jerry Quinn  <jlquinn@optonline.net>
3916
3917	* src/locale.cc (__use_cache<numpunct>): Move from here ...
3918	* include/bits/locale_facets.tcc (__use_cache<numpunct>): To
3919	here.
3920
39212003-06-30  Paolo Carlini  <pcarlini@unitus.it>
3922
3923	* include/bits/stl_algobase.h: Fully qualify standard
3924	functions with std::, thus avoiding Koenig lookup.
3925
39262003-06-30  Doug Gregor <dgregor@apple.com>
3927
3928	* include/bits/locale_facets.tcc (money_get::do_get): Avoid
3929	subscripting empty string.
3930
39312003-06-30  Phil Edwards  <pme@gcc.gnu.org>
3932
3933	* testsuite/Makefile.am (check-am):  Do not override.
3934	(baseline_symbols):  Declare as PHONY, so no need to 'touch' it.
3935	* testsuite/Makefile.in:  Regenerate.
3936
39372003-06-30  Doug Gregor <dgregor@apple.com>
3938
3939	* testsuite/24_iterators/insert_iterator.cc (test01, test02):
3940	Don't initialize an insert_iterator with a singular iterator.
3941
39422003-06-30  Benjamin Kosnik  <bkoz@redhat.com>
3943
3944	* acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
3945	* aclocal.m4: Regenerate.
3946	* configure.in (GLIBCPP_CHECK_PCH): Move, change to
3947	GLIBCPP_ENABLE_PCH, default to yes.
3948	* configure: Regenerate.
3949	* docs/html/configopts.html: Add --enable-pch.
3950
39512003-06-30  Phil Edwards  <pme@gcc.gnu.org>
3952
3953	* testsuite/lib/libstdc++-v3-dg.exp:  Add comments.
3954	(libstdc++-v3-init):  Also set LD_RUN_PATH.
3955
39562003-06-30  Paolo Carlini  <pcarlini@unitus.it>
3957
3958	* include/std/std_streambuf.h (_M_mode): Unused by streambuf, move
3959	from here to filebuf and stringbuf.
3960	(~basic_streambuf()): Don't set _M_mode.
3961	(basic_streambuf()): Don't set _M_mode.
3962	* include/std/std_fstream.h (_M_mode): Move here, from streambuf.
3963	(~basic_filebuf()): Clean up.
3964	* include/bits/fstream.tcc (basic_filebuf()): Set _M_mode.
3965	* include/std/std_sstream.h (_M_mode): Move here, from streambuf.
3966	* testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode.
3967	* testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
3968	* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
3969	* testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
3970	* testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
3971
39722003-06-30  Paolo Carlini  <pcarlini@unitus.it>
3973
3974	* include/std/std_fstream.h (_M_underflow): Remove.
3975	(uflow): Remove, inherited from streambuf.
3976	(underflow): Only declare.
3977	* include/bits/fstream.tcc (_M_underflow): Rename to
3978	underflow, to which is equivalent for __bump == false,
3979	simplify.
3980	* include/std/std_sstream.h (_M_underflow): Remove.
3981	(uflow): Remove, inherited from streambuf.
3982	(underflow): Only declare.
3983	* include/bits/sstream.tcc (_M_underflow): Rename to
3984	underflow, to which is equivalent for __bump == false,
3985	simplify.
3986
39872003-06-29  Paolo Carlini  <pcarlini@unitus.it>
3988
3989	* include/bits/stl_algo.h: Fully qualify standard functions
3990	with std::, thus avoiding Koenig lookup.
3991
39922003-06-29  Paolo Carlini  <pcarlini@unitus.it>
3993
3994	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc:
3995	Improve type correctness-wise.
3996	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc:
3997	Likewise.
3998	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc:
3999	Likewise.
4000	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc:
4001	Likewise.
4002
40032003-06-29  Paolo Carlini  <pcarlini@unitus.it>
4004
4005	* include/std/std_streambuf.h (uflow): According to
4006	27.5.2.4.3,p16, don't check gptr() < egptr().
4007
40082003-06-28  Paolo Carlini  <pcarlini@unitus.it>
4009
4010	PR libstdc++/9875
4011	* include/bits/fstream.tcc (seekoff): Fix for encoding() > 0.
4012	(seekpos): Likewise.
4013	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
4014	New test.
4015	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
4016	New test.
4017
40182003-06-27  Benjamin Kosnik  <bkoz@redhat.com>
4019
4020	* testsuite/testsuite_performance.h (__gnu_cxx_test): Change
4021	output name to libstdc++-v3-performance.sum.
4022	* testsuite/Makefile.am (CLEANFILES): Remove .performance.
4023	* testsuite/Makefile.in: Regenerate.
4024
40252003-06-27  Matthias Klose  <doko@debian.org>
4026
4027	* testsuite/Makefile.am (check-abi, check-abi-verbose): Save
4028	output of abi-check in libstdc++-v3-abi.sum.
4029	* testsuite/Makefile.in: Regenerate.
4030
40312003-06-27  Krister Walfridsson  <cato@df.lth.se>
4032
4033	* config/os/bsd/netbsd/ctype_noninline.h
4034	(_C_ctype_): Declare.
4035	(ctype<char>::classic_table): Return _C_ctype_ + 1.
4036	(ctype<char>::ctype): Use classic_table.
4037
40382003-06-27  Paolo Carlini  <pcarlini@unitus.it>
4039	    Nathan C. Myers  <ncm-nospam@cantrip.org>
4040
4041	PR libstdc++/9178
4042	* include/bits/fstream.tcc (_M_underflow): Properly estimate
4043	the worst-case number of external bytes for a given get area.
4044	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New.
4045
40462003-06-27  Paolo Carlini  <pcarlini@unitus.it>
4047	    Petur Runolfsson  <peturr02@ru.is>
4048
4049	PR libstdc++/11305
4050	* include/bits/fstream.tcc (overflow): Properly estimate the
4051	worst-case number of external bytes for a given put area
4052	(by using codecvt::max_length()).
4053	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New.
4054	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New.
4055	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New.
4056	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New.
4057
40582003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
4059
4060	* config/linker-map.gnu: Remove ; after __numpunct_cache.
4061
40622003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
4063
4064	* include/bits/ios_base.h (ios_base::_M_getloc): Return reference
4065	to the imbued locale.
4066	* include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
4067	_M_getloc.
4068	(num_put::_M_convert_float): Use.
4069
40702003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
4071	    Jerry Quinn  <jlquinn@optonline.net>
4072
4073	* config/linker-map.gnu: Add __numpunct_cache.
4074	* config/locale/gnu/numeric_members.cc
4075	(numpunct::_M_initialize_numpunct): Account for _M_data, fill in
4076	all elements for "C" locale.
4077	(numpunct::~numpunct): Delete _M_data.
4078	* config/locale/generic/numeric_members.cc: Same.
4079	* include/bits/basic_ios.tcc
4080	(basic_ios::init): Remove __locale_cache bits.
4081	(basic_ios::_M_cache_locale): Same.
4082	* include/bits/ios_base.h: Same. Tweaks.
4083	* include/bits/locale_classes.h: Tweaks. Reorder classes.
4084	(__use_cache): Make friends with _Impl, locale.
4085	(_Impl::_M_caches): Add.
4086	(_Impl::_M_install_cache): Add.
4087	* include/bits/locale_facets.h (__numpunct_cache): New.
4088	(numpunct): Encapsulate data members in __numpunct_cache member,
4089	_M_data. Adjust virtuals.
4090	(numpunct::numpunct): New ctor for the same.
4091	(__locale_cache_base): Remove.
4092	(__locale_cache): Remove.
4093	* include/bits/locale_facets.tcc (__use_cache): New function,
4094	specializations.
4095	(num_put::_M_convert_int, _M_convert_float, do_put): Use it.
4096	* src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
4097	* src/ios.cc (ios_base::ios_base): Remove __locale_cache.
4098	* src/locale-inst.cc: Same. Add __numpunct_cache.
4099	* src/locale.cc: Tweak inlines.
4100	(__use_cache): Define specializations.
4101	* src/localename.cc: Use global bits.
4102	(_Impl::~Impl): Deal with __numpunct_cache destruction.
4103	(_Impl::_Impl): Same. Pre-cache standard numpunct facets.
4104	(_Impl::_M_init_facet): Take into account __numpunct_cache.
4105	* testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
4106	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
4107
41082003-06-26  Nathan C. Myers  <ncm-nospam@cantrip.org>
4109	    Paolo Carlini  <pcarlini@unitus.it>
4110
4111	* testsuite/performance/filebuf_copy.cc: New, testing char
4112	by char file copy.
4113
41142003-06-26  Paolo Carlini  <pcarlini@unitus.it>
4115	    Nathan C. Myers  <ncm-nospam@cantrip.org>
4116
4117	* include/bits/fstream.tcc (_M_underflow): When the actual
4118	end of file is reached, set 'uncommitted' mode to allow a
4119	next write without an intervening seek (see C++98 27.8.1.1,2
4120	and C89 7.9.5.3).
4121	* testsuite/27_io/basic_filebuf/underflow/char/2.cc: New.
4122
41232003-06-25  Nathan C. Myers  <ncm-nospam@cantrip.org>
4124
4125	* include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4126	sputc): Move inline, from here...
4127	* include/std/std_streambuf.h: ... to here.
4128
4129	* include/std/std_streambuf.h (snextc, sbumpc, sgetc,
4130	sputbackc, sungetc, sputc): Use __builtin_expect.
4131
41322003-06-24  Phil Edwards  <pme@gcc.gnu.org>
4133
4134	* docs/doxygen/mainpage.html:  Use a useful title.
4135
41362003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
4137
4138	* docs/html/documentation.html: Remove assignment info.
4139	* docs/html/17_intro/contribute.html: Edits.
4140	* docs/html/17_intro/libstdc++-assign.tx: Remove.
4141
4142	* docs/html/test.html: Update.
4143
4144	* README: Update.
4145
41462003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
4147	    Ulrich Drepper  <drepper@redhat.com>
4148
4149	* testsuite/testsuite_performance.h: Tweak mallinfo.
4150
41512003-06-24  Paolo Carlini  <pcarlini@unitus.it>
4152	    Nathan C. Myers  <ncm-nospam@cantrip.org>
4153
4154	* include/std/std_fstream.h (_M_filepos): Remove.
4155	(_M_reading, _M_writing): New, encode the various I/O modes:
4156	'read', 'write' and 'uncommitted'.
4157	(sync): If there is something to flush, do it, then go to
4158	'uncommitted' mode.
4159	* include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
4160	with three different cases: __off > 0 (upon underflow),
4161	__off == 0 (upon overflow), __off == -1 (upon open, setbuf,
4162	seekoff/pos).
4163	(_M_underflow): Don't call overflow, set _M_reading to true
4164	on success, tweak.
4165	(pbackfail): Set _M_reading to true on pback creation, tweak.
4166	(overflow): Don't seek, deal with overflow in 'uncommitted' mode,
4167	set _M_writing to true on success, tweak.
4168	(seekoff): Simplify, set _M_reading, _M_writing to false, call
4169	_M_set_buffer(-1) ('uncommitted').
4170	(open, close, setbuf): Set _M_reading, _M_writing to false and
4171	call _M_set_buffer(-1), tweak.
4172	(basic_filebuf): Don't set _M_buf_unified.
4173	(_M_destroy_internal_buffer): Don't call setg and setp.
4174	* include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
4175	_M_writing and _M_set_buffer(-1).
4176	* include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
4177	_M_out_lim, _M_buf_unified): Remove.
4178	(basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
4179	(setp): Don't set _M_out_lim.
4180	* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
4181	the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
4182	upon open the mode is 'uncommitted' and therefore the put area
4183	pointers are null.
4184	* testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
4185	* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
4186	* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
4187	* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
4188	* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
4189	* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
4190	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4191	* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
4192	* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
4193	* testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
4194	* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
4195	* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
4196	* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
4197	* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
4198	* testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
4199	* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
4200	* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
4201	* testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
4202	* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
4203	* testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.
4204
4205	* include/bits/fstream.tcc (showmanyc): Use only the
4206	documented derivation interface to basic_streambuf (gptr(),
4207	setg(), etc.) to work right with user specializations.
4208	* include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4209	sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
4210	* include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
4211	Likewise.
4212	* include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
4213	xsgetn): Likewise.
4214
42152003-06-23  Loren J. Rittle  <ljrittle@acm.org>
4216
4217	* configure.host (freebsd*): Set abi_baseline_pair.
4218	* config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
4219	(at or near first release) to 3.3.
4220	* config/abi/i386-freebsd5/baseline_symbols.txt: New file.
4221	* config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
4222	* config/abi/sparc-freebsd5/baseline_symbols.txt: New file.
4223
4224	* include/ext/mt_allocator.h: Portability.
4225	* testsuite/testsuite_performance.h: Likewise.
4226
42272003-06-23  Benjamin Kosnik  <bkoz@redhat.com>
4228
4229	* docs/html/17_intro/libstdc++-assign.txt: Update address.
4230
4231	* testsuite/performance/ifstream_getline.cc: Fix.
4232
42332003-06-23  Doug Gregor <dgregor@apple.com>
4234
4235	* include/bits/boost_concept_check.h: Don't use _D or _R for type
4236	names.
4237
42382003-06-22  Paolo Carlini  <pcarlini@unitus.it>
4239	    Nathan C. Myers  <ncm-nospam@cantrip.org>
4240
4241	* include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim
4242	is now used only for filebuf, when _M_buf_unified is true.
4243	epgtr() plays the role of _M_out_lim but it's only updated
4244	upon overflow, underflow, uflow, seekoff/pos.
4245	* include/bits/sstream.tcc (_M_underflow): New, implements
4246	stringbuf::underflow and uflow.
4247	(seekoff, seekpos): Tweak, use  _M_update_egptr.
4248	* include/std/std_sstream.h (str): Rewrote, deal correctly
4249	with the new logic, in particular, when pptr() > egptr().
4250	(_M_sync): When __testout && !__testin set all the get area
4251	pointers to the current string end.
4252	(_M_update_egptr): New, internal function updating egptr()
4253	to the actual string end.
4254	(_M_underflow): New, declare.
4255	(underflow): Dispatch to _M_underflow(false).
4256	(uflow): Dispatch to _M_underflow(true).
4257
4258	* include/bits/sstream.tcc (pbackfail, overflow, seekoff,
4259	seekpos): Use only the documented derivation interface to
4260	basic_streambuf (gptr(), setg(), etc.) to work right with
4261	user specializations.
4262	* include/std/std_sstream.h (str, _M_sync): Likewise.
4263
42642003-06-20  Doug Gregor <dgregor@apple.com>
4265
4266	* testsuite/20_util/auto_ptr.cc: Don't dereference NULL auto_ptr
4267	* testsuite/21_strings/basic_string/replace/char/4.cc: Don't
4268	dereference end iterator.
4269	* testsuite/21_strings/basic_string/replace/wchar_t/4.cc: Same.
4270	* testsuite/22_locale/ctype/narrow/char/1.cc: Don't subscript with
4271	index equal to the length of a string.
4272	* testsuite/22_locale/ctype/narrow/char/2.cc: Same.
4273	* testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Same.
4274	* testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Same.
4275	* testsuite/22_locale/ctype/widen/char/1.cc: Same.
4276	* testsuite/22_locale/ctype/widen/wchar_t/1.cc: Same.
4277	* testsuite/23_containers/list_modifiers.cc: Don't dereference
4278	singular reverse iterator.
4279	* testsuite/23_containers/vector_bool.cc: Don't increment singular
4280	iterator.
4281	* testsuite/24_iterators/rel_ops.cc: Don't compare singular iterator.
4282
42832003-06-20  Doug Gregor <dgregor@apple.com>
4284
4285	* include/bits/basic_string.h (basic_string::replace): Dispatch
4286	_InputIterator version based on _Is_integer.
4287	* include/bits/basic_string.tcc (basic_string::replace):
4288	Renamed replace(iterator, iterator, size_type, _CharT) to
4289	_M_replace_aux.
4290	* testsuite/21_strings/basic_string/assign/char/1.cc (test01):
4291	Test basic_string::assign(_InputIterator, _InputIterator),
4292	which calls basic_string::replace(iterator, iterator,
4293	_Input_iterator, _InputIterator).
4294
42952003-06-20  Benjamin Kosnik  <bkoz@redhat.com>
4296
4297	* testsuite/testsuite_performance.h (resource_counter): Don't use
4298	mallinfo at the moment.
4299
43002003-06-20  Matthias Klose  <doko@debian.org>
4301
4302	* configure.host: Set try_cpu to target_cpu for existing
4303	baseline files.
4304
43052003-06-19  Andreas Jaeger  <aj@suse.de>
4306
4307	* testsuite/Makefile.am (extract_symvers): Revert accidental
4308	change.
4309	* testsuite/Makefile.in: Regenerate.
4310
4311	* configure.in: Pass MULTISUBDIR to testsuite/Makefile.
4312	* configure: Regenerated.
4313
43142003-06-19  Paolo Carlini  <pcarlini@unitus.it>
4315
4316	* include/std/std_sstream.h (_M_sync): Make non virtual.
4317
43182003-06-18  Benjamin Kosnik  <bkoz@redhat.com>
4319
4320	* testsuite/testsuite_performance.h (time_counter): New.
4321	(resource_counter): New.
4322	(report_performance): New.
4323	(start_counters): New.
4324	(stop_counters): New.
4325	(clear_counters): New.
4326	* testsuite/performance/allocator.cc: Instrument.
4327	* testsuite/performance/cout_insert_int.cc: Same.
4328	* testsuite/performance/complex_norm.cc: Same.
4329	* testsuite/performance/filebuf_sputc.cc: New.
4330	* testsuite/performance/fstream_seek_write.cc: Same.
4331	* testsuite/performance/ifstream_getline.cc: Same.
4332	* testsuite/performance/map_create_fill.cc: Same.
4333	* testsuite/performance/ofstream_insert_float.cc: Same.
4334	* testsuite/performance/ofstream_insert_int.cc: Same.
4335	* testsuite/performance/string_append.cc: Convert.
4336	* scripts/check_performance: New.
4337	* testsuite/Makefile.am (check-performance): New.
4338	(CLEANFILES): Add.
4339
43402003-06-18  Paolo Carlini  <pcarlini@unitus.it>
4341	    Benjamin Kosnik  <bkoz@redhat.com>
4342
4343	* include/std/std_sstream.h (setbuf): Check __n >= 0.
4344	* include/bits/fstream.tcc (setbuf): Tweak.
4345
43462003-06-18  Paolo Carlini  <pcarlini@unitus.it>
4347
4348	* include/bits/sstream.tcc (seekoff): We can't seek beyond
4349	_M_out_lim, therefore _M_move_out_cur boils down to simply
4350	updating _M_out_cur.
4351	(seekpos): Likewise, clean up.
4352
43532003-06-18  Nathan C. Myers  <ncm-nospam@cantrip.org>
4354	    Paolo Carlini  <pcarlini@unitus.it>
4355
4356	* include/bits/fstream.tcc (setbuf): Allow (__s, 1) too,
4357	simply equivalent to the unbuffered case (0, 0) as far as
4358	_M_buf_size is concerned.
4359
43602003-06-18  Andreas Jaeger  <aj@suse.de>
4361
4362	* testsuite/Makefile.am (new-abi-baseline): Create baseline
4363	directory.
4364	(baseline_file): Use baseline_dir.
4365	(baseline_dir): New.
4366	(mkinstalldirs): New.
4367
4368	* acinclude.m4: Rename baseline_file to baseline_dir, strip
4369	filename from baseline_dir.
4370
4371	* testsuite/Makefile.in: Regenerated.
4372	* Makefile.in: Regenerated.
4373	* aclocal.m4: Regenerated.
4374	* configure: Regenerated.
4375
43762003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4377
4378	* configure.in: Missed check_survey bit.
4379	* configure: Regenerated.
4380
43812003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4382
4383	* scripts: New.
4384	* config/abi/extract_symvers: Move to...
4385	* scripts/extract_symvers: ...here.
4386	* mkcheck.in: Move to..
4387	* scripts/check_survey.in: ...here.
4388	* testsuite_flags.in: Move to..
4389	* scripts/testsuite_flags.in: ...here.
4390	* configure.in: Change check and testsuite_flags locations.
4391	* configure: Regenerate.
4392	* testsuite/Makefile.am (current_symbols.txt): Change location.
4393	* testsuite/Makefile.in: Regenerate.
4394	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
4395	location of testsuite_flags.
4396	* Makefile.am (check-script): Move..
4397	(check-script-install): Move...
4398	* testsuite/Makefile.am: ... here.
4399	* testsuite/Makefile.in: Regenerate.
4400	* Makefile.in: Regenerate.
4401
44022003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4403
4404	* config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.
4405
44062003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
4407
4408	* Makefile.am (check-abi): Move...
4409	(new-abi-baseline): Move...
4410	* testsuite/Makefile.am: ...here.
4411	(new-abi-baseline): Conditionalize.
4412	(check-abi): Conditionalize.
4413	(check-abi-verbose): New.
4414	* Makefile.in: Regenerate.
4415	* testsuite/Makefile.in: Regenerate.
4416	* configure.in: Consolidate testsuite configure bits.
4417	* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same.
4418	* configure: Regenerate.
4419	* aclocal.m4: Regenerate.
4420	* testsuite/abi_check.cc: Add --check-verbose.
4421	Only output detailed information if --check-verbose.
4422
44232003-06-16  Andreas Jaeger  <aj@suse.de>
4424
4425	* testsuite/abi_check.cc: Create summary report.
4426
44272003-06-16  Paolo Carlini  <pcarlini@unitus.it>
4428
4429	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Fix
4430	for systems with BUFSIZ != 8192.
4431	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4432	* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc:
4433	Minor tweaks.
4434
44352003-06-16  Andreas Jaeger  <aj@suse.de>
4436
4437	* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make
4438	check-abi multilib aware.
4439	* aclocal.m4: Regenerate.
4440	* configure: Regenerate.
4441
44422003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
4443	    Andreas Jaeger  <aj@suse.de>
4444
4445	* configure.host: Set x86_64 abi_baseline pair correctly.
4446
44472003-06-16  Paolo Carlini  <pcarlini@unitus.it>
4448
4449	* testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Split and
4450	fix for missing seeks between gets and puts into...
4451	* testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: New.
4452	* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: New.
4453	* testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: New.
4454	* testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: New.
4455	* testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: New.
4456	* testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: New.
4457
44582003-06-15  Richard Henderson  <rth@redhat.com>
4459
4460	* config/linker-map.gnu: Export virtual function thunks for
4461	64-bit systems too.
4462
44632003-06-13  Benjamin Kosnik  <bkoz@redhat.com>
4464
4465	* config/abi/i686-pc-linux-gnu: To..
4466	* config/abi/i486-linux-gnu: ...this.
4467	* config/abi/alphaev67-unknown-linux-gnu: To..
4468	* config/abi/alpha-linux-gnu: ...this.
4469	* config/abi/ia64-unknown-linux-gnu: To...
4470	* config/abi/ia64-linux-gnu: ...this.
4471	* config/abi/x86_64-unknown-linux-gnu: To...
4472	* config/abi/x86_64-linux-gnu: ...this.
4473	* config/abi/i386-unknown-freebsd4: To...
4474	* config/abi/i386-freebsd4: ...this.
4475	* config/linker-map.gnu: Cleanups, move libsupc++ bits into
4476	CXXABI.
4477	* configure.host: abi_baseline_triplet to abi_baseline_pair.
4478	Simplify cpu bits so that abi_baseline_pair can use the same
4479	cpu configuration.
4480	* acinclude.m4: Same.
4481	* aclocal.m4: Regenerate.
4482	* configure.in: Can't get enable_abi_check to yes unless native.
4483	* configure: Regenerate.
4484
44852003-06-13  Paolo Carlini  <pcarlini@unitus.it>
4486
4487	* testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and
4488	fix for missing seeks between gets and puts into...
4489	* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: New.
4490	* testsuite/27_io/basic_filebuf/seekoff/char/4-io.cc: New.
4491	* testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Same, into...
4492	* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: New.
4493	* testsuite/27_io/basic_filebuf/seekpos/char/4-io.cc: New.
4494	* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Fix
4495	for missing seeks between gets and puts.
4496	* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Ditto.
4497	* testsuite/data/seekoff-1.tst: New.
4498	* testsuite/data/seekoff-2.tst: New.
4499	* testsuite/data/seekpos-1.tst: New.
4500	* testsuite/data/seekpos-2.tst: New.
4501
45022003-06-13  Nathan C. Myers <ncm-nospam@cantrip.org>
4503
4504	Avoid multi-processor bus contention on increment/decrement-and-
4505	test of the reference count in the empty-string object, by comparing
4506	addresses first, and never touching the reference count of the empty-
4507	string object.
4508	* include/bits/basic_string.h:
4509	(_S_empty_rep_storage): Move into basic_string<>::_Rep for use by its
4510	members.
4511	(_Rep::_S_empty_rep()): New accessor.
4512	(_Rep::_M_length, _Rep::_M_capacity, _Rep::_M_references): Move to
4513	a base class _Rep_base.
4514	(_Rep::_M_dispose, _Rep::_M_refcopy): Check for the empty string.
4515	(basic_string()): Change to use _M_refdata() in place of _M_refcopy(),
4516	since no longer must increment its refcount.
4517	* include/bits/basic_string.tcc:
4518	(_Rep::_M_destroy, _M_leak_hard): Check for the empty string and
4519	return immediately.  The former might be unnecessary.  The latter
4520	prevents begin() and end() from cloning it unnecessarily.
4521	(_S_construct(_InIterator, _InIterator, const _Alloc&,
4522	input_iterator_tag), _S_construct(_InIterator, _InIterator,
4523	const _Alloc&, forward_iterator_tag), _S_construct(size_type, _CharT,
4524	const _Alloc&)): Change to use _M_refdata() in place of _M_refcopy().
4525	(_M_mutate): Check for the empty string and treat it as shared.
4526	This is necessary here because _M_mutate is sometimes called with
4527	all-zero arguments; in all other uses of _M_is_shared, the test comes
4528	out right anyhow.
4529
45302003-06-12  Benjamin Kosnik  <bkoz@redhat.com>
4531
4532	* src/allocator-inst.cc: Explicitly instantiate.
4533	* include/ext/pool_allocator.h: Inhibit implicit instantiations.
4534	Tweaks.
4535	* config/linker-map.gnu: Add __pool_alloc bits. Tweaks.
4536
45372003-06-11  Benjamin Kosnik  <bkoz@redhat.com>
4538
4539	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
4540	* aclocal.m4: Regenerate.
4541	* Makefile.am (SUBDIRS): Remove libio.
4542	* Makefile.in: Regenerate.
4543	* configure.in: Same.
4544	* configure: Regenerate.
4545	* config/io/basic_file_libio.cc: Remove.
4546	* config/io/basic_file_libio.h: Remove.
4547	* config/io/c_io_libio_codecvt.c: Remove.
4548	* config/io/c_io_libio.h: Remove.
4549	* libio/*: Remove.
4550	* src/Makefile.am: Same.
4551	* src/Makefile.in: Regenerate.
4552	* docs/html/configopts.html: Edits.
4553	* docs/html/explanations.html: Edits.
4554
45552003-06-11  Benjamin Kosnik  <bkoz@redhat.com>
4556
4557	* include/bits/stl_alloc.h (__debug_alloc): Move out.
4558	(__malloc_alloc): Same.
4559	(__pool_alloc): Same.
4560	(__new_alloc): Same.
4561	Rename to..
4562	* include/bits/allocator.h: ...this.
4563	* include/bits/stl_deque.h: Modify comment.
4564	* include/bits/stl_tree.h: Modify include.
4565	* include/std/std_memory.h: Same.
4566	* include/ext/rope: Same.
4567	* include/ext/slist: Same.
4568	* include/std/std_vector.h: Same.
4569	* include/std/std_stack.h: Same.
4570	* include/std/std_queue.h: Same.
4571	* include/std/std_list.h: Same.
4572	* include/std/std_deque.h: Same.
4573	* include/backward/alloc.h: Same.
4574	* include/ext/debug_allocator.h: New.
4575	* include/ext/malloc_allocator.h: New.
4576	* include/ext/pool_allocator.h: New.
4577	* include/ext/new_allocator.h: New.
4578	* include/bits/pthread_allocimpl.h: Remove.
4579	* include/bits/stl_pthread_alloc.h: Remove.
4580	* include/Makefile.am (ext_headers): Add.
4581	* include/Makefile.in: Regenerate.
4582	* src/stl-inst.cc: Use __gnu_cxx namespace.
4583	* src/stl-inst.cc: Move to...
4584	* src/allocator-inst.cc: Here.
4585	* src/Makefile.am (sources): Update.
4586	* src/Makefile.in: Regenerate.
4587	* config/linker-map.gnu: Remove __pool_alloc bits.
4588	* testsuite/ext/headers.cc: Add.
4589	* testsuite/ext/allocators.cc: Fixup.
4590
45912003-06-11  Stefan Olsson  <stefan@snon.net>
4592	    Ola Rönnerup  <fnolis@home.se>
4593
4594	* include/Makefile.am (ext_headers): Add.
4595	* include/Makefile.in: Regenerate.
4596	* include/ext/mt_allocator.h: New file.
4597
45982003-06-10  Paolo Carlini  <pcarlini@unitus.it>
4599
4600	* include/bits/fstream.tcc (close): Clean up a bit.
4601
4602	* include/bits/streambuf.tcc (sbumpc): Clean up a bit.
4603
4604	* include/std/std_fstream.h (_M_destroy_pback): _M_pback_cur_save
4605	- the saved _M_in_cur, that is - cannot be null.
4606	(sync): Constify a variable.
4607
4608	* include/std/std_streambuf.h: Tweak a comment.
4609	(in_avail): Constify a variable.
4610
46112003-06-10  Phil Edwards  <pme@gcc.gnu.org>
4612
4613	* docs/html/17_intro/BUGS:  Update from 2.90.8 snapshot.
4614	* docs/html/17_intro/CHECKLIST:  Bring up to date with respect to
4615	correctness of container::iterator typedefs.  Fix whitespace.
4616	* docs/html/20_util/howto.html, docs/html/ext/howto.html:  Add links
4617	to allocator docs.
4618	* docs/html/documentation.html:  Regenerate.
4619
4620	* include/bits/basic_string.h, include/bits/basic_string.tcc,
4621	include/bits/deque.tcc, include/bits/list.tcc, include/bits/stl_algo.h,
4622	include/bits/stl_algobase.h, include/bits/stl_bvector.h,
4623	include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
4624	include/bits/stl_list.h, include/bits/stl_uninitialized.h,
4625	include/bits/stl_vector.h, include/bits/vector.tcc,
4626	include/ext/algorithm, include/ext/slist, include/std/std_bitset.h:
4627	Change _Iter names to _Iterator, and __pos to __position.
4628
4629	* include/bits/stl_relops.h, include/bits/stl_numeric.h,
4630	include/bits/stl_multiset.h, include/bits/stl_set.h:
4631	Remove emacs markers.
4632
4633	* include/bits/stl_threads.h (_STL_auto_lock):  Add __unused__.
4634
46352003-06-10  Paolo Carlini  <pcarlini@unitus.it>
4636
4637	* include/bits/fstream.tcc (overflow): According to
4638	27.5.2.4.5, overflow() returns not_eof(eof()).
4639	* testsuite/27_io/basic_filebuf/overflow/char/2.cc: New.
4640	* testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Ditto.
4641
46422003-06-10  Paolo Carlini  <pcarlini@unitus.it>
4643
4644	* include/bits/fstream.tcc (_M_underflow): Check overflow return
4645	value; tweak slightly.
4646
46472003-06-09  Paolo Carlini  <pcarlini@unitus.it>
4648
4649	* include/bits/fstream.tcc (_M_underflow): Do not special
4650	case the unbuffered case, which really means simply a one char
4651	get area.
4652	(basic_filebuf): Initialize _M_buf_size.
4653	(setbuf): Unbuffered means _M_buf_size == 1, since only
4654	_M_buf_size - 1 == 0 chars are going to be used for the
4655	put area and 1 for the get area.
4656	* include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf.
4657	(~basic_streambuf): Tweak.
4658	(basic_streambuf): Do not initialize _M_buf_size.
4659	* include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf.
4660	(~basic_filebuf): Tweak.
4661	(_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the
4662	unbuffered situation (i.e., put area pointers NULL).
4663	* include/bits/streambuf.tcc (sbumpc): Clean up.
4664	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into...
4665	* testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New.
4666	* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New.
4667	* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New.
4668	* testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New.
4669	* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New.
4670	* testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New.
4671
46722003-06-09  Phil Edwards  <pme@gcc.gnu.org>
4673
4674	* acinclude.m4:  Move all AM_CONDITIONAL calls out.
4675	(GLIBCPP_CONFIGURE):  Set defaults for variables used in AM_CONDITIONAL
4676	statements.
4677	* configure.in:  Centralize AM_CONDITIONALs so that they are always
4678	run.  Make use of GLIBCPP_IS_CROSS_COMPILING.
4679	* aclocal.m4, configure:  Regenerated.
4680
46812003-06-09  Paolo Carlini  <pcarlini@unitus.it>
4682
4683	* docs/html/ext/howto.html ('LWG Issues'):  Add issue 235.
4684
46852003-06-06  Nathan Myers  <ncm-nospam@cantrip.org>
4686
4687	* include/bits/stl_iterator.h
4688	(reverse_iterator::reverse_iterator()): Apply DR235: default
4689	constructor default-initializes data member.  Instantiated on a
4690	pointer type, the member has to end up equal to zero.
4691
46922003-06-06  Benjamin Kosnik  <bkoz@redhat.com>
4693
4694	* include/bits/stl_alloc.h: Cleanups.
4695	* include/ext/functional: Same.
4696	* include/ext/hash_map: Same.
4697	* include/ext/hash_set: Same.
4698	* include/ext/iterator: Same.
4699	* include/ext/memory: Same.
4700	* include/ext/numeric: Same.
4701	* include/ext/rb_tree: Same.
4702	* include/ext/ropeimpl.h: Same.
4703	* include/ext/slist: Same.
4704	* include/ext/stdio_filebuf.h: Same.
4705	* include/ext/stdio_sync_filebuf.h: Same.
4706	* include/ext/stl_rope.h: Move to...
4707	* include/ext/rope: ...here.
4708	* include/ext/stl_hash_fun.h: Move to...
4709	* include/ext/hash_fun.h: ...here.
4710	* include/ext/stl_hashtable.h: Move to...
4711	* include/ext/hashtable.h: ...here.
4712	* include/backward/hashtable.h: Reflect new names.
4713	* include/Makefile.am: Same.
4714	* include/Makefile.in: Regenerated.
4715
47162003-06-05  Benjamin Kosnik  <bkoz@redhat.com>
4717
4718	PR libstdc++/9024
4719	* include/bits/fstream.tcc (_M_underflow): Fix for unbuffered.
4720	* include/bits/stl_algobase.h: Tweak.
4721	* include/std/std_fstream.h: Move _M_buf_size to...
4722	* include/std/std_streambuf.h: ...here. Modify.
4723	* include/bits/streambuf.tcc: Same.
4724	* testsuite/testsuite_hooks.h: Tweak.
4725	* testsuite/testsuite_io.h (constraint_filebuf): New.
4726	* testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into...
4727	* testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New.
4728	* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New.
4729	* testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New.
4730	* testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New.
4731	* testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New.
4732	* testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New.
4733	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into...
4734	* testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New.
4735	* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New.
4736	* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New.
4737	* testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New.
4738	* testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New.
4739	* testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New.
4740	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into...
4741	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New.
4742	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New.
4743	* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New.
4744	* testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into...
4745	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New.
4746	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New.
4747	* testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New.
4748	* testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New.
4749	* testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into...
4750	* testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New.
4751	* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New.
4752	* testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New.
4753	* testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New.
4754	* testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New.
4755	* testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New.
4756	* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into...
4757	* testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New.
4758	* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New.
4759	* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New.
4760	* testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into...
4761	* testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New.
4762	* testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New.
4763	* testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New.
4764	* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into...
4765	* testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New.
4766	* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New.
4767	* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New.
4768	* testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New.
4769	* testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New.
4770	* testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New.
4771	* testsuite/data/sgetc.txt: New.
4772	* testsuite/data/sgetn.txt: New.
4773
47742003-06-05  Paolo Carlini  <pcarlini@unitus.it>
4775
4776	PR libstdc++/11095
4777	* include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)):
4778	Deal with width() smaller than zero.
4779	* include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT),
4780	operator<<(basic_ostream&, char), operator<<(basic_ostream&, const
4781	_CharT*), operator<<(basic_ostream<_CharT, _Traits>&, const
4782	char*), operator<<(basic_ostream<char, _Traits>&, const char*),
4783	operator<<(basic_ostream, const basic_string&)): Likewise.
4784
4785	* testsuite/27_io/basic_istream/extractors_character/char/
4786	(11095-i.cc, 11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
4787	* testsuite/27_io/basic_ostream/inserters_character/char/
4788	(11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
4789	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
4790	(11095-od.cc, 11095-oe.cc, 11095-of.cc): New.
4791
47922003-06-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4793
4794	* acinclude.m4 (GLIBCPP_CHECK_PCH): Only set glibcpp_PCHFLAGS if
4795	.gch compilation works.
4796	* aclocal.m4, configure: Regenerate.
4797	* testsuite_flags.in (--build-cxx): Use glibcpp_PCHFLAGS to
4798	initialize PCHFLAGS.
4799
48002003-06-04  Paolo Carlini  <pcarlini@unitus.it>
4801
4802	* include/bits/basic_string.h (_M_fold, insert(iterator, _CharT),
4803	erase(iterator), erase(iterator, iterator), c_str,
4804	compare(const basic_string&)): Constify various variables.
4805	* include/bits/basic_string.tcc (_S_construct(_InIter, _InIter,
4806	const _Alloc&, input_iterator_tag), _M_destroy, _M_mutate,
4807	_S_create, resize, _M_replace, _M_replace_safe,
4808	append(const basic_string&), append(const basic_string&, size_type,
4809	size_type), append(const _CharT*, size_type), append(size_type,
4810	_CharT), operator+(const _CharT*, const basic_string&),
4811	operator+(_CharT, const basic_string&), replace(iterator, iterator,
4812	size_type, _CharT), find(const _CharT*, size_type, size_type),
4813	find(_CharT, size_type), rfind(const _CharT*, size_type, size_type),
4814	rfind(_CharT, size_type), compare(size_type, size_type,
4815	const basic_string&), compare(size_type, size_type,
4816	const basic_string&, size_type, size_type), compare(const _CharT*),
4817	compare(size_type, size_type, const _CharT*), compare(size_type,
4818	size_type, const _CharT*, size_type)): Likewise.
4819
48202003-06-03  Benjamin Kosnik  <bkoz@redhat.com>
4821
4822	* include/bits/fstream.tcc (pbackfail): Make a rarely taken
4823	'if' branch less obscure.
4824
48252003-06-02  Andrew Pinski  <pinskia@physics.uc.edu>
4826
4827	PR libstdc++/9815
4828	* config/cpu/i386/atomicity.h (__exchange_and_add): add intel
4829	asm case to asm.
4830	* config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
4831	(__atomic_add): likewise.
4832
48332003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4834
4835	* include/bits/sstream.tcc (pbackfail): Minor clean up and
4836	reformatting, consistent with basic_filebuf::pbackfail.
4837
48382003-06-02  Richard Kreckel  <Richard.Kreckel@GiNaC.DE>
4839
4840	PR libstdc++/11062
4841	* config/cpu/mips/atomicity.h:  Change __attribute__ ((unused)) to
4842	__attribute__ ((__unused__)).
4843	* config/os/aix/atomicity.h:  Likewise.
4844
48452003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4846
4847	PR libstdc++/9761
4848	* include/bits/fstream.tcc (pbackfail): If the pback buffer
4849	is already active don't try to store in it a second char.
4850	* testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: New.
4851
4852	* include/bits/fstream.tcc (pbackfail): Add unbuffered bits.
4853
48542003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4855
4856	* testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak
4857	line spacing.
4858
48592003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4860
4861	* include/std/std_fstream.h (_M_destroy_pback): Use _M_in_beg
4862	instead of unnecessarily taking the address of _M_pback.
4863	(xsgetn): Simplify slightly for a single char pback buffer.
4864
48652003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4866
4867	* include/bits/sstream.tcc (seekoff): Remove four unnecessary
4868	variables and two 'if', clean up.
4869
48702003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4871
4872	* include/bits/sstream.tcc (seekpos): Test against _M_out_lim
4873	not _M_out_end, since the former actually points to the string
4874	end (vs buffer end).
4875	* testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: New.
4876
48772003-05-30  Phil Edwards  <pme@gcc.gnu.org>
4878
4879	* docs/doxygen/filter:  New file.
4880	* docs/doxygen/filter.sed:  New file.
4881	* docs/doxygen/run_doxygen:  Add g flag to sed substitutions.  Duh.
4882	* docs/doxygen/user.cfg.in (INPUT_FILTER):  Point to new filter.
4883	* docs/html/documentation.html:  Fix links to doxygen pages.
4884
48852003-05-30  Paolo Carlini  <pcarlini@unitus.it>
4886
4887	* include/bits/fstream.tcc (_M_convert_to_external): Don't
4888	check for __ilen > 0.
4889
48902003-05-29  Sylvain Pion  <Sylvain.Pion@mpi-sb.mpg.de>
4891
4892	PR libstdc++/10783
4893	* include/bits/stl_iterator.h (class __normal_iterator):
4894	Don't inherit from iterator, add missing typedefs.
4895
48962003-05-29  Paolo Carlini <pcarlini@unitus.it>
4897
4898	* testsuite/24_iterators/reverse_iterator.cc: Split up, as follows.
4899	* testsuite/24_iterators/reverse_iterator/1.cc: New.
4900	* testsuite/24_iterators/reverse_iterator/2.cc: New.
4901	* testsuite/24_iterators/reverse_iterator/3.cc: New, from
4902	PR libstdc++/10783.
4903
49042003-05-27  Steve Ellcey  <sje@cup.hp.com>
4905
4906	* config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
4907	on IA64 HP-UX.
4908	* libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
4909	_LIBUNWIND_STD_ABI is set.
4910
49112003-05-26  Brendan Kehoe  <brendan@zen.org>
4912
4913	* include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and
4914	make sure the number of digits required after the decimal-point
4915	(if any) is exactly the value returned by frac_digits().
4916	* testsuite/22_locale/money_get/get/char/9.cc: New.
4917	* testsuite/22_locale/money_get/get/wchar_t/9.cc: New.
4918
49192003-05-27  Jonathan Wakely  <redi@gcc.gnu.org>
4920
4921	* include/std/std_istream.h, include/std/std_ostream.h: Typo in
4922	comment.
4923
49242003-05-26  Benjamin Kosnik  <bkoz@redhat.com>
4925
4926	PR libstdc++/9339
4927	* include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove.
4928	(_M_pback): No array necessary.
4929	* include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add
4930	unbuffered case, coalesec into ...
4931	(basic_filebuf::overflow): ...this.
4932	* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New.
4933	* testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered.
4934
49352003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>
4936
4937	* libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc,
4938	libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc,
4939	libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc,
4940	libsupc++/eh_catch.cc, libsupc++/eh_exception.cc,
4941	libsupc++/eh_globals.cc, libsupc++/eh_personality.cc,
4942	libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc,
4943	libsupc++/eh_throw.cc, libsupc++/eh_type.cc,
4944	libsupc++/eh_unex_handler.cc, libsupc++/exception,
4945	libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc,
4946	libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc,
4947	libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc,
4948	libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc:
4949	Replace "GNU CC" with "GCC".
4950
4951	* include/backward/new.h: Replace "GNU CC" with "GCC".
4952
49532003-05-22  Benjamin Kosnik  <bkoz@redhat.com>
4954
4955	PR libstdc++/3066.
4956	* configure.in: Switch target to host, don't assume newlib.
4957	(target_alias): Remove.
4958	* configure: Regenerate.
4959	* acinclude.m4: Same.
4960	* aclocal.m4: Regenerate.
4961	* configure.target: Same. Rename to...
4962	* configure.host: This.
4963
49642003-05-22  Paolo Carlini  <pcarlini@unitus.it>
4965
4966	* include/std/std_fstream.h (_S_pback_size): Remove definition.
4967	(_M_create_pback(), _M_destroy_pback()): Simplify for a single-char
4968	pback buffer.
4969	* include/bits/fstream.tcc (_S_pback_size): Remove declaration.
4970	* testsuite/27_io/basic_filebuf/3.cc: Remove explicit instantiation
4971	of _S_pback_size for systems with no COMDAT or weak support.
4972	* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
4973	* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
4974	* testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise.
4975	* testsuite/27_io/basic_fstream/3.cc: Likewise.
4976	* testsuite/27_io/basic_ifstream/3.cc: Likewise.
4977	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Likewise.
4978	* testsuite/27_io/basic_ofstream/3.cc: Likewise.
4979	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Likewise.
4980	* testsuite/27_io/basic_streambuf/3.cc: Likewise.
4981
49822003-05-22  Paolo Carlini  <pcarlini@unitus.it>
4983
4984	* include/bits/fstream.tcc (_M_underflow): Simplify:
4985	!__testout implies _M_filepos == _M_in_end, therefore
4986	the first _M_file.seekoff call is never issued.
4987
49882003-05-22  Benjamin Kosnik  <bkoz@redhat.com>
4989
4990	* configure.in: Sort cross table.
4991	* configure: Regenerate.
4992
49932003-05-22  Brad Spencer  <spencer@infointeractive.com>
4994
4995	PR libstdc++/10106
4996	* configure.in: Add Solaris cross bits.
4997
49982003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
4999
5000	* libstdc++-v3/config/os/mingw32/os_defines.h
5001	(__GTHREAD_HIDE_WIN32API): Define to 1 by defualt.
5002	(NOMINMAX): Define.  Update copyright year.
5003
50042003-05-21  Paolo Carlini  <pcarlini@unitus.it>
5005
5006	* include/std/std_fstream.h (_M_set_buffer): Fix indentation.
5007
50082003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>
5009
5010	* docs/html/faq/index.html: Fix typo.
5011	* docs/html/faq/index.txt: Regenerate.
5012
50132003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>
5014
5015	* docs/html/test.html: Fix markup.
5016
50172003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
5018
5019	* libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
5020	zero.
5021	Update copyright year.
5022
50232003-05-20  Paolo Carlini  <pcarlini@unitus.it>
5024
5025	* testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo.
5026
50272003-05-20  Paolo Carlini  <pcarlini@unitus.it>
5028
5029	* testsuite/27_io/basic_filebuf/close/char/5.cc: New file,
5030	further testing that upon filebuf::close() 27.8.1.1,3 is enforced.
5031
50322003-05-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5033
5034	* include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc):
5035	Cast via void* to avoid -Wcast-align warnings.
5036	(__default_alloc_template::_S_refill): Likewise.
5037
50382003-05-20  Benjamin Kosnik  <bkoz@redhat.com>
5039
5040	* testsuite/README: Move to...
5041	* docs/html/test.html: ...here. Add documentation.
5042	* docs/html/install.html: Move testing bits out..
5043	* docs/html/documentation.html: Add separate testing link.
5044	* testsuite/performance: Add.
5045	* testsuite/performance/allocator.cc: New.
5046	* testsuite/performance/complex_norm.cc: New.
5047	* testsuite/performance/cout_insert_int.cc: New.
5048	* testsuite/performance/fstream_seek_write.cc: New.
5049	* testsuite/performance/ifstream_getline.cc: New.
5050	* testsuite/performance/map_create_fill.cc: New.
5051	* testsuite/performance/ofstream_insert_float.cc: New.
5052	* testsuite/performance/ofstream_insert_int.cc: New.
5053	* testsuite/performance/string_append.cc: New.
5054	* testsuite/lib/libstdc++-v3-dg.exp (v3-compute-tests): Filter
5055	performance tests.
5056
50572003-05-20  Gabriel Dos Reis <gdr@integrable-solutions.net>
5058
5059	PR libstdc++/10689
5060	* include/std/std_complex.h (pow): Tidy.
5061
50622003-05-19  Paolo Carlini  <pcarlini@unitus.it>
5063
5064	* testsuite/27_io/basic_filebuf/close/char/4.cc: New file, testing
5065	that upon filebuf::close() 27.8.1.1,3 is enforced.
5066
50672003-05-15  Loren J. Rittle  <ljrittle@acm.org>
5068
5069	* testsuite/thread/pthread4.cc: Further tweak to avoid fini race.
5070
50712003-05-15  Paolo Carlini  <pcarlini@unitus.it>
5072	    Nathan Myers  <ncm@cantrip.org>
5073
5074	* include/bits/fstream.tcc (_M_overflow): Rewrote to call
5075	_M_convert_to_external only once (_M_buf_size is now the size of
5076	the put area + 1 for the overflow char of a full area); call
5077	_M_set_buffer instead of _M_set_indeterminate.
5078	(setbuf): Don't accept a buffer smaller than 2 chars.
5079	(_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer,
5080	instead of _M_set_determinate.
5081	(open): Call _M_set_buffer, instead of _M_set_indeterminate.
5082	(seekoff): Likewise.
5083	* include/ext/stdio_filebuf.h (stdio_filebuf(int,
5084	std::ios_base::openmode, bool, size_t),
5085	stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t):
5086	Likewise.
5087	* include/std/std_fstream.h (_M_set_indeterminate): Remove.
5088	(_M_set_determinate): Rename as _M_set_buffer, _M_buf_size ->
5089	_M_buf_size - 1.
5090	* include/std/std_streambuf.h: Tweak _M_out_lim comment.
5091	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking
5092	into account that, for _M_buf_size == BUFSIZ == 8192, the size of
5093	the put area is now BUFSIZ - 1.
5094	* testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account
5095	that now the smallest _M_buf_size is 2 (still fails, for the same
5096	reason, with 3.2.3)
5097
50982003-05-14  Loren J. Rittle  <ljrittle@acm.org>
5099
5100	* testsuite/thread/pthread4.cc: Tweak test.
5101
51022003-05-13  Benjamin Kosnik  <bkoz@redhat.com>
5103
5104	* testsuite/27_io/ios_base/cons/copy_neg.cc: Remove
5105	excess errors dg marker, use dg-errors instead.
5106	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
5107	* testsuite/20_util/auto_ptr_neg.cc: Same.
5108
51092003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5110
5111	* include/std/std_fstream.h (basic_filebuf::_M_codecvt): Add
5112	cached member.
5113	* include/bits/fstream.tcc (basic_filebuf::basic_filebuf):
5114	Initialize _M_codecvt.
5115	(basic_filebuf::imbue): Same.
5116	(basic_filebuf::showmanyc): Use it.
5117	(basic_filebuf::underflow): Use it.
5118	(basic_filebuf::_M_convert_to_external): Use it.
5119	(basic_filebuf::seekoff): Use it.
5120	(basic_filebuf::imbue): Use it, tweaks.
5121	* include/bits/localefwd.h (__check_facet): New.
5122	* include/bits/locale_classes.h: Tweaks.
5123	* include/bits/locale_facets.tcc: Tweaks.
5124	* include/bits/basic_ios.h (basic_ios::_M_check_facet): Remove.
5125	_M_fctype to _M_ctype, _M_fnumput to _M_num_put, _M_fnumget to
5126	_M_num_get. Change _M_check_facet to __check_facet. Tweaks.
5127	* include/bits/basic_ios.tcc: Same.
5128	* include/bits/istream.tcc: Same.
5129	* include/bits/ostream.tcc: Same.
5130	* include/std/std_streambuf.h: Same.
5131	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: New.
5132	* testsuite/27_io/basic_filebuf/imbue/char/3.cc: New.
5133	* testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc: New.
5134	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: New.
5135	* testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: New.
5136	* testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: New.
5137
51382003-05-12  Paolo Carlini  <pcarlini@unitus.it>
5139
5140	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove
5141	unnecessary includes and unused string literals.
5142	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
5143	* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
5144	* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
5145	* testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
5146
51472003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5148
5149	* include/bits/fstream.tcc (_M_overflow): Remove unbuffered bits.
5150
51512003-05-12  Paolo Carlini  <pcarlini@unitus.it>
5152
5153	* include/std/std_fstream.h (_M_convert_to_external): Change
5154	to return bool, take two less streamsize parameters.
5155	* include/bits/fstream.tcc (_M_convert_to_external): Tweak
5156	consistently definition.
5157	(_M_overflow): Adjust call points.
5158
51592003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5160
5161	* testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits.
5162
51632003-05-11  Phil Edwards  <pme@gcc.gnu.org>
5164
5165	* testsuite/Makefile.am:  Properly quote /both/ LD_RUN_PATHs.
5166	* testsuite/Makefile.in:  Regenerate.
5167
51682003-05-11  Phil Edwards  <pme@gcc.gnu.org>
5169
5170	* testsuite/Makefile.am:  Properly quote LD_RUN_PATH.
5171	* testsuite/Makefile.in:  Regenerate.
5172
51732003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
5174
5175	PR libstdc++/3181
5176	* include/c_std/std_cmath.h: #include <bits/cpp_type_traits.h>
5177	(acos): Handle integer argument.
5178	(asin): Likewise.
5179	(atan): Likewise.
5180	(atan2): Likewise.
5181	(ceil): Likewise.
5182	(cos): Likewise.
5183	(cosh): Likewise.
5184	(exp): Likewise.
5185	(fabs): Likewise.
5186	(floor): Likewise.
5187	(frexp): Likewise.
5188	(ldexp): Likewise.
5189	(log): Likewise.
5190	(log10): Likewise.
5191	(sin): Likewise.
5192	(sinh): Likewise.
5193	(sqrt): Likewise.
5194	(tan): Likewise.
5195	(tanh): Likewise.
5196	* include/bits/cpp_type_traits.h (__are_same<>): New traits.
5197	(__enable_if): Likewise.
5198	* testsuite/26_numerics/cmath/overloads.C: New test.
5199
52002003-05-10  Petur Runolfsson  <peturr02@ru.is>
5201
5202	PR libstdc++/9027
5203	PR libstdc++/9520
5204	PR libstdc++/10096
5205	* include/bits/fstream.tcc (basic_file::_M_underflow):  Add generic
5206	implementation, based on old wchar_t specialization, add support
5207	for codecvt::in() return value of codecvt_base::noconv, remove
5208	_M_file.sys_ungetc() call.
5209	* include/std/std_fstream.h (basic_file::underflow,
5210	basic_file::uflow, basic_file::_M_underflow):  Remove
5211	specialization declarations, call _M_underflow from generic versions
5212	of underflow and uflow.
5213	* src/fstream.cc (basic_file::underflow, basic_file::uflow,
5214	basic_file::_M_underflow):  Remove specializations.
5215	* src/Makefile.am (sources):  Remove fstream.cc.
5216	* src/Makefile.in:  Regenerated.
5217	* testsuite/27_io/basic_filebuf/underflow/10096.cc:  New test.
5218	* testsuite/27_io/basic_filebuf/underflow/char/1.cc:  New test.
5219	* testsuite/27_io/basic_filebuf/underflow/char/9027.cc:  New test.
5220	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc:  New test.
5221
52222003-05-10  Benjamin Kosnik  <bkoz@redhat.com>
5223
5224	* include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack
5225	buffer.
5226	* config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove
5227	unbuffered bits.
5228	(__basic_file::xsputn): Same.
5229	(__basic_file::seekoff): Same.
5230	(__basic_file::seekpos): Same.
5231	(__basic_file::showmanyc): Same.
5232	* config/io/basic_file_stdio.cc: Same.
5233	* include/std/std_fstream.h: Same.
5234	* include/bits/fstream.tcc: Same.
5235	* src/fstream.cc: Same.
5236	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy.
5237
52382003-05-10  Petur Runolfsson  <peturr02@ru.is>
5239
5240	PR libstdc++/9520
5241	PR libstdc++/9661
5242	PR libstdc++/9662
5243	* include/ext/stdio_sync_filebuf.h:  New file.
5244	(basic_stdiobuf):  New.
5245	* include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h
5246	* include/Makefile.in: Regenerate.
5247	* include/bits/ios_base.h (Init::_S_create_buffers,
5248	Init::_S_destroy_buffers):  Remove declarations.
5249	* src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync,
5250	buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync):  Define.
5251	* src/ios.cc (Init::_S_create_buffers,
5252	Init::_S_destroy_buffers):  Remove.
5253	(Init::Init):  Create and use syncronized buffers.
5254	(ios_base::sync_with_stdio):  Destroy syncronized buffers,
5255	create and install unsyncronized buffers.
5256	* testsuite/27_io/objects/char/10.cc:  New test.
5257	* testsuite/27_io/objects/char/9.cc:  New test.
5258	* testsuite/27_io/objects/char/9661-1.cc:  New test.
5259	* testsuite/27_io/objects/char/9661-2_xin.cc:  New test.
5260	* testsuite/27_io/objects/char/9661-2_xin.in:  New.
5261	* testsuite/27_io/objects/wchar_t/1.cc:  New test.
5262	* testsuite/27_io/objects/wchar_t/10.cc:  New test.
5263	* testsuite/27_io/objects/wchar_t/2.cc:  New test.
5264	* testsuite/27_io/objects/wchar_t/2523-1_xin.cc:  New test.
5265	* testsuite/27_io/objects/wchar_t/2523-1_xin.in:  New.
5266	* testsuite/27_io/objects/wchar_t/2523-2_xin.cc:  New test.
5267	* testsuite/27_io/objects/wchar_t/2523-2_xin.in:  New.
5268	* testsuite/27_io/objects/wchar_t/3045.cc:  New test.
5269	* testsuite/27_io/objects/wchar_t/3647.cc:  New test.
5270	* testsuite/27_io/objects/wchar_t/3_xin.cc:  New test.
5271	* testsuite/27_io/objects/wchar_t/3_xin.in:  New.
5272	* testsuite/27_io/objects/wchar_t/4_xin.cc:  New test.
5273	* testsuite/27_io/objects/wchar_t/4_xin.in:  New.
5274	* testsuite/27_io/objects/wchar_t/5.cc:  New test.
5275	* testsuite/27_io/objects/wchar_t/5268.cc:  New test.
5276	* testsuite/27_io/objects/wchar_t/5280_xin.cc:  New test.
5277	* testsuite/27_io/objects/wchar_t/5280_xin.in:  New.
5278	* testsuite/27_io/objects/wchar_t/6.cc:  New test.
5279	* testsuite/27_io/objects/wchar_t/6548_xin.cc:  New test.
5280	* testsuite/27_io/objects/wchar_t/6548_xin.in:  New.
5281	* testsuite/27_io/objects/wchar_t/6648-1_xin.cc:  New test.
5282	* testsuite/27_io/objects/wchar_t/6648-1_xin.in:  New.
5283	* testsuite/27_io/objects/wchar_t/6648-2_xin.cc:  New test.
5284	* testsuite/27_io/objects/wchar_t/6648-2_xin.in:  New.
5285	* testsuite/27_io/objects/wchar_t/7.cc:  New test.
5286	* testsuite/27_io/objects/wchar_t/7744_xin.cc:  New test.
5287	* testsuite/27_io/objects/wchar_t/7744_xin.in:  New.
5288	* testsuite/27_io/objects/wchar_t/8.cc:  New test.
5289	* testsuite/27_io/objects/wchar_t/9_xin.cc:  New test.
5290	* testsuite/27_io/objects/wchar_t/9_xin.in:  New.
5291	* testsuite/27_io/objects/wchar_t/9520.cc:  New test.
5292	* testsuite/27_io/objects/wchar_t/9661-1.cc:  New test.
5293	* testsuite/27_io/objects/wchar_t/9661-2_xin.cc:  New test.
5294	* testsuite/27_io/objects/wchar_t/9661-2_xin.in:  New.
5295	* testsuite/27_io/objects/wchar_t/9662.cc:  New test.
5296	* testsuite/ext/stdiobuf_char.cc:  New test.
5297	* testsuite/ext/stdiobuf_wchar_t.cc:  New test.
5298
52992003-05-10  Paolo Carlini  <pcarlini@unitus.it>
5300
5301	* testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
5302	unnecessary includes and unused string literals.
5303	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
5304
53052003-05-08  Paolo Carlini  <pcarlini@unitus.it>
5306
5307	* include/std/std_streambuf.h (setg, setp): Don't touch _M_mode.
5308
53092003-05-07  Richard Henderson  <rth@redhat.com>
5310
5311	PR c++/10570
5312	* libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
5313	(__cxa_end_catch): Likewise.
5314	* libsupc++/eh_throw.cc (__cxa_rethrow): Likewise.  Use
5315	_Unwind_Resume_or_Rethrow.
5316	* libsupc++/eh_personality.cc (empty_exception_spec): New.
5317	(PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
5318	for _UA_FORCE_UNWIND.  Honor empty filter spec for foreign
5319	exceptions.  Don't push terminate/unexpected to cxa functions.
5320	(__cxa_call_unexpected): Remove foreign exception fixmes.
5321
53222003-05-07  Benjamin Kosnik  <bkoz@redhat.com>
5323
5324	* testsuite/27_io/ios_base/cons: New.
5325	* testsuite/27_io/ios_base/cons/assign_neg.cc: New.
5326	* testsuite/27_io/ios_base/cons/copy_neg.cc: New.
5327
53282003-05-07  Paolo Carlini  <pcarlini@unitus.it>
5329
5330	* include/std/std_fstream.h (_M_is_indeterminate): Remove.
5331	* src/fstream.cc
5332	(basic_filebuf<char/wchar_t>::_M_underflow): Simplify: either
5333	there is no buffer or __testget == !__testinit.
5334
5335	* src/fstream.cc
5336	(basic_filebuf<char/wchar_t>::_M_underflow): _M_set_determinate()
5337	automatically sets, if appropriate, _M_out_cur == _M_in_cur.
5338
5339	* include/std/std_fstream.h (_M_destroy_pback): Don't set
5340	unnecessarily _M_pback_cur_save and _M_pback_end_save.
5341
5342	* include/std/std_fstream.h (_M_set_determinate): Minor tweak.
5343
5344	* include/std/std_sstream.h (_M_sync): Minor tweak.
5345
5346	* include/bits/fstream.tcc (close): No need to call
5347	_M_destroy_pback, setting _M_pback_init to false suffices
5348	to clean up.
5349
53502003-05-06  Benjamin Kosnik  <bkoz@redhat.com>
5351
5352	* include/bits/stl_algo.h: Enums as _S_.
5353	* include/bits/stl_tree.h: Same.
5354	* include/bits/stl_bvector.h: Same.
5355	* include/bits/ios_base.h: Same.
5356	* include/bits/stl_alloc.h: Same.
5357	* include/ext/stl_hashtable.h: Same.
5358	* src/ios.cc: And here.
5359
5360	* include/std/std_sstream.h: Replace _M_really_sync to _M_sync.
5361	* include/bits/sstream.tcc: Same.
5362
5363	* include/bits/basic_ios.h: Correct spacing for '< ctype'.
5364
5365	* include/bits/locale_facets.tcc: Replace __temp to __tmp.
5366
5367	* include/bits/locale_facets.h (__num_base): Remove protected.
5368	Use _S_[io]* names for enumerations.
5369	(_S_format_int): Remove.
5370	* include/bits/locale_facets.tcc: Same.
5371	* src/locale.cc: Same.
5372
5373	* include/std/std_sstream.h (stringbuf::str): Tweak formatting.
5374
53752003-05-06  Phil Edwards  <pme@gcc.gnu.org>
5376
5377	* docs/html/faq/index.html (3.10):  Add note about mips atomicity.h.
5378	* docs/html/faq/index.txt:  Regenerated.
5379
53802003-05-06  Michael Ritzert <Ritzert@t-online.de>
5381	    Matt Kraai <kraai@alumni.cmu.edu>
5382
5383	* include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak.
5384	And retweak.
5385
53862003-05-06  Richard Sandiford  <rsandifo@redhat.com>
5387
5388	* configure.target (mips*): Use the generic atomicity.h by default.
5389
53902003-05-05  Loren J. Rittle  <ljrittle@acm.org>
5391	    (Inspired by an alternate patch from Danny Smith.)
5392
5393	* include/bits/stl_threads.h (_Atomic_swap): Kill it...
5394	(_Swap_lock_struct<>): ...and the horse it rode in on.
5395	* src/globals.cc (_Swap_lock_struct<>): Likewise.
5396	* include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New
5397	member to support...
5398	* include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory
5399	visibility rules related to POSIX threads.
5400	* testsuite/thread/pthread7-rope.cc: New test.
5401
54022003-05-04  Paolo Carlini  <pcarlini@unitus.it>
5403
5404	* testsuite/21_strings/basic_string/find/char/3.cc: New
5405	file, testing basic_string<char>::find_first_not_of.
5406	* testsuite/21_strings/basic_string/find/wchar_t/3.cc:
5407	Likewise for basic_string<wchar_t>.
5408
54092003-05-03  Loren J. Rittle  <ljrittle@acm.org>
5410
5411	* testsuite/thread/pthread1.cc: Remove special case for FreeBSD.
5412
54132003-05-02  Benjamin Kosnik  <bkoz@redhat.com>
5414
5415	* include/Makefile.am (CLEANFILES): Remove PCH files in target
5416	directory.
5417	* include/Makefile.in: Regenerate.
5418
54192003-05-02  Paolo Carlini  <pcarlini@unitus.it>
5420
5421	* include/std/std_sstream.h (str()): Tidy.
5422
54232003-05-02  Nathan Myers  <ncm@cantrip.org>
5424	    Paolo Carlini  <pcarlini@unitus.it>
5425
5426	* include/bits/streambuf.tcc (__copy_streambufs): Rewrote.
5427
54282003-05-02  Jonathan Wakely  <redi@gcc.gnu.org>
5429
5430	* include/bits/basic_string.h (swap): Remove redundant template
5431	parameters from declaration of non-template member function.
5432
54332003-05-01  Phil Edwards  <pme@gcc.gnu.org>
5434
5435	* acconfig.h (_GLIBCPP_USE_NLS):  New symbol.
5436	* configure.in:  Move libintl.h header test...
5437	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE):  ...to here.  Gather all
5438	the NLS-related test results into one symbol.
5439	* src/functexcept.cc:  Use it here.
5440	* aclocal.m4, config.h.in, configure:  Regenerated.
5441
54422003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5443
5444	* include/bits/sstream.tcc (overflow): Instead of calling
5445	str(), then _M_string.reserve, thus copying the contents
5446	of the current buffer two times, just copy the latter in
5447	a temporary, then use the 'swap trick'.
5448
54492003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5450
5451	* include/std/std_sstream.h (str()): Revert the best of the
5452	previous 'improvement', incorrect due to the COW nature of
5453	v3 basic_string; simplify.
5454
54552003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5456
5457	* include/bits/streambuf.tcc (__copy_streambufs): Adjust the
5458	type of __avail to ptrdiff_t to avoid signed-unsigned warning.
5459
54602003-05-01  Benjamin Kosnik  <bkoz@redhat.com>
5461
5462	* testsuite/abi_check.cc (check_version): Update known versions.
5463	Check added symbols for version_name != base version. Add missing
5464	symbols to incompatible list.
5465
54662003-05-01  Benjamin Kosnik  <bkoz@redhat.com>
5467
5468	* acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline.
5469	* aclocal.m4: Regenerated.
5470	* configure: Regenerated.
5471
54722003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5473
5474	* include/bits/streambuf.tcc (basic_streambuf::xsgetn):
5475	Const-ify some variables.
5476	(basic_streambuf::xsputn): Likewise; change the type of some
5477	variables to size_t.
5478	(__copy_streambufs): Change some variables to size_t.
5479
54802003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5481
5482	* include/std/std_sstream.h (str()): Avoid constructing
5483	a basic_string temporary not only when it would turn out
5484	to be zero-sized but also when identical to the current
5485	_M_string buffer.
5486
54872003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5488
5489	* include/ext/stdio_filebuf.h
5490	(stdio_filebuf(int, std::ios_base::openmode, bool, size_t),
5491	stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t)):
5492	Shorten a bit (-10 lines) by factoring out some code.
5493
54942003-04-30  Phil Edwards  <pme@gcc.gnu.org>
5495
5496	* acinclude.m4:  Add bit missing from previous patch.
5497	* aclocal.m4, configure:  Regenerated.
5498
54992003-04-29  Phil Edwards  <pme@gcc.gnu.org>
5500
5501	* docs/doxygen/mainpage.html:  Bring up to date.
5502	* docs/doxygen/run_doxygen:  Cosmetic tweaks.  Work around a bug
5503	in Doxygen.
5504	* docs/doxygen/user.cfg.in:  Scanning the precompiled headers
5505	breaks everything.  Don't scan them.
5506	* docs/html/documentation.html:  Point to "Write after approval"
5507	notes.
5508
55092003-04-29  Phil Edwards  <pme@gcc.gnu.org>
5510
5511	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE):  Search for gettext outside
5512	of libc if message translations are being used.  Fix info text in
5513	xieee_1003.1-2001 case.
5514	* aclocal.m4, configure:  Regenerate.
5515
55162003-04-29 Joel Sherrill  <joel.sherrill@OARcorp.com>
5517	   Loren J. Rittle <ljrittle@acm.org>
5518	   Martin v. Löwis  <martin@v.loewis.de>
5519
5520	* config/cpu/i386/atomicity.h: New file.
5521
55222003-04-29  Paolo Carlini  <pcarlini@unitus.it>
5523
5524	* include/bits/fstream.tcc (open): Change to single return.
5525
55262003-04-29  Paolo Carlini  <pcarlini@unitus.it>
5527
5528	* include/std/std_sstream.h (underflow): Change to single return.
5529
55302003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5531
5532	* include/std/std_streambuf.h (_M_buf): is currently
5533	used only for basic_filebuf, therefore move it there.
5534	(basic_streambuf(), ~basic_streambuf()): Adjust.
5535	* include/std/std_fstream.h (_M_buf): Moved here.
5536	* include/std/std_sstream.h (setbuf): Don't set _M_buf,
5537	is actually redundant for basic_stringbuf.
5538	(_M_really_sync): Likewise.
5539	* include/bits/fstream.tcc (basic_filebuf()): Adjust.
5540	* include/bits/sstream.tcc (seekoff): Adjust.
5541
55422003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5543
5544	* src/localename.cc: Standardize exception strings.
5545	* src/locale.cc: Same.
5546	* src/ios.cc: Same.
5547	* include/bits/basic_string.tcc: Same.
5548	* include/bits/basic_ios.tcc: Same.
5549	* include/std/std_bitset.h: Same.
5550	* include/ext/ropeimpl.h: Same.
5551	* include/bits/stl_vector.h: Same.
5552	* include/bits/stl_deque.h: Same.
5553	* include/bits/stl_bvector.h: Same.
5554	* config/locale/generic/c_locale.cc: Same.
5555	* config/locale/gnu/c_locale.cc: Same.
5556	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
5557
5558	* testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.
5559
55602003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5561
5562	* include/std/std_streambuf.h (_M_buf_size): is currently
5563	used only for basic_filebuf, therefore move it there.
5564	(basic_streambuf(), ~basic_streambuf()): Adjust.
5565	* include/std/std_fstream.h (_M_buf_size): Moved here.
5566	* include/bits/fstream.tcc (basic_filebuf()): Adjust.
5567
55682003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5569
5570	* include/bits/streambuf.tcc (__copy_streambufs): Don't use
5571	_M_buf_size (synced input is now correctly dealt with
5572	elsewhere); when the output buffer is full don't fall back
5573	to a snextc-sputc loop, call overflow instead.
5574
55752003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5576
5577	* include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
5578	the innermost 'if' by factoring out some code.
5579
55802003-04-28  Phil Edwards  <pme@gcc.gnu.org>
5581
5582	* configure.in:  Test for libintl.h.
5583	* include/bits/c++config:  Define __N for everybody.
5584	* include/bits/basic_string.h, include/bits/stl_bvector.h,
5585	include/bits/stl_deque.h, include/bits/stl_vector.h,
5586	include/std/std_bitset.h:  Wrap all __throw* text with __N.
5587	* po/Makefile.am (pot):  New rule, mostly working.
5588	* src/functexcept.cc:  Call gettext on all __throw* arguments when
5589	-fexceptions is in effect.
5590	* po/Makefile.in, config.h.in, configure:  Regenerate.
5591
55922003-04-28  Petur Runolfsson  <peturr02@ru.is>
5593
5594	PR libstdc++/9523
5595	* include/bits/ios_base.h (Init::_S_ios_create,
5596	Init::_S_ios_destroy):  Remove declarations.
5597	(Init::_S_create_buffers,
5598	Init::_S_destroy_buffers):  Declare
5599	* src/ios.cc (Init::_S_ios_create):  Remove
5600	(Init::_S_create_buffers):  Create buffers and add to streams.
5601	(Init::_S_ios_destroy):  Rename to...
5602	(Init::_S_destroy_buffers):  this.
5603	(Init::Init):  Only construct streams once.
5604	(Init::~Init):  Flush streams, don't destroy them.
5605	(ios_base::sync_with_stdio):  Don't destroy streams, only buffers.
5606	* testsuite/27_io/ios_base/sync_with_stdio/9523.cc:  New test.
5607	* testsuite/27_io/objects/char/5.cc:  New test.
5608	* testsuite/27_io/objects/char/5268.cc:  Avoid undefined behavior.
5609	* testsuite/27_io/objects/char/6.cc:  New test.
5610	* testsuite/27_io/objects/char/7.cc:  New test.
5611
56122003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5613
5614	* testsuite/27_io/objects/char/8.cc:  New test.
5615
56162003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5617
5618	* testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage.
5619	* testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same.
5620
56212003-04-27  Benjamin Kosnik  <bkoz@redhat.com>
5622
5623	* include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to
5624	_M_destroy_pback. _M_pback_create to
5625	_M_create_pback. _M_underflow_common to
5626	_M_underflow. _M_really_overflow to _M_overflow.
5627	* include/bits/fstream.tcc: Same.
5628	* src/fstream.cc: Same.
5629	* include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to
5630	_M_move_in_cur.  _M_out_cur_move to _M_move_out_cur.
5631	* include/bits/streambuf.tcc: Same.
5632	* include/bits/fstream.tcc: Same.
5633	* include/bits/sstream.tcc: Same.
5634
56352003-04-27  Benjamin Kosnik  <bkoz@redhat.com>
5636
5637	* include/bits/locale_classes.h (locale::_Impl): Change _M_names
5638	from fixed size array.
5639	(locale): Change _S_categories as well.
5640	Formatting tweaks.
5641	* include/bits/locale_facets.tcc: Tweak.
5642	* config/locale/gnu/c_locale.cc: Assign _S_categories.
5643	* config/locale/generic/c_locale.cc: Same.
5644	* src/locale.cc: Tweak.
5645	* src/globals.cc: Change facet_name to name_vec, add names_c.
5646	* src/localename.cc: Use them.
5647	(locale::_Impl::~_Impl): Destroy _M_names.
5648	(locale::_Impl::_Impl): Create _M_names.
5649
56502003-04-27  Andreas Schwab  <schwab@suse.de>
5651
5652	* config/locale/ieee_1003.1-2001/codecvt_specializations.h
5653	(__enc_traits): Use __ibom and __ebom instead of ignoring them.
5654
56552003-04-27  Nathan Myers  <ncm@cantrip.org>
5656
5657	Move some basic_string members out of line because
5658	they are too big to reasonably be inline.
5659	* include/bits/basic_string.h
5660	(assign(const basic_string&, size_type, size_type),
5661	assign(const _CharT*, size_type),
5662	insert(size_type, const basic_string&, size_type, size_type),
5663	insert(size_type, const _CharT*, size_type),
5664	replace(size_type, size_type, const _CharT*, size_type)):
5665	Move from here to...
5666	* include/bits/basic_string.tcc: ...here.
5667
56682003-04-26  Paolo Carlini  <pcarlini@unitus.it>
5669
5670	* include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
5671	the innermost 'if' by factoring out some code.
5672
56732003-04-26  Paolo Carlini  <pcarlini@unitus.it>
5674
5675	* include/bits/streambuf.tcc (__copy_streambufs): Don't
5676	use in_avail(), simplify.
5677
56782003-04-26  Paolo Carlini  <pcarlini@unitus.it>
5679
5680	* include/std/std_sstream.h (setbuf): don't set _M_buf_size,
5681	in basic_stringbuf it's unused.
5682
5683	* include/std/std_sstream.h (underflow): consistently use
5684	_M_in_cur, not gptr().
5685
56862003-04-25  Ranjit Mathew  <rmathew@hotmail.com>
5687	    Phil Edwards  <pme@gcc.gnu.org>
5688
5689	* testsuite_flags.in: Guard against the possibility
5690	of having "xgcc" as a part of a folder name in the
5691	path to the GCC build folder.
5692	* testsuite/Makefile.am: Likewise.
5693	* testsuite/Makefile.in: Regenerated.
5694
56952003-04-25  Benjamin Kosnik  <bkoz@redhat.com>
5696
5697	PR libstdc++/10132
5698	* include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
5699	exception specifications.
5700	(basic_filebuf::close): Same.
5701	(basic_filebuf::_M_pback_destroy): Same.
5702	(basic_filebuf::_M_destroy_internal_buffer): Same.
5703	(basic_filebuf): Remove __res_type typedef.
5704	* src/fstream.cc: Same.
5705	* include/bits/fstream.tcc
5706	(basic_filebuf::_M_convert_to_external): Simplify.
5707	(basic_filebuf::seekoff): Use has_facet	before use_facet.
5708	(basic_filebuf::close): Add exception specification of throw().
5709	* testsuite/27_io/basic_filebuf/cons: New.
5710	* testsuite/27_io/basic_filebuf/cons/wchar_t: New.
5711	* testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New.
5712	* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New.
5713	* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New.
5714
57152003-04-25  Benjamin Kosnik  <bkoz@redhat.com>
5716
5717	* include/bits/locale_classes.h
5718	(locale::_S_extra_categories_size): Remove.
5719	* src/locale.cc: Remove _S_extra_categories_size.
5720	* src/localename.cc: Same.
5721	* config/locale/gnu/c_locale.cc: Same.
5722	* config/locale/generic/c_locale.cc: Same.
5723
57242003-04-24  Richard Sandiford  <rsandifo@redhat.com>
5725
5726	* src/localename.cc (__gnu_cxx::facet_vec): Correct types.
5727
57282003-04-24  Phil Edwards  <pme@gcc.gnu.org>
5729
5730	* docs/html/17_intro/howto.html:  Update some links.
5731	* docs/html/18_support/howto.html:  Link doxygen numeric_limits notes.
5732	* docs/html/27_io/howto.html:  Link doxygen stdio_filebuf notes.
5733	* docs/html/ext/howto.html:  Link to demangler notes and API.
5734	* docs/html/faq/index.html:  Remove trailing whitespace.
5735	(1.4, 2.4, 3.8, 4.1):  Bring up to date.
5736	(5.6):  Change to a bulleted list.
5737
5738	* docs/html/faq/index.txt, docs/html/documentation.html,
5739	docs/html/17_intro/porting.html:  Regenerate.
5740
57412003-04-23  Paolo Carlini  <pcarlini@unitus.it>
5742
5743	* testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now
5744	belongs to basic_filebuf.
5745	* testsuite/27_io/basic_fstream/3.cc: Likewise.
5746	* testsuite/27_io/basic_ifstream/3.cc: Likewise.
5747	* testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size
5748	instantiation (now belongs to basic_filebuf).
5749	* testsuite/27_io/basic_iostream/3.cc: Likewise.
5750	* testsuite/27_io/basic_istream/3.cc: Likewise.
5751	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
5752	_S_pback_size now belongs to basic_filebuf.
5753	* testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size
5754	instantiation (now belongs to basic_filebuf).
5755	* testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now
5756	belongs to basic_filebuf.
5757	* testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size
5758	instantiation (now belongs to basic_filebuf).
5759	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc:
5760	_S_pback_size now belongs to basic_filebuf.
5761	* testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size
5762	instantiation (now belongs to basic_filebuf).
5763	* testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs
5764	to basic_filebuf.
5765	* testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size
5766	instantiation (now belongs to basic_filebuf).
5767	* testsuite/27_io/basic_stringstream/3.cc: Likewise.
5768
57692003-04-23  Benjamin Kosnik  <bkoz@redhat.com>
5770
5771	* configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions.
5772	* configure: Regenerated.
5773
57742003-04-23  Benjamin Kosnik  <bkoz@redhat.com>
5775
5776	* config/locale/generic/c_locale.h (__convert_from_v): Use
5777	attribute unused.
5778
57792003-04-23  Phil Edwards  <pme@gcc.gnu.org>
5780
5781	* docs/html/ext/howto.html ('LWG Issues'):  Add issue 60, partial
5782	implementation only.
5783	* include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
5784	Comment and change to comply with DR 60 and the effect on gcount().
5785	* include/std/std_istream.h:  Update comments.
5786	* testsuite/27_io/basic_istream/putback/char/1.cc (test01):  Add
5787	comments about reasons for tests.  Test sync() against gcount().
5788	* testsuite/27_io/basic_istream/seekg/char/2.cc:  New file, test
5789	for effect on gcount().
5790	* testsuite/27_io/basic_istream/tellg/char/2.cc:  New file, test
5791	for effect on gcount().
5792
57932003-04-22  Loren J. Rittle  <ljrittle@acm.org>
5794
5795	* testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
5796	Adjust timing.
5797
57982003-04-22  Paolo Carlini  <pcarlini@unitus.it>
5799
5800	* include/std/std_streambuf.h (_S_pback_size, _M_pback,
5801	_M_pback_cur_save, _M_pback_end_save, _M_pback_init,
5802	_M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
5803	(basic_streambuf::basic_streambuf()): Adjust.
5804	* include/std/std_fstream.h (_S_pback_size, _M_pback,
5805	_M_pback_cur_save, _M_pback_end_save, _M_pback_init,
5806	_M_pback_create(), _M_pback_destroy()): Moved here
5807	from basic_streambuf.
5808	* include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
5809	Adjust.
5810	(basic_filebuf::_S_pback_size): Add declaration.
5811	* include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
5812	Remove declaration.
5813
58142003-04-21  Paolo Carlini  <pcarlini@unitus.it>
5815
5816	Consistently use _M_in_beg instead of eback(), _M_in_cur
5817	instead of gptr(), and so on.
5818	* include/bits/fstream.tcc (pbackfail, imbue): Here.
5819	* include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
5820	* include/bits/streambuf.tcc (sbumpc, sputbackc,
5821	__copy_streambufs): Ditto.
5822	* include/std/std_streambuf.h (sgetc): Ditto.
5823
58242003-04-21  Paolo Carlini  <pcarlini@unitus.it>
5825
5826	* include/bits/sstream.tcc (pbackfail, overflow):
5827	Formatting fixes.
5828
58292003-04-21  Paolo Carlini  <pcarlini@unitus.it>
5830
5831	* include/std/std_streambuf.h (uflow()): It's used only by
5832	basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
5833	therefore do not consider the _M_buf_unified == true case.
5834
5835	* include/std/std_streambuf.h (sgetc()): Restore __ret variable.
5836
58372003-04-20  Paolo Carlini  <pcarlini@unitus.it>
5838
5839	* docs/html/ext/howto.html ('LWG Issues'):
5840	Add issues 19, 90, 171, 231, 271.
5841
58422003-04-20  Paolo Carlini  <pcarlini@unitus.it>
5843
5844	* include/bits/sstream.tcc (pbackfail): Remove redundant
5845	NULL pointer check from test involving _M_in_*.
5846	(overflow, seekoff, seekpos): Const qualify bool variables.
5847	* include/std/std_sstream.h (underflow): Remove redundant
5848	NULL pointer check from test involving _M_in_*.
5849	(_M_really_sync): Const qualify bool variables.
5850	* src/fstream.cc (_M_underflow_common): Remove redundant
5851	NULL pointer check from test involving _M_in_*, const qualify
5852	bool variables.
5853
5854	* include/std/std_streambuf.h (sgetc): Remove redundant
5855	variable.
5856
58572003-04-18  Paolo Carlini  <pcarlini@unitus.it>
5858
5859	According to 5.9 para 2 (second bullet) for pointers p, q
5860	pointing to the same type, with  p == 0 and q == 0, (p < q)
5861	is false.
5862	* include/bits/fstream.tcc (close, overflow, _M_really_overflow,
5863	seekoff): Remove redundant NULL pointer checks from tests
5864	involving _M_out_* and _M_in_*, const qualify bool variables.
5865	(showmanyc, pbackfail, _M_convert_to_external, imbue): Const
5866	qualify bool variables.
5867	* include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc):
5868	Remove redundant NULL pointer checks from tests involving
5869	_M_out_* and _M_in_*, const qualify bool variables.
5870	* include/std/std_fstream.h (sync): Likewise.
5871	(_M_is_indeterminate): Const qualify bool variables.
5872	* include/std/std_streambuf.h (sgetc, uflow): Remove redundant
5873	NULL pointer checks from tests involving _M_out_* and _M_in_*,
5874	const qualify bool variables.
5875	(_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool
5876	variables.
5877
58782003-04-18  Loren J. Rittle  <ljrittle@acm.org>
5879
5880	* include/c_std/std_cmath.h (C99 FP capture): Only undefine said
5881	C99 FP macros, if actually captured.
5882
5883	* docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
5884	(_GLIBCPP_USE_C99_DYNAMIC): New macro.
5885	(_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
5886	(_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
5887	* config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
5888	New macro.
5889	(_GLIBCPP_USE_C99_DYNAMIC): New macro.
5890	(_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
5891	(_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
5892	* include/c_std/std_cstdlib.h: Use new macros.
5893	* include/c_std/std_cstdio.h: Use new macros.
5894	* include/c_std/std_cwchar.h: Use new macros.
5895
58962003-04-17  Benjamin Kosnik  <bkoz@redhat.com>
5897
5898	PR libstdc++/9555
5899	* include/bits/ostream.tcc: Catch all exceptions for formatted
5900	output, instead of std::exception and derivatives.
5901	* include/bits/istream.tcc: Same.
5902	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
5903	* testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
5904	* testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
5905	* testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
5906	* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
5907	* testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
5908	New.
5909
59102003-04-17  Phil Edwards  <pme@gcc.gnu.org>
5911
5912	* include/bits/c++config:  Minor cosmetic tweaks.
5913
59142003-04-17  Loren J. Rittle  <ljrittle@acm.org>
5915
5916	* testsuite_flags.in (PCHFLAGS): Find PCH in new home.
5917	* include/Makefile.am (pch_input): Find in ${target_builddir}.
5918	(pch_output): Rename to...
5919	(pch_output_builddir): ..this.  Find in ${target_builddir}.
5920	(pch_source): Tweak.
5921	(pch_build): Key off a built file.
5922	(pch_output rule): Rename to...
5923	(pch_input rule): ...this.  Produce ${pch_output_builddir}
5924	instead of ${pch_output}.
5925	(install-pch rule): Install ${pch_output_builddir}.
5926	* include/Makefile.in: Regenerated.
5927
59282003-04-17  Paolo Carlini  <pcarlini@unitus.it>
5929
5930	* include/std/std_streambuf.h (setp): _M_out_lim, being
5931	the end limit of used put area, is set equal to _M_out_beg.
5932
59332003-04-16  Benjamin Kosnik  <bkoz@redhat.com>
5934
5935	* acinclude.m4 (GLIBCPP_CHECK_PCH): New.
5936	* aclocal.m4: Regenerated.
5937	* configure.in: Remove old demangler bits.
5938	Call pch checks.
5939	* configure: Regenerate.
5940	* config.h.in: Regenerate.
5941	* include/Makefile.am (allstamps): Now allstamped.
5942	(allcreated): Define this.
5943	(all-local): Use 'em.
5944	Conditionally define pch_build, pch_install based on
5945	GLIBCPP_BUILD_PCH.
5946	(${pch_output}): New rule.
5947	(install-pch): New rule.
5948	(install-headers): New rule.
5949	(install-data-local): Install headers and conditionally pch.
5950	* include/Makefile.in: Regenerate.
5951	* testsuite_flags.in (--build-cxx): Use pch file.
5952
59532003-04-16  Jonathan Wakely  <redi@gcc.gnu.org>
5954
5955	* docs/html/ext/sgiexts.html: Fix path to stylesheet.
5956
59572003-04-15  Benjamin Kosnik  <bkoz at redhat dot com>
5958	    Paolo Carlini  <pcarlini at unitus dot it>
5959
5960	PR libstdc++/9423
5961	* docs/html/27_io/howto.html
5962	('The buffering is screwing up my program!'): Explain that
5963	opening counts as an I/O operation.
5964
59652003-04-15  Andreas Tobler  <a.tobler@schweiz.ch>
5966
5967	* testsuite/thread/pthread1.cc: Enable for darwin test.
5968	* testsuite/thread/pthread2.cc: Same.
5969	* testsuite/thread/pthread3.cc: Same.
5970	* testsuite/thread/pthread4.cc: Same.
5971	* testsuite/thread/pthread5.cc: Same.
5972	* testsuite/thread/pthread6.cc: Same.
5973
59742003-04-15  Loren J. Rittle  <ljrittle@acm.org>
5975
5976	libstdc++/7680
5977	* include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
5978	Populate it with multiple legal ways to obtain the C99 float
5979	transcendentals.  Use them instead of direct global reference.
5980	(C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
5981	* docs/html/17_intro/porting.texi
5982	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
5983	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
5984	(_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
5985	* config/os/bsd/freebsd/os_defines.h
5986	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
5987	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
5988	* testsuite/26_numerics/c_math_dynamic.cc: New file.
5989
59902003-04-14  Andreas Tobler  <toa@pop.agri.ch>
5991	    Benjamin Kosnik  <bkoz@redhat.com>
5992
5993	* config/os/generic/ctype_inline.h: Fix.
5994
59952003-04-14  Benjamin Kosnik  <bkoz@redhat.com>
5996
5997	* testsuite/testsuite_hooks.h
5998	(__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
5999	Change to try_named_locale.
6000	* testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.
6001
6002	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
6003	try_named_locale.
6004	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
6005	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
6006	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
6007	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
6008	* testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
6009	* testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
6010	* testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
6011	* testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
6012	* testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
6013	* testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
6014	* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
6015	* testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
6016	* testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
6017	* testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
6018	* testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
6019	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
6020	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
6021	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
6022	* testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
6023	* testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
6024	* testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
6025	* testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
6026	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
6027	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
6028	* testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
6029	* testsuite/22_locale/collate/compare/char/1.cc: Same.
6030	* testsuite/22_locale/collate/compare/char/2.cc: Same.
6031	* testsuite/22_locale/collate/compare/char/3.cc: Same.
6032	* testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
6033	* testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
6034	* testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
6035	* testsuite/22_locale/collate/hash/char/2.cc: Same.
6036	* testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
6037	* testsuite/22_locale/collate/transform/char/2.cc: Same.
6038	* testsuite/22_locale/collate/transform/char/3.cc: Same.
6039	* testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
6040	* testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
6041	* testsuite/22_locale/collate_byname/1.cc: Same.
6042	* testsuite/22_locale/ctype/is/char/2.cc: Same.
6043	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
6044	* testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
6045	* testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
6046	* testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
6047	* testsuite/22_locale/facet/2.cc: Same.
6048	* testsuite/22_locale/locale/cons/2.cc: Same.
6049	* testsuite/22_locale/locale/cons/4.cc: Same.
6050	* testsuite/22_locale/locale/cons/5.cc: Same.
6051	* testsuite/22_locale/locale/cons/7.cc: Same.
6052	* testsuite/22_locale/locale/cons/7222-c.cc: Same.
6053	* testsuite/22_locale/locale/cons/7222-env.cc: Same.
6054	* testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
6055	* testsuite/22_locale/messages/members/char/1.cc: Same.
6056	* testsuite/22_locale/messages/members/char/2.cc: Same.
6057	* testsuite/22_locale/messages/members/char/3.cc: Same.
6058	* testsuite/22_locale/messages_byname/1.cc: Same.
6059	* testsuite/22_locale/money_get/get/char/1.cc: Same.
6060	* testsuite/22_locale/money_get/get/char/2.cc: Same.
6061	* testsuite/22_locale/money_get/get/char/3.cc: Same.
6062	* testsuite/22_locale/money_get/get/char/4.cc: Same.
6063	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
6064	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
6065	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
6066	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
6067	* testsuite/22_locale/money_put/put/char/1.cc: Same.
6068	* testsuite/22_locale/money_put/put/char/2.cc: Same.
6069	* testsuite/22_locale/money_put/put/char/3.cc: Same.
6070	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
6071	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
6072	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
6073	* testsuite/22_locale/moneypunct/members/char/2.cc: Same.
6074	* testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
6075	* testsuite/22_locale/moneypunct_byname/1.cc: Same.
6076	* testsuite/22_locale/num_get/get/char/1.cc: Same.
6077	* testsuite/22_locale/num_get/get/char/2.cc: Same.
6078	* testsuite/22_locale/num_get/get/char/3.cc: Same.
6079	* testsuite/22_locale/num_get/get/char/5.cc: Same.
6080	* testsuite/22_locale/num_get/get/char/6.cc: Same.
6081	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
6082	* testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
6083	* testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
6084	* testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
6085	* testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
6086	* testsuite/22_locale/num_put/put/char/1.cc: Same.
6087	* testsuite/22_locale/num_put/put/char/2.cc: Same.
6088	* testsuite/22_locale/num_put/put/char/3.cc: Same.
6089	* testsuite/22_locale/num_put/put/char/5.cc: Same.
6090	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
6091	* testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
6092	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
6093	* testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
6094	* testsuite/22_locale/numpunct/members/char/1.cc: Same.
6095	* testsuite/22_locale/numpunct/members/char/2.cc: Same.
6096	* testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
6097	* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
6098	* testsuite/22_locale/numpunct_byname/1.cc: Same.
6099	* testsuite/22_locale/numpunct_byname/2.cc: Same.
6100	* testsuite/22_locale/time_get/date_order/char/1.cc: Same.
6101	* testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
6102	* testsuite/22_locale/time_get/get_date/char/1.cc: Same.
6103	* testsuite/22_locale/time_get/get_date/char/2.cc: Same.
6104	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
6105	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
6106	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
6107	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
6108	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
6109	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
6110	* testsuite/22_locale/time_get/get_time/char/1.cc: Same.
6111	* testsuite/22_locale/time_get/get_time/char/2.cc: Same.
6112	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
6113	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
6114	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
6115	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
6116	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
6117	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
6118	* testsuite/22_locale/time_get/get_year/char/1.cc: Same.
6119	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
6120	* testsuite/22_locale/time_put/put/char/1.cc: Same.
6121	* testsuite/22_locale/time_put/put/char/2.cc: Same.
6122	* testsuite/22_locale/time_put/put/char/3.cc: Same.
6123	* testsuite/22_locale/time_put/put/char/4.cc: Same.
6124	* testsuite/22_locale/time_put/put/char/5.cc: Same.
6125	* testsuite/22_locale/time_put/put/char/6.cc: Same.
6126	* testsuite/22_locale/time_put/put/char/7.cc: Same.
6127	* testsuite/22_locale/time_put/put/char/8.cc: Same.
6128	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
6129	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
6130	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
6131	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
6132	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
6133	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
6134	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
6135	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
6136	* testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
6137	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
6138	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
6139	* testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
6140	* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.
6141
61422003-04-14  Andreas Tobler  <toa@pop.agri.ch>
6143
6144	* configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
6145	solaris includes, not generic.
6146
61472003-04-14  Loren J. Rittle  <ljrittle@acm.org>
6148
6149	* testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.
6150
6151	* include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit.
6152	* include/bits/concept_check.h: Fix multi-line comment.
6153	* testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header
6154	when target is *-*-freebsd*.
6155
61562003-04-14  Nathan Myers  <ncm@cantrip.org>
6157	    Paolo Carlini  <pcarlini@unitus.it>
6158
6159	PR libstdc++/9701 (in_avail())
6160	* include/std/std_streambuf.h (in_avail): Simplify, in_avail
6161	doesn't care if there is anything in some putback cell.
6162	* testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add.
6163
6164	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
6165	unused string literals.
6166
61672003-04-14  Paolo Carlini  <pcarlini@unitus.it>
6168
6169	* include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
6170	_M_out_end, _M_set_indeterminate() does it.
6171
61722003-04-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6173
6174	* os/hpux/ctype_inline.h: Replace with gnu-linux version.
6175
61762003-04-12  David Edelsohn  <edelsohn@gnu.org>
6177
6178	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
6179	Change basic_streambuf instantiation to "unsigned char".
6180	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6181
61822003-04-12  Paolo Carlini  <pcarlini@unitus.it>
6183
6184	Remove _M_buf_size_opt, use directly _M_buf_size instead.
6185	* include/bits/fstream.tcc
6186	(basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
6187	references to _M_buf_size_opt.
6188	* include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
6189	* include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
6190	__bufsize to __in_avail and __size_opt to __buf_size.
6191	* include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
6192	* include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
6193	* include/std/std_streambuf.h (~basic_streambuf(),
6194	basic_streambuf()): Likewise, remove _M_buf_size_opt member.
6195	* testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
6196	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
6197	* testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
6198	* testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
6199	* testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
6200	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
6201	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
6202	* testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
6203	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
6204	* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
6205	* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
6206	* testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
6207
62082003-04-12  Paolo Carlini  <pcarlini at unitus dot it>
6209
6210	* include/ext/stdio_filebuf.h
6211	(stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
6212	stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
6213	_M_buf_size_opt == 0 only means "not to use an allocated buffer"
6214	since a stack-based buffer is used for small values of the size_t
6215	parameter.
6216	* include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
6217	If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
6218	* testsuite/ext/stdio_filebuf_2.cc: New testfile.
6219
62202003-04-12  Paolo Carlini  <pcarlini@unitus.it>
6221
6222	PR libstdc++/9533
6223	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New.
6224	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto.
6225
62262003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6227
6228	* testsuite/22_locale/locale/cons/3.cc: Split.
6229	* testsuite/22_locale/locale/cons/7222-c.cc: New.
6230	* testsuite/22_locale/locale/cons/7222-env.cc: New.
6231	Check before trying to create a locale from the environment.
6232	* testsuite/27_io/ios_base/state/1.cc (test02): Use "C" locale.
6233	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
6234	Adjust includes.
6235
62362003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6237
6238	* testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic
6239	locale to construct this hybrid locale, not the global locale.
6240
62412003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6242
6243	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Add
6244	instantiation for AIX.
6245	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6246	* testsuite/25_algorithms/min_max.cc: Same.
6247
62482003-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6249
6250	* basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream
6251	twice.  Always set _M_cfile to 0 when stream was open.
6252
62532003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
6254
6255	Reshuffle 27_io testsuite.
6256	* testsuite/27_io/filebuf.cc,
6257	filebuf_members-1.tst, filebuf_members-1.txt, filebuf_members.cc,
6258	filebuf_virtuals-1.tst, filebuf_virtuals-1.txt,
6259	filebuf_virtuals-2.tst, filebuf_virtuals-3.tst,
6260	filebuf_virtuals.cc, fpos.cc, fstream.cc, fstream_members.cc,
6261	ifstream.cc, ifstream_members-1.tst, ifstream_members-1.txt,
6262	ifstream_members.cc, instantiations.cc, ios.cc,
6263	ios_base_callbacks.cc, ios_base_members_static-1.tst,
6264	ios_base_members_static.cc, ios_base_storage.cc,
6265	ios_base_types.cc, ios_ctor.cc, ios_init.cc,
6266	ios_manip_basefield.cc, ios_manip_fmtflags.cc, ios_members.cc,
6267	iostream.cc, iostream_members.cc, istream.cc,
6268	istream_exception.cc, istream_extractor_char.cc,
6269	istream_extractor_other-1.tst, istream_extractor_other-1.txt,
6270	istream_extractor_other-2.tst, istream_extractor_other.cc,
6271	istream_manip.cc, istream_seeks-1.tst, istream_seeks-1.txt,
6272	istream_seeks-2.tst, istream_seeks-3.tst, istream_seeks.cc,
6273	istream_sentry.cc, istream_unformatted-1.tst,
6274	istream_unformatted-1.txt, istream_unformatted.cc,
6275	istringstream.cc, istringstream_members.cc,
6276	narrow_stream_objects.cc, ofstream.cc, ofstream_members-1.tst,
6277	ofstream_members.cc, ostream.cc, ostream_exception.cc,
6278	ostream_fail.cc, ostream_inserter_arith.cc,
6279	ostream_inserter_char-1.tst, ostream_inserter_char-1.txt,
6280	ostream_inserter_char.cc, ostream_inserter_other-1.tst,
6281	ostream_inserter_other-2.tst, ostream_inserter_other.cc,
6282	ostream_manip.cc, ostream_seeks-1.tst, ostream_seeks.cc,
6283	ostream_sentry.cc, ostream_unformatted.cc, ostringstream.cc,
6284	ostringstream_members.cc, standard_manipulators.cc, streambuf.cc,
6285	streambuf_members.cc, stringbuf.cc, stringbuf_members.cc,
6286	stringbuf_virtuals.cc, stringstream.cc, stringstream_members.cc,
6287	wide_stream_objects.cc, istream_extractor_arith/01.cc,
6288	istream_extractor_arith/02.cc, istream_extractor_arith/03.cc,
6289	istream_extractor_arith/06.cc, istream_extractor_arith/07.cc,
6290	istream_extractor_arith/08.cc, istream_extractor_arith/09.cc,
6291	istream_extractor_arith/10.cc, istream_extractor_arith/11.cc,
6292	istream_extractor_arith/12.cc, istream_extractor_arith/13.cc:
6293	Split into...
6294	* 27_io/basic_filebuf/1.cc: New.
6295	* 27_io/basic_filebuf/2.cc: New.
6296	* 27_io/basic_filebuf/3.cc: New.
6297	* 27_io/basic_filebuf/4.cc: New.
6298	* 27_io/basic_filebuf/close/char/1.cc: New.
6299	* 27_io/basic_filebuf/close/char/2.cc: New.
6300	* 27_io/basic_filebuf/close/char/3.cc: New.
6301	* 27_io/basic_filebuf/close/char/4879.cc: New.
6302	* 27_io/basic_filebuf/close/char/9964.cc: New.
6303	* 27_io/basic_filebuf/imbue/char/1.cc: New.
6304	* 27_io/basic_filebuf/imbue/char/9322.cc: New.
6305	* 27_io/basic_filebuf/in_avail/char/1.cc: New.
6306	* 27_io/basic_filebuf/is_open/char/1.cc: New.
6307	* 27_io/basic_filebuf/open/char/1.cc: New.
6308	* 27_io/basic_filebuf/open/char/2.cc: New.
6309	* 27_io/basic_filebuf/open/char/3.cc: New.
6310	* 27_io/basic_filebuf/open/char/9507.cc: New.
6311	* 27_io/basic_filebuf/overflow/char/1.cc: New.
6312	* 27_io/basic_filebuf/overflow/char/3599.cc: New.
6313	* 27_io/basic_filebuf/overflow/char/9169.cc: New.
6314	* 27_io/basic_filebuf/overflow/char/9182-2.cc: New.
6315	* 27_io/basic_filebuf/overflow/char/9988.cc: New.
6316	* 27_io/basic_filebuf/sbumpc/char/1.cc: New.
6317	* 27_io/basic_filebuf/sbumpc/char/9825.cc: New.
6318	* 27_io/basic_filebuf/seekoff/char/1.cc: New.
6319	* 27_io/basic_filebuf/seekoff/char/2.cc: New.
6320	* 27_io/basic_filebuf/seekpos/char/1.cc: New.
6321	* 27_io/basic_filebuf/seekpos/char/2.cc: New.
6322	* 27_io/basic_filebuf/setbuf/char/1.cc: New.
6323	* 27_io/basic_filebuf/setbuf/char/2.cc: New.
6324	* 27_io/basic_filebuf/setbuf/char/3.cc: New.
6325	* 27_io/basic_filebuf/sgetc/char/1.cc: New.
6326	* 27_io/basic_filebuf/sgetn/char/1.cc: New.
6327	* 27_io/basic_filebuf/sgetn/char/2.cc: New.
6328	* 27_io/basic_filebuf/snextc/char/1.cc: New.
6329	* 27_io/basic_filebuf/sputbackc/char/1.cc: New.
6330	* 27_io/basic_filebuf/sputbackc/char/9425.cc: New.
6331	* 27_io/basic_filebuf/sputc/char/1.cc: New.
6332	* 27_io/basic_filebuf/sputc/char/1057.cc: New.
6333	* 27_io/basic_filebuf/sputc/char/9701-2.cc: New.
6334	* 27_io/basic_filebuf/sputn/char/1.cc: New.
6335	* 27_io/basic_filebuf/sputn/char/1057.cc: New.
6336	* 27_io/basic_filebuf/sputn/char/9701-1.cc: New.
6337	* 27_io/basic_filebuf/sungetc/char/1.cc: New.
6338	* 27_io/basic_filebuf/sync/char/1057.cc: New.
6339	* 27_io/basic_filebuf/sync/char/9182-1.cc: New.
6340	* 27_io/basic_filebuf/underflow/char/10097.cc: New.
6341	* 27_io/basic_fstream/1.cc: New.
6342	* 27_io/basic_fstream/2.cc: New.
6343	* 27_io/basic_fstream/3.cc: New.
6344	* 27_io/basic_fstream/4.cc: New.
6345	* 27_io/basic_fstream/rdbuf/char/2832.cc: New.
6346	* 27_io/basic_ifstream/1.cc: New.
6347	* 27_io/basic_ifstream/2.cc: New.
6348	* 27_io/basic_ifstream/3.cc: New.
6349	* 27_io/basic_ifstream/4.cc: New.
6350	* 27_io/basic_ifstream/cons/char/1.cc: New.
6351	* 27_io/basic_ifstream/open/char/1.cc: New.
6352	* 27_io/basic_ifstream/rdbuf/char/2832.cc: New.
6353	* 27_io/basic_ios/1.cc: New.
6354	* 27_io/basic_ios/2.cc: New.
6355	* 27_io/basic_ios/3.cc: New.
6356	* 27_io/basic_ios/4.cc: New.
6357	* 27_io/basic_ios/clear/char/1.cc: New.
6358	* 27_io/basic_ios/cons/char/1.cc: New.
6359	* 27_io/basic_ios/cons/char/2.cc: New.
6360	* 27_io/basic_ios/cons/char/3.cc: New.
6361	* 27_io/basic_ios/copyfmt/char/1.cc: New.
6362	* 27_io/basic_ios/copyfmt/char/2.cc: New.
6363	* 27_io/basic_ios/exceptions/char/1.cc: New.
6364	* 27_io/basic_ios/locales/char/1.cc: New.
6365	* 27_io/basic_iostream/1.cc: New.
6366	* 27_io/basic_iostream/2.cc: New.
6367	* 27_io/basic_iostream/3.cc: New.
6368	* 27_io/basic_iostream/4.cc: New.
6369	* 27_io/basic_istream/1.cc: New.
6370	* 27_io/basic_istream/2.cc: New.
6371	* 27_io/basic_istream/3.cc: New.
6372	* 27_io/basic_istream/4.cc: New.
6373	* 27_io/basic_istream/exceptions/char/9561.cc: New.
6374	* 27_io/basic_istream/extractors_arithmetic/char/01.cc: New.
6375	* 27_io/basic_istream/extractors_arithmetic/char/02.cc: New.
6376	* 27_io/basic_istream/extractors_arithmetic/char/03.cc: New.
6377	* 27_io/basic_istream/extractors_arithmetic/char/06.cc: New.
6378	* 27_io/basic_istream/extractors_arithmetic/char/07.cc: New.
6379	* 27_io/basic_istream/extractors_arithmetic/char/08.cc: New.
6380	* 27_io/basic_istream/extractors_arithmetic/char/09.cc: New.
6381	* 27_io/basic_istream/extractors_arithmetic/char/10.cc: New.
6382	* 27_io/basic_istream/extractors_arithmetic/char/11.cc: New.
6383	* 27_io/basic_istream/extractors_arithmetic/char/12.cc: New.
6384	* 27_io/basic_istream/extractors_arithmetic/char/13.cc: New.
6385	* 27_io/basic_istream/extractors_character/char/1.cc: New.
6386	* 27_io/basic_istream/extractors_character/char/2.cc: New.
6387	* 27_io/basic_istream/extractors_character/char/3.cc: New.
6388	* 27_io/basic_istream/extractors_character/char/9826.cc: New.
6389	* 27_io/basic_istream/extractors_other/char/1.cc: New.
6390	* 27_io/basic_istream/extractors_other/char/2.cc: New.
6391	* 27_io/basic_istream/extractors_other/char/3.cc: New.
6392	* 27_io/basic_istream/extractors_other/char/9318-in.cc: New.
6393	* 27_io/basic_istream/extractors_other/char/9424-in.cc: New.
6394	* 27_io/basic_istream/get/char/1.cc: New.
6395	* 27_io/basic_istream/get/char/2.cc: New.
6396	* 27_io/basic_istream/getline/char/1.cc: New.
6397	* 27_io/basic_istream/getline/char/2.cc: New.
6398	* 27_io/basic_istream/getline/char/3.cc: New.
6399	* 27_io/basic_istream/ignore/char/1.cc: New.
6400	* 27_io/basic_istream/ignore/char/6360.cc: New.
6401	* 27_io/basic_istream/ignore/char/7220.cc: New.
6402	* 27_io/basic_istream/peek/char/1.cc: New.
6403	* 27_io/basic_istream/peek/char/6414.cc: New.
6404	* 27_io/basic_istream/putback/char/1.cc: New.
6405	* 27_io/basic_istream/read/char/1.cc: New.
6406	* 27_io/basic_istream/read/char/2.cc: New.
6407	* 27_io/basic_istream/read/char/3.cc: New.
6408	* 27_io/basic_istream/readsome/char/6746-1.cc: New.
6409	* 27_io/basic_istream/readsome/char/6746-2.cc: New.
6410	* 27_io/basic_istream/readsome/char/8258.cc: New.
6411	* 27_io/basic_istream/seekg/char/2346-fstream.cc: New.
6412	* 27_io/basic_istream/seekg/char/2346-sstream.cc: New.
6413	* 27_io/basic_istream/seekg/char/8348-1.cc: New.
6414	* 27_io/basic_istream/seekg/char/8348-2.cc: New.
6415	* 27_io/basic_istream/seekg/char/fstream.cc: New.
6416	* 27_io/basic_istream/seekg/char/sstream.cc: New.
6417	* 27_io/basic_istream/sentry/char/1.cc: New.
6418	* 27_io/basic_istream/sentry/char/2.cc: New.
6419	* 27_io/basic_istream/sentry/char/3.cc: New.
6420	* 27_io/basic_istream/sentry/char/3983-fstream.cc: New.
6421	* 27_io/basic_istream/sentry/char/3983-sstream.cc: New.
6422	* 27_io/basic_istream/tellg/char/1.cc: New.
6423	* 27_io/basic_istream/tellg/char/8348.cc: New.
6424	* 27_io/basic_istream/tellg/char/fstream.cc: New.
6425	* 27_io/basic_istream/tellg/char/sstream.cc: New.
6426	* 27_io/basic_istream/ws/char/1.cc: New.
6427	* 27_io/basic_istringstream/1.cc: New.
6428	* 27_io/basic_istringstream/2.cc: New.
6429	* 27_io/basic_istringstream/3.cc: New.
6430	* 27_io/basic_istringstream/4.cc: New.
6431	* 27_io/basic_istringstream/rdbuf/char/2832.cc: New.
6432	* 27_io/basic_istringstream/str/char/1.cc: New.
6433	* 27_io/basic_ofstream/1.cc: New.
6434	* 27_io/basic_ofstream/2.cc: New.
6435	* 27_io/basic_ofstream/3.cc: New.
6436	* 27_io/basic_ofstream/4.cc: New.
6437	* 27_io/basic_ofstream/cons/char/2.cc: New.
6438	* 27_io/basic_ofstream/open/char/1.cc: New.
6439	* 27_io/basic_ofstream/rdbuf/char/2832.cc: New.
6440	* 27_io/basic_ostream/1.cc: New.
6441	* 27_io/basic_ostream/2.cc: New.
6442	* 27_io/basic_ostream/3.cc: New.
6443	* 27_io/basic_ostream/4.cc: New.
6444	* 27_io/basic_ostream/cons/char/9827.cc: New.
6445	* 27_io/basic_ostream/endl/char/1.cc: New.
6446	* 27_io/basic_ostream/ends/char/1.cc: New.
6447	* 27_io/basic_ostream/ends/char/2.cc: New.
6448	* 27_io/basic_ostream/exceptions/char/9561.cc: New.
6449	* 27_io/basic_ostream/flush/char/1.cc: New.
6450	* 27_io/basic_ostream/inserters_arithmetic/char/1.cc: New.
6451	* 27_io/basic_ostream/inserters_arithmetic/char/2.cc: New.
6452	* 27_io/basic_ostream/inserters_arithmetic/char/3.cc: New.
6453	* 27_io/basic_ostream/inserters_arithmetic/char/4.cc: New.
6454	* 27_io/basic_ostream/inserters_arithmetic/char/4402.cc: New.
6455	* 27_io/basic_ostream/inserters_arithmetic/char/5.cc: New.
6456	* 27_io/basic_ostream/inserters_arithmetic/char/6.cc: New.
6457	* 27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: New.
6458	* 27_io/basic_ostream/inserters_character/char/1.cc: New.
6459	* 27_io/basic_ostream/inserters_character/char/2.cc: New.
6460	* 27_io/basic_ostream/inserters_character/char/3.cc: New.
6461	* 27_io/basic_ostream/inserters_character/char/4.cc: New.
6462	* 27_io/basic_ostream/inserters_character/char/5.cc: New.
6463	* 27_io/basic_ostream/inserters_character/char/6.cc: New.
6464	* 27_io/basic_ostream/inserters_character/char/8.cc: New.
6465	* 27_io/basic_ostream/inserters_character/wchar_t/7.cc: New.
6466	* 27_io/basic_ostream/inserters_character/wchar_t/8.cc: New.
6467	* 27_io/basic_ostream/inserters_other/char/1.cc: New.
6468	* 27_io/basic_ostream/inserters_other/char/2.cc: New.
6469	* 27_io/basic_ostream/inserters_other/char/3.cc: New.
6470	* 27_io/basic_ostream/inserters_other/char/4.cc: New.
6471	* 27_io/basic_ostream/inserters_other/char/9318-out.cc: New.
6472	* 27_io/basic_ostream/inserters_other/char/9424-out.cc: New.
6473	* 27_io/basic_ostream/sentry/char/1.cc: New.
6474	* 27_io/basic_ostream/sentry/char/2.cc: New.
6475	* 27_io/basic_ostream/sentry/char/3983-fstream.cc: New.
6476	* 27_io/basic_ostream/sentry/char/3983-sstream.cc: New.
6477	* 27_io/basic_ostream/tellp/char/1.cc: New.
6478	* 27_io/basic_ostream/tellp/char/2.cc: New.
6479	* 27_io/basic_ostringstream/1.cc: New.
6480	* 27_io/basic_ostringstream/2.cc: New.
6481	* 27_io/basic_ostringstream/3.cc: New.
6482	* 27_io/basic_ostringstream/4.cc: New.
6483	* 27_io/basic_ostringstream/cons/char/3.cc: New.
6484	* 27_io/basic_ostringstream/rdbuf/char/2832.cc: New.
6485	* 27_io/basic_ostringstream/str/char/1.cc: New.
6486	* 27_io/basic_ostringstream/str/char/2.cc: New.
6487	* 27_io/basic_streambuf/1.cc: New.
6488	* 27_io/basic_streambuf/2.cc: New.
6489	* 27_io/basic_streambuf/3.cc: New.
6490	* 27_io/basic_streambuf/cons/char/1.cc: New.
6491	* 27_io/basic_streambuf/imbue/char/1.cc: New.
6492	* 27_io/basic_streambuf/imbue/char/9322.cc: New.
6493	* 27_io/basic_streambuf/overflow/char/1.cc: New.
6494	* 27_io/basic_streambuf/overflow/char/2.cc: New.
6495	* 27_io/basic_streambuf/overflow/char/3599.cc: New.
6496	* 27_io/basic_streambuf/sgetc/char/1.cc: New.
6497	* 27_io/basic_streambuf/sgetn/char/1.cc: New.
6498	* 27_io/basic_streambuf/sputbackc/char/9538.cc: New.
6499	* 27_io/basic_streambuf/sputc/char/1057.cc: New.
6500	* 27_io/basic_streambuf/sputn/char/1.cc: New.
6501	* 27_io/basic_streambuf/sputn/char/1057.cc: New.
6502	* 27_io/basic_streambuf/sync/char/1057.cc: New.
6503	* 27_io/basic_stringbuf/1.cc: New.
6504	* 27_io/basic_stringbuf/2.cc: New.
6505	* 27_io/basic_stringbuf/3.cc: New.
6506	* 27_io/basic_stringbuf/4.cc: New.
6507	* 27_io/basic_stringbuf/5.cc: New.
6508	* 27_io/basic_stringbuf/imbue/char/1.cc: New.
6509	* 27_io/basic_stringbuf/imbue/char/9322.cc: New.
6510	* 27_io/basic_stringbuf/in_avail/char/1.cc: New.
6511	* 27_io/basic_stringbuf/overflow/char/2.cc: New.
6512	* 27_io/basic_stringbuf/overflow/char/3599.cc: New.
6513	* 27_io/basic_stringbuf/overflow/char/9988.cc: New.
6514	* 27_io/basic_stringbuf/sbumpc/char/1.cc: New.
6515	* 27_io/basic_stringbuf/sbumpc/char/9825.cc: New.
6516	* 27_io/basic_stringbuf/seekoff/char/1.cc: New.
6517	* 27_io/basic_stringbuf/seekoff/char/2.cc: New.
6518	* 27_io/basic_stringbuf/seekpos/char/1.cc: New.
6519	* 27_io/basic_stringbuf/seekpos/char/2.cc: New.
6520	* 27_io/basic_stringbuf/setbuf/char/1.cc: New.
6521	* 27_io/basic_stringbuf/setbuf/char/2.cc: New.
6522	* 27_io/basic_stringbuf/setbuf/char/3.cc: New.
6523	* 27_io/basic_stringbuf/sgetc/char/1.cc: New.
6524	* 27_io/basic_stringbuf/sgetn/char/1.cc: New.
6525	* 27_io/basic_stringbuf/snextc/char/1.cc: New.
6526	* 27_io/basic_stringbuf/sputbackc/char/1.cc: New.
6527	* 27_io/basic_stringbuf/sputbackc/char/9425.cc: New.
6528	* 27_io/basic_stringbuf/sputc/char/1.cc: New.
6529	* 27_io/basic_stringbuf/sputc/char/1057.cc: New.
6530	* 27_io/basic_stringbuf/sputc/char/9404-1.cc: New.
6531	* 27_io/basic_stringbuf/sputn/char/1.cc: New.
6532	* 27_io/basic_stringbuf/sputn/char/1057.cc: New.
6533	* 27_io/basic_stringbuf/sputn/char/9404-2.cc: New.
6534	* 27_io/basic_stringbuf/str/char/1.cc: New.
6535	* 27_io/basic_stringbuf/str/char/2.cc: New.
6536	* 27_io/basic_stringbuf/str/char/3.cc: New.
6537	* 27_io/basic_stringbuf/str/char/3955.cc: New.
6538	* 27_io/basic_stringbuf/sungetc/char/1.cc: New.
6539	* 27_io/basic_stringbuf/sync/char/1057.cc: New.
6540	* 27_io/basic_stringstream/1.cc: New.
6541	* 27_io/basic_stringstream/2.cc: New.
6542	* 27_io/basic_stringstream/3.cc: New.
6543	* 27_io/basic_stringstream/4.cc: New.
6544	* 27_io/basic_stringstream/rdbuf/char/2832.cc: New.
6545	* 27_io/basic_stringstream/str/char/1.cc: New.
6546	* 27_io/basic_stringstream/str/char/2.cc: New.
6547	* 27_io/basic_stringstream/str/char/3.cc: New.
6548	* 27_io/basic_stringstream/str/char/4.cc: New.
6549	* 27_io/fpos/1.cc: New.
6550	* 27_io/fpos/2.cc: New.
6551	* 27_io/fpos/3.cc: New.
6552	* 27_io/ios_base/callbacks/1.cc: New.
6553	* 27_io/ios_base/state/1.cc: New.
6554	* 27_io/ios_base/storage/1.cc: New.
6555	* 27_io/ios_base/storage/2.cc: New.
6556	* 27_io/ios_base/storage/3.cc: New.
6557	* 27_io/ios_base/sync_with_stdio/1.cc: New.
6558	* 27_io/ios_base/sync_with_stdio/2.cc: New.
6559	* 27_io/manipulators/adjustfield/char/1.cc: New.
6560	* 27_io/manipulators/adjustfield/char/2.cc: New.
6561	* 27_io/manipulators/basefield/char/1.cc: New.
6562	* 27_io/manipulators/standard/char/1.cc: New.
6563	* 27_io/manipulators/standard/char/2.cc: New.
6564	* 27_io/objects/char/1.cc: New.
6565	* 27_io/objects/char/2.cc: New.
6566	* 27_io/objects/char/2523-1_xin.cc: New.
6567	* 27_io/objects/char/2523-1_xin.in: New.
6568	* 27_io/objects/char/2523-2_xin.cc: New.
6569	* 27_io/objects/char/2523-2_xin.in: New.
6570	* 27_io/objects/char/3045.cc: New.
6571	* 27_io/objects/char/3647.cc: New.
6572	* 27_io/objects/char/3_xin.cc: New.
6573	* 27_io/objects/char/3_xin.in: New.
6574	* 27_io/objects/char/4_xin.cc: New.
6575	* 27_io/objects/char/4_xin.in: New.
6576	* 27_io/objects/char/5268.cc: New.
6577	* 27_io/objects/char/5280_xin.cc: New.
6578	* 27_io/objects/char/5280_xin.in: New.
6579	* 27_io/objects/char/6548_xin.cc: New.
6580	* 27_io/objects/char/6548_xin.in: New.
6581	* 27_io/objects/char/6648-1_xin.cc: New.
6582	* 27_io/objects/char/6648-1_xin.in: New.
6583	* 27_io/objects/char/6648-2_xin.cc: New.
6584	* 27_io/objects/char/6648-2_xin.in: New.
6585	* 27_io/objects/char/7744_xin.cc: New.
6586	* 27_io/objects/char/7744_xin.in: New.
6587	* 27_io/objects/wchar_t/1.cc: New.
6588	* 27_io/types/1.cc: New.
6589	* 27_io/types/2.cc: New.
6590	* data/filebuf_members-1.tst: New.
6591	* data/filebuf_members-1.txt: New.
6592	* data/filebuf_virtuals-1.tst: New.
6593	* data/filebuf_virtuals-1.txt: New.
6594	* data/filebuf_virtuals-2.tst: New.
6595	* data/filebuf_virtuals-3.tst: New.
6596	* data/ifstream_members-1.tst: New.
6597	* data/ifstream_members-1.txt: New.
6598	* data/ios_base_members_static-1.tst: New.
6599	* data/istream_extractor_other-1.tst: New.
6600	* data/istream_extractor_other-1.txt: New.
6601	* data/istream_extractor_other-2.tst: New.
6602	* data/istream_seeks-1.tst: New.
6603	* data/istream_seeks-1.txt: New.
6604	* data/istream_seeks-2.tst: New.
6605	* data/istream_seeks-3.tst: New.
6606	* data/istream_unformatted-1.tst: New.
6607	* data/istream_unformatted-1.txt: New.
6608	* data/ofstream_members-1.tst: New.
6609	* data/ostream_inserter_char-1.tst: New.
6610	* data/ostream_inserter_char-1.txt: New.
6611	* data/ostream_inserter_other-1.tst: New.
6612	* data/ostream_inserter_other-2.tst: New.
6613	* data/ostream_seeks-1.tst: New.
6614
66152003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
6616
6617	* include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove
6618	requirement that __mode must be strict input or output.
6619
6620	* include/std/std_streambuf.h (basic_streambuf::setp): Set
6621	_M_out_lim.
6622
6623	* include/std/std_sstream.h (basic_strinbuf::str): Zero length
6624	output string shouldn't core.
6625	(basic_stringbuf::_M_really_sync): Add base argument. Remove rturn
6626	type.
6627	* include/bits/sstream.tcc: Adjust _M_really_sync bits here.
6628
6629	* include/bits/istream.tcc (basic_istream::putback): Set gcount to
6630	zero.
6631
66322003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
6633
6634	* testsuite/data: New directory.
6635	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
6636	to copy files from the testsuite data directory.
6637	(libstdc++-v3-list-sourcefiles): Add another test list filter, for
6638	testfiles containing _xin, which now means this is an interactive
6639	test and should be run with the interactive dejagnu hooks.
6640	* testsuite/Makefile.am: Remove testsuite_* files.
6641	* testsuite/Makefile.in: Regenerate.
6642
66432003-04-09  Zack Weinberg  <zack@codesourcery.com>
6644
6645	* docs/html/install.html: Document complete list of locales
6646	required by test suite.  Document procedure for installing
6647	said locales under Debian.  Solicit instructions for other
6648	operating systems.
6649
66502003-04-08  Alexandre Oliva  <aoliva@redhat.com>
6651
6652	* include/bits/sstream.tcc (overflow): Make sure operands of min
6653	and max have the same type.
6654
66552003-04-04  Jerry Quinn  <jlquinn@optonline.net>
6656
6657	PR libstdc++/10276
6658	* src/ios.cc (ios_base::_M_init): Remove _M_callbacks
6659	initialization.
6660
66612003-03-31  Paolo Carlini  <pcarlini@unitus.it>
6662
6663	* include/std/std_streambuf.h (_M_out_buf_size()): Remove.
6664	* include/bits/fstream.tcc (_M_allocate_internal_buffer):
6665	Don't set _M_out_end.
6666	(basic_filebuf::overflow): Replace _M_out_buf_size() with
6667	this->_M_out_cur && this->_M_out_cur < this->_M_out_end.
6668	* include/bits/sstream.tcc (basic_stringbuf::overflow):
6669	Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end;
6670	* include/bits/streambuf.tcc (basic_streambuf::sputc):
6671	Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end.
6672	(basic_streambuf::xsputn): Replace _M_out_buf_size() with
6673	_M_out_end - _M_out_cur.
6674	(__copy_streambufs): Likewise.
6675	* include/std/std_fstream.h (_M_set_determinate): Set
6676	_M_out_end here.
6677
66782003-03-30  Paolo Carlini  <pcarlini@unitus.it>
6679
6680	* include/bits/fstream.tcc (basic_filebuf::showmanyc,
6681	_M_convert_to_external, _M_really_overflow, seekoff): Fix
6682	test for synced buffer.
6683	* include/std/std_fstream.h (sync): Likewise.
6684	* src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
6685	basic_filebuf<wchar_t>::_M_underflow_common): Likewise.
6686
66872003-03-28  Benjamin Kosnik  <bkoz@redhat.com>
6688
6689	* include/std/std_sstream.h (basic_istringstream): Adjust
6690	initialization.
6691	(basic_ostringstream): Same.
6692	(basic_stringstream): Same.
6693	* include/std/std_fstream.h (basic_ifstream): Adjust initialization.
6694	(basic_ofstream): Same.
6695	(basic_fstream): Same.
6696	* include/std/std_ostream.h (basic_ostrem): Add protected ctor
6697	that does not call init.
6698	* include/std/std_istream.h (basic_istream): Same.
6699	(basic_iostream): Construct istream, ostream uninitialized, use
6700	init to initialize just once. Add protected ctor that does not
6701	call init.
6702
67032003-03-28  Paolo Carlini  <pcarlini@unitus.it>
6704	    Nathan Myers  <ncm@cantrip.org>
6705
6706	PR libstdc++/9533
6707	* include/bits/fstream.tcc (basic_filebuf<>::open): Don't
6708	call underflow().
6709	(basic_filebuf<>::showmanyc): Use the information provided
6710	by codecvt and __basic_file<>::showmanyc_helper to implement
6711	a non-trivial showmanyc.
6712	* config/io/basic_file_stdio.h
6713	(__basic_file<>::showmanyc_helper): New, declare.
6714	* config/io/basic_file_stdio.cc
6715	(__basic_file<>::showmanyc_helper): Define.
6716	(__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
6717	(__basic_file<char>::open): Don't call fcntl().
6718	* acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
6719	GLIBCPP_CHECK_POLL): New macros.
6720	* configure.in: Call here.
6721	* acconfig.h: Add #undefs for the corresponding symbols.
6722	* aclocal.m4: Regenerate.
6723	* configure: Regenerate.
6724	* config.h.in: Regenerate.
6725
67262003-03-24  Benjamin Kosnik  <bkoz@redhat.com>
6727
6728	* config/linker-map.gnu: Remove string export restrictions.
6729
67302003-03-24  Paolo Carlini  <pcarlini@unitus.it>
6731
6732	* testsuite/21_strings/basic_string/find/char/1.cc: Remove
6733	find_first_of, find_last_of and find_last_not_of tests.
6734	* testsuite/21_strings/basic_string/find/char/2.cc: find_first_of
6735	tests here, new file.
6736	* testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise,
6737	remove wchar_t find_first_of, find_last_of and find_last_not_of tests.
6738	* testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise,
6739	wchar_t find_first_of tests here, new file.
6740	* testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of
6741	tests here.
6742	* testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of
6743	tests here.
6744	* testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise,
6745	wchar_t find_last_of tests here.
6746	* testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise,
6747	wchar_t find_last_not_of tests here.
6748
67492003-03-22  Loren J. Rittle  <ljrittle@acm.org>
6750
6751	* config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
6752	Correct return value.
6753
67542003-03-21  Jerry Quinn  <jlquinn@optonline.net>
6755
6756	PR libstdc++/5730
6757	* include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
6758	* include/std/std_complex.h (norm):  Use faster,
6759	less accurate computation for builtin float types under --fast-math.
6760
67612003-03-21  Magnus Fromreide  <gnats@magfr.user.lysator.liu.se>
6762
6763	* testsuite/testsuite_hooks.h: Fix warning nits.
6764
67652003-03-19  Alexandre Oliva  <aoliva@redhat.com>
6766
6767	* config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
6768	Only .set mips2 for the o32 ABI.
6769
67702003-03-19  Paolo Carlini  <pcarlini@unitus.it>
6771
6772	* testsuite/21_strings/char_traits/requirements/char/1.cc:
6773	Test char not wchar_t.
6774
67752003-03-18  Paolo Carlini  <pcarlini@unitus.it>
6776
6777	* testsuite/21_strings/basic_string/append/wchar_t/1.cc:
6778	Correct size, taking into account sizeof(wchar_t).
6779
67802003-03-18  Paolo Carlini  <pcarlini@unitus.it>
6781
6782	Reshuffle 21_strings testsuite.
6783	* testsuite/21_strings/append.cc, c_strings.cc, invariants.cc,
6784	assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc,
6785	element_access.cc, operations.cc, char_traits_requirements.cc,
6786	find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc,
6787	compare.cc, inserters_extractors.cc, substr.cc: Split up, add
6788	wchar_t tests as follows.
6789	* 21_strings/basic_string/append/char/1.cc: New.
6790	* 21_strings/basic_string/append/wchar_t/1.cc: New.
6791	* 21_strings/basic_string/assign/char/1.cc: New.
6792	* 21_strings/basic_string/assign/char/2.cc: New.
6793	* 21_strings/basic_string/assign/char/3.cc: New.
6794	* 21_strings/basic_string/assign/wchar_t/1.cc: New.
6795	* 21_strings/basic_string/assign/wchar_t/2.cc: New.
6796	* 21_strings/basic_string/assign/wchar_t/3.cc: New.
6797	* 21_strings/basic_string/capacity/1.cc: New.
6798	* 21_strings/basic_string/capacity/char/1.cc: New.
6799	* 21_strings/basic_string/capacity/char/2.cc: New.
6800	* 21_strings/basic_string/capacity/wchar_t/1.cc: New.
6801	* 21_strings/basic_string/capacity/wchar_t/2.cc: New.
6802	* 21_strings/basic_string/compare/char/1.cc: New.
6803	* 21_strings/basic_string/compare/wchar_t/1.cc: New.
6804	* 21_strings/basic_string/cons/char/1.cc: New.
6805	* 21_strings/basic_string/cons/char/2.cc: New.
6806	* 21_strings/basic_string/cons/char/3.cc: New.
6807	* 21_strings/basic_string/cons/char/4.cc: New.
6808	* 21_strings/basic_string/cons/char/5.cc: New.
6809	* 21_strings/basic_string/cons/wchar_t/1.cc: New.
6810	* 21_strings/basic_string/cons/wchar_t/2.cc: New.
6811	* 21_strings/basic_string/cons/wchar_t/3.cc: New.
6812	* 21_strings/basic_string/cons/wchar_t/4.cc: New.
6813	* 21_strings/basic_string/cons/wchar_t/5.cc: New.
6814	* 21_strings/basic_string/element_access/char/1.cc: New.
6815	* 21_strings/basic_string/element_access/char/2.cc: New.
6816	* 21_strings/basic_string/element_access/char/3.cc: New.
6817	* 21_strings/basic_string/element_access/wchar_t/1.cc: New.
6818	* 21_strings/basic_string/element_access/wchar_t/2.cc: New.
6819	* 21_strings/basic_string/element_access/wchar_t/3.cc: New.
6820	* 21_strings/basic_string/find/char/1.cc: New.
6821	* 21_strings/basic_string/find/wchar_t/1.cc: New.
6822	* 21_strings/basic_string/insert/char/1.cc: New.
6823	* 21_strings/basic_string/insert/char/2.cc: New.
6824	* 21_strings/basic_string/insert/wchar_t/1.cc: New.
6825	* 21_strings/basic_string/insert/wchar_t/2.cc: New.
6826	* 21_strings/basic_string/inserters_extractors/char/1.cc: New.
6827	* 21_strings/basic_string/inserters_extractors/char/4.cc: New.
6828	* 21_strings/basic_string/inserters_extractors/char/5.cc: New.
6829	* 21_strings/basic_string/inserters_extractors/char/6.cc: New.
6830	* 21_strings/basic_string/inserters_extractors/char/7.cc: New.
6831	* 21_strings/basic_string/inserters_extractors/char/8.cc: New.
6832	* 21_strings/basic_string/inserters_extractors/char/9.cc: New.
6833	* 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New.
6834	* 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New.
6835	* 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New.
6836	* 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New.
6837	* 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New.
6838	* 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New.
6839	* 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New.
6840	* 21_strings/basic_string/operators/char/1.cc: New.
6841	* 21_strings/basic_string/operators/char/2.cc: New.
6842	* 21_strings/basic_string/operators/wchar_t/1.cc: New.
6843	* 21_strings/basic_string/operators/wchar_t/2.cc: New.
6844	* 21_strings/basic_string/replace/char/1.cc: New.
6845	* 21_strings/basic_string/replace/char/2.cc: New.
6846	* 21_strings/basic_string/replace/char/3.cc: New.
6847	* 21_strings/basic_string/replace/char/4.cc: New.
6848	* 21_strings/basic_string/replace/char/5.cc: New.
6849	* 21_strings/basic_string/replace/wchar_t/1.cc: New.
6850	* 21_strings/basic_string/replace/wchar_t/2.cc: New.
6851	* 21_strings/basic_string/replace/wchar_t/3.cc: New.
6852	* 21_strings/basic_string/replace/wchar_t/4.cc: New.
6853	* 21_strings/basic_string/replace/wchar_t/5.cc: New.
6854	* 21_strings/basic_string/rfind/char/1.cc: New.
6855	* 21_strings/basic_string/rfind/char/2.cc: New.
6856	* 21_strings/basic_string/rfind/char/3.cc: New.
6857	* 21_strings/basic_string/rfind/wchar_t/1.cc: New.
6858	* 21_strings/basic_string/rfind/wchar_t/2.cc: New.
6859	* 21_strings/basic_string/rfind/wchar_t/3.cc: New.
6860	* 21_strings/basic_string/substr/char/1.cc: New.
6861	* 21_strings/basic_string/substr/wchar_t/1.cc: New.
6862	* 21_strings/c_strings/char/1.cc: New.
6863	* 21_strings/c_strings/char/2.cc: New.
6864	* 21_strings/c_strings/wchar_t/1.cc: New.
6865	* 21_strings/c_strings/wchar_t/2.cc: New.
6866	* 21_strings/char_traits/requirements/char/1.cc: New.
6867	* 21_strings/char_traits/requirements/wchar_t/1.cc: New.
6868	* 21_strings/char_traits/typedefs/char/1.cc: New.
6869
68702003-03-17  Paolo Carlini  <pcarlini@unitus.it>
6871	    Petur Runolfsson  <peturr02@ru.is>
6872
6873	PR libstdc++/10097
6874	* src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
6875	basic_filebuf<wchar_t>::_M_underflow_common):
6876	if (gptr() < egptr()) return *gptr().
6877	* testsuite/27_io/filebuf_virtuals.cc (test16): Add.
6878
6879	* testsuite/27_io/filebuf_members.cc (test_04): Minor
6880	changes: unlink fifo before making it, fix spelling error.
6881
68822003-03-17  Benjamin Kosnik  <bkoz@redhat.com>
6883
6884	* testsuite/Makefile.am (CLEANFILES): Add tmp*.
6885	* testsuite/Makefile.in: Regenerate.
6886	* testsuite/27_io/filebuf_members.cc: Consistently name tmp files.
6887	Cleanups.
6888
68892003-03-17  Petur Runolfsson  <peturr02@ru.is>
6890
6891	PR libstdc++/9964
6892	* include/bits/fstream.tcc (basic_filebuf::close):
6893	Always close file, even when write fails.
6894	* testsuite/27_io/filebuf_members.cc (test_07):  New test.
6895
68962003-03-17  Danny Smith  <dannysmith@users.sourceforge.net>
6897
6898	* libsupc++/Makefile.am (C_COMPILE): Remove.
6899	(LTCOMPILE): Likewise.
6900	* libsupc++/Makefile.in: Regenerate.
6901
69022003-03-14  Benjamin Kosnik  <bkoz@redhat.com>
6903
6904	* testsuite/23_containers/bitset_members.cc: Add test variable.
6905	* testsuite/23_containers/map_insert.cc: Same.
6906	* testsuite/22_locale/ctype/cons/char/1.cc: Same.
6907	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same.
6908	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
6909	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
6910	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
6911	* testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same.
6912	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same.
6913	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
6914	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
6915	* testsuite/27_io/istream_exception.cc: Same.
6916	* testsuite/27_io/filebuf_virtuals.cc: Same.
6917	* testsuite/27_io/stringbuf_virtuals.cc: Same.
6918	* testsuite/27_io/ostream_inserter_arith.cc: Same.
6919	* testsuite/26_numerics/valarray_operators.cc: Same.
6920	* testsuite/26_numerics/slice.cc: Same.
6921	* testsuite/26_numerics/slice_array_assignment.cc: Same.
6922	* testsuite/24_iterators/istream_iterator.cc: Same.
6923	* mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible.
6924
69252003-03-14  Petur Runolfsson  <peturr02@ru.is>
6926
6927	PR libstdc++/9581
6928	PR libstdc++/9870
6929	* config/locale/generic/ctype_members.cc,
6930	* config/locale/gnu/ctype_members.cc
6931	(ctype<wchar_t>::do_widen(char)):  Cast argument to
6932	unsigned char before passing to btowc.
6933	(ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)):
6934	Convert characters with btowc instead of mbsrtowcs.
6935	(ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*,
6936	char, char*):
6937	Convert characters with wctob instead of wcsrtombs.
6938	* testsuite/22_locale/ctype/narrow/wchar_t/3.cc:  New test.
6939	* testsuite/22_locale/ctype/widen/wchar_t/2.cc:  New test.
6940	* testsuite/22_locale/ctype/widen/wchar_t/3.cc:  New test.
6941
69422003-03-14  Benjamin Kosnik  <bkoz@redhat.com>
6943
6944	* include/stdc++.h: New.
6945	* libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard.
6946	* include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch
6947	* include/Makefile.in: Regenerate.
6948	* testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS.
6949	(--cxxflags): Put -g -O2 here.
6950	* testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here.
6951
69522003-03-14  Loren J. Rittle  <ljrittle@acm.org>
6953
6954	* testsuite/testsuite_hooks.h: Suppress runtime exception thrown by
6955	missing named locale.
6956
69572003-03-14  Andreas Schwab  <schwab@suse.de>
6958
6959	* configure.in: Only append to makefiles that are newly created to
6960	avoid multiple multi-do/multi-clean rules.
6961	* configure: Rebuilt.
6962
69632003-03-13  Jonathan Wakely  <redi@gcc.gnu.org>
6964
6965	* docs/html/configopts.html, docs/html/documentation.html,
6966	docs/html/explanations.html, docs/html/install.html,
6967	docs/html/19_diagnostics/howto.html, docs/html/faq/index.html: Fix
6968	invalid XHTML and make page header style consistent.
6969
69702003-03-12  Jonathan Wakely  <redi@gcc.gnu.org>
6971
6972	* docs/html/faq/index.html: Explain memory "leaks" due to allocators.
6973	* docs/html/faq/index.txt: Regenerate.
6974	* docs/html/debug.html: Add a bit to allocator text and fix XHTML.
6975
69762003-03-12  Andreas Schwab  <schwab@suse.de>
6977
6978	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
6979	glibcpp_toolexeclibdir.
6980	* aclocal.m4, configure: Rebuilt.
6981
69822003-03-11  Jonathan Wakely  <redi@gcc.gnu.org>
6983
6984	* docs/html/faq/index.html: Update text about location of headers.
6985	* docs/html/faq/index.txt: Regenerate.
6986
69872003-03-11  Carlo Wood  <carlo@alinoe.com>
6988
6989	* include/bits/demangle.h: Prepend accessors of
6990	class qualifier with 'get_' in order to fix warnings
6991	when compiling with -Wshadow.
6992
69932003-03-11  Loren J. Rittle  <ljrittle@acm.org>
6994
6995	* config/os/bsd/freebsd/ctype_inline.h:  Support _M_table
6996	when so installed.
6997	* testsuite/22_locale/ctype/cons/char/1.cc: Fix typo.
6998
6999	* testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not
7000	report lack of setenv().
7001
70022003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7003
7004	* config/io/basic_file_stdio.cc: include <unistd.h>.
7005
70062003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7007	    Nathan Myers  <ncm@cantrip.org>
7008
7009	PR libstdc++/7744
7010	* config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn,
7011	seekoff, seekpos): Add a boolean parameter __stdio.
7012	* config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn,
7013	seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell,
7014	fseek/ftell, respectively), otherwise read (write, lseek, lseek,
7015	respectively).
7016	* include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external,
7017	_M_really_overflow, seekoff): Use the boolean parameter in the calls.
7018	* include/std/std_fstream.h (sync): Likewise.
7019	* src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise.
7020	* src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert
7021	libstdc++/8399 commit involving isatty(0).
7022	* acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove.
7023	(GLIBCPP_CHECK_UNISTD_SUPPORT): Remove
7024	* configure.in: Remove call.
7025	* aclocal.m4: Regenerate.
7026	* config.h.in: Regenerate.
7027	* configure: Regenerate.
7028	* testsuite/27_io/narrow_stream_objects.cc (test11): Add.
7029
70302003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7031
7032	PR libstdc++/9988
7033	* include/bits/fstream.tcc (overflow): don't write EOF to file.
7034	* testsuite/27_io/filebuf_virtuals.cc (test15): Add.
7035
70362003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7037
7038	PR libstdc++/9561
7039	* include/bits/basic_ios.h (_M_setstate): New.
7040	* include/bits/ostream.tcc (operator<<): Use it.
7041	* include/bits/istream.tcc (operator>>): Use it.
7042	* include/std/std_ostream.h (operator<<): Make friends.
7043	* include/std/std_istream.h (operator>>): Make friends.
7044	* testsuite/27_io/ostream_exception.cc,
7045	testsuite/27_io/istream_exception.cc: New tests.
7046
70472003-03-08  Benjamin Kosnik  <bkoz@redhat.com>
7048
7049	* include/bits/locale_facets.tcc: Fix typo.
7050
70512003-03-08  Loren J. Rittle  <ljrittle@acm.org>
7052
7053	* testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test.
7054
7055	* config/locale/generic/c_locale.cc
7056	(locale::facet::_S_create_c_locale): Throw runtime exception when
7057	unsupported language is specified.
7058	* testsuite/testsuite_hooks.h
7059	(run_test_wrapped_generic_locale_exception_catcher): New function.
7060	* testsuite/testsuite_hooks.cc (run_tests_wrapped_locale):
7061	Suppress runtime exception thrown by generic implementation.
7062	(run_tests_wrapped_env): Likewise.
7063	(run_test_wrapped_generic_locale_exception_catcher): New function.
7064	* testsuite/22_locale/collate/compare/char/1.cc: New test wrap.
7065	* testsuite/22_locale/collate/compare/char/2.cc: New test wrap.
7066	* testsuite/22_locale/collate/compare/char/3.cc: New test wrap.
7067	* testsuite/22_locale/collate/hash/char/2.cc: New test wrap.
7068	* testsuite/22_locale/collate/transform/char/2.cc: New test wrap.
7069	* testsuite/22_locale/collate/transform/char/3.cc: New test wrap.
7070	* testsuite/22_locale/collate_byname/1.cc: New test wrap.
7071	* testsuite/22_locale/ctype/is/char/2.cc: New test wrap.
7072	* testsuite/22_locale/facet/2.cc: New test wrap.
7073	* testsuite/22_locale/locale/cons/4.cc: New test wrap.
7074	* testsuite/22_locale/locale/cons/5.cc: New test wrap.
7075	* testsuite/22_locale/locale/cons/7.cc: New test wrap.
7076	* testsuite/22_locale/messages/members/char/1.cc: New test wrap.
7077	* testsuite/22_locale/messages/members/char/2.cc: New test wrap.
7078	* testsuite/22_locale/messages/members/char/3.cc: New test wrap.
7079	* testsuite/22_locale/messages_byname/1.cc: New test wrap.
7080	* testsuite/22_locale/money_get/get/char/1.cc: New test wrap.
7081	* testsuite/22_locale/money_get/get/char/2.cc: New test wrap.
7082	* testsuite/22_locale/money_get/get/char/3.cc: New test wrap.
7083	* testsuite/22_locale/money_get/get/char/4.cc: New test wrap.
7084	* testsuite/22_locale/money_put/put/char/1.cc: New test wrap.
7085	* testsuite/22_locale/money_put/put/char/2.cc: New test wrap.
7086	* testsuite/22_locale/money_put/put/char/3.cc: New test wrap.
7087	* testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap.
7088	* testsuite/22_locale/moneypunct_byname/1.cc: New test wrap.
7089	* testsuite/22_locale/num_get/get/char/1.cc: New test wrap.
7090	* testsuite/22_locale/num_get/get/char/2.cc: New test wrap.
7091	* testsuite/22_locale/num_get/get/char/3.cc: New test wrap.
7092	* testsuite/22_locale/num_get/get/char/5.cc: New test wrap.
7093	* testsuite/22_locale/num_get/get/char/6.cc: New test wrap.
7094	* testsuite/22_locale/num_put/put/char/1.cc: New test wrap.
7095	* testsuite/22_locale/num_put/put/char/2.cc: New test wrap.
7096	* testsuite/22_locale/num_put/put/char/3.cc: New test wrap.
7097	* testsuite/22_locale/num_put/put/char/5.cc: New test wrap.
7098	* testsuite/22_locale/numpunct/members/char/1.cc: New test wrap.
7099	* testsuite/22_locale/numpunct/members/char/2.cc: New test wrap.
7100	* testsuite/22_locale/numpunct_byname/1.cc: New test wrap.
7101	* testsuite/22_locale/numpunct_byname/2.cc: New test wrap.
7102	* testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap.
7103	* testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap.
7104	* testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap.
7105	* testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap.
7106	* testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap.
7107	* testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap.
7108	* testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap.
7109	* testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap.
7110	* testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap.
7111	* testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap.
7112	* testsuite/22_locale/time_put/put/char/1.cc: New test wrap.
7113	* testsuite/22_locale/time_put/put/char/2.cc: New test wrap.
7114	* testsuite/22_locale/time_put/put/char/3.cc: New test wrap.
7115	* testsuite/22_locale/time_put/put/char/4.cc: New test wrap.
7116	* testsuite/22_locale/time_put/put/char/5.cc: New test wrap.
7117	* testsuite/22_locale/time_put/put/char/6.cc: New test wrap.
7118	* testsuite/22_locale/time_put/put/char/7.cc: New test wrap.
7119	* testsuite/22_locale/time_put/put/char/8.cc: New test wrap.
7120	* testsuite/27_io/filebuf_virtuals.cc: New test wrap.
7121	* testsuite/27_io/ios_members.cc: New test wrap.
7122	* testsuite/27_io/ostream_inserter_arith.cc (test02): Make void.
7123	New test wrap.
7124	* testsuite/27_io/streambuf_members.cc: New test wrap.
7125	* testsuite/27_io/stringbuf_virtuals.cc: New test wrap.
7126
71272003-03-08  Paolo Carlini <pcarlini@unitus.it>
7128	    Petur Runolfsson  <peturr02@ru.is>
7129
7130	PR libstdc++/9424
7131	* include/bits/streambuf.tcc (__copy_streambufs): Use
7132	sgetn-sputn only when sputn cannot fail, otherwise fall back
7133	to safe snextc-sputc.
7134	* testsuite/27_io/streambuf_members.cc (test11, test12): Add.
7135
71362003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7137
7138	* include/bits/locale_facets.tcc (num_put::do_put(bool)): Use
7139	locale cache for truename and falsename.
7140
71412003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7142
7143	* src/ios.cc (ios_base::ios_base): Correct order of _M_word and
7144	_M_word_size initialization.
7145
71462003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7147
7148	* include/bits/fstream.tcc (_M_convert_to_external):
7149	Set __elen to zero if codecvt::out eventually fails.
7150
71512003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7152
7153	PR libstdc++/9182
7154	* include/bits/fstream.tcc (_M_really_overflow): Check
7155	for _M_convert_to_external possible failures.
7156	* include/std/std_fstream.h (sync): Check _M_really_overflow
7157	return value and return -1 in case of failure.
7158	* testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add.
7159
71602003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7161
7162	PR libstdc++/9826
7163	* include/bits/istream.tcc (operator>>(_CharT*),
7164	operator>>(basic_string&), ws): Pass a char_type to __ctype.is.
7165	* testsuite/27_io/stringstream.cc (test02): Add.
7166
7167	* include/bits/istream.tcc (operator>>(_CharT*)):
7168	Assign a char_type to *__s.
7169
71702003-03-07  Petur Runolfsson  <peturr02@ru.is>
7171
7172	PR libstdc++/9817
7173	* include/bits/locale_facets.tcc
7174	(collate::do_compare, collate::do_transform):
7175	Handle nul characters in input.
7176	* testsuite/22_locale/collate/compare/char/3.cc:  New test.
7177	* testsuite/22_locale/collate/compare/wchar_t/3.cc:  New test.
7178	* testsuite/22_locale/collate/transform/char/3.cc:  New test.
7179	* testsuite/22_locale/collate/transform/wchar_t/3.cc:  New test.
7180
71812003-03-07  Jerry Quinn  <jlquinn@optonline.net>
7182
7183	* include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
7184	sputn fails.
7185	* testsuite/27_io/ostream_fail.cc: New test.
7186
71872003-03-07  Matthias Klose  <doko@debian.org>
7188
7189	* Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
7190	FLAGS_TO_PASS: Set to AM_MAKEFLAGS
7191	* Makefile.in: Regenerate.
7192	* libsupc++/Makefile.am: Express glibcppinstalldir in terms
7193	of gxx_include_dir.
7194	AM_MAKEFLAGS: Pass gxx_include_dir.
7195	* libsupc++/Makefile.in: Regenerate.
7196
71972003-03-06  Jerry Quinn  <jlquinn@optonline.net>
7198
7199	* testsuite/27_io/ios_base_storage.cc (test02): Set exception
7200	mask.  Test setting small-numbered pword and iword slots.  Test
7201	behavior at limit of numeric_limits::max.  Check that values are
7202	still good after failures.
7203
72042003-03-06  Jerry Quinn  <jlquinn@optonline.net>
7205
7206	* src/ios.cc (ios_base::_M_init): Remove _M_word_size.
7207	(ios_base::ios_base): Set _M_word, _M_word_size.
7208	(ios_base::~ios_base): Remove redundant test.
7209	* testsuite/27_io/ios_base_storage.cc (test03): New.
7210
72112003-03-04  Alexandre Oliva  <aoliva@redhat.com>
7212
7213	* src/strstream.cc, include/bits/basic_string.tcc: Remove
7214	incorrect whitespace added in my previous change.
7215
72162003-03-05  Carlo Wood  <carlo@alinoe.com>
7217
7218	* include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
7219	_S_initialized() in order to allow debugging libraries to detect
7220	when the std streams are initialized from an overloaded operator
7221	new.
7222
72232003-03-05  Benjamin Kosnik  <bkoz@redhat.com>
7224
7225	* libsupc++/demangle.h: Move to..
7226	* include/bits/demangle.h: ...here.
7227	* src/demangle.cc: Adjust include.
7228	* include/Makefile.am (bits_headers): Add.
7229	* include/Makefile.in: Regenerate.
7230
72312003-03-04  Benjamin Kosnik  <bkoz@redhat.com>
7232
7233	* src/globals.cc: Clarify comments, remove c_locale_imp_compat.
7234
7235	* config/linker-map.gnu: Filter typeinfo and vtable info.
7236
72372003-03-04  Jerry Quinn  <jlquinn@optonline.net>
7238
7239	* src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on
7240	new failure.  Throw exception if badbit and exception mask when ix
7241	>= numeric_limits<int>::max().
7242
72432003-03-04  Alexandre Oliva  <aoliva@redhat.com>
7244
7245	* src/strstream.cc (strstreambuf::overflow): Make sure operands of
7246	min and max have the same type.
7247	* include/bits/basic_string.tcc (append, rfind, compare): Likewise.
7248
72492003-03-04  Benjamin Kosnik  <bkoz@redhat.com>
7250
7251	* include/Makefile.am (allstamps): Remove stamp-std-precompile.
7252	* include/Makefile.in: Regenerate.
7253
72542003-03-03  Benjamin Kosnik  <bkoz@redhat.com>
7255
7256	* testsuite/abi_check.cc (report_symbol_info): Add version info.
7257
7258	* config/linker-map.gnu: Hide more stuff.
7259	* include/Makefile.am: Cleanups.
7260	* include/Makefile.in: Regenerate.
7261
72622003-02-27  Jerry Quinn  <jlquinn@optonline.net>
7263
7264	* config/locale/generic/messages_members.h (messages::messages):
7265	Remove name from unused parameter.
7266
72672003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
7268
7269	* src/Makefile.am (sources): Add demangle.cc.
7270	(demangle.o): Add.
7271	(demangle.lo): Add.
7272	* src/Makefile.in: Regenerate.
7273	* libsupc++/Makefile.am: Remove old __cxa_demangle bits.
7274	* libsupc++/Makefile.in: Regenerate.
7275
7276	* testsuite/testsuite_hooks.h
7277	(__gnu_cxx_test::verify_demangle): New.
7278	* testsuite/testsuite_hooks.cc: Define.
7279
72802003-02-27  Carlo Wood  <carlo@alinoe.com>
7281
7282	* src/demangle.cc: New.
7283	* libsupc++/demangle.h: New.
7284
72852003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
7286	    Carlo Wood  <carlo@alinoe.com>
7287
7288	* testsuite/demangle/abi_examples/01.cc: New.
7289	* testsuite/demangle/abi_examples/02.cc: New.
7290	* testsuite/demangle/abi_examples/03.cc: New.
7291	* testsuite/demangle/abi_examples/04.cc: New.
7292	* testsuite/demangle/abi_examples/05.cc: New.
7293	* testsuite/demangle/abi_examples/06.cc: New.
7294	* testsuite/demangle/abi_examples/07.cc: New.
7295	* testsuite/demangle/abi_examples/08.cc: New.
7296	* testsuite/demangle/abi_examples/09.cc: New.
7297	* testsuite/demangle/abi_examples/10.cc: New.
7298	* testsuite/demangle/abi_examples/11.cc: New.
7299	* testsuite/demangle/abi_examples/12.cc: New.
7300	* testsuite/demangle/abi_examples/13.cc: New.
7301	* testsuite/demangle/abi_examples/14.cc: New.
7302	* testsuite/demangle/abi_examples/15.cc: New.
7303	* testsuite/demangle/abi_examples/16.cc: New.
7304	* testsuite/demangle/abi_examples/17.cc: New.
7305	* testsuite/demangle/abi_examples/18.cc: New.
7306	* testsuite/demangle/abi_examples/19.cc: New.
7307	* testsuite/demangle/abi_examples/20.cc: New.
7308	* testsuite/demangle/abi_examples/21.cc: New.
7309	* testsuite/demangle/abi_examples/22.cc: New.
7310	* testsuite/demangle/abi_examples/23.cc: New.
7311	* testsuite/demangle/abi_examples/24.cc: New.
7312	* testsuite/demangle/abi_examples/25.cc: New.
7313	* testsuite/demangle/abi_examples/26.cc: New.
7314	* testsuite/demangle/abi_text/01.cc: New.
7315	* testsuite/demangle/abi_text/02.cc: New.
7316	* testsuite/demangle/abi_text/03.cc: New.
7317	* testsuite/demangle/abi_text/04.cc: New.
7318	* testsuite/demangle/abi_text/05.cc: New.
7319	* testsuite/demangle/abi_text/06.cc: New.
7320	* testsuite/demangle/abi_text/07.cc: New.
7321	* testsuite/demangle/abi_text/08.cc: New.
7322	* testsuite/demangle/abi_text/09.cc: New.
7323	* testsuite/demangle/abi_text/10.cc: New.
7324	* testsuite/demangle/abi_text/11.cc: New.
7325	* testsuite/demangle/abi_text/12.cc: New.
7326	* testsuite/demangle/abi_text/13.cc: New.
7327	* testsuite/demangle/abi_text/14.cc: New.
7328	* testsuite/demangle/regression/3111-1.cc: New.
7329	* testsuite/demangle/regression/3111-2.cc: New.
7330	* testsuite/demangle/regression/7986-01.cc: New.
7331	* testsuite/demangle/regression/7986-02.cc: New.
7332	* testsuite/demangle/regression/7986-03.cc: New.
7333	* testsuite/demangle/regression/7986-04.cc: New.
7334	* testsuite/demangle/regression/7986-05.cc: New.
7335	* testsuite/demangle/regression/7986-06.cc: New.
7336	* testsuite/demangle/regression/7986-07.cc: New.
7337	* testsuite/demangle/regression/7986-08.cc: New.
7338	* testsuite/demangle/regression/7986-09.cc: New.
7339	* testsuite/demangle/regression/7986-10.cc: New.
7340	* testsuite/demangle/regression/7986-11.cc: New.
7341	* testsuite/demangle/regression/7986-12.cc: New.
7342	* testsuite/demangle/regression/7986.cc: New.
7343	* testsuite/demangle/regression/8897.cc: New.
7344	* testsuite/demangle/regression/cw-01.cc: New.
7345	* testsuite/demangle/regression/cw-02.cc: New.
7346	* testsuite/demangle/regression/cw-03.cc: New.
7347	* testsuite/demangle/regression/cw-04.cc: New.
7348	* testsuite/demangle/regression/cw-05.cc: New.
7349	* testsuite/demangle/regression/cw-06.cc: New.
7350	* testsuite/demangle/regression/cw-07.cc: New.
7351	* testsuite/demangle/regression/cw-08.cc: New.
7352	* testsuite/demangle/regression/cw-09.cc: New.
7353	* testsuite/demangle/regression/cw-10.cc: New.
7354	* testsuite/demangle/regression/cw-11.cc: New.
7355	* testsuite/demangle/regression/cw-12.cc: New.
7356	* testsuite/demangle/regression/cw-13.cc: New.
7357	* testsuite/demangle/regression/cw-14.cc: New.
7358	* testsuite/demangle/regression/old.cc: New.
7359
73602003-02-25  Phil Edwards  <pme@gcc.gnu.org>
7361
7362	* docs/doxygen/Intro.3:  Update with new (proper) names.
7363	* docs/doxygen/TODO:  Update.
7364	* docs/doxygen/run_doxygen:  More comments, fix up man pages.
7365	Fake entries for standard typedefs.
7366	* docs/doxygen/user.cfg.in:  Turn INLINE_INHERITED_MEMB back on.
7367	* docs/html/documentation.html:  Top-level man page is now called
7368	C++Intro.
7369	* include/std/std_limits.h:  Doxygenate.
7370
73712003-02-25  Scott Snyder  <snyder@fnal.gov>
7372
7373	PR libstdc++/9811
7374	* include/bits/stl_map.h (lower_bound, upper_bound, equal_range):
7375	Correct documentation.
7376	* include/bits/stl_multimap.h (lower_bound, upper_bound,
7377	equal_range): Likewise.
7378
73792003-02-24  Paolo Carlini  <pcarlini@unitus.it>
7380
7381	PR libstdc++/9825
7382	* src/fstream.cc
7383	(basic_filebuf<char/wchar_t>::_M_underflow_common): When
7384	__bump is true (uflow), always increment the read pointer
7385	(_M_in_cur) before returning successfully.
7386	* testsuite/27_io/filebuf_virtuals.cc (test12): Add.
7387
73882003-02-24  Paolo Carlini <pcarlini@unitus.it>
7389	    Nathan Myers <ncm@cantrip.org>
7390
7391	PR libstdc++/9404, PR libstdc++/9701 (partial)
7392	(aka pptr == epptr implies overflow)
7393	* include/bits/fstream.tcc (_M_allocate_internal_buffer):
7394	Consistently, _M_out_end points to the end of the buffer just
7395	created.
7396	(overflow): Tweak to use _M_out_buf_size().
7397	(_M_convert_to_external): The role of the old _M_out_end is
7398	now played by _M_out_lim.
7399	(_M_really_overflow): Likewise.
7400	(seekoff): Likewise.
7401	(setbuf): _M_out_end points to the end of the external buffer.
7402	* include/bits/sstream.tcc (overflow): Rewrote, taking into
7403	account the resolution of DR 169 (TC).
7404	(seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
7405	(seekpos): Use _M_string.capacity(); tweak.
7406	* include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
7407	* include/std/std_fstream.h (sync): The role of the old
7408	_M_out_end is now played by _M_out_lim.
7409	(_M_set_indeterminate): Use _M_set_determinate.
7410	(_M_set_determinate): _M_out_end is now _M_out_lim.
7411	(_M_is_indeterminate): Likewise.
7412	* include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
7413	(_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
7414	which have the information readily available as _M_string.capacity();
7415	for ate and app modes, pass the string size to _M_really_sync.
7416	(_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
7417	point to the end of the buffer (i.e., epptr) and to the string end,
7418	respectively.
7419	* include/std/std_streambuf.h: tweak comments, add _M_out_lim,
7420	which points to the right limit of the used put area.
7421	(_M_out_cur_move): The role of the old _M_out_end is now played
7422	by _M_out_lim.
7423	(_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
7424	_M_out_end  - _M_out_cur (i.e., pptr), _very_ close to the letter
7425	of the standard.
7426	(basic_streambuf()): Initialize _M_out_lim too.
7427	* testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
7428	* testsuite/27_io/filebuf_virtuals.cc (test11): Add.
7429	* testsuite/27_io/stringbuf_virtuals.cc (test09): Add.
7430
74312003-02-24  Benjamin Kosnik  <bkoz@redhat.com>
7432
7433	* testsuite/27_io/ios_base_storage.cc (main): Call
7434	set_memory_limits.
7435
74362003-02-21  Jerry Quinn  <jlquinn@optonline.net>
7437
7438	* include/bits/locale_facets.tcc (_M_convert_float): Replace
7439	numpunct facet accesses with data from __locale_cache.
7440
74412003-02-20  Phil Edwards  <pme@gcc.gnu.org>
7442
7443	* docs/html/faq/index.html (3.9):  New note, wchar_t on FreeBSD.
7444	* docs/html/faq/index.txt:  Regenerate.
7445
74462003-02-20  Phil Edwards  <pme@gcc.gnu.org>
7447
7448	* config/linker-map.gnu:  Also export locking symbols needed for the
7449	generic atomicity.h case.
7450
74512003-02-20  Alexandre Oliva  <aoliva@redhat.com>
7452
7453	* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
7454	config.status.
7455	* configure: Rebuilt.
7456
74572003-02-19  Paolo Carlini  <pcarlini@unitus.it>
7458
7459	* include/bits/sstream.tcc (overflow): According to
7460	27.7.1.3, p5, actual output is performed by sputc(c).
7461
74622003-02-19  Phil Edwards  <pme@gcc.gnu.org>
7463
7464	PR libstdc++/9582
7465	* include/bits/stl_alloc.h:  Remove all traces of assert().
7466
74672003-02-18  Paolo Carlini  <pcarlini@unitus.it>
7468
7469	* include/std/std_sstream.h (str()): the size of the
7470	current string may be different from the initial one
7471	whenever _M_out_end > _M_out_beg.
7472	* testsuite/27_io/stringbuf_members.cc (test07): Add.
7473
74742003-02-18  Paolo Carlini  <pcarlini@unitus.it>
7475
7476	PR libstdc++/9582
7477	* include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert.
7478
74792003-02-17  Benjamin Kosnik  <bkoz@redhat.com>
7480
7481	* include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
7482	* testsuite/27_io/ios_members.cc (test03): New.
7483
74842003-02-17  Jerry Quinn  <jlquinn@optonline.net>
7485
7486	* include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare.
7487	(basic_ios::_M_cache_facets): Move into above.
7488	* include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale
7489	cache.
7490	(basic_ios::imbue): Force locale cache to be built.
7491	(basic_ios::_M_init): Create and initialize locale cache.
7492	* include/bits/ios_base.h (__locale_cache_base): Declare.
7493	(ios_base::_M_locale_cache): New.
7494	(ios_base::_M_cache): Define.
7495	* include/bits/locale_facets.h:	(__num_base): Fix comment.  Add
7496	_S_end.
7497	(__locale_cache_base,__locale_cache<_CharT>):  New classes.
7498	(__locale_cache<char>, __locale_cache<wchar_t>): New specializations.
7499	* include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale
7500	cache literal string, grouping flag, thousands separator.
7501	(__locale_cache<_CharT>::__locale_cache): New.
7502	(__locale_cache<_CharT>::_M_init): New.
7503	* src/ios.cc: Clear _M_locale_cache in constructor.
7504	* src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
7505	New.
7506
75072003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7508
7509	* src/locale-inst.cc: Do not include <cassert>.
7510	* src/locale.cc: Likewise.
7511
75122003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7513
7514	PR libstdc++/9580
7515	* include/std/std_fstream.h: Declare underflow and uflow
7516	specializations, change generic definitions to do nothing.
7517	* src/fstream.cc: Add underflow and uflow specializations.
7518
75192003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7520
7521	PR libstdc++/9169
7522	* include/bits/fstream.tcc (_M_convert_to_external):
7523	Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
7524	* testsuite/27_io/filebuf_virtuals.cc (test10): Add.
7525
75262003-02-13  Benjamin Kosnik  <bkoz@redhat.com>
7527
7528	* include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
7529	* include/bits/basic_ios.tcc: Guard use of extern template.
7530	* include/std/std_iomanip.h: Same.
7531	* include/bits/streambuf.tcc: Same.
7532	* include/bits/stl_alloc.h: Same.
7533	* include/bits/locale_facets.tcc: Same.
7534	* include/bits/ostream.tcc: Same.
7535	* include/bits/istream.tcc: Same.
7536	* include/bits/fstream.tcc: Same.
7537	* include/bits/basic_string.tcc: Same.
7538
75392003-02-13  Paolo Carlini  <pcarlini@unitus.it>
7540
7541	* include/bits/ostream.tcc (sentry::sentry): Improve
7542	performance-wise the fix for libstdc++/9563.
7543
75442003-02-12  Phil Edwards  <pme@gcc.gnu.org>
7545
7546	* config/cpu/generic/atomicity.h (_Atomic_add_mutex):  Fix declaration.
7547	(_GLIBCPP_NEED_GENERIC_MUTEX):  Define for this file.
7548	(_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once):  Declare
7549	when we don't have static mutex initialization.
7550	(__exchange_and_add):  Use _Atomic_add_mutex_once.
7551	* src/misc-inst.cc:  Definitions of all the above.
7552
75532003-02-12  Paolo Carlini  <pcarlini@unitus.it>
7554
7555	PR libstdc++/9563
7556	* include/bits/ostream.tcc (sentry::sentry): Check
7557	the state of the stream after the preparation.
7558	* testsuite/27_io/ostream_sentry.cc (test02): Add.
7559
75602003-02-11  Benjamin Kosnik  <bkoz@redhat.com>
7561
7562	* include/Makefile.am (stamp-std-precompile): Add rule.
7563	* include/Makefile.in: Regenerated.
7564
75652003-02-11 Jerry Quinn  <jlquinn@optonline.net>
7566	   Benjamin Kosnik  <benjamin@redhat.com>
7567
7568	* include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
7569	Add indexes into this array.
7570	(__num_base::_S_atoms): To _S_atoms_in.
7571	(num_put::_M_insert): Rename to _M_pad.
7572	(num_put::_M_convert_int): Adjust remove __mod, __modl arguments.
7573	(num_put::_M_widen_int): Rename to _M_group_int.
7574	(num_put::_M_widen_float): Rename to _M_group_float.
7575	* include/bits/locale_facets.tcc (__int_to_char): New inline
7576	function and adapter functions.
7577	(num_put::_M_group_int): Streamline.
7578	(num_put::_M_group_float): Streamline.
7579	(num_put::_M_convert_int): Remove unused parameter names. Choose
7580	large enough buffer for text.  Use __int_to_char instead of
7581	__convert_from_v.  Formatted text is now at the end of the buffer.
7582	(num_put::_M_convert_float): Preliminary fixups.
7583	* src/locale-inst.cc (__convert_from_v<long long>): Add ifdef.
7584	(__int_to_char<unsigned long long>): Same.
7585	(__int_to_char<char, unsigned long>): New.
7586	(__int_to_char<char, unsigned long long>): New.
7587	(__int_to_char<wchar_t, unsigned long>): New.
7588	(__int_to_char<wchar_t, unsigned long long>): New.
7589
75902003-02-11  Scott Snyder  <snyder@fnal.gov>
7591
7592	PR libstdc++/9659
7593	* include/bits/fstream.tcc (seekoff): Avoid operator+
7594	for pos_type.
7595
75962003-02-11  Paolo Carlini  <pcarlini@unitus.it>
7597
7598	PR libstdc++/9320
7599	* include/ext/stdio_filebuf.h
7600	(stdio_filebuf(int, std::ios_base::openmode, bool, int_type),
7601	stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)):
7602	Change to take a __size parameter of type size_t, not
7603	of type (template parameter dependent) int_type.
7604	* src/ios.cc (ios_base::Init::_S_ios_create): Change type of
7605	size vars to size_t.
7606	* testsuite/ext/stdio_filebuf.cc: Add.
7607
76082003-02-11  Paolo Carlini  <pcarlini@unitus.it>
7609	    Petur Runolfsson  <peturr02@ru.is>
7610
7611	PR libstdc++/9318
7612	* include/bits/streambuf.tcc (__copy_streambufs):
7613	Don't conditionalize the copy to __testput.
7614	* testsuite/27_io/streambuf_members.cc (test09, test10): Add.
7615
76162002-02-11  DJ Delorie  <dj@redhat.com>
7617
7618	* acinclude.m4: Check for native targets that can't link at
7619	this point in the build.
7620	* aclocal.m4: Regenerate.
7621	* configure: Regenerate.
7622
76232003-02-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7624
7625	* hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock):
7626	Correct alignment.
7627	(__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset
7628	lock.
7629
76302003-02-07  Paolo Carlini  <pcarlini@unitus.it>
7631
7632	* testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
7633	unsigned char platforms.
7634
76352003-02-06  Paolo Carlini  <pcarlini@unitus.it>
7636
7637	PR libstdc++/9562
7638	* include/std/std_istream.h
7639	(basic_istream::sentry::operator bool()): Make const.
7640	* include/std/std_ostream.h
7641	(basic_ostream::sentry::operator bool()): Likewise.
7642	* testsuite/27_io/istream_sentry.cc (test03): Add.
7643	* testsuite/27_io/ostream_sentry.cc: Add.
7644
76452003-02-06  Paolo Carlini  <pcarlini@unitus.it>
7646
7647	PR libstdc++/9548
7648	Implement resolution of DR 231 (Ready)
7649	* include/bits/locale_facets.h (__num_base::_S_format_float):
7650	Change declaration: return void, remove __prec parameter.
7651	* src/locale.cc (__num_base::_S_format_float): Implement
7652	resolution of DR 231.
7653	* include/bits/locale_facets.tcc (num_put::_M_convert_float):
7654	Tweak uses. Check for negative precision.
7655	* testsuite/22_locale/num_put/put/char/6.cc: Add
7656	* testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
7657
76582003-02-06  Peter Soetens  <peter.soetens@mech.kuleuven.ac.be>
7659
7660	* config/io/basic_file_libio.h: Fixups.
7661	* config/io/c_io_libio.h: Same.
7662	* libio/Makefile.am: Same.
7663	* libio/Makefile.in: Regenerated.
7664
76652003-02-06  Benjamin Kosnik  <bkoz@redhat.com>
7666
7667	* testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01):
7668	Explicitly use the "C" locale.
7669	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same.
7670
76712003-02-06  Petur Runolfsson  <peturr02@ru.is>
7672
7673	DR 75
7674	DR 305
7675	PR libstdc++/9028 (partial)
7676	PR libstdc++/9224
7677	PR libstdc++/9246
7678	PR libstdc++/9247
7679
7680	* src/codecvt.cc
7681	(codecvt<wchar_t, char, mbstate_t>::do_encoding,
7682	codecvt<wchar_t, char, mbstate_t>::do_length,
7683	codecvt<wchar_t, char, mbstate_t>::do_max_length):
7684	Move...
7685	* config/locale/generic/codecvt_members.cc:  ...here.
7686	* config/locale/gnu/codecvt_members.cc:  ...and here.
7687
7688	* config/locale/generic/codecvt_members.cc,
7689	* config/locale/gnu/codecvt_members.cc
7690	(codecvt<wchar_t, char, mbstate_t>::do_encoding
7691	codecvt<wchar_t, char, mbstate_t>::do_in,
7692	codecvt<wchar_t, char, mbstate_t>::do_length,
7693	codecvt<wchar_t, char, mbstate_t>::do_max_length,
7694	codecvt<wchar_t, char, mbstate_t>::do_out):
7695	New implementation that handles stateless encodings,
7696	including UTF-8.
7697
7698	* config/locale/generic/codecvt_members.cc,
7699	* config/locale/gnu/codecvt_members.cc,
7700	* config/locale/ieee_1003.1-2001/codecvt_specializations.h,
7701	* include/bits/codecvt.h,
7702	* src/codecvt.cc
7703	(codecvt::length, codecvt::do_length):
7704	Change type of first argument of length and do_length from
7705	'const state_type&' to 'state_type&' according to DR 75.
7706
7707	* testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc:  Cleanup.
7708	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc:  New test.
7709	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc:  New test.
7710	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc:  New test.
7711	* testsuite/22_locale/codecvt/encoding/wchar_t/1.cc:
7712	Cleanup and check for correct return value from encoding
7713	for "C" locale.
7714	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc:  New test.
7715	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc:  New test.
7716	* testsuite/22_locale/codecvt/encoding/wchar_t/4.cc:  New test.
7717	* testsuite/22_locale/codecvt/in/wchar_t/1.cc:  Cleanup.
7718	* testsuite/22_locale/codecvt/in/wchar_t/2.cc:  New test.
7719	* testsuite/22_locale/codecvt/in/wchar_t/3.cc:  New test.
7720	* testsuite/22_locale/codecvt/in/wchar_t/4.cc:  New test.
7721	* testsuite/22_locale/codecvt/in/wchar_t/5.cc:  New test.
7722	* testsuite/22_locale/codecvt/in/wchar_t/6.cc:  New test.
7723	* testsuite/22_locale/codecvt/in/wchar_t/7.cc:  New test.
7724	* testsuite/22_locale/codecvt/in/wchar_t/8.cc:  New test.
7725	* testsuite/22_locale/codecvt/in/wchar_t/9.cc:  New test.
7726	* testsuite/22_locale/codecvt/length/char/1.cc:  Cleanup.
7727	* testsuite/22_locale/codecvt/length/char/2.cc:  New test.
7728	* testsuite/22_locale/codecvt/length/wchar_t/1.cc:  Cleanup.
7729	* testsuite/22_locale/codecvt/length/wchar_t/2.cc:  New test.
7730	* testsuite/22_locale/codecvt/length/wchar_t/3.cc:  New test.
7731	* testsuite/22_locale/codecvt/length/wchar_t/4.cc:  New test.
7732	* testsuite/22_locale/codecvt/length/wchar_t/5.cc:  New test.
7733	* testsuite/22_locale/codecvt/length/wchar_t/6.cc:  New test.
7734	* testsuite/22_locale/codecvt/length/wchar_t/7.cc:  New test.
7735	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc:  Cleanup.
7736	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc:  New test.
7737	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc:  New test.
7738	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc:  New test.
7739	* testsuite/22_locale/codecvt/out/wchar_t/1.cc:  Cleanup.
7740	* testsuite/22_locale/codecvt/out/wchar_t/2.cc:  New test.
7741	* testsuite/22_locale/codecvt/out/wchar_t/3.cc:  New test.
7742	* testsuite/22_locale/codecvt/out/wchar_t/4.cc:  New test.
7743	* testsuite/22_locale/codecvt/out/wchar_t/5.cc:  New test.
7744	* testsuite/22_locale/codecvt/out/wchar_t/6.cc:  New test.
7745	* testsuite/22_locale/codecvt/out/wchar_t/7.cc:  New test.
7746	* testsuite/22_locale/codecvt/unicode/1.cc:  New test.
7747	* testsuite/22_locale/codecvt/unshift/wchar_t/1.cc:  Cleanup.
7748	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc:  New test.
7749	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc:  New test.
7750	* testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc:  New test.
7751
77522003-02-05  Benjamin Kosnik  <bkoz@redhat.com>
7753
7754	* include/bits/locale_facets.tcc (time_put::do_put): Use __write.
7755	(money_put::do_put): Same.
7756
77572003-02-05  Jerry Quinn  <jlquinn@optonline.net>
7758
7759	* include/bits/ios_base.h (ios_base): Document reserved storage.
7760
7761	* include/bits/locale_facets.h:	(struct __pad): Comment on
7762	implementation.
7763	(__verify_grouping): Same.
7764	(__add_grouping): Same.
7765	* include/bits/locale_facets.tcc (__verify_grouping): Move
7766	comments to declaration.
7767	(__add_grouping): Same.
7768
7769	* include/bits/locale_facets.tcc:
7770	(__write<_CharT, _OutIter>): New function.
7771	(__write<_CharT>): New function specialization.
7772	(num_put::_M_insert): Remove explicit loop over iterator.  Use
7773	__write.
7774	(num_put::_M_widen_float): Remove __basefield.
7775	(num_put::_M_widen_int): Move __basefield to within grouping block.
7776
7777	* include/bits/streambuf_iterator.h: Include <streambuf>.
7778	(ostreambuf_iterator::_M_put): Add.
7779
77802003-02-05  Paolo Carlini  <pcarlini@unitus.it>
7781
7782	* testsuite/26_numerics/valarray_name_lookup.cc: Fix typo.
7783
77842003-02-04  Nathan Myers  <ncm@cantrip.org>
7785
7786	* testsuite/25_algorithms/min_max.cc (test02): Add.
7787
77882003-02-04  Paolo Carlini  <pcarlini@unitus.it>
7789
7790	PR libstdc++/9439, PR libstdc++/9425
7791	* config/io/basic_file_stdio.cc
7792	(__basic_file<char>::seekoff, seekpos): Return -1L if
7793	fseek fails.
7794	* include/bits/fstream.tcc (basic_filebuf::seekoff):
7795	Check _M_file.seekoff return value; always return
7796	pos_type(off_type(-1)) in case of failure.
7797	(basic_filebuf::pbackfail): Check this->seekoff return
7798	value and return traits_type::eof() in case of failure.
7799	* testsuite/27_io/filebuf_virtuals.cc (test09): Add.
7800
78012003-02-04  Jerry Quinn  <jlquinn@optonline.net>
7802
7803	* include/std/std_ostream.h (ostream::_M_write): Declare.
7804	* ostream.tcc (ostream::_M_write): Define.
7805	(basic_ostream::write): Use it.
7806	(operator<<(basic_ostream, _CharT)): Ditto.
7807	(operator<<(basic_ostream, char)): Ditto.
7808	(operator<<(basic_ostream, _CharT*)): Ditto.
7809	(operator<<(basic_ostream, char*)): Ditto.
7810	(operator<<(basic_ostream, basic_string)): Ditto.
7811
78122003-02-04  Benjamin Kosnik  <bkoz@redhat.com>
7813
7814	* testsuite/26_numerics/valarray_name_lookup.cc: Fix.
7815
78162002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
7817
7818	* docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page,
7819	add HTML comment about updating links if numbering changes.
7820
78212003-02-04  Paolo Carlini  <pcarlini@unitus.it>
7822
7823	PR libstdc++/9538
7824	* include/bits/streambuf.tcc (sputbackc): Access
7825	this->gptr()[-1] only if _M_in_beg < _M_in_cur.
7826	* testsuite/27_io/filebuf_virtuals.cc (test08): Add.
7827
78282003-02-04  Paolo Carlini  <pcarlini@unitus.it>
7829
7830	PR libstdc++/9507
7831	* include/bits/fstream.tcc (open): If the 'ate' repositioning
7832	operation fails, calls close _and_ returns a null pointer
7833	to indicate failure (27.8.1.3,4).
7834	* testsuite/27_io/filebuf_members.cc (test_06): Add.
7835
78362003-02-04  Petur Runolfsson  <peturr02@ru.is>
7837
7838	* testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).
7839
78402002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
7841
7842	* docs/html/27_io/howto.html: New section on stdio_filebuf.
7843	* docs/html/ext/howto.html: Move stdio_filebuf notes to 27_io.
7844	* docs/html/documentation.html: Regenerate.
7845
78462003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
7847
7848	* docs/html/17_intro/porting.texi: Update to GFDL 1.2.
7849	* docs/html/17_intro/porting.html: Regenerate.
7850
78512003-02-03  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7852	    Phil Edwards  <pme@gcc.gnu.org>
7853
7854	* include/std/std_bitset.h:  Replace CHAR_BIT with __CHAR_BIT__, use
7855	numeric_limits for bits-per-word values.
7856	(_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count):
7857	Use __builtin_popcountl instead.
7858	(_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next,
7859	_Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next):
7860	Use __builtin_ctzl instead.
7861	(_S_bit_count, _S_first_one):  Remove.
7862	* config/linker-map.gnu (GLIBCPP_3.4):  Remove std::_S_bit_count.
7863	* src/Makefile.am (sources):  Remove bitset.cc.
7864	* src/bitset.cc:  Delete file.
7865	* src/Makefile.in:  Regenerate.
7866
78672003-02-03  Phil Edwards  <pme@gcc.gnu.org>
7868
7869	PR libstdc++/9527, PR libstdc++/8713
7870	* docs/html/install.html:  Mention glibc version requirement.
7871	* docs/html/faq/index.html (3.8):  New note, glibc 2.2.5+ is needed
7872	with 3.2.1+ (formatting bugfixes).
7873	* docs/html/faq/index.txt:  Regenerate.
7874
78752003-02-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7876
7877	PR libstdc++/9234
7878	* include/bits/valarray_before.h (_UnBase::operator[]): Apply unary
7879	operator.
7880
7881	* include/bits/valarray_before.h (__not_equal_to): Use != instead
7882	of ==.
7883
7884	* testsuite/26_numerics/valarray_operators.cc: New test.
7885
78862003-02-01  Phil Edwards  <pme@gcc.gnu.org>
7887
7888	* docs/html/faq/index.html:  Correct link to libg++ information.
7889	* docs/html/faq/index.txt:  Regenerated.
7890
78912003-02-01  Paolo Carlini  <pcarlini@unitus.it>
7892	    Benjamin Kosnik  <bkoz@redhat.com>
7893
7894	Const correctness issue:
7895	http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html
7896	* include/bits/locale_classes.h
7897	(locale::_Impl::_M_facets): Change type to const facet**.
7898	(locale::_Impl::_M_install_facet): Change declaration to
7899	take const facet*.
7900	(locale::facet::_M_references): Make mutable.
7901	(locale::facet::_M_add_reference): Declare const.
7902	(locale::facet::_M_remove_reference): Likewise.
7903	* include/bits/locale_facets.tcc
7904	(use_facet(const locale&)): Tweak for const facet** _M_facets.
7905	(has_facet(const locale&)): Likewise.
7906	* src/locale.cc
7907	(locale::facet::_M_add_reference): Adjust definition.
7908	(locale::facet::_M_remove_reference): Likewise.
7909	* src/localename.cc
7910	(locale::_Impl::_Impl(const _Impl&, size_t)): Tweak for
7911	const facet** _M_facets.
7912	(locale::_Impl::_Impl(const char*, size_t)): Likewise.
7913	(locale::_Impl::_Impl(facet**, size_t, bool)): Likewise.
7914	(locale::_Impl::_M_install_facet): Adjust definition to take
7915	const facet* and for const facet** _M_facets.
7916	* testsuite/22_locale/locale/cons/8.cc: Add.
7917
79182003-01-29  Mark Mitchell  <mark@codesourcery.com>
7919
7920	* include/std/std_limits.h (numeric_limits<float>::has_infinity):
7921	Use __FLT_HAS_INIFINITY__ to initialize.
7922	(numeric_limits<float>::has_quiet_NaN): Likewise.
7923	(numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
7924	to initialize.
7925	(numeric_limits<double>::has_quiet_NaN): Likewise.
7926	(numeric_limits<long double>::has_infinity): Use
7927	__LDBL_HAS_INIFINITY__ to initialize.
7928	(numeric_limits<long_double>::has_quiet_NaN): Likewise.
7929
79302003-01-28  Nathan Sidwell  <nathan@codesourcery.com>
7931
7932	PR c++/9433
7933	* libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
7934	with bases which are very ambiguous.
7935
79362003-01-28  Danny Smith  <dannysmith@users.sourceforge.net>
7937
7938	* src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of
7939	@EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
7940	* libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise.
7941	* src/Makefile.in: Regenerate.
7942	* libsupc++/Makefile.in: Regenerate.
7943
79442003-01-27  Alexandre Oliva  <aoliva@redhat.com>
7945
7946	* acinclude.m4 (glibcpp_toolexeclibdir): Instead of
7947	$(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
7948	version_specific_libs is enabled.
7949	* aclocal.m4, configure: Rebuilt.
7950
79512003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
7952
7953	* include/bits/valarray_meta.h: Remove, split into ...
7954	* include/bits/valarray_before.h: ... this, and ...
7955	* include/bits/valarray_after.h: ... this.
7956	* include/std/std_valarray.h: Adjust.
7957	* include/Makefile.am (bits_headers): Adjust.
7958	* include/Makefile.in: Regenerate.
7959
79602003-01-24  Andreas Schwab  <schwab@suse.de>
7961
7962	* config/linker-map.gnu: Fix for size_t variance.
7963
79642003-01-23  Petur Runolfsson  <peturr02@ru.is>
7965
7966	PR libstdc++/9322
7967	* include/std/std_streambuf.h
7968	(basic_streambuf::basic_streambuf,
7969	basic_streambuf::~basic_streambuf,
7970	basic_streambuf::getloc, basic_streambuf::imbue):
7971	Remove _M_buf_locale_init
7972	* include/bits/fstream.tcc (basic_filebuf::imbue):  Likewise
7973	* testsuite/27_io/filebuf_virtuals.cc (test08):  Add.
7974	* testsuite/27_io/streambuf_members.cc (test08):  Add.
7975	* testsuite/27_io/stringbuf_virtuals.cc (test08):  Add.
7976
79772003-01-23  Benjamin Kosnik  <bkoz@redhat.com>
7978
7979	Revert include ordering.
7980	* config/locale/generic/c_locale.h: Add include guards.
7981	* config/locale/gnu/c_locale.h: Same.
7982	* include/bits/locale_classes.h: Remove cctype include.
7983	* include/std/std_iosfwd.h: Add c++locale.h, cctype includes.
7984	* include/std/std_fstream.h: Remove streambuf include.
7985	* include/std/std_sstream.h: Remove streambuf include.
7986
79872003-01-23  Benjamin Kosnik  <bkoz@redhat.com>
7988
7989	* configure.in (libtool_VERSION): To 6:0:0.
7990	* configure: Regenerated.
7991	* config/linker-map.gnu: Clean.
7992
7993	* src/misc-inst.cc: Remove instantiations.
7994
7995	* include/bits/stl_alloc.h (__malloc_alloc_template):
7996	To __malloc_alloc.
7997	(__default_alloc_template): To __pool_alloc.
7998	* src/stl-inst.cc: Same.
7999	* include/backward/alloc.h: Update.
8000	* testsuite/ext/allocators.cc: Update.
8001
8002	* src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should
8003	really try to remove these if possible.
8004	* src/locale.cc (std): Same.
8005
8006	* testsuite/abi_check.cc (check_version): Add.
8007
80082003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
8009	    Sysoltsev Slawa  <Vyatcheslav.Sysoltsev@intel.com>
8010	    Mark Mitchell  <mark@codesourcery.com>
8011
8012	PR libstdc++/9269
8013	* include/std/std_fstream.h (basic_filebuf::uflow): Declare.
8014	(basic_filebuf::underflow): Declare.
8015	Move definitions.
8016
80172003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
8018
8019	* include/bits/locale_facets.h: Move non-facet classes requiring
8020	<string> to...
8021	* include/bits/locale_classes.h: New.
8022	* include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
8023	* include/bits/Makefile.in: Regenerate.
8024
8025	* include/bits/locale_facets.tcc (__convert_from_v): Move to...
8026	* config/locale/gnu/c_locale.h: ...here.
8027	* config/locale/generic/c_locale.h: Same.
8028
8029	* include/bits/locale_facets.tcc: Move declarations to...
8030	* include/bits/locale_facets.h: ...here.
8031	* include/bits/basic_ios.h: Tweak includes accordingly.
8032	* include/std/std_sstream.h: Add streambuf include.
8033	* include/std/std_fstream.h: Ditto.
8034	* include/std/std_locale.h: Add locale_classes.h include.
8035	* include/std/std_iosfwd.h: Tweak.
8036	* src/concept-inst.cc: Add iterator include.
8037
8038	* config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
8039	bits as unexported in the future.
8040
80412003-01-21  Benjamin Kosnik  <bkoz@redhat.com>
8042
8043	Reshuffle 22_locale testsuite.
8044	* 22_locale/(codecvt.cc money_get.cc
8045	codecvt_members_char_char.cc money_get_members_char.cc
8046	codecvt_members_unicode_char.cc money_get_members_wchar_t.cc
8047	codecvt_members_unicode_wchar_t.cc moneypunct_byname.cc
8048	codecvt_members_wchar_t_char.cc moneypunct.cc collate_byname.cc
8049	moneypunct_members_char.cc collate.cc moneypunct_members_wchar_t.cc
8050	collate_members_char.cc money_put.cc collate_members_wchar_t.cc
8051	money_put_members_char.cc ctor_copy_dtor.cc
8052	money_put_members_wchar_t.cc ctype.cc num_get.cc ctype_is_char.cc
8053	num_get_members_char.cc ctype_is_wchar_t.cc num_get_members_wchar_t.cc
8054	ctype_members_char.cc numpunct_byname.cc ctype_members_wchar_t.cc
8055	numpunct.cc ctype_narrow_char.cc numpunct_members_char.cc
8056	ctype_narrow_wchar_t.cc numpunct_members_wchar_t.cc ctype_scan_char.cc
8057	num_put.cc ctype_scan_wchar_t.cc num_put_members_char.cc
8058	ctype_to_char.cc num_put_members_wchar_t.cc ctype_to_wchar_t.cc
8059	operators.cc ctype_widen_char.cc static_members.cc
8060	ctype_widen_wchar_t.cc time_get.cc facet.cc time_get_members_char.cc
8061	global_templates.cc time_get_members_wchar_t.cc, members.cc,
8062	time_put.cc, messages_byname.cc, time_put_members_char.cc,
8063	messages.cc, time_put_members_wchar_t.cc, messages_members_char.cc):
8064	Split up into individual test cases...
8065	* 22_locale/codecvt/1.cc: New.
8066	* 22_locale/codecvt/2.cc: New.
8067	* 22_locale/codecvt/always_noconv/char/1.cc: New.
8068	* 22_locale/codecvt/always_noconv/char/wrapped_env.cc: New.
8069	* 22_locale/codecvt/always_noconv/char/wrapped_locale.cc: New.
8070	* 22_locale/codecvt/always_noconv/wchar_t/1.cc: New.
8071	* 22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: New.
8072	* 22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: New.
8073	* 22_locale/codecvt/encoding/char/1.cc: New.
8074	* 22_locale/codecvt/encoding/char/wrapped_env.cc: New.
8075	* 22_locale/codecvt/encoding/char/wrapped_locale.cc: New.
8076	* 22_locale/codecvt/encoding/wchar_t/1.cc: New.
8077	* 22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: New.
8078	* 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: New.
8079	* 22_locale/codecvt/in/char/1.cc: New.
8080	* 22_locale/codecvt/in/char/wrapped_env.cc: New.
8081	* 22_locale/codecvt/in/char/wrapped_locale.cc: New.
8082	* 22_locale/codecvt/in/wchar_t/1.cc: New.
8083	* 22_locale/codecvt/in/wchar_t/wrapped_env.cc: New.
8084	* 22_locale/codecvt/in/wchar_t/wrapped_locale.cc: New.
8085	* 22_locale/codecvt/length/char/1.cc: New.
8086	* 22_locale/codecvt/length/char/wrapped_env.cc: New.
8087	* 22_locale/codecvt/length/char/wrapped_locale.cc: New.
8088	* 22_locale/codecvt/length/wchar_t/1.cc: New.
8089	* 22_locale/codecvt/length/wchar_t/wrapped_env.cc: New.
8090	* 22_locale/codecvt/length/wchar_t/wrapped_locale.cc: New.
8091	* 22_locale/codecvt/max_length/char/1.cc: New.
8092	* 22_locale/codecvt/max_length/char/wrapped_env.cc: New.
8093	* 22_locale/codecvt/max_length/char/wrapped_locale.cc: New.
8094	* 22_locale/codecvt/max_length/wchar_t/1.cc: New.
8095	* 22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: New.
8096	* 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: New.
8097	* 22_locale/codecvt/out/char/1.cc: New.
8098	* 22_locale/codecvt/out/char/wrapped_env.cc: New.
8099	* 22_locale/codecvt/out/char/wrapped_locale.cc: New.
8100	* 22_locale/codecvt/out/wchar_t/1.cc: New.
8101	* 22_locale/codecvt/out/wchar_t/wrapped_env.cc: New.
8102	* 22_locale/codecvt/out/wchar_t/wrapped_locale.cc: New.
8103	* 22_locale/codecvt/unicode/char.cc: New.
8104	* 22_locale/codecvt/unicode/wchar_t.cc: New.
8105	* 22_locale/codecvt/unshift/char/1.cc: New.
8106	* 22_locale/codecvt/unshift/char/wrapped_env.cc: New.
8107	* 22_locale/codecvt/unshift/char/wrapped_locale.cc: New.
8108	* 22_locale/codecvt/unshift/wchar_t/1.cc: New.
8109	* 22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: New.
8110	* 22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: New.
8111	* 22_locale/collate/1.cc: New.
8112	* 22_locale/collate/2.cc: New.
8113	* 22_locale/collate/compare/char/1.cc: New.
8114	* 22_locale/collate/compare/char/2.cc: New.
8115	* 22_locale/collate/compare/char/wrapped_env.cc: New.
8116	* 22_locale/collate/compare/char/wrapped_locale.cc: New.
8117	* 22_locale/collate/compare/wchar_t/1.cc: New.
8118	* 22_locale/collate/compare/wchar_t/2.cc: New.
8119	* 22_locale/collate/compare/wchar_t/wrapped_env.cc: New.
8120	* 22_locale/collate/compare/wchar_t/wrapped_locale.cc: New.
8121	* 22_locale/collate/hash/char/1.cc: New.
8122	* 22_locale/collate/hash/char/2.cc: New.
8123	* 22_locale/collate/hash/char/wrapped_env.cc: New.
8124	* 22_locale/collate/hash/char/wrapped_locale.cc: New.
8125	* 22_locale/collate/hash/wchar_t/1.cc: New.
8126	* 22_locale/collate/hash/wchar_t/2.cc: New.
8127	* 22_locale/collate/hash/wchar_t/wrapped_env.cc: New.
8128	* 22_locale/collate/hash/wchar_t/wrapped_locale.cc: New.
8129	* 22_locale/collate/transform/char/2.cc: New.
8130	* 22_locale/collate/transform/char/wrapped_env.cc: New.
8131	* 22_locale/collate/transform/char/wrapped_locale.cc: New.
8132	* 22_locale/collate/transform/wchar_t/2.cc: New.
8133	* 22_locale/collate/transform/wchar_t/wrapped_env.cc: New.
8134	* 22_locale/collate/transform/wchar_t/wrapped_locale.cc: New.
8135	* 22_locale/collate_byname/1.cc: New.
8136	* 22_locale/ctype/1.cc: New.
8137	* 22_locale/ctype/2.cc: New.
8138	* 22_locale/ctype/cons/char/1.cc: New.
8139	* 22_locale/ctype/cons/char/wrapped_env.cc: New.
8140	* 22_locale/ctype/cons/char/wrapped_locale.cc: New.
8141	* 22_locale/ctype/is/char/1.cc: New.
8142	* 22_locale/ctype/is/char/2.cc: New.
8143	* 22_locale/ctype/is/char/3.cc: New.
8144	* 22_locale/ctype/is/char/wrapped_env.cc: New.
8145	* 22_locale/ctype/is/char/wrapped_locale.cc: New.
8146	* 22_locale/ctype/is/wchar_t/1.cc: New.
8147	* 22_locale/ctype/is/wchar_t/2.cc: New.
8148	* 22_locale/ctype/is/wchar_t/wrapped_env.cc: New.
8149	* 22_locale/ctype/is/wchar_t/wrapped_locale.cc: New.
8150	* 22_locale/ctype/narrow/char/1.cc: New.
8151	* 22_locale/ctype/narrow/char/2.cc: New.
8152	* 22_locale/ctype/narrow/char/wrapped_env.cc: New.
8153	* 22_locale/ctype/narrow/char/wrapped_locale.cc: New.
8154	* 22_locale/ctype/narrow/wchar_t/1.cc: New.
8155	* 22_locale/ctype/narrow/wchar_t/2.cc: New.
8156	* 22_locale/ctype/narrow/wchar_t/wrapped_env.cc: New.
8157	* 22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: New.
8158	* 22_locale/ctype/scan/char/1.cc: New.
8159	* 22_locale/ctype/scan/char/wrapped_env.cc: New.
8160	* 22_locale/ctype/scan/char/wrapped_locale.cc: New.
8161	* 22_locale/ctype/scan/wchar_t/1.cc: New.
8162	* 22_locale/ctype/scan/wchar_t/wrapped_env.cc: New.
8163	* 22_locale/ctype/scan/wchar_t/wrapped_locale.cc: New.
8164	* 22_locale/ctype/to/char/1.cc: New.
8165	* 22_locale/ctype/to/char/wrapped_env.cc: New.
8166	* 22_locale/ctype/to/char/wrapped_locale.cc: New.
8167	* 22_locale/ctype/to/wchar_t/1.cc: New.
8168	* 22_locale/ctype/to/wchar_t/wrapped_env.cc: New.
8169	* 22_locale/ctype/to/wchar_t/wrapped_locale.cc: New.
8170	* 22_locale/ctype/widen/char/1.cc: New.
8171	* 22_locale/ctype/widen/char/wrapped_env.cc: New.
8172	* 22_locale/ctype/widen/char/wrapped_locale.cc: New.
8173	* 22_locale/ctype/widen/wchar_t/1.cc: New.
8174	* 22_locale/ctype/widen/wchar_t/wrapped_env.cc: New.
8175	* 22_locale/ctype/widen/wchar_t/wrapped_locale.cc: New.
8176	* 22_locale/facet/1.cc: New.
8177	* 22_locale/facet/2.cc: New.
8178	* 22_locale/global_templates/1.cc: New.
8179	* 22_locale/locale/cons/1.cc: New.
8180	* 22_locale/locale/cons/2.cc: New.
8181	* 22_locale/locale/cons/3.cc: New.
8182	* 22_locale/locale/cons/4.cc: New.
8183	* 22_locale/locale/cons/5.cc: New.
8184	* 22_locale/locale/cons/6.cc: New.
8185	* 22_locale/locale/cons/7.cc: New.
8186	* 22_locale/locale/global_locale_objects/1.cc: New.
8187	* 22_locale/locale/global_locale_objects/2.cc: New.
8188	* 22_locale/locale/global_locale_objects/3.cc: New.
8189	* 22_locale/locale/operations/1.cc: New.
8190	* 22_locale/locale/operations/2.cc: New.
8191	* 22_locale/messages/1.cc: New.
8192	* 22_locale/messages/2.cc: New.
8193	* 22_locale/messages/members/char/1.cc: New.
8194	* 22_locale/messages/members/char/2.cc: New.
8195	* 22_locale/messages/members/char/3.cc: New.
8196	* 22_locale/messages/members/char/wrapped_env.cc: New.
8197	* 22_locale/messages/members/char/wrapped_locale.cc: New.
8198	* 22_locale/messages_byname/1.cc: New.
8199	* 22_locale/money_get/1.cc: New.
8200	* 22_locale/money_get/2.cc: New.
8201	* 22_locale/money_get/get/char/1.cc: New.
8202	* 22_locale/money_get/get/char/2.cc: New.
8203	* 22_locale/money_get/get/char/3.cc: New.
8204	* 22_locale/money_get/get/char/4.cc: New.
8205	* 22_locale/money_get/get/char/5.cc: New.
8206	* 22_locale/money_get/get/char/6.cc: New.
8207	* 22_locale/money_get/get/char/7.cc: New.
8208	* 22_locale/money_get/get/char/8.cc: New.
8209	* 22_locale/money_get/get/char/wrapped_env.cc: New.
8210	* 22_locale/money_get/get/char/wrapped_locale.cc: New.
8211	* 22_locale/money_get/get/wchar_t/1.cc: New.
8212	* 22_locale/money_get/get/wchar_t/2.cc: New.
8213	* 22_locale/money_get/get/wchar_t/3.cc: New.
8214	* 22_locale/money_get/get/wchar_t/4.cc: New.
8215	* 22_locale/money_get/get/wchar_t/5.cc: New.
8216	* 22_locale/money_get/get/wchar_t/6.cc: New.
8217	* 22_locale/money_get/get/wchar_t/7.cc: New.
8218	* 22_locale/money_get/get/wchar_t/8.cc: New.
8219	* 22_locale/money_get/get/wchar_t/wrapped_env.cc: New.
8220	* 22_locale/money_get/get/wchar_t/wrapped_locale.cc: New.
8221	* 22_locale/money_put/1.cc: New.
8222	* 22_locale/money_put/2.cc: New.
8223	* 22_locale/money_put/put/char/1.cc: New.
8224	* 22_locale/money_put/put/char/2.cc: New.
8225	* 22_locale/money_put/put/char/3.cc: New.
8226	* 22_locale/money_put/put/char/4.cc: New.
8227	* 22_locale/money_put/put/char/5.cc: New.
8228	* 22_locale/money_put/put/char/6.cc: New.
8229	* 22_locale/money_put/put/char/wrapped_env.cc: New.
8230	* 22_locale/money_put/put/char/wrapped_locale.cc: New.
8231	* 22_locale/money_put/put/wchar_t/1.cc: New.
8232	* 22_locale/money_put/put/wchar_t/2.cc: New.
8233	* 22_locale/money_put/put/wchar_t/3.cc: New.
8234	* 22_locale/money_put/put/wchar_t/4.cc: New.
8235	* 22_locale/money_put/put/wchar_t/5.cc: New.
8236	* 22_locale/money_put/put/wchar_t/6.cc: New.
8237	* 22_locale/money_put/put/wchar_t/wrapped_env.cc: New.
8238	* 22_locale/money_put/put/wchar_t/wrapped_locale.cc: New.
8239	* 22_locale/moneypunct/1.cc: New.
8240	* 22_locale/moneypunct/2.cc: New.
8241	* 22_locale/moneypunct/3.cc: New.
8242	* 22_locale/moneypunct/members/char/1.cc: New.
8243	* 22_locale/moneypunct/members/char/2.cc: New.
8244	* 22_locale/moneypunct/members/char/wrapped_env.cc: New.
8245	* 22_locale/moneypunct/members/char/wrapped_locale.cc: New.
8246	* 22_locale/moneypunct/members/wchar_t/1.cc: New.
8247	* 22_locale/moneypunct/members/wchar_t/2.cc: New.
8248	* 22_locale/moneypunct/members/wchar_t/wrapped_env.cc: New.
8249	* 22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: New.
8250	* 22_locale/moneypunct_byname/1.cc: New.
8251	* 22_locale/num_get/1.cc: New.
8252	* 22_locale/num_get/2.cc: New.
8253	* 22_locale/num_get/get/char/1.cc: New.
8254	* 22_locale/num_get/get/char/2.cc: New.
8255	* 22_locale/num_get/get/char/3.cc: New.
8256	* 22_locale/num_get/get/char/4.cc: New.
8257	* 22_locale/num_get/get/char/5.cc: New.
8258	* 22_locale/num_get/get/char/6.cc: New.
8259	* 22_locale/num_get/get/char/wrapped_env.cc: New.
8260	* 22_locale/num_get/get/char/wrapped_locale.cc: New.
8261	* 22_locale/num_get/get/wchar_t/1.cc: New.
8262	* 22_locale/num_get/get/wchar_t/2.cc: New.
8263	* 22_locale/num_get/get/wchar_t/3.cc: New.
8264	* 22_locale/num_get/get/wchar_t/4.cc: New.
8265	* 22_locale/num_get/get/wchar_t/5.cc: New.
8266	* 22_locale/num_get/get/wchar_t/6.cc: New.
8267	* 22_locale/num_get/get/wchar_t/wrapped_env.cc: New.
8268	* 22_locale/num_get/get/wchar_t/wrapped_locale.cc: New.
8269	* 22_locale/num_put/1.cc: New.
8270	* 22_locale/num_put/2.cc: New.
8271	* 22_locale/num_put/put/char/1.cc: New.
8272	* 22_locale/num_put/put/char/2.cc: New.
8273	* 22_locale/num_put/put/char/3.cc: New.
8274	* 22_locale/num_put/put/char/4.cc: New.
8275	* 22_locale/num_put/put/char/5.cc: New.
8276	* 22_locale/num_put/put/char/wrapped_env.cc: New.
8277	* 22_locale/num_put/put/char/wrapped_locale.cc: New.
8278	* 22_locale/num_put/put/wchar_t/1.cc: New.
8279	* 22_locale/num_put/put/wchar_t/2.cc: New.
8280	* 22_locale/num_put/put/wchar_t/3.cc: New.
8281	* 22_locale/num_put/put/wchar_t/4.cc: New.
8282	* 22_locale/num_put/put/wchar_t/5.cc: New.
8283	* 22_locale/num_put/put/wchar_t/wrapped_env.cc: New.
8284	* 22_locale/num_put/put/wchar_t/wrapped_locale.cc: New.
8285	* 22_locale/numpunct/1.cc: New.
8286	* 22_locale/numpunct/2.cc: New.
8287	* 22_locale/numpunct/members/char/1.cc: New.
8288	* 22_locale/numpunct/members/char/2.cc: New.
8289	* 22_locale/numpunct/members/char/wrapped_env.cc: New.
8290	* 22_locale/numpunct/members/char/wrapped_locale.cc: New.
8291	* 22_locale/numpunct/members/wchar_t/1.cc: New.
8292	* 22_locale/numpunct/members/wchar_t/2.cc: New.
8293	* 22_locale/numpunct/members/wchar_t/wrapped_env.cc: New.
8294	* 22_locale/numpunct/members/wchar_t/wrapped_locale.cc: New.
8295	* 22_locale/numpunct_byname/1.cc: New.
8296	* 22_locale/numpunct_byname/2.cc: New.
8297	* 22_locale/time_get/1.cc: New.
8298	* 22_locale/time_get/2.cc: New.
8299	* 22_locale/time_get/date_order/char/1.cc: New.
8300	* 22_locale/time_get/date_order/char/wrapped_env.cc: New.
8301	* 22_locale/time_get/date_order/char/wrapped_locale.cc: New.
8302	* 22_locale/time_get/date_order/wchar_t/1.cc: New.
8303	* 22_locale/time_get/date_order/wchar_t/wrapped_env.cc: New.
8304	* 22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: New.
8305	* 22_locale/time_get/get_date/char/1.cc: New.
8306	* 22_locale/time_get/get_date/char/2.cc: New.
8307	* 22_locale/time_get/get_date/char/3.cc: New.
8308	* 22_locale/time_get/get_date/char/wrapped_env.cc: New.
8309	* 22_locale/time_get/get_date/char/wrapped_locale.cc: New.
8310	* 22_locale/time_get/get_date/wchar_t/1.cc: New.
8311	* 22_locale/time_get/get_date/wchar_t/2.cc: New.
8312	* 22_locale/time_get/get_date/wchar_t/3.cc: New.
8313	* 22_locale/time_get/get_date/wchar_t/wrapped_env.cc: New.
8314	* 22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: New.
8315	* 22_locale/time_get/get_monthname/char/1.cc: New.
8316	* 22_locale/time_get/get_monthname/char/2.cc: New.
8317	* 22_locale/time_get/get_monthname/char/3.cc: New.
8318	* 22_locale/time_get/get_monthname/char/wrapped_env.cc: New.
8319	* 22_locale/time_get/get_monthname/char/wrapped_locale.cc: New.
8320	* 22_locale/time_get/get_monthname/wchar_t/1.cc: New.
8321	* 22_locale/time_get/get_monthname/wchar_t/2.cc: New.
8322	* 22_locale/time_get/get_monthname/wchar_t/3.cc: New.
8323	* 22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: New.
8324	* 22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: New.
8325	* 22_locale/time_get/get_time/char/1.cc: New.
8326	* 22_locale/time_get/get_time/char/2.cc: New.
8327	* 22_locale/time_get/get_time/char/3.cc: New.
8328	* 22_locale/time_get/get_time/char/wrapped_env.cc: New.
8329	* 22_locale/time_get/get_time/char/wrapped_locale.cc: New.
8330	* 22_locale/time_get/get_time/wchar_t/1.cc: New.
8331	* 22_locale/time_get/get_time/wchar_t/2.cc: New.
8332	* 22_locale/time_get/get_time/wchar_t/3.cc: New.
8333	* 22_locale/time_get/get_time/wchar_t/wrapped_env.cc: New.
8334	* 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: New.
8335	* 22_locale/time_get/get_weekday/char/1.cc: New.
8336	* 22_locale/time_get/get_weekday/char/2.cc: New.
8337	* 22_locale/time_get/get_weekday/char/3.cc: New.
8338	* 22_locale/time_get/get_weekday/char/wrapped_env.cc: New.
8339	* 22_locale/time_get/get_weekday/char/wrapped_locale.cc: New.
8340	* 22_locale/time_get/get_weekday/wchar_t/1.cc: New.
8341	* 22_locale/time_get/get_weekday/wchar_t/2.cc: New.
8342	* 22_locale/time_get/get_weekday/wchar_t/3.cc: New.
8343	* 22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: New.
8344	* 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: New.
8345	* 22_locale/time_get/get_year/char/1.cc: New.
8346	* 22_locale/time_get/get_year/char/3.cc: New.
8347	* 22_locale/time_get/get_year/char/wrapped_env.cc: New.
8348	* 22_locale/time_get/get_year/char/wrapped_locale.cc: New.
8349	* 22_locale/time_get/get_year/wchar_t/1.cc: New.
8350	* 22_locale/time_get/get_year/wchar_t/3.cc: New.
8351	* 22_locale/time_get/get_year/wchar_t/wrapped_env.cc: New.
8352	* 22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: New.
8353	* 22_locale/time_put/1.cc: New.
8354	* 22_locale/time_put/2.cc: New.
8355	* 22_locale/time_put/put/char/1.cc: New.
8356	* 22_locale/time_put/put/char/10.cc: New.
8357	* 22_locale/time_put/put/char/2.cc: New.
8358	* 22_locale/time_put/put/char/3.cc: New.
8359	* 22_locale/time_put/put/char/4.cc: New.
8360	* 22_locale/time_put/put/char/5.cc: New.
8361	* 22_locale/time_put/put/char/6.cc: New.
8362	* 22_locale/time_put/put/char/7.cc: New.
8363	* 22_locale/time_put/put/char/8.cc: New.
8364	* 22_locale/time_put/put/char/9.cc: New.
8365	* 22_locale/time_put/put/char/wrapped_env.cc: New.
8366	* 22_locale/time_put/put/char/wrapped_locale.cc: New.
8367	* 22_locale/time_put/put/wchar_t/1.cc: New.
8368	* 22_locale/time_put/put/wchar_t/10.cc: New.
8369	* 22_locale/time_put/put/wchar_t/2.cc: New.
8370	* 22_locale/time_put/put/wchar_t/3.cc: New.
8371	* 22_locale/time_put/put/wchar_t/4.cc: New.
8372	* 22_locale/time_put/put/wchar_t/5.cc: New.
8373	* 22_locale/time_put/put/wchar_t/6.cc: New.
8374	* 22_locale/time_put/put/wchar_t/7.cc: New.
8375	* 22_locale/time_put/put/wchar_t/8.cc: New.
8376	* 22_locale/time_put/put/wchar_t/9.cc: New.
8377	* 22_locale/time_put/put/wchar_t/wrapped_env.cc: New.
8378	* 22_locale/time_put/put/wchar_t/wrapped_locale.cc: New.
8379
83802003-01-16  Jeffrey D. Oldham  <oldham@codesourcery.com>
8381
8382	* config/locale/generic/messages_members.h
8383	(messages_byname<_CharT>::messages_byname): Use this-> to refer to
8384	unqualified members of base clasess.
8385
83862003-01-16  Mark Mitchell  <mark@codesourcery.com>
8387	    Jeffrey Oldham <oldham@codesourcery.com>
8388
8389	* config/locale/gnu/messages_members.h: Use this-> to refer to
8390	unqualified members of base clasess.
8391	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
8392	* include/bits/codecvt.h: Likewise.
8393	* include/bits/deque.tcc: Likewise.
8394	* include/bits/fstream.tcc: Likewise.
8395	* include/bits/istream.tcc: Likewise.
8396	* include/bits/list.tcc: Likewise.
8397	* include/bits/locale_facets.h: Likewise.
8398	* include/bits/ostream.tcc: Likewise.
8399	* include/bits/sstream.tcc: Likewise.
8400	* include/bits/stl_bvector.h: Likewise.
8401	* include/bits/stl_deque.h: Likewise.
8402	* include/bits/stl_list.h: Likewise.
8403	* include/bits/stl_tree.h: Likewise.
8404	* include/bits/stl_vector.h: Likewise.
8405	* include/bits/vector.tcc: Likewise.
8406	* include/ext/ropeimpl.h: Likewise.
8407	* include/ext/stdio_filebuf.h: Likewise.
8408	* include/ext/stl_rope.h: Likewise.
8409	* include/std/std_fstream.h: Likewise.
8410	* include/std/std_sstream.h: Likewise.
8411
84122003-01-15  Phil Edwards  <pme@gcc.gnu.org>
8413
8414	* include/bits/basic_string.tcc (_S_string_copy): Unused, remove.
8415
84162003-01-15  Benjamin Kosnik  <bkoz@redhat.com>
8417
8418	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute
8419	GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library.
8420	* aclocal.m4: Regenerate.
8421	* configure: Regenerate.
8422	* testsuite/Makefile.am (all-local): Add conditional rule to
8423	generate testsuite_wchar_t.
8424	* testsuite/Makefile.in: Regenerate.
8425	* testsuite/lib/libstdc++-v3-dg.exp
8426	(libstdc++-v3-list-sourcefiles): Remove wchar_t files if
8427	testsuite_wchar_t is not present in the build directory.
8428	* testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS.
8429	Remove setulimit bits.
8430	* testsuite/26_numerics/complex_value.cc: Set to noopts.
8431	* testsuite/Makefile.am (CLEANFILES): Add.
8432	* testsuite/Makefile.in: Regenerate.
8433
84342003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8435
8436	* config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
8437	__hppa__.
8438
84392003-01-14  Jeffrey D. Oldham  <oldham@codesourcery.com>
8440
8441	Further conform g++'s __vmi_class_type_info to the C++ ABI
8442	specification.
8443	* libsupc++/cxxabi.h
8444	(__vmi_class_type_info::__flags_masks): Remove enumerations not
8445	required by the specification.
8446
84472003-01-12  Benjamin Kosnik  <bkoz@redhat.com>
8448
8449	Renames, namespaces for testsuite utilities.
8450	* testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
8451	(gnu_allocator_tracker): Rename to allocation_tracker.
8452	(gnu_new_allocator): Rename to tracker_alloc.
8453	(__set_testsuite_memlimit): Rename to set_memory_limits.
8454	(gnu_assignment_operator): Rename to assignment_operator.
8455	(gnu_destructor): Rename to destructor.
8456	(gnu_copy_tracker): Rename to copy_tracker.
8457	(gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
8458	(run_tests_wrapped_locale): New.
8459	(run_tests_wrapped_env): New.
8460	* testsuite/testsuite_hooks.cc: Same.
8461	(class locale_data): Add.
8462	(class enviornment_variable): Add.
8463	(class not_found): Add.
8464	* testsuite/testsuite_allocator.h: Same.
8465	* testsuite/testsuite_allocator.cc: Same.
8466	* testsuite/23_containers/deque_ctor.cc
8467	(test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
8468	allocation_tracker.
8469	Change gnu_new_allocator to tracker_alloc.
8470	Change gnu_counting_struct to counter.
8471	Change gnu_copy_tracker to copy_tracker.
8472	Change gnu_copy_constructor to copy_constructor.
8473	Change gnu_assignment_operator to assignment_operator.
8474	Inject.
8475	* testsuite/23_containers/vector_capacity.cc: Same.
8476	* testsuite/23_containers/vector_ctor.cc (test01): Same.
8477	* testsuite/23_containers/list_modifiers.cc: Change
8478	gnu_copy_tracker to copy_tracker.
8479	* testsuite/21_strings/ctor_copy_dtor.cc (main): Change
8480	__set_testsuite_memlimit to set_memory_limits.
8481	* testsuite/21_strings/insert.cc (main): Same.
8482	* testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
8483	* testsuite/27_io/stringstream.cc: Same.
8484	* testsuite/27_io/stringbuf.cc: Same.
8485	* testsuite/27_io/streambuf.cc: Same.
8486	* testsuite/27_io/ostream.cc: Same.
8487	* testsuite/27_io/istream.cc: Same.
8488	* testsuite/27_io/fstream.cc: Same.
8489	* testsuite/lib/libstdc++-v3-dg.exp
8490	(libstdc++-v3-list-sourcefiles): Additionally handle files two and
8491	three levels deeper in glob patterns.
8492
84932003-01-11  Phil Edwards  <pme@gcc.gnu.org>
8494
8495	* docs/doxygen/tables.html:  Finished now.
8496	* docs/doxygen/user.cfg.in:  Update to latest version of Doxygen.
8497	* include/bits/basic_ios.h (basic_ios::rdbuf):  Add example to
8498	comments.
8499
8500	* include/bits/deque.tcc, include/bits/stl_alloc.h,
8501	include/bits/stl_deque.h, include/bits/stl_list.h,
8502	include/bits/stl_vector.h:  Remove _GLIBCPP_DEPRECATED bits scheduled
8503	for 3.4 removal.
8504
85052003-01-09  Benjamin Kosnik  <bkoz@redhat.com>
8506
8507	* configure.in: Revert.
8508	* configure: Regenerate.
8509
85102003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
8511
8512	* include/Makefile.am (install-data-local): Prepend
8513	$(DESTDIR) to destination paths in all (un)installation
8514	commands.  Use ${c_base_builddir} and ${std_builddir}
8515	as destination subdirectories to achieve consistency with
8516	preceding mkinstalldirs commands.  No effect because both
8517	variables contain "." only.
8518	* include/Makefile.in: Regenerate.
8519
85202003-01-08  Benjamin Kosnik  <bkoz@redhat.com>
8521
8522	* include/Makefile.am (stamp-*): Add checks for existing stamps.
8523	* include/Makefile.in: Regenerate.
8524
8525	* acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment.
8526	* aclocal.m4: Regenerate.
8527
8528	* configure.in: Don't add new multi-do rules every time the
8529	directory is reconfigured.
8530	* configure: Regenerate.
8531
85322003-01-08  Brad Spencer  <spencer@infointeractive.com>
8533	    Nathan Myers  <ncm@cantrip.org>
8534
8535	* src/Makefile.am (stamp-debug): Clean.
8536	* src/Makefile.in: Regenerate.
8537
85382003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
8539
8540	PR libstdc++/8707
8541	* Makefile.am (distclean-multi): Fix.
8542	* Makefile.in: Regenerate.
8543
85442003-01-06  Benjamin Kosnik  <bkoz@redhat.com>
8545
8546	* include/bits/locale_facets.h (messages): Move ctor, dtor
8547	definitions to..
8548	(__timepunct): Same.
8549	* config/locale/gnu/messages_members.h (messages): Add dtor, ctor
8550	definitions. Conditionalize for GNU systems.
8551	* config/locale/generic/messages_members.h (messages): Add dtor, ctor
8552	definitions.
8553	* config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
8554	definitions. Conditionalize for GNU systems.
8555	* config/locale/generic/time_members.h (messages): New. Add dtor, ctor
8556	definitions.
8557	* include/bits/localefwd.h (locale::facet::_S_c_name): Add.
8558	* src/locale.cc: Define.
8559	* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
8560	Use it.
8561	* config/locale/gnu/time_members.h: Use it.
8562	* config/locale/gnu/messages_members.h: Use it.
8563	* config/linker-map.gnu: Add locale::facets details.
8564	* include/Makefile.am (target_headers_extra): Add time_members.h.
8565	* include/Makefile.in: Regenerate.
8566	* acinclude.m4: Export CTIME_H.
8567	* aclocal.m4: Regenerate.
8568	* configure: Regnerate.
8569
85702003-01-06  Paolo Carlini  <pcarlini@unitus.it>
8571
8572	* src/codecvt.cc
8573	(codecvt<char, char, mbstate_t>::do_in, do_out):
8574	Tweak parameters to avoid unused parameter warnings.
8575
85762003-01-06  Paolo Carlini  <pcarlini@unitus.it>
8577
8578	PR libstdc++/9151
8579	* include/bits/locale_facets.cc (num_put::_M_convert_float):
8580	Limit __prec to digits10 + 2, not digits10 + 1, taking into
8581	account the possibility of %{g,G} conversion specifiers
8582	inside _S_format_float.
8583	* testsuite/27_io/ostream_inserter_arith.cc (test06): Add.
8584
85852003-01-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8586
8587	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
8588	libstdc++-v3-list-sourcefiles): Additionally handle files one
8589	level deeper in glob patterns.
8590
8591	* testsuite/27_io/istream_extractor_arith.cc: Delete, split...
8592	* testsuite/27_io/istream_extractor_arith/01.cc,
8593	testsuite/27_io/istream_extractor_arith/02.cc,
8594	testsuite/27_io/istream_extractor_arith/03.cc,
8595	testsuite/27_io/istream_extractor_arith/06.cc,
8596	testsuite/27_io/istream_extractor_arith/07.cc,
8597	testsuite/27_io/istream_extractor_arith/08.cc,
8598	testsuite/27_io/istream_extractor_arith/09.cc,
8599	testsuite/27_io/istream_extractor_arith/10.cc,
8600	testsuite/27_io/istream_extractor_arith/11.cc,
8601	testsuite/27_io/istream_extractor_arith/12.cc,
8602	testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
8603	* testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
8604	sparc*-*-solaris2*.
8605
86062003-01-05  Paolo Carlini <pcarlini@unitus.it>
8607
8608	PR libstdc++/9168
8609	* src/codecvt.cc
8610	(codecvt<char, char, mbstate_t>::do_in, do_out):
8611	Implement the resolution of DR19 (TC).
8612	* testsuite/22_locale/codecvt_members_char_char.cc
8613	(test01): Tweak.
8614
86152003-01-02  Jason Merrill  <jason@redhat.com>
8616
8617	* config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
8618	*__mem is also an output.
8619	* config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.
8620
8621Copyright (C) 2003 Free Software Foundation, Inc.
8622
8623Copying and distribution of this file, with or without modification,
8624are permitted in any medium without royalty provided the copyright
8625notice and this notice are preserved.
8626