]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
1.cc: Test result string.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
2
3 * testsuite/23_containers/multiset/insert/1.cc: Test result string.
4
5 * testsuite/23_containers/bitset/invalidation/1.cc: Main always
6 returns 0.
7 * testsuite/23_containers/deque/invalidation/4.cc: Same.
8 * testsuite/23_containers/list/invalidation/1.cc: Same.
9 * testsuite/23_containers/list/invalidation/2.cc: Same.
10 * testsuite/23_containers/list/invalidation/3.cc: Same.
11 * testsuite/23_containers/list/invalidation/4.cc: Same.
12 * testsuite/23_containers/map/invalidation/2.cc: Same.
13 * testsuite/23_containers/multimap/invalidation/1.cc: Same.
14 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
15 * testsuite/23_containers/multiset/invalidation/1.cc: Same.
16 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
17 * testsuite/23_containers/set/invalidation/1.cc: Same.
18 * testsuite/23_containers/set/invalidation/2.cc: Same.
19 * testsuite/23_containers/vector/invalidation/1.cc: Same.
20 * testsuite/23_containers/vector/invalidation/2.cc: Same.
21 * testsuite/23_containers/vector/invalidation/3.cc: Same.
22 * testsuite/23_containers/vector/invalidation/4.cc: Same.
23
24 2004-03-04 Paolo Carlini <pcarlini@suse.de>
25
26 * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
27 CXXFLAGS_save.
28 * testsuite/lib/libstdc++.exp: Don't add it conditionally to
29 DEFAULT_CXXFLAGS.
30 * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
31 from the dg-options.
32 * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
33 * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
34 * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
35 * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
36 * testsuite/23_containers/vector/resize/1.cc: Likewise.
37 * testsuite/26_numerics/complex_value.cc: Likewise.
38 * testsuite/27_io/ios_base/storage/1.cc: Likewise.
39 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
40 * testsuite/27_io/ios_base/storage/3.cc: Likewise.
41 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
42 * testsuite/27_io/objects/char/5.cc: Likewise.
43 * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
44 * testsuite/backward/11460.cc: Likewise.
45 * testsuite/thread/pthread7-rope.cc: Likewise.
46
47 * testsuite/21_strings/basic_string/compare/char/1.cc: Add
48 missing test variable.
49 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
50 missing test variable.
51
52 2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
53
54 * testsuite/20_util/allocator/1.cc: Provide explicit
55 instantiations for non-weak systems.
56 * testsuite/20_util/binders.cc: Same.
57 * testsuite/20_util/allocator/8230.cc: Same.
58 * testsuite/20_util/allocator/10378.cc: Same.
59 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
60 * testsuite/22_locale/ctype/is/char/2.cc: Same.
61 * testsuite/thread/pthread7-rope.cc: Same.
62 * testsuite/thread/pthread6.cc: Same.
63 * testsuite/thread/pthread5.cc: Same.
64 * testsuite/thread/pthread4.cc: Same.
65 * testsuite/thread/pthread1.cc: Same.
66 * testsuite/ext/rope.cc: Same.
67 * testsuite/ext/hash_set.cc: Same.
68 * testsuite/ext/hash_map.cc: Same.
69 * testsuite/ext/concept_checks.cc: Same.
70 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
71 * testsuite/25_algorithms/unique/2.cc: Same.
72 * testsuite/25_algorithms/unique/1.cc: Same.
73 * testsuite/25_algorithms/rotate.cc: Same.
74 * testsuite/25_algorithms/min_max.cc: Same.
75 * testsuite/25_algorithms/equal.cc: Same.
76 * testsuite/24_iterators/rel_ops.cc: Same.
77 * testsuite/24_iterators/iterator.cc: Same.
78 * testsuite/24_iterators/insert_iterator.cc: Same.
79 * testsuite/24_iterators/front_insert_iterator.cc: Same.
80 * testsuite/24_iterators/back_insert_iterator.cc: Same.
81 * testsuite/23_containers/vector/resize/1.cc: Same.
82 * testsuite/23_containers/vector/modifiers/2.cc: Same.
83 * testsuite/23_containers/vector/modifiers/1.cc: Same.
84 * testsuite/23_containers/vector/invalidation/4.cc: Same.
85 * testsuite/23_containers/vector/invalidation/3.cc: Same.
86 * testsuite/23_containers/vector/invalidation/2.cc: Same.
87 * testsuite/23_containers/vector/invalidation/1.cc: Same.
88 * testsuite/23_containers/vector/element_access/1.cc: Same.
89 * testsuite/23_containers/vector/cons/6513.cc: Same.
90 * testsuite/23_containers/vector/cons/3.cc: Same.
91 * testsuite/23_containers/vector/cons/2.cc: Same.
92 * testsuite/23_containers/vector/cons/1.cc: Same.
93 * testsuite/23_containers/vector/capacity/8230.cc: Same.
94 * testsuite/23_containers/vector/capacity/1.cc: Same.
95 * testsuite/23_containers/vector/bool/6886.cc: Same.
96 * testsuite/23_containers/stack/members/7158.cc: Same.
97 * testsuite/23_containers/set/invalidation/2.cc: Same.
98 * testsuite/23_containers/set/invalidation/1.cc: Same.
99 * testsuite/23_containers/queue/members/7157.cc: Same.
100 * testsuite/23_containers/priority_queue/members/7161.cc: Same.
101 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
102 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
103 * testsuite/23_containers/multiset/insert/1.cc: Same.
104 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
105 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
106 * testsuite/23_containers/map/operators/1.cc: Same.
107 * testsuite/23_containers/map/invalidation/2.cc: Same.
108 * testsuite/23_containers/map/invalidation/1.cc: Same.
109 * testsuite/23_containers/map/insert/1.cc: Same.
110 * testsuite/23_containers/list/operators/4.cc: Same.
111 * testsuite/23_containers/list/operators/3.cc: Same.
112 * testsuite/23_containers/list/operators/2.cc: Same.
113 * testsuite/23_containers/list/operators/1.cc: Same.
114 * testsuite/23_containers/list/modifiers/3.cc: Same.
115 * testsuite/23_containers/list/modifiers/2.cc: Same.
116 * testsuite/23_containers/list/modifiers/1.cc: Same.
117 * testsuite/23_containers/list/invalidation/4.cc: Same.
118 * testsuite/23_containers/list/invalidation/3.cc: Same.
119 * testsuite/23_containers/list/invalidation/2.cc: Same.
120 * testsuite/23_containers/list/invalidation/1.cc: Same.
121 * testsuite/23_containers/list/cons/9.cc: Same.
122 * testsuite/23_containers/list/cons/8.cc: Same.
123 * testsuite/23_containers/list/cons/7.cc: Same.
124 * testsuite/23_containers/list/cons/6.cc: Same.
125 * testsuite/23_containers/list/cons/5.cc: Same.
126 * testsuite/23_containers/list/cons/4.cc: Same.
127 * testsuite/23_containers/list/cons/3.cc: Same.
128 * testsuite/23_containers/list/cons/2.cc: Same.
129 * testsuite/23_containers/list/cons/1.cc: Same.
130 * testsuite/23_containers/list/capacity/1.cc: Same.
131 * testsuite/23_containers/deque/operators/1.cc: Same.
132 * testsuite/23_containers/deque/invalidation/4.cc: Same.
133 * testsuite/23_containers/deque/invalidation/3.cc: Same.
134 * testsuite/23_containers/deque/invalidation/2.cc: Same.
135 * testsuite/23_containers/deque/invalidation/1.cc: Same.
136 * testsuite/23_containers/deque/cons/2.cc: Same.
137 * testsuite/23_containers/deque/cons/1.cc: Same.
138
139 * src/allocator.cc: Add char, wchar_t instantiations
140 to match extern template declarations in memory.h.
141
142 2004-03-03 Paolo Carlini <pcarlini@suse.de>
143
144 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
145 Fix warning regression.
146
147 2004-03-03 Paolo Carlini <pcarlini@suse.de>
148
149 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
150 Deal properly with empty __digits and negative frac_digits,
151 clean-up a bit.
152
153 2004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
154
155 * docs/html/documentation.html: Regenerate.
156
157 2004-03-02 Paolo Carlini <pcarlini@suse.de>
158
159 PR libstdc++/14320
160 * include/bits/postypes.h (class streamoff): Remove, now
161 streamoff is just typedef a 64 bit signed integer type.
162 (class fpos): Tweak consistently.
163 * testsuite/27_io/fpos/14320-1.cc: New.
164 * testsuite/27_io/fpos/14320-2.cc: New.
165 * testsuite/27_io/fpos/14320-3.cc: New.
166 * testsuite/27_io/fpos/14320-4.cc: New.
167 * testsuite/27_io/fpos/14320-5.cc: New.
168 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
169
170 2004-03-02 Paolo Carlini <pcarlini@suse.de>
171
172 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
173 Reorganize a bit the main parsing loop, thus early detecting
174 an empty value component.
175 * testsuite/22_locale/money_get/get/char/16.cc: New.
176 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
177
178 2004-03-02 Benjamin Kosnik <bkoz@redhat.com>
179
180 Support automake 1.8.2
181 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
182 * po/Makefile.am (EXTRA_DIST): New.
183 * po/Makefile.in: Regenerate.
184 * Makefile.in: Same.
185 * include/Makefile.in: Same.
186 * libmath/Makefile.in: Same.
187 * libsupc++/Makefile.in: Same.
188 * src/Makefile.in: Same.
189 * testsuite/Makefile.in: Same.
190
191 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
192 __GXX_WEAK__ instead of SUPPORTS_WEAK.
193 (${host_builddir}/gthr-default.h): Same.
194 (${host_builddir}/gthr.h): Same.
195 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
196 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
197 -fno-weak.
198 * aclocal.m4: Regenerate.
199 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
200 * config.h.in: Regenerate.
201 * configure: Same.
202
203 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
204
205 Support autoconf 2.59
206 * acinclude.m4: Quote correctly.
207 * aclocal.m4: Regenerate.
208 * linkage.m4: Same.
209
210 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
211
212 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
213
214 * docs/html/18_support/howto.html: Add bit about writing to
215 stderr, mostly by Zack.
216
217 2004-03-01 Paolo Carlini <pcarlini@suse.de>
218
219 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
220 money_get<>::do_get(string_type&)): ... and two more.
221
222 2004-03-01 Paolo Carlini <pcarlini@suse.de>
223
224 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
225 Fix thinkos in the switch from string_type& to string& as last
226 argument.
227
228 2004-03-01 Paolo Carlini <pcarlini@suse.de>
229
230 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
231 Also when parsing exponent sign, first look for thousands_sep
232 and decimal_point; tweak a bit.
233 * testsuite/22_locale/num_get/get/char/15.cc: New.
234 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
235
236 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
237 num_get<>::_M_extract_int): Reorder some conditionals.
238
239 2004-03-01 Paolo Carlini <pcarlini@suse.de>
240
241 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
242 Consistently with numpunct, enforce the requirements in
243 22.2.6.3, p3 for the thousands separators; tweak a bit.
244 * testsuite/22_locale/money_get/get/char/15.cc: New.
245 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
246
247 2004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
248
249 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
250 testsuite_files from correct multilib blddir when running
251 testsuite.
252
253 2004-02-29 Phil Edwards <phil@codesourcery.com>
254
255 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
256 the summary file to the logfile.
257 * testsuite/Makefile.in: Regenerate.
258
259 2004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
260
261 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
262 volatile.
263 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
264 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
265
266 2004-02-28 Paolo Carlini <pcarlini@suse.de>
267
268 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
269 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
270 no 'decimal-point' in the middle: in this case too we must fix
271 up __found_grouping; slightly tweak.
272 * testsuite/22_locale/num_get/get/char/14.cc: New.
273 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
274
275 2004-02-27 Eric Christopher <echristo@redhat.com>
276 Phil Edwards <phil@codesourcery.com>
277
278 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
279 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
280 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
281 testsuite/22_locale/collate/hash/wchar_t/2.cc,
282 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
283 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
284 testsuite/22_locale/collate/transform/wchar_t/2.cc,
285 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
286 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
287 Use dg-require-iconv.
288 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
289
290 2004-02-27 Phil Edwards <phil@codesourcery.com>
291 Eric Christopher <echristo@redhat.com>
292
293 * testsuite/config/default.exp: Update with comments.
294 (${tool}_target_compile): New wrapper routine.
295 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
296 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
297 fixes.
298 (load_gcc_lib, v3track): New routines.
299 (v3-init): Rename to libstdc++_init.
300 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
301 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
302
303 2004-02-27 Benjamin Kosnik <bkoz@redhat.com>
304
305 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
306
307 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
308
309 * config/os/irix/irix5.2/atomicity.h: Merge..
310 * config/os/irix/irix6.5/atomicity.h: Merge..
311 * config/os/irix/atomicity.h: ...into this.
312 * config/os/irix/atomic_word.h: New.
313 * configure.host: Set atomic_word_dir for irix.
314
315 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
316 * i386/atomicity.h: Same.
317 * m68k/atomicity.h: Same.
318 * sparc/atomicity.h: Same.
319
320 2004-02-27 David Edelsohn <edelsohn@gnu.org>
321
322 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
323 static, and inline keywords.
324
325 2004-02-27 Paolo Carlini <pcarlini@suse.de>
326
327 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
328 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
329 call reserve on the __tmp_gruping string.
330 (num_get<>::_M_extract_float): Don't append unnecessarily a
331 char() to the returned string.
332 * include/bits/locale_facets.tcc: Trivial reformattings.
333
334 2004-02-27 Paolo Carlini <pcarlini@suse.de>
335
336 * include/bits/locale_facets.h (money_get<>::_M_extract):
337 Change signature: now takes a plain string&.
338 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
339 Update consistently the definition; use the moneypunct cache
340 to parse the value; use swap to change __units.
341 (money_get<>::do_get(long double&)): Update call of _M_extract,
342 avoid ctype::narrow, not correct wrt the standard.
343 (money_get<>::do_get(string_type&)): Likewise, update call
344 of _M_extract, use ctype::widen.
345 * src/locale-inst.cc: Tweak instantiations of _M_extract.
346
347 2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
348
349 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
350 * testsuite/demangle/abi_examples/02.cc: Likewise.
351 * testsuite/demangle/regression/cw-11.cc: Likewise.
352 * testsuite/demangle/regression/cw-16.cc: Change two expected
353 results to match libiberty demangler output.
354
355 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
356
357 PR libstdc++/10246
358 * libsupc++/Makefile.am: Use libiberty demangler.
359 (c_sources): Add cp-demangle.c.
360 * libsupc++/Makefile.in: Regenerate.
361 * src/Makefile.am (sources): Remove demangle.cc.
362 * src/Makefile.in: Regenerate.
363 * include/Makefile.am (bits_headers): Move demangle.h.
364 (ext_headers): ...here.
365 * include/Makefile.in: Regenerate.
366 * include/bits/demangle.h: Move...
367 * include/ext/demangle.h: ...here.
368 * src/demangle.cc: Remove.
369
370 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
371
372 * include/bits/demangle.h: Add type template parameter to all
373 templates with just an Allocator template parameter.
374
375 2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
376
377 * include/bits/atomicity.h: New, forward declarations for __atomic_add
378 and __exchange_and_add.
379 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
380 * config/cpu/cris/atomic_word.h: Same.
381 * config/cpu/sparc/atomic_word.h: Same.
382 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
383 Qualifiy with __gnu_cxx.
384 (_Callback_list::_M_add_reference): Same.
385 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
386 (locale::facet::_M_remove_reference): Same.
387 (locale::_Impl::_M_add_reference): Add.
388 (locale::_Impl::_M_remove_reference): Same.
389 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
390 (basic_string::_Rep::_M_dispose): Same.
391 * src/ios.cc (ios_base::xalloc): Same.
392 * src/ios_init.cc (ios_base::Init::Init): Same.
393 (ios_base::Init::~Init): Same.
394 * src/locale.cc (locale::id::_M_id): Same.
395 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
396 static, and inline keywords.
397 * config/cpu/alpha/atomicity.h: Same.
398 * config/cpu/cris/atomicity.h: Same.
399 * config/cpu/generic/atomicity.h: Same.
400 * config/cpu/hppa/atomicity.h: Same.
401 * config/cpu/i386/atomicity.h: Same.
402 * config/cpu/ia64/atomicity.h: Same.
403 * config/cpu/m68k/atomicity.h: Same.
404 * config/cpu/mips/atomicity.h: Same.
405 * config/cpu/powerpc/atomicity.h: Same.
406 * config/cpu/s390/atomicity.h: Same.
407 * config/cpu/sparc/atomicity.h: Same.
408
409 * src/Makefile.am (host_sources): Add atomicity.cc.
410 (atomicity.cc): New rule.
411 * src/Makefile.in: Regenerate.
412 * include/Makefile.am (host_headers): Remove host atomicity.h.
413 (host_headers): Add atomic_word.h.
414 (bits_headers): Add bits atomicity.h.
415 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
416 * include/Makefile.in: Regenerate.
417 * configure.host (atomic_word_dir): Add.
418 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
419 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
420 * configure: Regenerate.
421 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
422
423 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
424 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
425
426 2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
427
428 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
429 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
430 Fix markup, more <link> tags.
431
432 2004-02-25 Carlo Wood <carlo@alinoe.com>
433
434 * bits/demangle.h
435 namespace __gnu_cxx::demangler
436 (session<Allocator>::qualifier_list_Allocator): Add
437 (session<Allocator>::M_qualifier_list_alloc): Add
438 (session<Allocator>::decode_type_with_postfix):
439 Use M_qualifier_list_alloc instead of calling operator new/delete.
440
441 2004-02-24 Paolo Carlini <pcarlini@suse.de>
442
443 PR libstdc++/14252
444 * include/bits/postypes.h (class streamoff): Add operator++(),
445 operator++(int), operator--() and operator--(int).
446 * testsuite/27_io/fpos/14252.cc: New.
447
448 2004-02-24 Richard Sandiford <rsandifo@redhat.com>
449
450 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
451 error in handling of hex constants.
452
453 2004-02-24 Paolo Carlini <pcarlini@suse.de>
454
455 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
456 Prefer basic_string::append to operator+= and a temporary.
457
458 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
459
460 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
461 Only use fputs, not write.
462
463 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
464
465 * include/ext/malloc_allocator.h: Add operators ==, !=.
466 * include/ext/new_allocator.h: Add operators ==, !=.
467 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
468 (__mt_alloc::_S_get_options): New.
469 (__mt_alloc::_S_set_options): New.
470 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
471 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
472 Move functions out of line, simplify, format.
473 * src/allocator.cc: Simplify explicit instantiations.
474 * include/bits/allocator.h: Tweak.
475
476 2004-02-22 Paolo Carlini <pcarlini@suse.de>
477
478 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
479 Restructure formatting of value component, first dealing with
480 the non-decimal digits; use reserve.
481
482 2004-02-22 Paolo Carlini <pcarlini@suse.de>
483
484 * include/bits/locale_facets.h (class money_get): Inherit
485 from money_base too; tweak declaration of _M_extract, now
486 parameterized on _Intl too.
487 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
488 Update definition to use the cache; call reserve on __res to
489 avoid multiple reallocations; fix parsing of sign component
490 according to 22.2.6.1.2, p3.
491 (money_get<>::do_get(long double&),
492 money_get<>::do_get(string_type&)): Update calls of _M_extract.
493 * src/locale-inst.cc: Add instantiations of
494 money_get::_M_extract<false> and money_get::_M_extract<true>.
495 * testsuite/22_locale/money_get/get/char/14.cc: New.
496 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
497
498 2004-02-21 Mark Mitchell <mark@codesourcery.com>
499
500 * libsupc++/vterminate.cc
501 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
502 calls to terminate.
503 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
504
505 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
506 not set RLIMIT_AS on HP-UX.
507
508 2004-02-21 Mark Mitchell <mark@codesourcery.com>
509
510 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
511 not set RLIMIT_AS on HP-UX.
512
513 2004-02-21 Paolo Carlini <pcarlini@suse.de>
514
515 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
516 _S_zero, _S_end } enum, _S_atoms.
517 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
518 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
519 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
520 (__moneypunct_cache<>::~__moneypunct_cache): Update.
521 (__moneypunct_cache<>::_M_cache): Fill the cache.
522 (class moneypunct): Tweak __cache_type typedef.
523 (class money_put): Inherit from money_base too; tweak declaration
524 of _M_insert, now parameterized on _Intl.
525 * include/bits/locale_facets.tcc
526 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
527 (money_put<>::_M_insert): Update definition to use the cache;
528 call reserve on __res to avoid multiple reallocations.
529 (money_put<>::do_put(long double),
530 money_put<>::do_put(const string_type&): Update calls of _M_insert.
531 * config/locale/generic/monetary_members.cc
532 (moneypunct<char, true>::_M_initialize_moneypunct,
533 moneypunct<char, false>::_M_initialize_moneypunct,
534 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
535 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
536 * config/locale/gnu/monetary_members.cc: Likewise.
537 * config/locale/gnu/monetary_members.cc
538 (moneypunct<wchar_t, true>::~moneypunct(),
539 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
540 * src/globals_locale.cc: Tweak fake_money_cache_c.
541 * src/locale-inst.cc: Add instantiations for
542 money_put::_M_insert<false> and money_put::_M_insert<true> and
543 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
544 * src/locale_facets.cc: Define money_base::_S_atoms.
545 * src/locale_init.cc: Update placement new of
546 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
547 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
548
549 * config/locale/generic/numeric_members.cc: Clean up.
550 * config/locale/gnu/numeric_members.cc: Likewise.
551 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
552 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
553 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
554 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
555 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
556 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
557
558 2004-02-20 Mark Mitchell <mark@codesourcery.com>
559
560 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
561 FIFO for writing with ios_base::in|ios_base::out.
562 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
563 * testsuite/27_io/objects/char/7.cc: Likewise.
564 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
565 with "r+".
566
567 2004-02-19 David Edelsohn <edelsohn@gnu.org>
568
569 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
570 from iso-8859-1 to ISO8859-1.
571 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
572 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
573 * 22_locale/collate/hash/wchar_t/2.cc: Same.
574 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
575 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
576 * 22_locale/collate/transform/wchar_t/2.cc: Same.
577 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
578 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
579
580 2004-02-18 Paolo Carlini <pcarlini@suse.de>
581
582 * include/bits/locale_facets.h (money_get<>::_M_extract):
583 New, helper for do_get.
584 (money_put<>::_M_insert): Likewise, for do_put.
585 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
586 money_put<>::_M_insert): Define.
587 (money_get<>::do_get(long double&), money_get<>::do_get(
588 string_type&), money_put::do_put(long double),
589 money_put::do_put(const string_type&)): Use the helpers.
590
591 2004-02-18 Paolo Carlini <pcarlini@suse.de>
592
593 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
594 Rewrite, avoiding recursion.
595 (__gnu_internal::xwrite): Minor tweaks.
596
597 2004-02-17 Stefan Olsson <stefan@xapa.se>
598
599 * include/ext/mt_allocator.h: Removed the last
600 pointer. Deallocated blocks are now added to the front of
601 freelists as proposed by Felix Yen. This gives roughly 10%
602 performance boost and saves some memory.
603 * docs/html/ext/mt_allocator.html: Change due to that deallocated
604 blocks now are added to the front of freelists. The reason to this
605 approach is also explained.
606
607 2004-02-17 Paolo Carlini <pcarlini@suse.de>
608
609 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
610 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
611 grouping fidelity conditional.
612
613 2004-02-16 Paolo Carlini <pcarlini@suse.de>
614
615 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
616 Qualify exception with std::.
617 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
618 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
619 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
620 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
621 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
622
623 2004-02-16 Paolo Carlini <pcarlini@suse.de>
624
625 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
626 for now that the catch block is not reached.
627 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
628
629 2004-02-16 Paolo Carlini <pcarlini@suse.de>
630
631 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
632 Fix parsing of the remaining sign characters.
633 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
634 the input is scanned 'til eof.
635 * 22_locale/money_get/get/char/4.cc: Likewise.
636 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
637 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
638 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
639 not do_pos_format: the former is the only one that matters during
640 input.
641 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
642
643 * 22_locale/money_get/get/char/6.cc: Minor tweak.
644 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
645
646 2004-02-15 David Asher <david.asher@cavium.com>
647
648 PR libstdc++/11352
649 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
650 access __olds beyond __oldlen.
651
652 2004-02-14 Paolo Carlini <pcarlini@suse.de>
653
654 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
655 sure the exception is actually thrown.
656 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
657 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
658 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
659
660 2004-02-14 Paolo Carlini <pcarlini@suse.de>
661
662 PR libstdc++/13858
663 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
664 In case of conversion errors, throw ios_failure; simplify.
665 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
666 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
667 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
668 previously we didn't throw in case of conversion errors, instead
669 just returned eof().
670 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
671 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
672 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
673
674 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
675 Trivial simplification of a conditional.
676
677 2004-02-12 Paolo Carlini <pcarlini@suse.de>
678
679 PR libstdc++/13731 (final part: writev)
680 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
681 New, a wrapper around writev() handling partial writes.
682 (__basic_file<char>::xwrite): Move to __gnu_internal and make
683 static.
684 (__basic_file<char>::xsputn): Update call.
685 (__basic_file<char>::xsputn_2): Likewise.
686 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
687 Don't declare, now static.
688
689 2004-02-11 Stefan Olsson <stefan@xapa.se>
690
691 * docs/html/ext/mt_allocator.html: New.
692
693 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
694
695 * docs/html/20_util/allocator.html: New file, consolidate
696 allocator information here. Revamp.
697 * docs/html/documentation.html: Change links.
698 * docs/html/20_util/howto.html: Same.
699 * docs/html/ext/howto.html: Same.
700
701 2004-02-11 Paolo Carlini <pcarlini@suse.de>
702
703 PR libstdc++/13731 (first part: write)
704 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
705 New, declare.
706 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
707 Define it: a wrapper around write() handling partial write.
708 (__basic_file<char>::xsputn): Use it.
709 (__basic_file<char>::xsputn_2): Likewise.
710
711 2004-02-11 Paolo Carlini <pcarlini@suse.de>
712 Petur Runolfsson <peturr02@ru.is>
713
714 PR libstdc++/14078
715 * include/std/std_istream.h (operator>>(__istream_type& (*)
716 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
717 operator>>(ios_base& (*)(ios_base&))): Declare inline.
718 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
719 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
720 operator<<(ios_base& (*) (ios_base&))): Likewise.
721 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
722
723 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
724
725 PR libstdc++/14098
726 * config/linker-map.gnu: Add typeinfo and typeinfo name for
727 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
728
729 PR libstdc++/14097
730 * config/linker-map.gnu: Add typeinfo and typeinfo name for
731 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
732
733 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
734
735 * include/ext/pool_allocator.h: Include c++config.h.
736
737 2004-02-09 Stefan Olsson <stefan@xapa.se>
738
739 * include/ext/mt_allocator.h: thread_id is unused in non threaded
740 applications and now has a ifdef to remove it completely on
741 compilers without thread support. Include stdlib.h due to a
742 compiler warning on getenv().
743
744 2004-02-09 Paul Brook <paul@codesourcery.com>
745
746 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
747
748 2004-02-09 Paolo Carlini <pcarlini@suse.de>
749
750 PR libstdc++/14071
751 * src/locale_init.cc (locale::global(const locale&)): Use
752 locale::name() in order to decide whether calling setlocale.
753 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
754
755 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
756 Avoid computing &= unnecessarily.
757
758 2004-02-09 James E Wilson <wilson@specifixinc.com>
759
760 PR libstdc++/5625
761 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
762 __builtin_extend_pointer.
763
764 2004-02-09 Paolo Carlini <pcarlini@suse.de>
765
766 PR libstdc++/14072
767 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
768 Don't leave dangling pointers.
769 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
770 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
771 facet is needed in the final test.
772
773 2004-02-09 Bernardo Innocenti <bernie@develer.com>
774
775 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
776 * configure: Regenerate.
777
778 2004-02-08 Richard Henderson <rth@redhat.com>
779
780 PR libstdc++/14026
781 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
782 uncaughtExceptions during nested catch rethrow.
783 * testsuite/18_support/14026.cc: New.
784
785 2004-02-08 Paolo Carlini <pcarlini@suse.de>
786
787 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
788 When working in place remember to set the state to sharable
789 (otherwise, _M_mutate does it).
790
791 2004-02-08 Bernardo Innocenti <bernie@develer.com>
792
793 * include/bits/allocator.h, include/bits/basic_ios.h,
794 include/bits/basic_ios.tcc, include/bits/basic_string.h,
795 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
796 include/bits/char_traits.h, include/bits/codecvt.h,
797 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
798 include/bits/demangle.h, include/bits/deque.tcc,
799 include/bits/fstream.tcc, include/bits/functexcept.h,
800 include/bits/gslice.h, include/bits/gslice_array.h,
801 include/bits/indirect_array.h, include/bits/ios_base.h,
802 include/bits/istream.tcc, include/bits/list.tcc,
803 include/bits/locale_classes.h, include/bits/locale_facets.h,
804 include/bits/locale_facets.tcc, include/bits/localefwd.h,
805 include/bits/mask_array.h, include/bits/ostream.tcc,
806 include/bits/postypes.h, include/bits/slice_array.h,
807 include/bits/sstream.tcc, include/bits/stl_algo.h,
808 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
809 include/bits/stl_construct.h, include/bits/stl_deque.h,
810 include/bits/stl_function.h, include/bits/stl_heap.h,
811 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
812 include/bits/stl_list.h, include/bits/stl_map.h,
813 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
814 include/bits/stl_numeric.h, include/bits/stl_pair.h,
815 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
816 include/bits/stl_relops.h, include/bits/stl_set.h,
817 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
818 include/bits/stl_threads.h, include/bits/stl_tree.h,
819 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
820 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
821 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
822 include/bits/type_traits.h, include/bits/valarray_after.h,
823 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
824 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
825 trailing whitespace.
826
827 2004-02-06 Paolo Carlini <pcarlini@suse.de>
828
829 * include/bits/basic_string.h: Fix comment.
830
831 2004-02-06 Paolo Carlini <pcarlini@suse.de>
832
833 * include/bits/stl_construct.h: Wrap overlong lines, reformat
834 according to the coding standards.
835 * include/bits/stl_pair.h: Likewise.
836 * include/bits/stl_raw_storage_iter.h: Likewise.
837 * include/bits/stl_stack.h: Likewise.
838 * include/bits/stl_uninitialized.h: Likewise.
839 * include/bits/stream_iterator.h: Likewise.
840 * include/bits/streambuf_iterator.h: Likewise.
841 * include/bits/type_traits.h: Likewise.
842
843 2004-02-06 Paolo Carlini <pcarlini@suse.de>
844
845 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
846 Adjust timings.
847
848 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
849
850 * scripts/check_performance: Support PCH.
851
852 * scripts/check_performance (CXX): Add -DNOTHREAD.
853 * testsuite/performance/20_util/allocator/insert.cc: Integrate
854 threaded tests from insert_insert.cc. Tweak iterations,
855 remove special cases.
856 * testsuite/performance/20_util/allocator/insert_insert.cc:
857 Make all tests single-threaded. Tweak iterations.
858 * testsuite/performance/20_util/allocator/map_thread.cc:
859 Tweak iterations.
860 * testsuite/performance/20_util/allocator/producer_consumer.cc:
861 Likewise.
862
863 2004-02-05 Geoffrey Keating <geoffk@apple.com>
864
865 PR 12179
866 * .cvsignore: New.
867 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
868 'gcc-lib'. Add comment about poorly-named variables.
869 * aclocal.m4: Regenerate.
870 * configure: Regenerate.
871
872 2004-02-05 Paolo Carlini <pcarlini@suse.de>
873
874 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
875 Thousands-sep are always optional; thousands-sep are not allowed
876 after the decimal_point.
877 * testsuite/22_locale/money_get/get/char/12.cc: New.
878 * testsuite/22_locale/money_get/get/char/13.cc: New.
879 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
880 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
881
882 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
883 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
884 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
885 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
886 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
887 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
888 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
889 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
890
891 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
892 the standard.
893 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
894
895 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
896
897 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
898 Define.
899 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
900 it to decide whether FIONREAD should take an off_t or int argument.
901
902 2004-02-05 Paolo Carlini <pcarlini@suse.de>
903
904 * include/bits/stl_function.h: Minor formatting changes.
905
906 2004-02-04 Zack Weinberg <zack@codesourcery.com>
907
908 Revert previous change to config/abi/*/baseline_symbols.txt.
909
910 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
911 Zack Weinberg <zack@codesourcery.com>
912
913 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
914 New function.
915 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
916 (__basic_file<char>::_M_open_mode): Delete.
917 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
918
919 * testsuite/27_io/basic_filebuf/close/char/9964.cc
920 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
921 Correct flags to filebuf::open calls.
922
923 * config/abi/alpha-freebsd5/baseline_symbols.txt
924 * config/abi/alpha-linux-gnu/baseline_symbols.txt
925 * config/abi/hppa-linux-gnu/baseline_symbols.txt
926 * config/abi/i386-freebsd4/baseline_symbols.txt
927 * config/abi/i386-freebsd5/baseline_symbols.txt
928 * config/abi/i486-linux-gnu/baseline_symbols.txt
929 * config/abi/ia64-linux-gnu/baseline_symbols.txt
930 * config/abi/mips-linux-gnu/baseline_symbols.txt
931 * config/abi/sparc-freebsd5/baseline_symbols.txt
932 * config/abi/sparc-linux-gnu/baseline_symbols.txt
933 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
934 Remove entry for __basic_file<char>::_M_open_mode.
935
936 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
937
938 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
939
940 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
941
942 * testsuite/performance/20_util/producer_consumer.cc: New.
943 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
944
945 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
946
947 * testsuite/performance/20_util/allocator.cc: Move to..
948 * testsuite/performance/20_util/allocator/insert.cc: ...here.
949 * testsuite/performance/20_util/allocator_thread.cc: Move to...
950 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
951 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
952 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
953
954 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
955
956 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
957 * docs/html/faq/index.txt: Regenerate.
958
959 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
960
961 * include/ext/debug_allocator.h: _M_extra now stands for the
962 number of extra objects instead of the number of extra bytes.
963 (debug_allocator::allocate): Adjust.
964 (debug_allocator::deallocate): Adjust.
965
966 * include/ext/pool_allocator.h: Fix typo.
967
968 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
969 Benjamin Kosnik <bkoz@redhat.com>
970
971 * testsuite/performance/20_util/allocator.cc: Add map,
972 deque, set tests.
973 * testsuite/performance/20_util/allocator_thread.cc: Same.
974
975 2004-02-03 Paolo Carlini <pcarlini@suse.de>
976
977 * include/bits/basic_string.h (insert(iterator)): Remove,
978 non-standard and already scheduled for removal.
979
980 2004-02-03 Paolo Carlini <pcarlini@suse.de>
981
982 * include/bits/stl_iterator_base_funcs.h: Minor formatting
983 and indentation tweaks.
984 * include/bits/stl_iterator_base_types.h: Likewise.
985 * include/bits/stl_list.h: Likewise.
986 * include/bits/stl_map.h: Likewise.
987 * include/bits/stl_tempbuf.h: Likewise.
988
989 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
990
991 * include/bits/gslice.h, include/bits/gslice_array.h,
992 include/bits/indirect_array.h, include/bits/mask_array.h,
993 include/bits/slice_array.h, include/bits/stl_numeric.h,
994 include/std/std_valarray.h: Update copyright years.
995
996 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
997
998 * include/bits/gslice.h (gslice): Document.
999 * include/bits/gslice_array.h (gslice_array): Document.
1000 * include/bits/indirect_array (indirect_array): Document.
1001 * include/bits/mask_array (mask_array): Document.
1002 * include/bits/slice_array.h (slice,slice_array): Document.
1003 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
1004 adjacent_difference): Document
1005 * include/std/std_valarray.h (valarray): Document.
1006
1007 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
1008
1009 * docs/html/19_diagnostics/howto.html: Move verbose terminate
1010 documentation...
1011 * docs/html/18_support/howto.html: Here.
1012 * docs/html/documentation.html: Add reference here.
1013
1014 2004-02-02 Paolo Carlini <pcarlini@suse.de>
1015
1016 * config/locale/gnu/c++locale_internal.h: Remove prototypes
1017 of no longer used GLIBC thread locale functions.
1018
1019 2004-02-02 Eric Christopher <echristo@redhat.com>
1020 Zack Weinberg <zack@codesourcery.com>
1021
1022 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
1023 -finput-charset.
1024 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
1025 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
1026 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
1027 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
1028 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
1029 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
1030 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
1031 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1032 Ditto.
1033
1034 2004-02-02 Paolo Carlini <pcarlini@suse.de>
1035
1036 * include/bits/stl_function.h: Additional minor tweaks.
1037 * include/bits/stl_multiset.h: Likewise.
1038
1039 * include/bits/stl_queue.h: Minor tweaks.
1040
1041 2004-02-02 Paolo Carlini <pcarlini@suse.de>
1042
1043 PR libstdc++/13976 (continued)
1044 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
1045 Make the second parameter unnamed, to void unused parameter
1046 warnings.
1047 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
1048
1049 2004-02-02 Paolo Carlini <pcarlini@suse.de>
1050
1051 PR libstdc++/13976
1052 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
1053 Make the second parameter unnamed, to void unused parameter
1054 warnings.
1055 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
1056 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
1057
1058 2004-02-01 Paolo Carlini <pcarlini@suse.de>
1059
1060 * include/bits/stl_algo.h: Additional minor tweaks.
1061 * include/bits/stl_map.h: Likewise.
1062 * include/bits/stl_multimap.h: Likewise.
1063 * include/bits/stl_multiset.h: Likewise.
1064 * include/bits/stl_set.h: Likewise.
1065 * include/bits/stl_tree.h: Likewise.
1066
1067 2004-02-01 Paolo Carlini <pcarlini@suse.de>
1068
1069 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
1070 Remove, unused.
1071
1072 2004-02-01 Paolo Carlini <pcarlini@suse.de>
1073
1074 * include/bits/stl_function.h: Additional minor tweaks.
1075
1076 2004-02-01 Paolo Carlini <pcarlini@suse.de>
1077
1078 * include/bits/deque.tcc: Wrap overlong lines, constify
1079 a few variables, reformat according to the coding standards.
1080 * include/bits/list.tcc: Likewise.
1081 * include/bits/stl_deque.h: Likewise.
1082 * include/bits/stl_function.h: Likewise.
1083 * include/bits/stl_iterator.h: Likewise.
1084 * include/bits/stl_iterator_base_funcs.h: Likewise.
1085 * include/bits/stl_iterator_base_types.h: Likewise.
1086 * include/bits/stl_list.h: Likewise.
1087 * include/bits/stl_map.h: Likewise.
1088 * include/bits/stl_multimap.h: Likewise.
1089 * include/bits/stl_multiset.h: Likewise.
1090 * include/bits/stl_relops.h: Likewise.
1091 * include/bits/stl_set.h: Likewise.
1092
1093 2004-02-01 Paolo Carlini <pcarlini@suse.de>
1094
1095 * include/bits/stl_bvector.h: Wrap overlong lines, constify
1096 a few variables, reformat according to the coding standards.
1097 * include/bits/stl_tree.h: Likewise.
1098
1099 2004-01-31 Paolo Carlini <pcarlini@suse.de>
1100
1101 * include/bits/stl_algo.h: Minor additional reformat, add
1102 copyright year.
1103 * include/bits/stl_algobase.h: Add copyright year.
1104
1105 2004-01-31 Paolo Carlini <pcarlini@suse.de>
1106
1107 * include/bits/stl_algo.h: Wrap overlong lines, constify
1108 a few variables, reformat according to the coding standards.
1109 * include/bits/stl_algobase.h: Likewise.
1110 * include/bits/stl_heap.h: Likewise.
1111
1112 2004-01-31 Paolo Carlini <pcarlini@suse.de>
1113
1114 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
1115
1116 * include/bits/basic_string.h: Fix two comments.
1117
1118 2004-01-31 Per Bothner <per@bothner.com>
1119
1120 * include/ext/mt_allocator.h
1121 (__mt_alloc::_S_thread_freelist_mutex): Guard with
1122 __GTHREAD_MUTEX_INIT.
1123
1124 2004-01-31 Paolo Carlini <pcarlini@suse.de>
1125
1126 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
1127
1128 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1129
1130 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
1131 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
1132 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
1133
1134 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
1135
1136 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
1137 Don't use clear, but instead assign. Use insert.
1138
1139 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
1140
1141 * src/demangle.cc: Add instantiations.
1142 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
1143 * src/Makefile.in: Regenerate.
1144
1145 2004-01-30 David Edelsohn <edelsohn@gnu.org>
1146
1147 * src/allocator.cc: Protect _S_get_thread_id() and
1148 _S_thread_key_destr() with #ifdef __GTHREADS.
1149
1150 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1151
1152 Reshuffle performance testsuite.
1153 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
1154 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
1155 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
1156 fstream_seek_write.cc, ifstream_extract_float.cc,
1157 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
1158 list_create_fill_sort.cc, map_create_fill.cc,
1159 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
1160 ofstream_insert_float.cc, ofstream_insert_int.cc,
1161 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
1162 wchar_t_out.cc: Split into...
1163 * testsuite/performance/20_util/allocator.cc: New.
1164 * testsuite/performance/20_util/allocator_map_thread.cc: New.
1165 * testsuite/performance/20_util/allocator_thread.cc: New.
1166 * testsuite/performance/21_strings/string_append: New.
1167 * testsuite/performance/22_locale/is_wchar_t.cc: New.
1168 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
1169 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
1170 * testsuite/performance/22_locale/wchar_t_in.cc: New.
1171 * testsuite/performance/22_locale/wchar_t_length.cc: New.
1172 * testsuite/performance/22_locale/wchar_t_out.cc: New.
1173 * testsuite/performance/23_containers/container_benchmark.cc: New.
1174 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
1175 * testsuite/performance/23_containers/map_create_fill.cc: New.
1176 * testsuite/performance/26_numerics/complex_norm.cc: New.
1177 * testsuite/performance/27_io/cout_insert_int.cc: New.
1178 * testsuite/performance/27_io/filebuf_copy.cc: New.
1179 * testsuite/performance/27_io/filebuf_sputc.cc: New.
1180 * testsuite/performance/27_io/fstream_seek_write.cc: New.
1181 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
1182 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
1183 * testsuite/performance/27_io/ifstream_getline.cc: New.
1184 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
1185 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
1186
1187 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1188
1189 * include/bits/basic_string.tcc (_Rep::_S_create):
1190 Never allocate a string bigger than max_size(); always keep
1191 __capacity and __size in sync to avoid memory leaks at
1192 deallocation time.
1193
1194 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1195
1196 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1197 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
1198 the double loop, streamline.
1199
1200 * include/bits/basic_string.tcc: Very minor tweaks.
1201
1202 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
1203
1204 * scripts/check_performance: Only compile with $THREAD_FLAG
1205 when test is marked to require it. Allow multiple
1206 compilations/executions of marked tests.
1207 * testsuite/testsuite_performance.h (report_performance):
1208 Report dynamic thread support status.
1209 (report_header): Likewise.
1210 * testsuite/performance/allocator.cc: Stabilize iteration
1211 count. Support more allocators. Mark each allocator test to
1212 run and report independently.
1213 * testsuite/performance/allocator_map_thread.cc: Likewise.
1214 * testsuite/performance/allocator_thread.cc: Likewise.
1215
1216 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
1217
1218 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
1219 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
1220 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
1221 std::get_temporary_buffer() instead of duplicating its code.
1222 Update to C++STYLE conventions.
1223 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
1224 new() instead of std::malloc().
1225 (return_temporary_buffer): Use ::operator delete() instead of
1226 std::free().
1227
1228 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
1229
1230 * include/bits/allocator.h: Temporary switch to new_allocator as
1231 the default to unjam bootstraps.
1232
1233 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1234
1235 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
1236 * include/Makefile.in: Regenerate.
1237 * include/bits/allocator_traits.h: Remove.
1238 * include/bits/allocator.h: Remove allocator_traits.h include, and
1239 relevant comments.
1240 (allocator): Empty base class, inherit from the underlying allocator.
1241 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
1242 * src/allocator.cc: ...here. New. For the underlying allocators.
1243 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
1244 * config/linker-map.gnu: Remove __pool_alloc bits.
1245 * src/Makefile.am (sources): Add allocator.cc.
1246 * src/Makefile.in: Regenerate.
1247 * testsuite/20_util/allocator/1.cc: Split second test into...
1248 * testsuite/20_util/allocator/8230.cc: ...this.
1249 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
1250 typedef to use std::allocatore. Format.
1251 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
1252 _Alloc_traits.
1253 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
1254 __throw_bad_alloc calls. Don't include <memory>.
1255 * include/ext/malloc_allocator.h: Remove <memory> include.
1256 * include/ext/new_allocator.h (new_allocator): Same.
1257 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
1258 declaration. Switch __alloc to _Alloc.
1259 * include/ext/hashtable.h: Remove __alloc.
1260 * include/backward/alloc.h: Only inject allocator, not
1261 implementation details.
1262
1263 * include/ext/mt_allocator.h: Replace free with delete.
1264
1265 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1266
1267 * src/globals_io.cc: Change to __gnu_internal namespace.
1268 * src/globals_locale.cc: Same.
1269 * src/locale_init.cc: Same.
1270 * src/ios_init.cc: Same.
1271
1272 2004-01-28 Stefan Olsson <stefan@snon.net>
1273
1274 * include/ext/mt_allocator.h: Replaced all malloc() calls with
1275 operator new(). Added support for the env variable
1276 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
1277 one in allocate() as well). Fix typos.
1278
1279 2004-01-28 Paolo Carlini <pcarlini@suse.de>
1280
1281 * include/bits/basic_string.h (_S_create(size_t,
1282 const _Alloc&): Change signature to take two size_type
1283 arguments.
1284 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1285 _InIterator, const _Alloc&, input_iterator_tag)): Update
1286 call, tweak a bit.
1287 (_S_construct(_InIterator, _InIterator, const _Alloc&,
1288 forward_iterator_tag)): Likewise.
1289 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
1290 (_M_mutate(size_type, size_type, size_type)): Don't
1291 implement the exponential growth policy, demand it to
1292 _S_create, update call and simplify.
1293 (_M_clone(const _Alloc&, size_type)): Likewise.
1294 (_S_create(size_type, size_type, const _Alloc&)): Implement
1295 the growth policy, simplify otherwise.
1296
1297 * include/bits/basic_string.h (_Rep::operator[]): Tweak
1298 signature to take a size_type, consistently with the other
1299 members.
1300
1301 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
1302
1303 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
1304 delete declarations, add include and test variable.
1305
1306 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
1307
1308 * include/bits/codecvt.h, include/bits/locale_facets.h,
1309 include/bits/postypes.h, include/bits/stl_bvector.h,
1310 include/bits/stl_multiset.h, include/bits/stl_set.h,
1311 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
1312 include/std/std_complex.h: Document.
1313
1314 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
1315
1316 PR libstdc++/11584
1317 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
1318 iword/pword selector.
1319 (ios_base::iword, ios_base::pword): Use it.
1320 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
1321 iword or pword member on alloc failure.
1322 * testsuite/27_io/ios_base/storage/11584.cc: New test.
1323
1324 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
1325 PJ Darcy <darcypj@us.ibm.com>
1326
1327 * configure.host: Add support for *-tpf.
1328 * crossconfig.m4: Likewise.
1329 * configure: Regenerate.
1330 * config/os/tpf: New directory.
1331 * config/os/tpf/os_defines.h: New file.
1332 * config/os/tpf/ctype_base.h: Likewise.
1333 * config/os/tpf/ctype_inline.h: Likewise.
1334 * config/os/tpf/ctype_noninline.h: Likewise.
1335
1336 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1337
1338 PR libstdc++/13884
1339 * include/bits/sstream.tcc: Guard use of extern template.
1340
1341 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1342
1343 * include/bits/basic_string.tcc
1344 (basic_string(const basic_string&, size_type, size_type),
1345 basic_string(const basic_string&, size_type, size_type,
1346 const _Alloc&)): Avoid unnecessarily constructing iterators.
1347
1348 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1349
1350 * config/locale/generic/c_locale.cc: Fix throw messages
1351 to use the __N marker.
1352 * config/locale/gnu/c_locale.cc: Likewise.
1353 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1354 Likewise.
1355 * docs/html/17_intro/C++STYLE: Likewise.
1356 * include/bits/basic_ios.tcc: Likewise.
1357 * include/bits/fstream.tcc: Likewise.
1358 * include/bits/vector.tcc: Likewise.
1359 * include/ext/ropeimpl.h: Likewise.
1360 * include/std/std_bitset.h: Likewise.
1361 * src/ios.cc: Likewise.
1362 * src/locale.cc: Likewise.
1363 * src/localename.cc: Likewise.
1364
1365 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1366
1367 * include/bits/basic_string.h (_M_replace_aux): Use the
1368 __N marker in throw message.
1369 * include/bits/basic_string.tcc (assign(const _CharT*,
1370 size_type), insert(size_type, const _CharT*, size_type),
1371 replace(size_type, size_type, const _CharT*, size_type),
1372 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1373 Likewise.
1374
1375 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1376 Fold overlong lines, minor formatting changes.
1377
1378 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1379
1380 * include/bits/basic_string.h (replace(iterator, iterator,
1381 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1382 (replace(iterator, iterator, const _CharT*)): Ditto.
1383 (replace(iterator, iterator, const _CharT*, size_type)):
1384 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1385
1386 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1387
1388 * include/bits/basic_string.tcc (replace(size_type,
1389 size_type, const _CharT*, size_type)): Implement optimized
1390 in-place algorithm for non-overlapping ranges.
1391 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1392 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1393
1394 * include/bits/basic_string.tcc (insert(size_type,
1395 const _CharT*, size_type)): Tweak slightly.
1396
1397 2004-01-26 Andreas Schwab <schwab@suse.de>
1398
1399 * config/locale/gnu/monetary_members.cc: Restore locale before
1400 rethrowing exception.
1401
1402 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1403
1404 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1405 Define inline here.
1406 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1407 Move inline.
1408
1409 * include/bits/basic_string.tcc: Very minor tweaks.
1410
1411 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1412
1413 * testsuite/performance/string_append.cc: Increase number
1414 of iterations.
1415
1416 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1417
1418 * include/bits/basic_string.h (erase(size_type, size_type),
1419 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1420 instead, thus avoiding redundant check for length_error.
1421
1422 * include/bits/basic_string.h: Tweak some comments.
1423
1424 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1425
1426 * include/bits/basic_string.tcc (operator+(const _CharT*,
1427 const basic_string&)): No need to go through the append
1428 taking two iterators.
1429
1430 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1431
1432 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1433 Revert last change to use std::min: machine language is worse.
1434 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1435 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1436 (find_last_not_of(_CharT, size_type)): Ditto.
1437
1438 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1439 size_type)): Discard the value returned by _M_check.
1440 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1441 (append(const basic_string&, size_type, size_type)): Ditto.
1442 (copy(_CharT*, size_type, size_type)): Ditto.
1443 (compare(size_type, size_type, const basic_string&)): Ditto.
1444 (compare(size_type, size_type, const basic_string&,
1445 size_type, size_type)): Ditto.
1446 (compare(size_type, size_type, const _CharT*)): Ditto.
1447 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1448
1449 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1450
1451 * include/bits/basic_string.h (insert(size_type,
1452 const basic_string&, size_type, size_type)): Define inline here.
1453 * include/bits/basic_string.tcc (insert(size_type,
1454 const basic_string&, size_type, size_type)): Move inline.
1455
1456 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1457
1458 * include/bits/basic_string.h (assign(const basic_string&,
1459 size_type, size_type)): Define inline here.
1460 (replace(size_type, size_type, const basic_string&,
1461 size_type, size_type)): Ditto.
1462 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1463 _InputIterator, __false_type)): Only declare.
1464 (_M_replace(iterator, iterator, _InputIterator,
1465 _InputIterator)): Remove.
1466 * include/bits/basic_string.tcc (assign(const basic_string&,
1467 size_type, size_type)): Move inline.
1468 (replace(size_type, size_type, const basic_string&,
1469 size_type, size_type)): Ditto.
1470 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1471 _InputIterator, __false_type)): Define, now does also what
1472 _M_replace did before.
1473 * src/string-inst.cc (_M_replace): Don't instantiate.
1474
1475 * include/bits/basic_string.tcc (find(const _CharT*,
1476 size_type, size_type)): Tidy.
1477 (rfind(_CharT, size_type)): Ditto.
1478 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1479 (find_first_not_of(_CharT, size_type)): Ditto.
1480 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1481 (find_last_not_of(_CharT, size_type)): Ditto.
1482
1483 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1484
1485 PR libstdc++/13838
1486 * include/debug/bitset (operator|=): Fix typo.
1487 * testsuite/23_containers/bitset/operations/13838.cc: New.
1488
1489 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1490
1491 * include/bits/basic_string.tcc (insert(size_type,
1492 const _CharT*, size_type __n)): Fix length_error check.
1493 (replace(size_type, size_type, const _CharT*, size_type):
1494 Ditto; call _M_replace_safe.
1495 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1496 Fix length_error check.
1497 (_M_replace(iterator, iterator, _InputIterator,
1498 _InputIterator)): Ditto, tweak.
1499 (_M_replace_safe(size_type, size_type, const _CharT*,
1500 size_type)): Remove length_error check.
1501
1502 * include/bits/basic_string.tcc (append(const basic_string&),
1503 append(const basic_string&, size_type, size_type)): Tweak
1504 comment.
1505
1506 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1507 size_type)): If __n == 0 don't call traits::copy.
1508
1509 2004-01-23 Stefan Olsson <stefan@snon.net>
1510
1511 * include/ext/mt_allocator.h: Reduce lock contention.
1512
1513 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1514
1515 PR libstdc++/13831
1516 * include/bits/fstream.tcc (underflow): Remove unused
1517 variable.
1518 * include/bits/streambuf_iterator.h (equal): Ditto.
1519 * include/bits/locale_facets.h (_M_convert_from_char):
1520 Ditto.
1521
1522 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1523
1524 PR c/13814
1525 * config/linker-map.gnu (nan): Delete.
1526 * libmath/mathconf.h (NAN, nan): Delete.
1527 * linkage.m4 (nan): Don't check for it.
1528 * libmath/nan.c: Delete file.
1529
1530 * config.h.in, configure: Regenerate.
1531
1532 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1533
1534 * include/bits/basic_string.h (push_back(_CharT)):
1535 Call _M_replace_aux.
1536 (insert(size_type, const basic_string&)): Trivial tweak.
1537 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1538 (insert(iterator, _CharT)): Ditto.
1539 (erase(size_type, size_type)): Ditto.
1540 (erase(iterator)): Ditto.
1541 (erase(iterator, iterator)): Ditto.
1542 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1543
1544 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
1545
1546 libstdc++/13823
1547 * testsuite/performance/allocator_map_thread.cc: New test.
1548
1549 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1550
1551 * include/bits/locale_facets.tcc
1552 (money_put::do_put(..., long double)): Use the basic_string
1553 constructor for char arrays, not that for C-strings, to pass
1554 __digits to do_put(..., const string_type&): __ws isn't
1555 null-terminated.
1556
1557 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1558
1559 * include/bits/basic_string.h (_M_replace_safe): Change
1560 signatures to take size_types and const _CharT*.
1561 (_M_replace_aux): Likewise, takes size_types instead of
1562 iterators.
1563 (append(size_type, _CharT)): Update call.
1564 (assign(size_type, _CharT)): Ditto.
1565 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1566 (_M_replace_dispatch(iterator, iterator, _Integer,
1567 _Integer, __true_type)): Ditto.
1568 * include/bits/basic_string.tcc (assign(const _CharT*,
1569 size_type)): Ditto.
1570 (insert(size_type, const _CharT*, size_type)): Ditto.
1571 (replace(size_type, size_type, const _CharT*,
1572 size_type)): Ditto.
1573 (_M_replace(iterator, iterator, _InputIterator,
1574 _InputIterator)): Ditto.
1575 (append(const basic_string&)): Ditto.
1576 (append(const basic_string&, size_type, size_type): Ditto.
1577 (append(const _CharT*, size_type): Ditto.
1578 (_M_replace_safe, _M_replace_safe): Change definitions
1579 accordingly, simplify.
1580 * string-inst.cc (_M_replace_safe): Don't instantiate.
1581
1582 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1583
1584 * include/bits/basic_string.tcc (append(const basic_string&)):
1585 Revert previous change.
1586 (append(const basic_string&, size_type, size_type)): Revert
1587 previous change, use _M_check and _M_limit.
1588
1589 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1590
1591 * include/bits/basic_string.h (_M_check): Change to return
1592 a checked __pos and take an additional const char* argument.
1593 (_M_fold): Rename to _M_limit, change to return a size_type,
1594 corresponding to the __off limited to the actual length.
1595 (insert(size_type, size_type, _CharT)): Update call, call
1596 replace.
1597 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1598 size_type, _CharT) instead.
1599 (erase(size_type, size_type)): Update calls.
1600 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1601 (substr(size_type, size_type)): Use _M_check.
1602 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1603 size_type, size_type)): Update calls.
1604 (basic_string(const basic_string&, size_type, size_type,
1605 const _Alloc&)): Ditto.
1606 (assign(const basic_string&, size_type, size_type)): Use the
1607 new _M_check and _M_limit.
1608 (insert(size_type, const basic_string&, size_type, size_type):
1609 Ditto.
1610 (insert(size_type, const _CharT*, size_type)): Ditto.
1611 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1612 (replace(size_type, size_type, const basic_string&,
1613 size_type, size_type)): Ditto.
1614 (append(const basic_string&)): Ditto.
1615 (append(const basic_string&, size_type, size_type)): Ditto.
1616 (copy(_CharT*, size_type, size_type)): Ditto.
1617 (compare(size_type, size_type, const basic_string&)): Ditto.
1618 (compare(size_type, size_type, const basic_string&,size_type,
1619 size_type)): Ditto.
1620 (compare(size_type, size_type, const _CharT*)): Ditto.
1621 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1622
1623 2004-01-19 Stefan Olsson <stefan@snon.net>
1624
1625 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1626 memory on it's freelist this memory is not returned to global
1627 list. Simplification of deallocate so that memory is always
1628 returned to the calling thread id's freelist instead of to
1629 global. Fix typos. Add volatile where appropriate.
1630
1631 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1632
1633 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1634 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1635 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1636
1637 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1638
1639 * src/debug.cc: Make sure all the names are prefixed with
1640 double (or single) underscore.
1641
1642 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1643
1644 * src/debug.cc: Trivial formatting change.
1645
1646 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1647
1648 * include/bits/basic_string.tcc (_S_construct(size_type,
1649 _CharT, const _Alloc&)): Remove redundant try/catch.
1650 (_M_mutate(size_type, size_type, size_type)): Ditto.
1651 (_M_clone(const _Alloc&, size_type)): Ditto.
1652
1653 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1654
1655 * include/bits/basic_string.h (c_str()): Simplify, due to
1656 21.3.4 the internal representation is always kept null-terminated.
1657 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1658 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1659 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1660 Ditto.
1661
1662 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1663
1664 * include/bits/basic_string.h (append(size_type, _CharT)):
1665 Moved inline, just call _M_replace_aux, no source iterators at
1666 risk of being clobbered.
1667 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1668 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1669 input_iterator_tag)): Remove fifth unused argument.
1670 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1671 _InputIterator, __false_type)): Update call.
1672 * include/bits/basic_string.tcc (replace(size_type, size_type,
1673 const _CharT*, size_type)): Update call.
1674 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1675 throw string literal.
1676 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1677 _ForwardIterator)): Likewise.
1678 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1679 input_iterator_tag)): Remove fifth unused argument.
1680 (append(size_type __n, _CharT __c)): Move inline.
1681 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1682 const C*, const C*, input_iterator_tag)): Remove fifth unused
1683 argument.
1684
1685 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1686
1687 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
1688 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1689
1690 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1691
1692 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1693 mkfifo for mingw32.
1694
1695 2004-01-15 Stefan Olsson <stefan@snon.net>
1696
1697 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1698 possible by changing the behaviour of thread_freelist to do
1699 push_front when threads die instead of push_back.
1700
1701 2004-01-14 Paolo Carlini <pcarlini@suse.de>
1702
1703 * include/bits/locale_facets.h (struct __numpunct_cache):
1704 Add member _M_grouping_size, caching the length of _M_grouping.
1705 (__numpunct_cache<>::_M_cache): Assign the latter.
1706 (__verify_grouping): Move declaration...
1707 * include/bits/locale_facets.tcc (__verify_grouping):
1708 ... here, change signature to take a const char* and a size_t
1709 for the grouping; not a template anymore.
1710 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
1711 Likewise change signature and tweak consistently.
1712 (num_get::_M_extract_float, num_get::_M_extract_int,
1713 num_put::_M_insert_int, num_put::_M_insert_float,
1714 money_get::do_get(string_type&), money_get::do_put(string_type)):
1715 Update callers.
1716 * config/locale/generic/numeric_members.cc
1717 (numpunct<>::_M_initialize_numpunct): Assign the new member.
1718 * config/locale/gnu/numeric_members.cc
1719 (numpunct<>::_M_initialize_numpunct): Likewise.
1720 * src/locale-inst.cc (__add_grouping): Tweak signature.
1721 (__verify_grouping): Don't instantiate, not a template anymore.
1722
1723 * include/bits/locale_facets.h: Rename _M_truename_len ->
1724 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1725 * include/bits/locale_facets.tcc: Likewise.
1726 * config/locale/generic/numeric_members.cc: Likewise.
1727 * config/locale/gnu/numeric_members.cc: Likewise.
1728
1729 2004-01-14 Stefan Olsson <stefan@snon.net>
1730
1731 * include/ext/mt_allocator.h: Fixups.
1732 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1733 * testsuite/performance/allocator_thread.cc: Same.
1734
1735 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1736
1737 * testsuite/performance/ifstream_extract_float.cc: Add higher
1738 precision tests.
1739 * testsuite/performance/ofstream_insert_float.cc: Same.
1740
1741 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1742
1743 * src/locale-misc-inst.cc (__convert_from_v(long),
1744 __convert_from_v(unsigned long), __convert_from_v(long long),
1745 __convert_from_v(unsigned long long)): Remove, unused.
1746
1747 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1748
1749 * testsuite/performance/ifstream_extract_float.cc: New.
1750 * testsuite/performance/ofstream_insert_float.cc: Float generation
1751 matches above.
1752
1753 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1754 * 20_util/auto_ptr/1.cc: ...this.
1755 * 20_util/auto_ptr/2.cc: Same.
1756 * 20_util/auto_ptr/3.cc: Same.
1757 * 20_util/auto_ptr/3946.cc: Same.
1758 * 20_util/auto_ptr/4.cc: Same.
1759 * 20_util/auto_ptr/5.cc: Same.
1760 * 20_util/auto_ptr/6.cc: Same.
1761 * 20_util/auto_ptr/7.cc: Same.
1762 * 20_util/auto_ptr/assign_neg.cc
1763 * 20_util/pairs.cc: Break into...
1764 * 20_util/pair/1.cc: ...this.
1765 * 20_util/pair/2.cc: Same.
1766 * 20_util/pair/3.cc: Same.
1767 * 20_util/pair/4.cc: Same.
1768
1769 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1770
1771 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1772 Set correctly just basefield, the only group that matters.
1773
1774 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1775
1776 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1777 (_Rope_rep_base): Inherit directly from the rope allocator;
1778 use rebinding instead of _Alloc_traits; pick up data member
1779 from _Rope_rep_alloc_base.
1780 (_Rope_alloc_base): Eliminate.
1781 (_Rope_base): Inherit directly from the rope allocator; use
1782 rebinding instead of _Alloc_traits; pick up data member from
1783 _Rope_alloc_base.
1784 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1785 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1786
1787 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1788
1789 PR libstdc++/13650
1790 * include/bits/basic_string.tcc (compare(size_type, size_type,
1791 const _CharT*, size_type)): Implement correctly the resolution
1792 of DR 5: basically, s is a char array, -not- a C string.
1793 * include/bits/basic_string.h: Tweak some comments.
1794 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1795 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1796
1797 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1798
1799 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1800 Solaris.
1801
1802 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1803
1804 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1805 Use try_mkfifo.
1806 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1807 Likewise.
1808
1809 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1810
1811 * include/bits/locale_facets.h (struct __numpunct_cache):
1812 Add members _M_truename_len and _M_falsename_len, caching
1813 the lengths of _M_truename and _M_falsename.
1814 (__numpunct_cache<>::_M_cache): Assign the latter.
1815 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1816 num_put::do_put(bool)): Use the new members, thus avoiding
1817 computing string lengths again and again.
1818 * config/locale/generic/numeric_members.cc
1819 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1820 * config/locale/gnu/numeric_members.cc
1821 (numpunct<>::_M_initialize_numpunct): Likewise.
1822
1823 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1824
1825 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1826 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1827 it.
1828 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1829 and remove Cygwin XFAIL.
1830 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1831 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1832 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1833 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1834 Likewise.
1835 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1836 * testsuite/27_io/objects/char/7.cc: Likewise.
1837 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1838 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1839 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1840
1841 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1842
1843 * include/std/std_complex.h (std::complex<>::real): Return a
1844 reference. Add non-const overload.
1845 (std::complex<>::real): Likewise.
1846 (std::real): Likewise.
1847 (std::imag): Likewise.
1848 (std::operator+): Tidy.
1849 (std::operator-): Likewise.
1850 (std::operator*): Likewise.
1851 (std::operator/): Likewise.
1852 (std::operator>>): Likewise.
1853
1854 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1855
1856 PR libstdc++/13582
1857 * include/bits/fstream.tcc (imbue): Exploit the external
1858 buffer to imbue 'on the fly' a new locale and convert its
1859 remainder with the new codecvt facet.
1860 (underflow): Tweak slightly to deal with this special case.
1861 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1862 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1863 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1864 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1865 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1866
1867 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1868
1869 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1870 Import Revision 28.
1871
1872 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1873
1874 PR libstdc++/13630
1875 * include/bits/locale_classes.h (class locale): Fix category
1876 typedef.
1877 * testsuite/22_locale/locale/13630.cc: Add.
1878
1879 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1880
1881 * include/bits/locale_facets.h: Make a name really dependent. This
1882 will be needed when Core Issue 224 is implemented.
1883
1884 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1885
1886 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1887 * testsuite/performance/allocator_thread.cc: Likewise.
1888
1889 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1890
1891 * crossconfig.m4: Add LFS, io bits to linux cross config.
1892 * acconfig.h: Remove obsolete bits, reorder.
1893 * config.h.in: Regenerate.
1894 * aclocal.m4: Same.
1895 * configure: Same.
1896
1897 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1898
1899 * include/bits/stl_list.h:
1900 * include/bits/list.tc:
1901 * src/list.cc:
1902 Performance enhancements for destructor, push_front(),
1903 push_back(), pop_front(), pop_back(), sort()
1904 Eliminated static_casts where possible.
1905 Moved code out of header files into new src/list.cc
1906 implementation file for library where possible.
1907 Remove inheritance from iterator class and create separate
1908 classes for non-constant and constant iterators.
1909 * include/bits/stl_tree.h (_Rb_tree class):
1910 * src/tree.cc:
1911 Only erase contents in destructor.
1912 Eliminate unnecessary initialization in assignment operator.
1913 Optimize for the nominal case by not checking whether
1914 container is empty in clear().
1915 Re-order test in _M_insert() to improve performance.
1916 Move initialization of new node's left & right pointers to
1917 src/tree.cc to where new node's colour is initialized
1918 and to reduce the amount of inline code.
1919 Use _M_leftmost() and _M_end() to improve readability where
1920 appropriate.
1921 Create separate classes for non-constant and constant
1922 iterators to clarify code, avoid extra template parameters and
1923 casting away constness.
1924
1925 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1926
1927 * src/Makefile.am (sources): Add list.cc, tree.cc.
1928 * src/stl_tree.cc: Move to...
1929 * src/tree.cc: ...here.
1930 * src/list.cc: Add.
1931 * config/linker-map.gnu: Tweaks.
1932 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1933 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1934
1935 * bits/stl_vector.h: Column wrap comments.
1936
1937 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1938
1939 (re-open) PR libstdc++/12658
1940 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1941 (locale::global): Likewise.
1942
1943 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1944
1945 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1946 Remove redundant #include.
1947 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1948 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1949 re-enable normal testing.
1950 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1951 #include.
1952 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1953 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1954 Likewise.
1955 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1956 Likewise.
1957 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1958 Likewise.
1959 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1960 Likewise.
1961 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1962 Likewise.
1963 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1964 Likewise.
1965 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1966 Likewise.
1967 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1968 More properly, #include <locale>.
1969 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1970 Remove redundant #include.
1971 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1972 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1973 redundant DejaGnu directive.
1974 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1975 redundant #include.
1976
1977 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1978 Stefan Olsson <stefan@snon.net>
1979
1980 * scripts/check_performance: Use -pthread.
1981 * testsuite/performance/allocator.cc: Tweaks, add list.
1982 * testsuite/performance/allocator_thread.cc: New.
1983
1984 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1985
1986 * include/bits/locale_facets.h: Document public classes and
1987 functions.
1988 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1989 Add comment.
1990
1991 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1992
1993 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1994 Remove redundant #includes.
1995 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1996 Likewise.
1997 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1998 Likewise.
1999 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
2000 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
2001 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
2002 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
2003 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
2004 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
2005 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
2006 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
2007 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
2008 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
2009 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
2010 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
2011 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
2012 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
2013 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
2014 Likewise.
2015 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
2016 Likewise.
2017 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
2018 Likewise.
2019 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
2020 Likewise.
2021 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
2022 Likewise.
2023 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
2024 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
2025 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
2026
2027 2004-01-04 Paolo Carlini <pcarlini@suse.de>
2028
2029 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
2030 Remove redundant #includes.
2031 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
2032 Likewise.
2033 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
2034 Likewise.
2035 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
2036 Likewise.
2037 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
2038 Likewise.
2039 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
2040 Likewise.
2041 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
2042 Likewise.
2043 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2044 Likewise.
2045 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
2046 Likewise.
2047 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
2048 Likewise.
2049 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
2050 Likewise.
2051 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
2052 Likewise.
2053 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
2054 Likewise.
2055
2056 2004-01-04 Mark Mitchell <mark@codesourcery.com>
2057
2058 PR c++/12226
2059 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
2060 constructor.
2061 * testsuite/27_io/basic_fstream/4.cc: Likewise.
2062 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
2063 * testsuite/27_io/basic_ios/4.cc: Likewise.
2064 * testsuite/27_io/basic_iostream/4.cc: Likewise.
2065 * testsuite/27_io/basic_istream/4.cc: Likewise.
2066 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
2067 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
2068 * testsuite/27_io/basic_ostream/4.cc: Likewise.
2069 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
2070 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
2071 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
2072
2073 2004-01-04 Paolo Carlini <pcarlini@suse.de>
2074
2075 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
2076 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
2077 always use double underscored names.
2078 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
2079 Likewise.
2080 * include/bits/locale_facets.h (struct __numpunct_cache):
2081 Dimension _M_atoms_out and _M_atoms_in one position smaller.
2082 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
2083 and _M_atoms_in.