]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog-2003
[testsuite] Add missing dg-require-effective-target indirect_jumps
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog-2003
CommitLineData
fd0f951e 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.
b87305fd 21
fd0f951e 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
b87305fd 68 * config/cpu/i386/atomicity.h (__exchange_and_add): Fix output
fd0f951e 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
b87305fd 84 debug_allocator.
fd0f951e 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.
b87305fd 98
fd0f951e 992003-12-22 Benjamin Kosnik <bkoz@redhat.com>
100
101 * testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
b87305fd 102 dg-options in testcases that use VERIFY.
fd0f951e 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
b87305fd 1182003-12-22 Benjamin Kosnik <bkoz@redhat.com>
fd0f951e 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.
b87305fd 124 * scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
fd0f951e 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.
b87305fd 133
fd0f951e 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.
b87305fd 155
fd0f951e 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.
b87305fd 206 * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
207
fd0f951e 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
b87305fd 233 rebinding instead of _Alloc_traits. Pick up data members from
fd0f951e 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
b87305fd 237 rebinding instead of _Alloc_traits. Pick up data members from
fd0f951e 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
b87305fd 241 rebinding instead of _Alloc_traits. Pick up data members from
fd0f951e 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.
b87305fd 246
fd0f951e 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.
b87305fd 356
fd0f951e 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.
b87305fd 362 * src/locale_name.cc: Same.
363 * src/locale_init.cc: Same.
364
fd0f951e 3652003-12-15 Benjamin Kosnik <bkoz@redhat.com>
366
b87305fd 367 PR libstdc++/12855
fd0f951e 368 * include/bits/ios_base.h (Init::_S_ios_base_init): Change to
369 _S_refcount, make atomic.
b87305fd 370 * src/ios.cc: Adjust definition.
fd0f951e 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.
b87305fd 376
fd0f951e 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
b87305fd 389 for all the possible widened chars.
fd0f951e 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.
b87305fd 434
fd0f951e 4352003-12-10 Benjamin Kosnik <bkoz@redhat.com>
436 Alexandre Oliva <aoliva@redhat.com>
b87305fd 437
fd0f951e 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.
b87305fd 455
fd0f951e 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>
b87305fd 468
fd0f951e 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.
b87305fd 484
fd0f951e 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.
b87305fd 495
fd0f951e 4962003-12-09 Paolo Carlini <pcaelini@suse.de>
b87305fd 497
fd0f951e 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.
b87305fd 611
fd0f951e 6122003-12-06 Benjamin Kosnik <bkoz@redhat.com>
613
b87305fd 614 PR libstdc++/11691
fd0f951e 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.
b87305fd 690
fd0f951e 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.
b87305fd 745
fd0f951e 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.
b87305fd 804
fd0f951e 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
b87305fd 840 handling. Move setstate calls after catch.
fd0f951e 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.
b87305fd 847 (basic_istream::tellp): Same.
fd0f951e 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.
b87305fd 857 (overflow_error): New.
858 (positioning_error): New.
fd0f951e 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.
b87305fd 866 * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
fd0f951e 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.
b87305fd 877 * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
fd0f951e 878 New.
b87305fd 879 * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
fd0f951e 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.
b87305fd 888
fd0f951e 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>
b87305fd 941
fd0f951e 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.
b87305fd 954
fd0f951e 955 * include/bits/allocator.h: Formatting tweak.
b87305fd 956
fd0f951e 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.
b87305fd 1009
fd0f951e 10102003-11-20 Benjamin Kosnik <bkoz@redhat.com>
1011
1012 PR libstdc++/13109
1013 * include/debug/formatter.h (_Error_formatter::_M_format_word): New.
b87305fd 1014 * src/debug.cc (__gnu_debug): Format.
fd0f951e 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
b87305fd 1062 with _M_codecvt->in returning codecvt_base::error while
fd0f951e 1063 (__ilen = __iend - this->eback()) > 0: it just means __ilen
b87305fd 1064 correctly converted internal characters before an error.
fd0f951e 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
b87305fd 1110 ambiguity when calling __is_null_pointer.
fd0f951e 1111 * include/debug/deque: (deque::erase) Properly handle invalidation
1112 when erasing at the end of the deque.
b87305fd 1113 * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
fd0f951e 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.
b87305fd 1157
fd0f951e 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.
b87305fd 1237 * include/bits/basic_string.tcc:
1238 (basic_string::_S_construct): Fix NULL pointer check.
1239 (__is_null_pointer): New.
1240 Add precondition annotations.
fd0f951e 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
b87305fd 1256 annotations.
fd0f951e 1257 (__is_heap): Moved away from here.
1258 * include/bits/stl_heap.h: Added algorithm precondition
b87305fd 1259 annotations.
fd0f951e 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.
b87305fd 1294 * include/debug/hash_map.h: New.
fd0f951e 1295 * include/debug/hash_multimap.h: New.
1296 * include/debug/hash_set: New.
1297 * include/debug/hash_set.h: New.
b87305fd 1298 * include/debug/hash_multiset.h: New.
fd0f951e 1299 * include/debug/list: New.
1300 * include/debug/map: New.
1301 * include/debug/map.h: New.
1302 * include/debug/multimap.h: New.
b87305fd 1303 * include/debug/multiset.h: New.
fd0f951e 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.
b87305fd 1309 * include/debug/set.h: New.
fd0f951e 1310 * include/debug/string: New.
1311 * include/debug/vector: New.
1312 * src/debug.cc: New.
1313 * config/linker-map.gnu: Add debug mode symbols.
b87305fd 1314
fd0f951e 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.
b87305fd 1348 * include/std/std_vector.h: Same.
fd0f951e 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.
b87305fd 1426
fd0f951e 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.
b87305fd 1451
fd0f951e 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.
b87305fd 1459
fd0f951e 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.
b87305fd 1464
fd0f951e 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
b87305fd 1524 ctype argument.
fd0f951e 1525 * include/bits/locale_facets.tcc: Same, use it to allow
1526 capitalized names.
b87305fd 1527
fd0f951e 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.
b87305fd 1549
fd0f951e 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>
b87305fd 1598
fd0f951e 1599 * docs/html/17_intro/TODO: Add links.
1600 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1601 Uncomment.
b87305fd 1602
fd0f951e 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.
b87305fd 1723 * src/locale-inst.cc (__int_to_char): Update instantiations.
fd0f951e 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.
b87305fd 1774
fd0f951e 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.
b87305fd 1789
fd0f951e 17902003-10-21 Benjamin Kosnik <bkoz@redhat.com>
b87305fd 1791
fd0f951e 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>
b87305fd 1822
fd0f951e 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>
b87305fd 1871
fd0f951e 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.
b87305fd 1970
fd0f951e 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>
b87305fd 1993
fd0f951e 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.
b87305fd 2090
fd0f951e 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.
b87305fd 2121
fd0f951e 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.
b87305fd 2204
fd0f951e 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.
b87305fd 2233
fd0f951e 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
b87305fd 2254 (locale::_S_categories): Const qualify.
fd0f951e 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...
b87305fd 2268 (locale::_S_initialize_once): ...here.
fd0f951e 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.
b87305fd 2277
fd0f951e 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
b87305fd 2406 * testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either
fd0f951e 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.
b87305fd 2418
fd0f951e 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,
b87305fd 2443 wcstof, iswblank.
fd0f951e 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.
b87305fd 2452
fd0f951e 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.
b87305fd 2462
fd0f951e 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.
b87305fd 2505
fd0f951e 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>
b87305fd 2630
2631 PR libstdc++/11990
fd0f951e 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>
d3eff7bb 4592 Ola Rönnerup <fnolis@home.se>
fd0f951e 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>
d3eff7bb 5518 Martin v. Löwis <martin@v.loewis.de>
fd0f951e 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
b87305fd 6255 Reshuffle 27_io testsuite.
fd0f951e 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.
b3c5d881 8620\f
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.