]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Add wchar_t counterparts of the basic_stringbuf<char> tests.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
1bf4ab23
PC
12004-07-09 Paolo Carlini <pcarlini@suse.de>
2
3 Add wchar_t counterparts of the basic_stringbuf<char> tests.
4 * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
5 * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
6 * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
7 3599.cc, 9988.cc: Likewise.
8 * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
9 Likewise.
10 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
11 Likewise.
12 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
13 Likewise.
14 * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
15 Likewise.
16 * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
17 * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
18 * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
19 * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
20 Likewise.
21 * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
22 9404-1.cc: Likewise.
23 * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
24 9404-2.cc: Likewise.
25 * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
26 3955.cc: Likewise.
27 * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
28 * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
29
b714a419
PC
302004-07-08 Paolo Carlini <pcarlini@suse.de>
31
32 * include/bits/gslice.h: Trivial formatting fixes.
33 * include/bits/gslice_array.h: Likewise.
34 * include/bits/indirect_array.h: Likewise.
35 * include/bits/mask_array.h: Likewise.
36 * include/bits/slice_array.h: Likewise.
37 * include/bits/valarray_after.h: Likewise.
38 * include/bits/valarray_array.h: Likewise.
39 * include/bits/valarray_before.h: Likewise.
40 * include/std/std_valarray.h: Likewise.
41
75f29cdd
BK
422004-07-08 Benjamin Kosnik <bkoz@redhat.com>
43
44 PR c++/16169
45 * include/bits/basic_string.h (basic_string::operator=): Revert.
46
9e802114
BK
472004-07-07 Benjamin Kosnik <bkoz@redhat.com>
48
49 * configure.ac (libtool_VERSION): To 6:2:0.
50 * configure: Regenerated.
51
52 * testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
53
542004-07-07 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
55
56 PR libstdc++/16411
57 * config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
58
f83295c8
BK
592004-07-07 Benjamin Kosnik <bkoz@redhat.com>
60
61 * docs/html/abi.html: Updates for 3.4.1 release. Add summary of
62 -Weffc++ issues.
63
9f9000d1
PC
642004-07-07 Paolo Carlini <pcarlini@suse.de>
65
66 PR libstdc++/16401
67 * include/bits/sstream.tcc (overflow): When reallocating _M_string
68 use an exponential grow policy.
69 * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
70 * testsuite/performance/27_io/stringbuf_overflow.cc: New.
71
185fca74
AH
722004-07-06 Anssi Hannula <anssi.hannula@mbnet.fi>
73
74 PR libstdc++/15928
75 * crossconfig.m4: Add in bits for djgpp.
76 * configure: Regenerate.
77
879dc459
JW
782004-07-05 Jonathan Wakely <redi@gcc.gnu.org>
79
80 * testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
81 instantiation of set and multiset (functor param given as int).
82
43da93a7
PC
832004-07-04 Paolo Carlini <pcarlini@suse.de>
84
85 * include/bits/basic_string.h: Trivial formatting fixes and/or
86 const-ification of some variables.
87 * include/bits/deque.tcc: Likewise.
88 * include/bits/stl_algobase.h: Likewise.
89 * include/bits/stl_bvector.h: Likewise.
90 * include/bits/stl_construct.h: Likewise.
91 * include/bits/stl_deque.h: Likewise.
92 * include/bits/stl_pair.h: Likewise.
93 * include/bits/stl_vector.h: Likewise.
94 * include/bits/vector.tcc: Likewise.
95
f1ee6eca
PC
962004-07-04 Paolo Carlini <pcarlini@suse.de>
97
98 * testsuite/25_algorithms/copy/1.cc: Add instantiations for
99 systems with no COMDAT or weak support.
100 * testsuite/25_algorithms/copy/2.cc: Likewise.
101 * testsuite/25_algorithms/copy/3.cc: Likewise.
102 * testsuite/25_algorithms/copy/4.cc: Likewise.
103
1568430f
PB
1042004-07-03 Paul Brook <paul@codesourcery.com>
105
106 * configure.ac: Set ABI_TWEAKS_SRCDIR.
107 * configure.host: Set abi_tweaks_dir. Check for atomicity.h when
108 setting atomicity_dir. Override type_cpu for arm based targets.
109 * include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
110 * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
111 * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
112 * libsupc++/vec.cc: Ditto.
113 * config/cpu/arm/cxxabi_tweaks.h: New file.
114 * config/cpu/generic/cxxabi_tweaks.h: New file.
115 * */Makefile.in: Regenerate.
116 * configure: Regenerate.
117
5e91e92e
PC
1182004-07-02 Paolo Carlini <pcarlini@suse.de>
119
120 * include/bits/type_traits.h (_Is_normal_iterator): Move...
121 * include/bits/cpp_type_traits.h: ... here, renamed to
122 __is_normal_iterator and consistent with the other traits.
123 * include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
124 to the struct __copy_normal and three specializations.
125 (__copy_backward_output_normal_iterator,
126 __copy_backward_input_normal_iterator): Likewise, convert to
127 the struct __copy_backward_normal and three specializations.
128 (copy, copy_backward): Use the latter.
129 (__copy_aux, __copy_backward_aux): Very minor tweaks.
130
695e0fbf
PC
1312004-07-01 Paolo Carlini <pcarlini@suse.de>
132
133 * include/bits/stl_algobase.h (__copy_trivial): Remove.
134 (__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
135 __is_trivially_copyable, __are_same and __copy::copy.
136 (__copy): Rewrite as a class template and two specializations.
137 (__copy_ni2): Simplify, just call __copy_aux.
138
139 * include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
140 check.
141 * testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
142 for destination value type != source value type.
143
f65d3201 1442004-07-01 Benjamin Kosnik <bkoz@redhat.com>
7f1ee569 145 Per Bothner <per@bothner.com>
f65d3201
BK
146 Mohan Embar <gnustuff@thisiscool.com>
147
148 PR libstdc++/16248
149 * include/bits/concurrence.h (__glibcxx_mutex_type): New.
150 (__glibcxx_mutex): Encapsulate mutex init function into type for
151 threaded configurations without __GTHREAD_MUTEX_INIT.
152 (lock::lock): Make device member a reference.
153 (lock::~lock): Same.
154 * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
155 to mutex_type.
156 * src/allocator.cc: Same.
157
1190bcd8
BS
1582004-06-30 Brad Spencer <spencer@infointeractive.com>
159
160 * include/ext/mt_allocator.h: Handle allocations at static
161 initialization that happen before _S_options is (automatically)
162 constructed; set _S_init even if _M_force_new is true.
163
bd535dc5
BK
1642004-06-30 Benjamin Kosnik <bkoz@redhat.com>
165
166 * config/linker-map.gnu: Revert new exports.
167
9abf398d
BK
1682004-06-30 Benjamin Kosnik <bkoz@redhat.com>
169 Stuart Anderson <anderson@netsweng.com>
170
171 * config/linker-map.gnu: Add destructor exports for abstract base
172 classes to conform to LSB.
173
badd64ad
PC
1742004-06-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
175 Paolo Carlini <pcarlini@suse.de>
176
177 * include/bits/cpp_type_traits.h: Add __is_pointer and
178 __is_trivially_copyable.
179 * include/bits/stl_algobase.h (fill, fill_n): Slightly
180 tweak to use the latter.
181 (__copy_backward_dispatch): Remove.
182 (__copy_backward_aux): Rewrite to use __is_pointer and
183 __is_trivially_copyable and __copy_backward::copy_b.
184 (__copy_backward): Rewrite as a class template and two
185 specializations.
186
1872004-06-30 Paolo Carlini <pcarlini@suse.de>
188
189 * testsuite/25_algorithms/copy.cc: Move to...
190 * testsuite/25_algorithms/copy/1.cc: ... here, extend.
191 * testsuite/25_algorithms/copy/2.cc: New.
192 * testsuite/25_algorithms/copy/3.cc: New.
193 * testsuite/25_algorithms/copy/4.cc: New.
194
46e995e0
PB
1952004-06-29 Paul Brook <paul@codesourcery.com>
196
197 * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
198 element size in the cookie.
199
ff89096a
PC
2002004-06-28 Paolo Carlini <pcarlini@suse.de>
201
202 * include/bits/cpp_type_traits.h: Move the additions to
203 namespace __gnu_internal outside of namespace std; trivial
204 formatting fixes.
205
4723805a
BK
2062004-06-28 Benjamin Kosnik <bkoz@redhat.com>
207
208 * include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
209 Revert -Weffc++ changes that defined copy ctory and or assignment
210 operator.
211 * libsupc++/tinfo.cc (__upcast_result): Same.
212
2d91a076
PC
2132004-06-28 Paolo Carlini <pcarlini@suse.de>
214
215 * src/localename.cc (locale::_Impl::_Impl): Slightly improve
216 the algorithm used to name the categories.
217
e4cb0c04
PB
2182004-06-28 Paolo Bonzini <bonzini@gnu.org>
219
220 * include/Makefile.am: Give a .gch extension to
221 the PCH files, not only to the directory.
222 * include/Makefile.in: Regenerate.
223
61c53cd3
PC
2242004-06-28 Paolo Carlini <pcarlini@suse.de>
225
226 * config/locale/gnu/monetary_members.cc
227 (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
228 assignments of _M_decimal_point and _M_thousands_sep.
229
b80ec515
PC
2302004-06-27 Paolo Carlini <pcarlini@suse.de>
231
232 * docs/html/17_intro/contribute.html: Update some links.
233 * docs/html/17_intro/porting-howto.html: Likewise.
234 * docs/html/17_intro/porting-howto.xml: Likewise.
235 * docs/html/18_support/howto.html: Likewise.
236 * docs/html/21_strings/howto.html: Likewise.
237 * docs/html/27_io/howto.html: Likewise.
238 * docs/html/configopts.html: Likewise.
239 * docs/html/ext/howto.html: Likewise.
240 * docs/html/faq/index.html: Likewise.
241 * docs/html/install.html: Don't mention 2.x compilers.
242
a6048f29
PC
2432004-06-27 Paolo Carlini <pcarlini@suse.de>
244
245 * include/ext/rope: Trivial formatting fixes.
246 * include/ext/ropeimpl.h: Likewise.
247
1ab3a0ad
PC
2482004-06-26 Paolo Carlini <pcarlini@suse.de>
249
250 PR libstdc++/16210
251 * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
252 availability of strto(u)ll, not used anymore in the iostreams.
253 * configure: Regenerate.
254
795af1d7
BK
2552004-06-25 Benjamin Kosnik <bkoz@redhat.com>
256
257 PR libstdc++/16182
258 * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
259 AC_DEFINE_UNQUOTED.
260 * configure: Regenerate.
261
4185ae53
PB
2622004-06-25 Paul Brook <paul@codesourcery.com>
263
264 * libsupc++/cxxabi.h: Define __ARM_EABI__
265 (__guard): Use it.
266 * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
267
29357d8b
PB
2682004-06-25 Paul Brook <paul@codesourcery.com>
269
270 * include/bits/concurrence.h: Still create mutex object when
271 single-threaded.
272
07e938fc
PC
2732004-06-25 Paolo Carlini <pcarlini@suse.de>
274
275 * include/bits/stl_algobase.h (fill, fill_n): Revert last
276 change: actually we need to copy construct an object of type
277 _Tp, not of type iterator_traits<>::value_type, therefore the
278 code is ok.
279
1a277d94
PC
2802004-06-25 Paolo Carlini <pcarlini@suse.de>
281
282 * include/bits/stl_algobase.h (fill, fill_n): Tighten the
283 dispatch: use iterator_traits<>::value_type, not _Tp.
284
576df321
PC
2852004-06-25 Paolo Carlini <pcarlini@suse.de>
286
287 * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
288 * testsuite/25_algorithms/fill/2.cc: Likewise.
289
6e539e23
PC
2902004-06-25 Dan Nicolaescu <dann@ics.uci.edu>
291 Paolo Carlini <pcarlini@suse.de>
292
293 * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
294 for fill and fill_n, respectively: when copying is cheap, use a
295 temporary to avoid a memory read in each iteration.
296
2972004-06-25 Paolo Carlini <pcarlini@suse.de>
298
299 * testsuite/25_algorithms/fill/1.cc: New.
300 * testsuite/25_algorithms/fill/2.cc: Likewise.
301
c19d6c9f
BK
3022004-06-25 Benjamin Kosnik <bkoz@redhat.com>
303
304 * include/debug/formatter.h (__gnu_debug::_Error_formatter):
305 Remove copy constructor and assignment operator.
306
838d4309
BK
3072004-06-24 Benjamin Kosnik <bkoz@redhat.com>
308
309 * include/bits/concurrence.h (__gnu_cxx::lock): New.
310 * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
311 (__pool_base::_M_get_mutex): New.
312 * include/bits/allocator.h: Tweak.
313 * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
314 * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
315 * include/bits/stl_threads.h: Remove.
316 * include/Makefile.am: Also here.
317 * include/Makefile.in: Regenerate.
318
319 * src/locale_init.cc: Use __gnu_cxx::lock.
320
321 * src/allocator.cc: Move all instantiations...
322 * src/allocator-inst.cc: ...here.
323
d42093a1
AP
3242004-06-23 Andrew Pinski <apinski@apple.com>
325
326 * linkage.m4: Remove check for libmx.
327 * configure: Regenerate.
328
dcbbf6f3
PC
3292004-06-23 Paolo Carlini <pcarlini@suse.de>
330
331 PR libstdc++/16154
332 * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
333 Don't require the _DefaultConstructibleConcept.
334 (struct _ForwardIteratorConcept): Require it here.
335
fa948784
AO
3362004-06-22 Alexandre Oliva <aoliva@redhat.com>
337
338 * include/bits/istream.tcc (getline): Make sure arguments passed
339 to min/max have the same type.
340 * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
341 * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
342
3b56276e
BK
3432004-06-22 Benjamin Kosnik <bkoz@redhat.com>
344
345 * docs/html/abi.html: Update links.
346
482c0c5d
PC
3472004-06-22 Paolo Carlini <pcarlini@suse.de>
348
349 * testsuite/26_numerics/complex_inserters_extractors.cc,
350 complex_value.cc, buggy_complex.cc: Move to...
351 * testsuite/26_numerics/complex/: ... here.
352 * testsuite/26_numerics/c99_classification_macros_c++.cc,
353 c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
354 fabs_inline.cc: Move to...
355 * testsuite/26_numerics/cmath/: ... here.
356 * testsuite/26_numerics/binary_closure.cc, slice.cc,
357 slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
358 valarray_name_lookup.cc, valarray_operators.cc,
359 valarray_subset_assignment.cc: Move to...
360 * testsuite/26_numerics/valarray/: ... here (new dir).
361 * testsuite/26_numerics/sum_diff.cc: Move to...
362 * testsuite/26_numerics/numeric/: ... here (new dir).
363
80dddedc
PC
3642004-06-22 Paolo Carlini <pcarlini@suse.de>
365
366 * include/std/std_istream.h (ignore(streamsize __n = 1,
367 int_type __delim = traits_type::eof())): Split into...
368 (ignore(), ignore(streamsize __n), ignore(streamsize __n,
369 int_type __delim)): The first two can be much more simpler
370 and efficient than the fully general case; also, the last
371 two can take advantage of the same mechanism already used
372 for getline.
373 * include/bits/istream.tcc (ignore(streamsize __n = 1,
374 int_type __delim = traits_type::eof()): Remove.
375 (ignore(), ignore(streamsize __n), ignore(streamsize __n,
376 int_type __delim)): New.
377
88c499cc
LR
3782004-06-21 Loren J. Rittle <ljrittle@acm.org>
379
380 * config/linker-map.gnu: Use wildcards for
381 __basic_file::sys_open(FILE*, _Ios_Openmode).
382
aa33d725
PC
3832004-06-20 Paolo Carlini <pcarlini@suse.de>
384
385 * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
386
e2aa7005
PC
3872004-06-18 Paolo Carlini <pcarlini@suse.de>
388
389 * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
390 the alignment requested.
391 (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
392 (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
393 (__mt_alloc<>::deallocate): Likewise.
394
ab3d88be
PC
3952004-06-18 Paolo Carlini <pcarlini@suse.de>
396
397 PR libstdc++/16020
398 * include/debug/safe_base.h
399 (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
400 _Safe_sequence_base::operator=): Provide definitions.
401 * testsuite/23_containers/bitset/cons/16020.cc: New.
402
2832d07b
BK
4032004-06-18 Benjamin Kosnik <bkoz@redhat.com>
404
405 * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
406 (__pool_base): Remove unused template parameter. Add
407 protected. Move lock data into __pool_base::_Lock. Remove static
408 on member functions.
409 (__pool_base::_M_get_free_list): New.
410 (__pool_alloc): Move _S_force new here.
411 * src/allocator.cc: Move out of line __pool_base definitions here.
412 * config/linker-map.gnu: Export bits from __pool_base.
413
a80e0e83
PC
4142004-06-18 Paolo Carlini <pcarlini@suse.de>
415
416 * config/locale/gnu/numeric_members.cc
417 (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
418 assignments of _M_decimal_point and _M_thousands_sep.
419 * config/locale/gnu/time_members.cc
420 (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
421 and reformat assignments of date and time fields.
422
e751adc3
PC
4232004-06-16 Paolo Carlini <pcarlini@suse.de>
424
425 * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
426 to use _Data_allocate.
427 * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
428 (rope<>::_S_substring): Likewise.
429 (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
430 (rope<>::c_str()): Likewise.
431 (rope<>::replace_with_c_str()): Likewise.
432
433 * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
434 Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
435 not _RopeRep.
436 (_Rope_iterator_base<>::_S_setcache): Likewise.
437 (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
438 (rope<>::_S_substring): Likewise.
439 (rope<>::_S_dump): Likewise.
440 (rope<>::_S_fetch_ptr): Likewise.
441 (rope<>::_S_compare): Likewise.
442 (rope<>::replace_with_c_str()): Likewise.
443
444 * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
445 * testsuite/ext/rope/2.cc: New.
446
4472004-06-16 Paolo Carlini <pcarlini@suse.de>
448 Matt Austern <austern@apple.com>
449
450 * testsuite/ext/rope/3.cc: New.
451
94632047 4522004-06-15 Paolo Bonzini <bonzini@gnu.org>
076e5443
PB
453
454 * acinclude.m4: Remove useless multilib configury.
455 * Makefile.am: Remove useless multilib rules.
456 * aclocal.m4: Regenerate.
457 * Makefile.in: Regenerate.
458 * configure: Regenerate.
459
659e82ad
PC
4602004-06-15 Paolo Carlini <pcarlini@suse.de>
461
462 * include/ext/hashtable.h: Trivial formatting fixes.
463 * include/ext/rb_tree: Likewise.
464
d962e073
PC
4652004-06-14 Paolo Carlini <pcarlini@suse.de>
466
467 * include/ext/hash_map: Trivial formatting fixes.
468 * include/ext/hash_set: Likewise.
469 * include/ext/memory: Likewise.
470 * include/ext/numeric: Likewise.
471
2373de3a
BK
4722004-06-14 Benjamin Kosnik <bkoz@redhat.com>
473
474 * Makefile.in: Regenerate with automake 1.8.5.
475 * aclocal.m4: Same.
476 * include/Makefile.in: Same.
477 * libmath/Makefile.in: Same.
478 * libsupc++/Makefile.in: Same.
479 * po/Makefile.in: Same.
480 * src/Makefile.in: Same.
481 * testsuite/Makefile.in: Same.
482
14ba6d00
PC
4832004-06-14 Paolo Carlini <pcarlini@suse.de>
484
485 * include/ext/slist: Trivial formatting fixes.
486
ce2a46a2
PC
4872004-06-14 Paolo Carlini <pcarlini@suse.de>
488
489 * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
490 Don't use the 'magic number' 10 in the computation of __minlen;
491 never access __name past __minlen; in the loop over __i3, don't
492 decrease __nmatches and increase __i3 at once, only either of
493 the two; tidy.
494
fc6b4171
PC
4952004-06-13 Paolo Carlini <pcarlini@suse.de>
496
497 * include/bits/locale_facets.tcc (time_get<>::do_get_time,
498 time_get<>::do_get_date): Use only once _M_extract_via_format,
499 instead of going through "%X"/"%x" and calling it two times
500 (+ using widen).
501
4a787fa8
PC
5022004-06-12 Paolo Carlini <pcarlini@suse.de>
503
504 * include/ext/algorithm: Trivial formatting fixes.
505 * include/ext/functional: Likewise.
506 * include/ext/hash_fun.h: Likewise.
507 * include/ext/iterator: Likewise.
508
5092004-06-12 Paolo Carlini <pcarlini@suse.de>
510
511 * include/bits/basic_string.tcc (find(const _CharT*, size_type,
512 size_type)): Reimplement using std::search.
513 * src/string-inst.cc: Instantiate std::search for char/wchar_t.
514
5152004-06-12 Dhruv Matani <dhruvbird@gmx.net>
516
517 * testsuite/performance/21_strings/string_find.cc: New.
518
bdd2a210
AL
5192004-06-10 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
520
521 * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
522
9ef313e3
JD
5232004-06-10 Jan van Dijk <jan@etpmod.phys.tue.nl>
524
525 * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
526 this function return a value.
527
7338fc64
PC
5282004-06-09 Paolo Carlini <pcarlini@suse.de>
529
530 PR libstdc++/15775
531 * include/bits/stl_deque.h: Consistently with stl_set.h, define
532 pointer as allocator's pointer, likewise for reference,
533 const_pointer, and const_reference.
534 * include/bits/stl_list.h: Likewise.
535 * include/bits/stl_map.h: Likewise.
536 * include/bits/stl_multimap.h: Likewise.
537 * include/bits/stl_vector.h: Likewise.
538
92efec6e
BK
5392004-06-09 Benjamin Kosnik <bkoz@redhat.com>
540
541 * crossconfig.m4: Remove signbit, signbitf, signbitl.
542 * linkage.m4: Comment LIBMATHOBJS, tweak others. AC_DEFINES for
543 builtin math functions instead of AC_DEFINE_UNQUOTED.
544 * configure: Regenerate.
545
57ffad2b
BK
5462004-06-08 Benjamin Kosnik <bkoz@redhat.com>
547
548 * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
549 * docs/doxygen/mainpage.html: Remove links.
550
37f3105a
JM
5512004-06-08 Jason Merrill <jason@redhat.com>
552
553 * config/linker-map.gnu: Use wildcards for
554 __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
555
5f1a5ede
PC
5562004-06-08 Paolo Carlini <pcarlini@suse.de>
557
558 * include/ext/pool_allocator.h: Convert to a global free-list,
559 as per the original SGI/HP design: move the implementation
560 details to struct __pool_base, from which __pool_alloc derives.
561 * src/allocator.cc: Instantiate __pool_base.
562
345b912f
DM
5632004-06-07 Dhruv Matani <dhruvbird@gmx.net>
564 Paolo Carlini <pcarlini@suse.de>
565
566 * testsuite/testsuite_performance.h
567 (resource_counter::allocated_memory): Make it return the right
568 number of bytes requested by the allocators/application. This is
569 the sbrk+mmaped memory.
570
b53dcf3e
GDR
5712004-06-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
572
573 * include/std/std_complex.h (log): Tidy.
574
7c9fee34
BK
5752004-05-31 Benjamin Kosnik <bkoz@redhat.com>
576
577 * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
578 * testsuite/testsuite_abi.cc: Same.
579 * configure.ac (libtool_VERSION): Bump to 6:1:0.
580 * configure: Regenerate.
581 * aclocal.m4: Regenerate.
582
a4ddde0d
GDR
5832004-05-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
584
585 * include/std/std_complex.h (complex<_Tp>): Properly indent
586 to follow C++STYLE.
587 (complex<>::__rep): New.
588 (__complex_abs): New. Dispatch to built-ins.
589 (abs): Use them.
590 (__complex_arg): New. Dispatch to built-ins.
591 (arg): Use it.
592 (__complex_cos): New. Dispatch to built-ins.
593 (cos): Use it.
594 (__complex_cosh): New. Dispatch to built-ins.
595 (cosh): Use it.
596 (__complex_exp): New. Dispatch to built-ins.
597 (exp): Use it.
598 (__complex_log): New. Dispatch to built-ins.
599 (log): Use it.
600 (__complex_sin): New. Dispatch to built-ins.
601 (sin): Use it.
602 (__complex_sinh): New. Dispatch to built-ins.
603 (sinh): Use it.
604 (__complex_sqrt): New. Dispatch to built-ins.
605 (sqrt): Use it.
606 (__complex_tan): New. Dispatch to built-ins.
607 (tan): Use it.
608 (__complex_tanh): New. Dispatch to built-ins.
609 (tanh): Use it.
610 (__complex_pow): New. Dispatch to built-ins.
611 (pow): Use it.
612
803cb0b5
RK
6132004-05-29 Richard B. Kreckel <Richard.Kreckel@Framatome-ANP.com>
614 Benjamin Kosnik <bkoz@redhat.com>
615
616 PR libstdc++/14600
617 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
618 * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
619 * config/io/basic_file_stdio.cc (__basic_file::file): New.
620 * config/io/basic_file_stdio.h: Define.
621
e8a382b7
BK
6222004-05-27 Benjamin Kosnik <bkoz@redhat.com>
623
624 PR libstdc++/15675
625 * docs/html/documentation.html: Update doxygen links for 3.4.0.
626
a9c70186
JB
6272004-05-27 Jan Beulich <jbeulich@novell.com>
628
629 * scripts/create_testsuite_files: Tweak.
630
9874adaf
BK
6312004-05-25 Benjamin Kosnik <bkoz@redhat.com>
632
633 PR libstdc++/15489
634 * scripts/create_testsuite_files: Revert xtype change, add non-GNU
635 bits to do the same thing.
636
b1c5b5a0
PC
6372004-05-24 Paolo Carlini <pcarlini@suse.de>
638
639 * include/bits/istream.tcc (ignore): Correctly deal with
640 n == numeric_limits<streamsize>::max().
641 * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
642
643 * include/bits/istream.tcc (basic_istream<>::getline): Prefer
644 '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
645 __n == numeric_limits<>::min().
646
647 * include/bits/istream.tcc: Minor tweaks.
648
649 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
650 Tighten.
651 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
652 Likewise.
653 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
654 Likewise.
655 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
656 Likewise.
657 * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
658
26c691a8
BK
6592004-05-22 Benjamin Kosnik <bkoz@redhat.com>
660
661 PR libstdc++/12854
662 Fixups for -Weffc++.
663 * include/bits/basic_string.h (basic_string::operator=): Return
664 pointer to this instead of result of assign. Although redundant,
665 this doesn't impact resultant codegen.
666
667 * include/bits/locale_facets.h (__numpunct_cache): Declare
668 assignment opxserator and copy constructor private.
669 (__timepunct_cache): Same.
670 (__moneypunct_cache): Same.
671 (collate): Use member initialization list for _M_c_locale_collate.
672 * config/locale/gnu/messages_members.h: Same.
673 * config/locale/gnu/time_members.h (__timepunct): Same.
674 * src/codecvt.cc: Use member initialization list to initialize
675 _M_c_locale_codecvt.
676 * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
677 * config/os/gnu-linux/ctype_noninline.h: Same.
678 * src/locale.cc (_Impl): Same.
679 * src/locale_init.cc: Same.
680 * src/localename.cc: Same.
681
682 * include/bits/basic_ios.h (basic_ios): Complete member
683 initialization list.
684 * include/bits/istream.tcc (basic_istream::sentry): Same.
685 * include/bits/ostream.tcc (basic_ostream::sentry): Same.
686 * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
687 _M_pback to member initialization list.
688 * include/std/std_streambuf.h: Same.
689 * include/std/std_sstream.h: Same, for _M_mode.
690 * src/ios.cc (ios_base): Same.
691
692 * include/ext/rope: Make derived classes match exception
693
694 specifications. Add copy constructors and assignment operators.
695
696 * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
697 constructor and assignment operator protected.
698 (_Safe_iterator_base): Same.
699 * include/debug/formatter.h (_Error_formatter): Define copy
700 constructor and assignment operator.
701
702 * include/backward/strstream: Declare assignment operator and copy
703 constructor private.
704
f4a1faa5
BK
7052004-05-22 Benjamin Kosnik <bkoz@redhat.com>
706
707 * testsuite/testsuite_hooks.h (func_callback): Declare copy
708 constructor and assignment operator private.
709 * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
710 exception specifications of base class.
711 * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
712 * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
713 * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
714
52ceb039
BK
7152004-05-22 Benjamin Kosnik <bkoz@redhat.com>
716
717 * libsupc++/cxxabi.h: Remove duplicated and useless public and
718 private keywords in class declarations. Format. Use
719 stddef.h. Expose declarations to "C" compilation.
720 * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
721 assignment operator.
722 (__dyncast_result): Same.
723 * libsupc++/vec.cc (uncatch_exception): Same, use member
724 initialization list.
725
6ad70bf2
BK
7262004-05-22 Benjamin Kosnik <bkoz@redhat.com>
727
728 * testsuite/abi_check.cc: Add unistd.h.
729
fea6ecb7
PC
7302004-05-22 Paolo Carlini <pcarlini@suse.de>
731
732 PR libstdc++/15565
733 * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
734 __int_to_char(unsigned long long)): Showpos is not relevant
735 for unsigned types.
736 * testsuite/22_locale/num_put/put/char/15565.cc: New.
737 * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
738
739 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
740 char.
741 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
742 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
743 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
744 * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
745 * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
746 * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
747
2461ecbe
MK
7482004-05-21 Matthias Klose <doko@debian.org>
749
750 * docs/doxygen/run_doxygen: Bump required version.
751
a3e14d39
BK
7522004-05-21 Benjamin Kosnik <bkoz@redhat.com>
753
754 * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
755 * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
756
32da6208
PC
7572004-05-21 Paolo Carlini <pcarlini@suse.de>
758
759 * include/bits/istream.tcc (ignore): Remove redundant line.
760 (readsome): Tidy, closely following 27.6.1.3, p30.
761
3adf6cad
PC
7622004-05-20 Paolo Carlini <pcarlini@suse.de>
763
764 * include/bits/istream.tcc (operator>>(basic_istream<>&,
765 basic_string<>&)): Use a temporary buffer, thus avoiding
766 reallocation for common case.
767 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
768 New.
769 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
770 Likewise.
771
772 * include/bits/istream.tcc: Const-ification of a few variables.
773
774 * include/bits/ostream.tcc: Trivial formatting fixes and
775 const-ification of some variables.
776
66fda8b2
BK
7772004-05-20 Benjamin Kosnik <bkoz@redhat.com>
778
779 PR libstdc++/15123
780 PR libstdc++/13928
781 * docs/doxygen/Intro.3: Remove Allocators.3.
782 Add new extension headers, extension namespace list.
783 * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
784 Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
785 __gnu_debug::. Remove __policy_ renames.
786 * docs/doxygen/guide.html: Add dot note.
787 * docs/doxygen/stdheader.cc: Edit, add files.
788 * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
789
c6618c03
JW
7902004-05-18 Jonathan Wakely <redi@gcc.gnu.org>
791
792 * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
793
b79634e3
JB
7942004-05-18 Jan Beulich <jbeulich@novell.com>
795
796 PR libstdc++/15489
797 * scripts/create_testsuite_files: Also find source files through
798 symbolic links.
799
8002004-05-18 Jan Beulich <jbeulich@novell.com>
801
802 PR libstdc++/15488
803 * testsuite/lib/libstdc++.exp: Make test files writable.
804
2ab20654
PC
8052004-05-18 Paolo Carlini <pcarlini@suse.de>
806
807 * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
808 tweaks.
809
8102004-05-18 Dhruv Matani <dhruvbird@gmx.net>
811
812 * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
813 allocation loop which removes blocks from the global free list
814 from O(N) to O(1) when the required blocks are <= the number
815 available.
816
319da9da
JW
8172004-05-18 Jonathan Wakely <redi@gcc.gnu.org>
818
819 * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
820
261e5b9e
BK
8212004-05-17 Benjamin Kosnik <bkoz@redhat.com>
822
823 * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
824 * testsuite/23_containers/deque/14340.cc: New.
825 * testsuite/23_containers/list/14340.cc: New.
826 * testsuite/23_containers/map/14340.cc: New.
827 * testsuite/23_containers/multimap/14340.cc: New.
828 * testsuite/23_containers/multiset/14340.cc: New.
829 * testsuite/23_containers/set/14340.cc: New.
830 * testsuite/23_containers/vector/14340.cc: New.
831
8322004-05-17 Douglas Gregor <gregod@cs.rpi.edu>
833
834 PR libstdc++/14340
835 * include/debug/safe_iterator.h (_Safe_iterator converting
836 constructor): Only allow declaration to instantiate when the
837 incoming _Safe_iterator has exactly the right iterator type.
838
b2342b54
JW
8392004-05-17 Jonathan Wakely <redi@gcc.gnu.org>
840
841 * include/bits/boost_concept_check.h: Fix old attribute syntax.
842 * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
843 to pass concept-checks.
844 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
845 * testsuite/23_containers/set/modifiers/swap.cc: Same.
846 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
847
5a4db26d
PC
8482004-05-16 Paolo Carlini <pcarlini@suse.de>
849
850 * include/std/std_bitset.h: Minor formatting fixes.
851
08f7c2eb
PC
8522004-05-16 Paolo Carlini <pcarlini@suse.de>
853
854 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
855 Consistently update __bin._M_free[0].
856 (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
857 __bin._M_free[0] to simplify the while loop (i.e., the number
858 of iterations becomes known at the outset).
859
5c33bb62
PC
8602004-05-15 Paolo Carlini <pcarlini@suse.de>
861
862 * include/std/std_bitset.h: Trivial formatting fixes.
863
394ef95e
PC
8642004-05-14 Paolo Carlini <pcarlini@suse.de>
865 Ivan Godard <igodard@pacbell.net>
866
867 PR libstdc++/15361
868 * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
869 * testsuite/23_containers/bitset/ext/15361.cc: New.
870
7549d7f2
BK
8712004-05-13 Benjamin Kosnik <bkoz@redhat.com>
872
873 PR libstdc++/15046
874 * crossconfig.m4: Add C99 math bits for linux crosses.
875 * configure: Regenerate.
876
95b147fe
SM
8772004-05-13 Simon Marshall <simon.marshall@misys.com>
878 Benjamin Kosnik <bkoz@redhat.com>
879
880 PR libstdc++/15090
881 * include/bits/locale_facets.h: Fix for -fno-for-scope.
882 * include/debug/safe_sequence.h: Same.
883 * include/debug/safe_iterator.tcc: Same.
884 * src/debug.cc: Same.
885 * src/locale.cc: Same.
886 * src/locale_init.cc: Same.
887 * src/localename.cc: Same.
888 * config/locale/gnu/ctype_members.cc: Same.
889 * config/locale/gnu/numeric_members.cc: Same.
890 * testsuite/testsuite_abi.cc: Same.
891 * testsuite/testsuite_hooks.cc: Same.
892
d7f30833
JW
8932004-05-13 Jonathan Wakely <redi@gcc.gnu.org>
894
895 * docs/html/abi.html: Document effect of -fabi-version on value
896 of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
897 Fix markup.
898
4b351c6e
BK
8992004-05-13 Benjamin Kosnik <bkoz@redhat.com>
900
901 PR libstdc++/15074
902 * docs/html/faq/index.html: Update docs for libsupc++ usage.
903
5c61a863
BK
9042004-05-13 Benjamin Kosnik <bkoz@redhat.com>
905
906 PR libstdc++/15412
907 * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
908 __gnu_internal.
909 (_GLIBCXX_mutex_address): Same.
910 (_GLIBCXX_once): Same.
911 (_GLIBCXX_mutex_init): Same.
912 (_GLIBCXX_mutex_address_init): Same.
913
4b260c20
BK
9142004-05-13 Benjamin Kosnik <bkoz@redhat.com>
915
916 * docs/html/abi.html: New.
917 * docs/html/abi.txt: Remove.
918 * docs/html/documentation.html: Add link.
919 * testsuite/Makefile.am: Add files.
920 * testsuite/Makefile.in: Regenerated.
921 * testsuite/abi_check.cc: Move and modify code into...
922 * testsuite/testsuite_abi.cc: Add.
923 * testsuite/testsuite_abi.h: Add.
924
925 * docs/html/17_intro/TODO: Update.
926 * include/bits/stl_pair.h: Format.
927
ce120bb2
MK
9282004-05-06 Matthias Klose <doko@debian.org>
929
930 * include/backward/iterator.h: Add GPL copyright info,
931 with exception clause.
932 * include/bits/boost_concept_check.h: Likewise.
933 * include
934 * libsupc++/tinfo.h: Likewise.
935 * po/string_literals.cc: Likewise.
936
dc7c62ae
AT
9372004-05-03 Andreas Tobler <a.tobler@schweiz.ch>
938
939 * acinclude.m4: Replace -W with more speaking -Wextra.
940 * configure: Rebuilt.
941
4df9c41d
PC
9422004-05-03 Paolo Carlini <pcarlini@suse.de>
943
944 Optimize locale::_M_impl->_M_names for the most common cases:
945 !_M_names[0] means unnamed; !_M_names[1] means all the categories
946 the same name (_M_names[0] && _M_names[1] means that the full set
947 of _M_names must be processed, the general case).
948 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
949 Tweak, saving work when !_M_names[1].
950 (locale::locale(const locale&, _Facet*): Simplify: now just setting
951 _M_names[0] = 0 means unnamed.
952 * src/locale.cc (locale::operator==): Deal first with the common,
953 easy cases, otherwise fall back to locale::name().
954 (locale::name()): Tweak, if !_M_names[0] just return "*".
955 (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
956 copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
957 * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
958 * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
959 Simplify when !std::strchr, just updating _M_names[0]; clean up.
960 (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
961 for the general case (full set of names), then do the usual work;
962 clean up.
963
964 * src/locale.cc (locale::name()): Reserve space in __ret.
965 * src/locale_init.cc (locale::global(const locale&)): Save
966 the name in a temporary.
967 * src/localename.cc (locale::locale(const char*)): Reserve space
968 in __str.
969
59639106
PC
9702004-04-29 Paolo Carlini <pcarlini@suse.de>
971
972 * src/locale.cc (locale::operator==): Always avoid constructing
973 locale::name(), directly compare pairs of _M_names.
974
479864fe
PC
9752004-04-26 Paolo Carlini <pcarlini@suse.de>
976
977 * include/bits/istream.tcc: Fix comment.
978
874e7baa
PC
9792004-04-26 Paolo Carlini <pcarlini@suse.de>
980
981 * include/bits/stl_vector.h: Trivial formatting fixes.
982 * include/bits/vector.tcc: Likewise.
983
247791f5
PC
9842004-04-25 Paolo Carlini <pcarlini@suse.de>
985
986 PR libstdc++/15002 (continued again)
987 * include/bits/istream.tcc (getline(basic_istream<>&,
988 basic_string<>&, _CharT)): Use a temporary buffer, thus
989 avoiding reallocation for common case.
990
991 * include/bits/basic_string.tcc (_S_construct(_InIterator,
992 _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
993 of temporary buffer to a power of two.
994
995 * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
996
c26fa757
PC
9972004-04-25 Paolo Carlini <pcarlini@suse.de>
998
999 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
1000 New.
1001 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
1002 Likewise.
1003 * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1004
062bf895
PC
10052004-04-24 Paolo Carlini <pcarlini@suse.de>
1006 Petur Runolfsson <peturr02@ru.is>
1007
1008 PR libstdc++/15002 (continued)
1009 * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
1010 streamsize, char_type)): Use traits::find/copy in a loop to speed
1011 up greatly the function in the common case (I/O buffer size >> 1).
1012
10132004-04-24 Paolo Carlini <pcarlini@suse.de>
1014
1015 * testsuite/27_io/basic_istream/getline/char/4.cc: New.
1016
1017 * include/bits/istream.tcc (getline(basic_istream<>&,
1018 basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
1019 of sbumpc(), consistently with the other functions, thus also
1020 dealing correctly with the case of exceeded string::max_size().
1021
adabbcf4
MK
10222004-04-24 Matthias Klose <doko@debian.org>
1023
1024 Jonathan Wakely <cow@compsoc.man.ac.uk>
1025 * docs/html/configopts.html: Fix reference to allocator config option.
1026
fc2ae431
AP
10272004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
1028
1029 * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
1030 * configure: Regenerate.
1031
d8fe7b29
DJ
10322004-04-23 Daniel Jacobowitz <drow@mvista.com>
1033
1034 PR libstdc++/15047, libstdc++/11610
1035 * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
1036 (libstdc++_init): Don't pass outdir to v3-copy-files.
1037
0d8c9baf
PC
10382004-04-21 Paolo Carlini <pcarlini@suse.de>
1039
1040 * include/bits/deque.tcc: Trivial formatting fixes.
1041 * include/bits/stl_deque.h: Likewise.
1042 * include/bits/stl_list.h: Likewise.
1043 * include/bits/stl_tree.h: Likewise.
1044
0a746019
PC
10452004-04-21 Paolo Carlini <pcarlini@suse.de>
1046 Andrew Pinski <pinskia@physics.uc.edu>
1047
1048 * include/bits/basic_string.tcc (_M_mutate): Don't compute
1049 __src unnecessarily.
1050
3dd50c74
BK
10512004-04-19 Benjamin Kosnik <bkoz@redhat.com>
1052
1053 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1054 Clarify assertion, set test variable to false before assert.
1055 * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
1056 * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
1057 * testsuite/27_io/ios_base/storage/2.cc: Same.
1058
1059 * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
1060 function returns.
1061 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
1062 * testsuite/27_io/fpos/14320-3.cc: Same.
1063
1064 * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
1065 * testsuite/27_io/fpos/1.cc: Same.
1066 * testsuite/27_io/basic_stringstream/2.cc: Same.
1067 * testsuite/27_io/basic_stringbuf/4.cc: Same.
1068 * testsuite/27_io/basic_stringbuf/1.cc: Same.
1069 * testsuite/27_io/basic_stringbuf/2.cc: Same.
1070 * testsuite/27_io/basic_streambuf/2.cc: Same.
1071 * testsuite/27_io/basic_ostringstream/2.cc: Same.
1072 * testsuite/27_io/basic_ostream/2.cc: Same.
1073 * testsuite/27_io/basic_ofstream/2.cc: Same.
1074 * testsuite/27_io/basic_istringstream/2.cc: Same.
1075 * testsuite/27_io/basic_istream/2.cc: Same.
1076 * testsuite/27_io/basic_iostream/2.cc: Same.
1077 * testsuite/27_io/basic_ios/2.cc: Same.
1078 * testsuite/27_io/basic_ifstream/2.cc: Same.
1079 * testsuite/27_io/basic_fstream/2.cc: Same.
1080 * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
1081
1082 * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
1083 unsigned against zero.
1084 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
1085 * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
1086
1087 * testsuite/18_support/new_delete_placement.cc: Initialize
1088 variables before first use.
1089 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
1090 * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
1091 * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
1092 * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
1093 Same.
1094 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
1095 * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
1096 Same.
1097 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
1098 * testsuite/27_io/types/2.cc: Same.
1099
1100 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
1101 file name.
1102 * testsuite/27_io/fpos/14775.cc: Same.
1103
41b8e86c
PC
11042004-04-19 Paolo Carlini <pcarlini@suse.de>
1105
1106 PR libstdc++/15002 (partial)
1107 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1108 Special case __n2 == 1, not calling traits_type::assign/copy.
1109
f178c2d6
BK
11102004-04-17 Benjamin Kosnik <bkoz@redhat.com>
1111
1112 * include/bits/stl_bvector.h: Use _M_impl._M_start.
1113
390e4c0d
BK
11142004-04-16 Benjamin Kosnik <bkoz@redhat.com>
1115
1116 * include/bits/c++config (_GLIBCXX_STD): New.
1117 * src/list.cc: Use it.
1118 * include/std/std_bitset.h: Same.
1119 * include/bits/vector.tcc: Same.
1120 * include/bits/stl_set.h: Same.
1121 * include/bits/stl_multiset.h: Same.
1122 * include/bits/stl_multimap.h: Same.
1123 * include/bits/stl_map.h: Same.
1124 * include/bits/stl_list.h: Same.
1125 * include/bits/stl_vector.h: Same.
1126 * include/bits/stl_bvector.h: Same.
1127 * include/bits/stl_deque.h: Same.
1128 * include/bits/deque.tcc: Same.
1129 * include/bits/list.tcc: Same.
1130 * include/debug/vector: Same.
1131 * include/debug/set.h: Same.
1132 * include/debug/multiset.h: Same.
1133 * include/debug/multimap.h: Same.
1134 * include/debug/map.h: Same.
1135 * include/debug/list: Same.
1136 * include/debug/deque: Same.
1137 * include/debug/bitset: Same.
1138 * include/debug/formatter.h (__gnu_debug): Remove using directive.
1139 Add using declaration for std::type_info.
1140 * include/debug/safe_iterator.h: Add using declaration for
1141 std::iterator_traits and std::pair.
1142 * src/debug_list.cc: New.
1143 * src/Makefile.am: Add debug_list.cc.
1144 * src/Makefile.in: Regenerate.
1145 * config/linker-map.gnu: Add _List_node_base exports for std and
1146 __gnu_norm.
1147
1148 * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
1149 idiom that other containers use.
1150 * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
1151
2f228199
PC
11522004-04-16 Paolo Carlini <pcarlini@suse.de>
1153
1154 PR libstdc++/14975
1155 * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
1156 in case of error.
1157 * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
1158 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
1159
af55af57
PC
11602004-04-16 Paolo Carlini <pcarlini@suse.de>
1161
1162 * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
1163 used anymore.
1164 * config.h.in: Regenerate.
1165
11662004-04-16 Paolo Carlini <pcarlini@suse.de>
1167
1168 * config/locale/generic/monetary_members.cc
1169 (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
1170 btowc unnecessarily, just cast to wchar_t (the concerned chars
1171 all belong to the basic character set).
1172 * config/locale/generic/numeric_members.cc
1173 (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
1174 * config/locale/gnu/monetary_members.cc
1175 (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
1176 * config/locale/gnu/numeric_members.cc
1177 (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
1178
d7ed521b
PC
11792004-04-15 Paolo Carlini <pcarlini@suse.de>
1180
1181 * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
1182 avoid constructing unnecessarily this->name().
1183
76e9802c
ZW
11842004-04-14 Zack Weinberg <zack@codesourcery.com>
1185
1186 * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
1187 Change definition of CXX to use $(shell) instead of backticks.
1188 * testsuite/Makefile.in: Regenerate.
1189
e0fb1c5c
DM
11902004-04-12 Dhruv Matani <dhruvbird@gmx.net>
1191
1192 * testsuite/performance/20_util/allocator/list_sort_search.cc:
1193 Minor formatting fixes.
1194 * testsuite/performance/20_util/allocator/map_mt_find.cc:
1195 Likewise.
1196
92861ad4
PC
11972004-04-12 Paolo Carlini <pcarlini@suse.de>
1198
1199 * config/locale/gnu/numeric_members.cc
1200 (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
1201 in __uselocale, since btowc is called for chars belonging to
1202 the basic character set.
1203
895510be
PC
12042004-04-09 Paolo Carlini <pcarlini@suse.de>
1205
1206 * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
1207 * testsuite/22_locale/messages/members/char/2.cc: Ditto.
1208 * testsuite/22_locale/messages/members/char/3.cc: Ditto.
1209 * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
1210 * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
1211 * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
1212 * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
1213 * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
1214 * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
1215 * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
1216 * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
1217 * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
1218 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
1219 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
1220 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
1221 * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
1222 * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
1223
ba98a8d8
PC
12242004-04-07 Paolo Carlini <pcarlini@suse.de>
1225
1226 * config/locale/generic/time_members.cc
1227 (__timepunct<char>::_M_initialize_timepunct,
1228 __timepunct<wchar_t>::_M_initialize_timepunct): the correct
1229 _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
1230 * config/locale/gnu/time_members.cc
1231 (__timepunct<char>::_M_initialize_timepunct,
1232 __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
1233 * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
1234 * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
1235
1236 * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
1237 * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
1238 * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
1239 * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
1240 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
1241 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
1242 * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
1243 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
1244 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
1245 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
1246 * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
1247 * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
1248 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
1249 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
1250 * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
1251 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
1252 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
1253 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
1254 * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
1255 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
1256 * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
1257 * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
1258 * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
1259 * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
1260 * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
1261 * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
1262 * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
1263 * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
1264 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
1265 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
1266 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
1267 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
1268 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
1269 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
1270 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
1271 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
1272
1273 * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
1274
f332a090
PC
12752004-04-07 Paolo Carlini <pcarlini@suse.de>
1276
1277 * config/locale/gnu/monetary_members.cc
1278 (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
1279 _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
1280 and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
1281 _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
1282 * config/locale/gnu/numeric_members.cc
1283 (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
1284 and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
1285
563ae04f
BK
12862004-04-06 Benjamin Kosnik <bkoz@redhat.com>
1287
1288 Fixups for EDG front end.
1289 * include/ext/rope: Instead of non-existent function
1290 _Data_allocate, use allocator's allocate. Use this.
1291 (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
1292 enumerations from _Rope_RopeRep here.
1293 * include/ext/ropeimpl.h: Same.
1294 * src/ext-inst.cc (_S_min_len): Fix up definition.
76e9802c 1295
563ae04f
BK
1296 * config/locale/gnu/ctype_members.cc: Qualify base class members
1297 with this.
1298 * config/locale/generic/ctype_members.cc: Same.
1299 * config/locale/gnu/messages_members.h: Same.
1300 * config/locale/generic/messages_members.h: Same.
1301 * src/ctype.cc: Same.
1302 * include/bits/codecvt.h: Same.
76e9802c 1303
563ae04f
BK
1304 * include/bits/boost_concept_check.h: Declare.
1305 (__error_type_must_be_an_unsigned_integer_type): Remove this.
1306 (__error_type_must_be_an_integer_type): Remove this.
76e9802c 1307 (__error_type_must_be_a_signed_integer_type): Remove this.
563ae04f
BK
1308
1309 * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
1310
1311 * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
1312 specification to definition.
1313 (__cxa_allocate_exception): Same.
1314 * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
1315 * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
76e9802c
ZW
1316 (__cxa_get_globals): Same.
1317
563ae04f
BK
1318 * libsupc++/del_op.cc: Add comment about freestanding.
1319
268d3b18
PC
13202004-04-05 Paolo Carlini <pcarlini@suse.de>
1321
1322 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1323 The critical section is actually very small, only two assignments.
1324
9f35e4aa
PC
13252004-04-04 Paolo Carlini <pcarlini@suse.de>
1326 Petur Runolfsson <peturr02@ru.is>
1327
1328 * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
1329 adapted from libstdc++/11378.
1330
c8333c0f
PC
13312004-04-03 Paolo Carlini <pcarlini@suse.de>
1332
1333 * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
1334 some duplicated code.
1335 (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
1336 in the single threaded case.
1337 * testsuite/performance/20_util/allocator/list_sort_search.cc:
1338 Reorder and renumber the tests consistently with the other testfiles.
1339 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
1340 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
1341 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
1342
ab40b100
PC
13432004-04-02 Paolo Carlini <pcarlini@suse.de>
1344
1345 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1346 Rearrange arithmetic to avoid computing two divisions at
1347 each deallocation.
1348
354d4c68
PC
13492004-04-01 Paolo Carlini <pcarlini@suse.de>
1350
1351 * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
1352 Streamline the second half, wrapping it in a single
1353 '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
1354 conditionals inside loops.
1355
2ae6e982
PC
13562004-04-01 Paolo Carlini <pcarlini@suse.de>
1357
1358 PR libstdc++/14775
1359 * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
1360 * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
1361 GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
1362 to _GLIBCXX_RES_LIMITS.
1363 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
1364 HAVE_LIMIT_*.
1365 * testsuite/testsuite_hooks.h: Declare set_file_limit.
1366 * testsuite/testsuite_hooks.cc: Define it, using getrlimit
1367 and setrlimit(RLIMIT_FSIZE).
1368 * testsuite/27_io/fpos/14775.cc: New.
1369 * config.h.in: Regenerate.
1370 * configure: Likewise.
1371
e004c331
PC
13722004-03-31 Paolo Carlini <pcarlini@suse.de>
1373
1374 * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
1375 In v3 uses of sscanf, the special floating-point numbers INF,
1376 INFINITY, etc., cannot occur in input, therefore, if the latter
1377 is too large, ERANGE is always stored in errno, no need of finitel.
1378
06ce7726
BK
13792004-03-30 Benjamin Kosnik <bkoz@redhat.com>
1380
1381 PR libstdc++/14783
1382 * include/bits/stl_tree.h: Adjust initialization list order.
1383
7be1c3fb
LR
13842004-03-29 Loren J. Rittle <ljrittle@acm.org>
1385
1386 * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
1387
63041e68
PC
13882004-03-29 Paolo Carlini <pcarlini@suse.de>
1389
1390 * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
1391 on allocator behavior, the memory pointed by data2 may well be not
1392 trashed.
1393
f26e5597
CB
13942004-03-28 Chavdar Botev <cbotev@yahoo.com>
1395
1396 PR libstdc++/14245
1397 * include/bits/basic_string.tcc
1398 (basic_string::basic_string(const basic_string&)): Pass to
1399 _Rep::_M_grab the actual allocator of the string being constructed
1400 not the default constructed one.
1401
a5f105b5
BK
14022004-03-27 Benjamin Kosnik <bkoz@redhat.com>
1403
1404 libstdc++ PR/13598
1405 * config/locale/ieee_1003.1-2001/codecvt_specializations.h
1406 (__enc_traits::_M_destroy): New.
1407 (__enc_traits::~__enc_traits): Use it.
1408 (__enc_traits::operator=): Use _M_destroy, _M_init.
1409 (__enc_traits::__enc_traits): Same.
1410
14112004-03-27 Petur Runolfsson <peturr02@ru.is>
1412
1413 * testsuite/ext/enc_filebuf/char/13598.cc: New.
1414
6f52a889
PC
14152004-03-27 Paolo Carlini <pcarlini@suse.de>
1416
1417 * include/ext/mt_allocator.h: Uglify consistently names of
1418 variables, members and classes; tidy.
1419
14202004-03-27 Dhruv Matani <dhruvbird@gmx.net>
1421
1422 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1423 Deallocation loop rewrote.
1424
dd95381f
PC
14252004-03-26 Paolo Carlini <pcarlini@suse.de>
1426
1427 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
1428 __mt_alloc<>::deallocate): Protect two instances of
1429 block->thread_id with __GTHREADS.
1430
8bd22a3c
BK
14312004-03-25 Gawain Bolton <gp.bolton@computer.org>
1432
1433 * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
1434 default argument in constructors.
1435 (_Rb_tree::_M_empty_initialize): Remove.
76e9802c 1436
8bd22a3c 14372004-03-25 Benjamin Kosnik <bkoz@redhat.com>
76e9802c 1438
8bd22a3c
BK
1439 * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
1440 * testsuite/23_containers/set/operators/1_neg.cc: Same.
1441
14422004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1443
1444 * include/bits/cpp_type_traits.h: Changed __is_pod
1445 completely. Now, it does not use any of the previous type_traits
1446 to detect the pod types, and it also detects function pointers as
1447 POD types.
1448
1449 * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
1450 which encapsulates the internal implementation of an rb_tree. Made
1451 the allocator a base class of this class instead of the rb_tree,
1452 which was not conforming. This _Rb_tree_impl class is also
1453 specialized on whether the _Compare parameter is a POD type or
1454 not. If so, then it maintains the comparison function as a data
1455 member, otherwise it makes the _Compare parameter a base class of
1456 itself. Also, _M_key_compare is now a function instead of a data
1457 member, so that the above trick can work properly. Delegated the
1458 initialization of the other data members to this newly created
1459 class. Also, now other member functions of rb_tree must refer to
1460 _M_key_compare as _M_impl._M_key_compare(). The other data members
1461 (*) can be referenced to as _M_impl.(*), where
1462 (*) includes _M_header, and _M_node_count.
1463
90ceccd4
PC
14642004-03-25 Paolo Carlini <pcarlini@suse.de>
1465
1466 * include/ext/mt_allocator.h (__mt_alloc<>::tune):
1467 Add _M_min_bin, the size in bytes of the smallest bin.
1468 (__mt_alloc<>::tune()): Tweak accordingly.
1469 (__mt_alloc<>::tune(size_t, ...)): Likewise.
1470 (__mt_alloc<>::block_record): Change to a union: members next
1471 and thread_id are never used at the same time.
1472 (__mt_alloc<>::allocate): Update consistently.
1473 (__mt_alloc<>::deallocate): Likewise.
1474 (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
1475 _S_bin_size for the configurable _M_min_size.
1476
03f9ea44
DM
14772004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1478
1479 * include/bits/stl_list.h: Created a _List_impl class and made it
1480 derive from the allocator, instead of the list deriving from the
1481 allocator class, which was not conformant. Changed all references
1482 from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
1483 as above (changed all references to the concerned variables).
1484
14852004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1486
1487 * include/bits/stl_deque.h: Created a _Deque_impl class and made
1488 it derive from the allocator, instead of the deque deriving from
1489 the allocator class, which was not conformant. Changed all
1490 references to the _M_start, _M_finish, _M_map, and _M_map_size to
1491 _M_impl.*.
1492 (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
1493 qualification in 2 places where it was missing.
1494 (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
1495 above.
1496 * include/bits/deque.tcc: Same as above (changed all references to
1497 the concerned variables).
1498
14992004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1500
1501 * include/bits/stl_vector.h: Created a _Vector_impl class and made
1502 it derive from the allocator, instead of the _Vector_base class,
1503 deriving from the allocator which was not conformant. Changed all
1504 references to the _M_start, _M_finish, and _M_end_of_storage to
1505 _M_impl.*.
1506 * include/bits/vector.tcc: Same as above (changed all references
1507 to the concerned variables).
1508
15092004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1510
1511 * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
1512 * testsuite/23_containers/list/cons/clear_allocator.cc: New.
1513 * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
76e9802c 1514
58c95921
DM
15152004-03-24 Dhruv Matani <dhruvbird@gmx.net>
1516
03f9ea44
DM
1517 * include/ext/malloc_allocator.h: Fixed the construct function to
1518 call global placement new instead of assignment. Added a check
1519 after the return from malloc to check whether returned pointer is
1520 NULL, and if so, throw std::bad_alloc().
1521 * include/ext/debug_allocator.h: Added a check in the deallocate
1522 function to check whether the user has passed a NULL pointer or
1523 not.
76e9802c 1524
8367b9c1
BK
15252004-03-24 Benjamin Kosnik <bkoz@redhat.com>
1526
1527 * docs/html/20_util/allocator.html: Add bitmap_allocator links.
1528
d62c1a1f
AS
15292004-03-24 Andreas Schwab <schwab@suse.de>
1530
1531 * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
1532 warning from IA64 assembler.
1533
71f9a9d1 15342004-03-24 Dhruv Matani <dhruvbird@gmx.net>
76e9802c 1535
71f9a9d1
DM
1536 * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
1537 function call __builtin_ctz instead of the while loop.
1538 (allocate) -> If condition has __builtin_expect.
1539 (deallocate) -> Ditto.
1540 Renamed a few left-over variables and typedefs according to the
1541 C++STYLE mentioned in the documentation.
1542 Protected calls to __gthread* by __gthread_active_p(), whose value
1543 is cached in the local variable __threads_active.
1544
b4a76c01
FY
15452004-03-24 Felix Yen <fwy@alumni.brown.edu>
1546
1547 * testsuite/performance/20_util/allocator/producer_consumer.cc:
1548 Use linear algorithm for producer.
76e9802c 1549
affb18b2
PC
15502004-03-24 Paolo Carlini <pcarlini@suse.de>
1551
1552 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
1553 __mt_alloc<>::deallocate): Avoid redundant conditionals.
1554
586b5f20
BK
15552004-03-23 Benjamin Kosnik <bkoz@redhat.com>
1556
1557 * include/bits/locale_facets.h: Tweaks for 80 column.
1558 (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
1559 (__moneypunct_cache::_M_cache): Same.
1560 (num_get): Don't inherit from __num_base.
1561 (num_put): Same.
1562 (money_get): Don't inherit from money_base.
1563 (money_put): Same.
1564 (__timepunct::_M_am_pm_format): New.
1565 (time_get::_M_extract_num): Return iterator, use ios_base as argument.
1566 (time_get::_M_extract_name): Same.
1567 (time_get::_M_extract_via_format): Same.
1568 * include/bits/locale_facets.tcc: Tweaks for 80 column.
1569 Use _M_getloc instead of getloc.
1570 * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
1571 * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
1572 * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
1573
29d4adf4
PC
15742004-03-22 Paolo Carlini <pcarlini@suse.de>
1575
1576 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
1577 * configure: Regenerate.
1578 * config/allocator/pool_allocator_base.h: New.
1579 * include/ext/pool_allocator.h: Convert to a standard-conforming
1580 allocator.
1581 * src/allocator.cc: Tweak instantiations.
1582 * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
1583 * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
1584 * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
1585 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
1586 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
1587 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
1588
fea41ef9
HPN
15892004-03-22 Hans-Peter Nilsson <hp@axis.com>
1590
1591 * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
1592 inline" and attribute-unused. Qualify parameter __mem with
1593 "volatile".
1594 (__exchange_and_add): Ditto. Add back memory clobber to asm.
1595
9c024d9c
PC
15962004-03-20 Paolo Carlini <pcarlini@suse.de>
1597
1598 * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
1599 Remove junk.
1600 * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
1601 Likewise.
1602 * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
1603 Likewise.
1604 * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
1605 Likewise.
1606 * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
1607 Likewise.
1608 * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
1609 Likewise.
1610 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1611 Likewise.
1612 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1613 Likewise.
1614 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1615 Likewise.
1616 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
76e9802c 1617 Likewise.
9c024d9c 1618
2787b59a
PC
16192004-03-20 Paolo Carlini <pcarlini@suse.de>
1620
1621 * include/std/std_valarray.h: Document DR389 [Ready].
1622 * docs/html/ext/howto.html: Add an entry for DR389.
1623
1b1a632b
ME
16242004-03-19 Michael Eager <eager@mvista.com>
1625
1626 * config/cpu/mips/atomicity.h: Prevent reg loads between LL and
1627 SC instructions.
1628
28f2a265
PC
16292004-03-19 Paolo Carlini <pcarlini@suse.de>
1630
1631 * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
1632 static_cast-s.
1633 * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
1634 * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
1635 * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
1636 * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
1637 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
1638 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
1639 * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
1640 * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
1641 * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
1642
8268bba6
PC
16432004-03-19 Paolo Carlini <pcarlini@suse.de>
1644 Petur Runolfsson <peturr02@ru.is>
1645
1646 PR libstdc++/12077
1647 * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
1648 no way to find out the conversion used by the underlying FILE*.
1649 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
1650 * testsuite/27_io/objects/char/9.cc: Tweak.
1651
59d35672
PC
16522004-03-19 Paolo Carlini <pcarlini@suse.de>
1653
1654 PR libstdc++/14648
1655 * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
1656 memory allocation/deallocation calls.
1657 * testsuite/ext/14648.cc: New.
1658
ab7ac222
PS
16592004-03-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
1660
1661 PR libstdc++/14647
1662 * include/backward/bvector.h (bit_vector): Allocator is in std
1663 namespace.
1664
d54bc1d8
PE
16652004-03-19 Phil Edwards <phil@codesourcery.com>
1666
1667 * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV,
1668 not libiconv. SUBST this variable as well.
1669 * testsuite/Makefile.am (site.exp): New target, based on that
1670 created by automake. Also set libiconv.
1671
1672 * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
1673 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
1674 testsuite/Makefile.in: Regenerate.
1675
87599abd
BK
16762004-03-16 Benjamin Kosnik <bkoz@redhat.com>
1677
1678 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
1679 new_allocator for all hosts.
1680 * configure: Regenerate.
76e9802c 1681
e20036e2
PC
16822004-03-16 Paolo Carlini <pcarlini@suse.de>
1683
1684 * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
1685 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
76e9802c 1686
33674f00
PC
16872004-03-15 Paolo Carlini <pcarlini@suse.de>
1688
1689 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1690 Adjust the logic underlying the parsing of symbol to deal
1691 correctly with an optional sign component (i.e., when either
76e9802c 1692 negative_sign or positive_sign is empty)
33674f00
PC
1693 * testsuite/22_locale/money_get/get/char/19.cc: New.
1694 * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
1695
16962004-03-15 Paolo Carlini <pcarlini@suse.de>
1697
1698 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1699 Do not accept an incomplete currency symbol.
1700 * testsuite/22_locale/money_get/get/char/18.cc: New.
1701 * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
1702
8b0d6051
BK
17032004-03-13 Benjamin Kosnik <bkoz@redhat.com>
1704
1705 * config/allocator: New.
1706 * config/allocator/bitmap_allocator_base.h: New.
1707 * config/allocator/malloc_allocator_base.h: New.
1708 * config/allocator/mt_allocator_base.h: New.
1709 * config/allocator/new_allocator_base.h: New.
1710 * include/bits/allocator.h: Include c++allocator.h.
1711 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
1712 * aclocal.m4: Regenerate.
76e9802c 1713 * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
8b0d6051
BK
1714 * configure: Regenerate.
1715 * include/Makefile.am (host_headers_extra): Add c++allocator.h.
1716 * include/Makefile.in: Regenerate.
1717 * docs/html/configopts.html: Add enable-libstdcxx-allocator.
1718
eef56029
BK
17192004-03-12 Benjamin Kosnik <bkoz@redhat.com>
1720
1721 * include/bits/allocator.h: Revert.
1722
d4cd08dd
PC
17232004-03-12 Paolo Carlini <pcarlini@suse.de>
1724
1725 * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
1726 * include/bits/gslice_array.h: Add comment about DR 253.
1727 * include/bits/indirect_array.h: Likewise.
1728 * include/bits/mask_array.h: Likewise.
1729 * include/bits/slice_array.h: Likewise.
1730
ce7df2fd
BK
17312004-03-12 Benjamin Kosnik <bkoz@redhat.com>
1732
1733 * testsuite/20_util/allocator/14176.cc: New.
1734 * include/ext/mt_allocator.h: Formatting fixes.
76e9802c 1735
009368db
DM
17362004-03-11 Dhruv Matani <dhruvbird@HotPOP.com>
1737
1738 * include/Makefile.am (ext_headers): Add
1739 ${ext_srcdir}/bitmap_allocator.h .
1740 * include/Makefile.in: Regenerate.
1741 * docs/html/ext/ballocator_doc.txt: New file.
1742 * include/ext/bitmap_allocator.h: New file.
76e9802c 1743 * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
ce7df2fd 1744 test.
009368db
DM
1745 * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
1746 * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
1747 test for the bitmap_allocator<>.
1748 * testsuite/performance/20_util/allocator/insert.cc: Likewise.
1749 * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
1750 * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
1751
c6feb697
PC
17522004-03-11 Paolo Carlini <pcarlini@suse.de>
1753
1754 * include/std/std_complex.h (pow(const complex&, const _Tp&),
1755 pow(const _Tp&, const complex&), pow(const complex&,
1756 const complex&)): Fully qualify with std:: a few calls.
1757 * testsuite/26_numerics/complex/13450.cc: Minor tweak.
1758
e3628001 17592004-03-11 Steven Bosscher <stevenb@suse.de>
b7c34954
SB
1760
1761 PR libstdc++/11706
1762 * include/c_std/cmath.tcc (__cmath_power): Define inline.
1763
8ab705be
KC
17642004-03-10 Kelley Cook <kcook@gcc.gnu.org>
1765
1766 * configure.ac: Bump AC_PREREQ to 2.59.
1767
f69535d2
PC
17682004-03-10 Paolo Carlini <pcarlini@suse.de>
1769
1770 * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
1771
52ddaf41
PK
17722004-03-10 Paul Kienzle <pkienzle@nist.gov>
1773 Paolo Carlini <pcarlini@suse.de>
1774
1775 PR libstdc++/13450
1776 * include/std/std_complex.h (pow(const complex&, const _Tp&),
1777 pow(const _Tp&, const complex&)): Use cmath pow only when safe.
1778 * testsuite/26_numerics/complex/13450.cc: New.
1779
1780 * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
1781 * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
1782
ecc7568d
JQ
17832004-03-10 Jerry Quinn <jlquinn@optonline.net>
1784
52ddaf41 1785 PR libstdc++/3247
ecc7568d
JQ
1786 * include/bits/gslice_array.h (gslice_array()): Make public.
1787 (operator=(gslice_array)): Make public. Implement.
1788 * include/bits/indirect_array.h (indirect_array()): Make public.
1789 * include/bits/mask_array.h (mask_array()): Make public.
1790 (operator=(mask_array)): Make public. Implement.
1791 * include/bits/valarray_array.tcc (__valarray_copy):
1792 Comment. Add versions for gslice_array and mask_array.
1793 * testsuite/26_numerics/valarray_subset_assignment.cc: New test.
1794
6dde938c
BK
17952004-03-09 Benjamin Kosnik <bkoz@redhat.com>
1796
1797 * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
1798 non-weak systems.
1799 * testsuite/23_containers/vector/modifiers/swap.cc: Same.
1800 * testsuite/23_containers/set/modifiers/swap.cc: Same.
1801 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
1802 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
1803 * testsuite/23_containers/map/modifiers/swap.cc: Same.
1804 * testsuite/23_containers/list/modifiers/swap.cc: Same.
1805
1806 * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
1807
f1c4ca32 18082004-03-08 Benjamin Kosnik <bkoz@redhat.com>
76e9802c 1809
f1c4ca32
BK
1810 PR c++/13658
1811 * testsuite/23_containers/deque/modifiers/swap.cc: New.
1812 * testsuite/23_containers/list/modifiers/swap.cc: New.
1813 * testsuite/23_containers/map/modifiers/swap.cc: New.
1814 * testsuite/23_containers/multimap/modifiers/swap.cc: New.
1815 * testsuite/23_containers/multiset/modifiers/swap.cc: New.
1816 * testsuite/23_containers/set/modifiers/swap.cc: New.
1817 * testsuite/23_containers/vector/modifiers/swap.cc: New.
76e9802c 1818
5a66cfb2
PR
18192004-03-08 Petur Runolfsson <peturr02@ru.is>
1820
1821 PR libstdc++/12658
1822 * testsuite/22_locale/locale/cons/12658_thread.cc: New.
1823
1d4eb925
PC
18242004-03-08 Paolo Carlini <pcarlini@suse.de>
1825
1826 * docs/html/ext/howto.html: Add entry for DR 103 [WP].
1827 * include/bits/stl_multiset.h: Add comment about DR 103.
1828 * include/bits/stl_set.h: Likewise.
1829
f1c89270
PC
18302004-03-08 Paolo Carlini <pcarlini@suse.de>
1831
1832 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1833 The value _space_ indicates that at least one space is required
1834 at that position.
1835 * testsuite/22_locale/money_get/get/char/17.cc: New.
1836 * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
1837
1838 * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
1839 * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
1840
1841 * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
1842 Remove redundant conditional on __str.size().
76e9802c 1843
f5fb3886
BK
18442004-03-08 Benjamin Kosnik <bkoz@redhat.com>
1845
1846 * include/bits/allocator.h: Switch defaults to mt_alloc.
1847
c0bec71b
BK
18482004-03-06 Benjamin Kosnik <bkoz@redhat.com>
1849
1850 * include/ext/mt_allocator.h (_S_initialize): If
1851 !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
1852
f83295ba
BK
18532004-03-06 Benjamin Kosnik <bkoz@redhat.com>
1854
1855 PR libstdc++/12658
1856 * src/locale_init.cc (locale::locale): Lock critical regions with
1857 external mutexes.
76e9802c
ZW
1858 (locale::global): Same.
1859 * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
f83295ba
BK
1860 Add in once bits for cases without __GTHREAD_MUTEX_INIT.
1861 (__glibcxx_mutex_lock): Same.
1862
1863 * config/cpu/generic/atomicity.h: Remove
1864 _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
1865 * src/misc-inst.cc: Move all locking bits out of this file.
1866
1867 * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
1868 * src/misc-inst.cc: Same.
1869 * config/cpu/hppa/atomicity.h: Same.
1870
1871 * config/linker-map.gnu: Remove types in the signature of atomic
1872 exports, as they may vary.
76e9802c 1873
0c2cc7b3
PC
18742004-03-06 Paolo Carlini <pcarlini@suse.de>
1875
1876 * include/bits/locale_facets.tcc: Tweak the comment preceding
1877 has_facet: doesn't throw.
1878
73da19bb
PC
18792004-03-06 Paolo Carlini <pcarlini@suse.de>
1880
1881 * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
1882 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1883 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1884 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1885 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1886 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1887 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1888 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1889
ce345590
PC
18902004-03-06 Paolo Carlini <pcarlini@suse.de>
1891
1892 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1893 num_get<>::_M_extract_int, num_get<>::do_get(bool&),
1894 __pad<>::_S_pad): Prefer plain operator== to traits::eq().
1895 * testsuite/testsuite_character.h (struct __gnu_test::character):
1896 Provide operator==.
1897 * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
1898 Likewise.
1899
35bd3c28
PC
19002004-03-05 Paolo Carlini <pcarlini@suse.de>
1901
1902 * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
1903
80e39f4a
BK
19042004-03-04 Benjamin Kosnik <bkoz@redhat.com>
1905
1906 * testsuite/23_containers/multiset/insert/1.cc: Test result string.
1907
1908 * testsuite/23_containers/bitset/invalidation/1.cc: Main always
76e9802c 1909 returns 0.
80e39f4a
BK
1910 * testsuite/23_containers/deque/invalidation/4.cc: Same.
1911 * testsuite/23_containers/list/invalidation/1.cc: Same.
1912 * testsuite/23_containers/list/invalidation/2.cc: Same.
1913 * testsuite/23_containers/list/invalidation/3.cc: Same.
1914 * testsuite/23_containers/list/invalidation/4.cc: Same.
1915 * testsuite/23_containers/map/invalidation/2.cc: Same.
1916 * testsuite/23_containers/multimap/invalidation/1.cc: Same.
1917 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1918 * testsuite/23_containers/multiset/invalidation/1.cc: Same.
1919 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1920 * testsuite/23_containers/set/invalidation/1.cc: Same.
1921 * testsuite/23_containers/set/invalidation/2.cc: Same.
1922 * testsuite/23_containers/vector/invalidation/1.cc: Same.
1923 * testsuite/23_containers/vector/invalidation/2.cc: Same.
1924 * testsuite/23_containers/vector/invalidation/3.cc: Same.
1925 * testsuite/23_containers/vector/invalidation/4.cc: Same.
1926
2aa89cbb
PC
19272004-03-04 Paolo Carlini <pcarlini@suse.de>
1928
1929 * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
1930 CXXFLAGS_save.
1931 * testsuite/lib/libstdc++.exp: Don't add it conditionally to
76e9802c 1932 DEFAULT_CXXFLAGS.
2aa89cbb
PC
1933 * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
1934 from the dg-options.
1935 * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
1936 * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
1937 * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
1938 * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
1939 * testsuite/23_containers/vector/resize/1.cc: Likewise.
1940 * testsuite/26_numerics/complex_value.cc: Likewise.
1941 * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1942 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1943 * testsuite/27_io/ios_base/storage/3.cc: Likewise.
1944 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1945 * testsuite/27_io/objects/char/5.cc: Likewise.
1946 * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1947 * testsuite/backward/11460.cc: Likewise.
1948 * testsuite/thread/pthread7-rope.cc: Likewise.
1949
1950 * testsuite/21_strings/basic_string/compare/char/1.cc: Add
1951 missing test variable.
1952 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
1953 missing test variable.
1954
f90e600a
BK
19552004-03-04 Benjamin Kosnik <bkoz@redhat.com>
1956
1957 * testsuite/20_util/allocator/1.cc: Provide explicit
1958 instantiations for non-weak systems.
1959 * testsuite/20_util/binders.cc: Same.
1960 * testsuite/20_util/allocator/8230.cc: Same.
1961 * testsuite/20_util/allocator/10378.cc: Same.
1962 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
1963 * testsuite/22_locale/ctype/is/char/2.cc: Same.
1964 * testsuite/thread/pthread7-rope.cc: Same.
76e9802c
ZW
1965 * testsuite/thread/pthread6.cc: Same.
1966 * testsuite/thread/pthread5.cc: Same.
1967 * testsuite/thread/pthread4.cc: Same.
f90e600a
BK
1968 * testsuite/thread/pthread1.cc: Same.
1969 * testsuite/ext/rope.cc: Same.
1970 * testsuite/ext/hash_set.cc: Same.
76e9802c 1971 * testsuite/ext/hash_map.cc: Same.
f90e600a
BK
1972 * testsuite/ext/concept_checks.cc: Same.
1973 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
1974 * testsuite/25_algorithms/unique/2.cc: Same.
1975 * testsuite/25_algorithms/unique/1.cc: Same.
1976 * testsuite/25_algorithms/rotate.cc: Same.
1977 * testsuite/25_algorithms/min_max.cc: Same.
76e9802c 1978 * testsuite/25_algorithms/equal.cc: Same.
f90e600a
BK
1979 * testsuite/24_iterators/rel_ops.cc: Same.
1980 * testsuite/24_iterators/iterator.cc: Same.
1981 * testsuite/24_iterators/insert_iterator.cc: Same.
1982 * testsuite/24_iterators/front_insert_iterator.cc: Same.
1983 * testsuite/24_iterators/back_insert_iterator.cc: Same.
1984 * testsuite/23_containers/vector/resize/1.cc: Same.
1985 * testsuite/23_containers/vector/modifiers/2.cc: Same.
1986 * testsuite/23_containers/vector/modifiers/1.cc: Same.
1987 * testsuite/23_containers/vector/invalidation/4.cc: Same.
1988 * testsuite/23_containers/vector/invalidation/3.cc: Same.
76e9802c 1989 * testsuite/23_containers/vector/invalidation/2.cc: Same.
f90e600a
BK
1990 * testsuite/23_containers/vector/invalidation/1.cc: Same.
1991 * testsuite/23_containers/vector/element_access/1.cc: Same.
1992 * testsuite/23_containers/vector/cons/6513.cc: Same.
1993 * testsuite/23_containers/vector/cons/3.cc: Same.
1994 * testsuite/23_containers/vector/cons/2.cc: Same.
1995 * testsuite/23_containers/vector/cons/1.cc: Same.
1996 * testsuite/23_containers/vector/capacity/8230.cc: Same.
1997 * testsuite/23_containers/vector/capacity/1.cc: Same.
1998 * testsuite/23_containers/vector/bool/6886.cc: Same.
1999 * testsuite/23_containers/stack/members/7158.cc: Same.
2000 * testsuite/23_containers/set/invalidation/2.cc: Same.
2001 * testsuite/23_containers/set/invalidation/1.cc: Same.
2002 * testsuite/23_containers/queue/members/7157.cc: Same.
2003 * testsuite/23_containers/priority_queue/members/7161.cc: Same.
2004 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
76e9802c 2005 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
f90e600a
BK
2006 * testsuite/23_containers/multiset/insert/1.cc: Same.
2007 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
2008 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
2009 * testsuite/23_containers/map/operators/1.cc: Same.
2010 * testsuite/23_containers/map/invalidation/2.cc: Same.
2011 * testsuite/23_containers/map/invalidation/1.cc: Same.
2012 * testsuite/23_containers/map/insert/1.cc: Same.
2013 * testsuite/23_containers/list/operators/4.cc: Same.
2014 * testsuite/23_containers/list/operators/3.cc: Same.
2015 * testsuite/23_containers/list/operators/2.cc: Same.
2016 * testsuite/23_containers/list/operators/1.cc: Same.
2017 * testsuite/23_containers/list/modifiers/3.cc: Same.
2018 * testsuite/23_containers/list/modifiers/2.cc: Same.
2019 * testsuite/23_containers/list/modifiers/1.cc: Same.
2020 * testsuite/23_containers/list/invalidation/4.cc: Same.
2021 * testsuite/23_containers/list/invalidation/3.cc: Same.
2022 * testsuite/23_containers/list/invalidation/2.cc: Same.
76e9802c 2023 * testsuite/23_containers/list/invalidation/1.cc: Same.
f90e600a
BK
2024 * testsuite/23_containers/list/cons/9.cc: Same.
2025 * testsuite/23_containers/list/cons/8.cc: Same.
2026 * testsuite/23_containers/list/cons/7.cc: Same.
2027 * testsuite/23_containers/list/cons/6.cc: Same.
2028 * testsuite/23_containers/list/cons/5.cc: Same.
2029 * testsuite/23_containers/list/cons/4.cc: Same.
2030 * testsuite/23_containers/list/cons/3.cc: Same.
2031 * testsuite/23_containers/list/cons/2.cc: Same.
2032 * testsuite/23_containers/list/cons/1.cc: Same.
2033 * testsuite/23_containers/list/capacity/1.cc: Same.
2034 * testsuite/23_containers/deque/operators/1.cc: Same.
2035 * testsuite/23_containers/deque/invalidation/4.cc: Same.
2036 * testsuite/23_containers/deque/invalidation/3.cc: Same.
2037 * testsuite/23_containers/deque/invalidation/2.cc: Same.
2038 * testsuite/23_containers/deque/invalidation/1.cc: Same.
2039 * testsuite/23_containers/deque/cons/2.cc: Same.
2040 * testsuite/23_containers/deque/cons/1.cc: Same.
2041
2042 * src/allocator.cc: Add char, wchar_t instantiations
2043 to match extern template declarations in memory.h.
2044
ced3ad4d
PC
20452004-03-03 Paolo Carlini <pcarlini@suse.de>
2046
2047 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2048 Fix warning regression.
2049
039e3c5c
PC
20502004-03-03 Paolo Carlini <pcarlini@suse.de>
2051
2052 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2053 Deal properly with empty __digits and negative frac_digits,
2054 clean-up a bit.
2055
0d957d26
JW
20562004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
2057
2058 * docs/html/documentation.html: Regenerate.
2059
0b1d67d2
PC
20602004-03-02 Paolo Carlini <pcarlini@suse.de>
2061
2062 PR libstdc++/14320
2063 * include/bits/postypes.h (class streamoff): Remove, now
2064 streamoff is just typedef a 64 bit signed integer type.
2065 (class fpos): Tweak consistently.
2066 * testsuite/27_io/fpos/14320-1.cc: New.
2067 * testsuite/27_io/fpos/14320-2.cc: New.
2068 * testsuite/27_io/fpos/14320-3.cc: New.
2069 * testsuite/27_io/fpos/14320-4.cc: New.
2070 * testsuite/27_io/fpos/14320-5.cc: New.
2071 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
2072
59564c5e
PC
20732004-03-02 Paolo Carlini <pcarlini@suse.de>
2074
2075 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2076 Reorganize a bit the main parsing loop, thus early detecting
2077 an empty value component.
2078 * testsuite/22_locale/money_get/get/char/16.cc: New.
2079 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
2080
ec2075e9
BK
20812004-03-02 Benjamin Kosnik <bkoz@redhat.com>
2082
2083 Support automake 1.8.2
2084 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
2085 * po/Makefile.am (EXTRA_DIST): New.
2086 * po/Makefile.in: Regenerate.
2087 * Makefile.in: Same.
2088 * include/Makefile.in: Same.
2089 * libmath/Makefile.in: Same.
2090 * libsupc++/Makefile.in: Same.
2091 * src/Makefile.in: Same.
2092 * testsuite/Makefile.in: Same.
2093
2094 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
2095 __GXX_WEAK__ instead of SUPPORTS_WEAK.
2096 (${host_builddir}/gthr-default.h): Same.
2097 (${host_builddir}/gthr.h): Same.
2098 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
2099 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
2100 -fno-weak.
2101 * aclocal.m4: Regenerate.
2102 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
2103 * config.h.in: Regenerate.
2104 * configure: Same.
76e9802c 2105
f214923c
BK
21062004-03-01 Benjamin Kosnik <bkoz@redhat.com>
2107
ec2075e9 2108 Support autoconf 2.59
f214923c
BK
2109 * acinclude.m4: Quote correctly.
2110 * aclocal.m4: Regenerate.
2111 * linkage.m4: Same.
2112
67283362
BK
21132004-03-01 Benjamin Kosnik <bkoz@redhat.com>
2114
2115 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
2116
2117 * docs/html/18_support/howto.html: Add bit about writing to
2118 stderr, mostly by Zack.
76e9802c 2119
98e953f5
PC
21202004-03-01 Paolo Carlini <pcarlini@suse.de>
2121
2122 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
2123 money_get<>::do_get(string_type&)): ... and two more.
2124
b19fb27d
PC
21252004-03-01 Paolo Carlini <pcarlini@suse.de>
2126
2127 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2128 Fix thinkos in the switch from string_type& to string& as last
2129 argument.
2130
08ff96c3
PC
21312004-03-01 Paolo Carlini <pcarlini@suse.de>
2132
2133 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
2134 Also when parsing exponent sign, first look for thousands_sep
2135 and decimal_point; tweak a bit.
2136 * testsuite/22_locale/num_get/get/char/15.cc: New.
2137 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
76e9802c 2138
08ff96c3
PC
2139 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2140 num_get<>::_M_extract_int): Reorder some conditionals.
2141
21422004-03-01 Paolo Carlini <pcarlini@suse.de>
2143
2144 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2145 Consistently with numpunct, enforce the requirements in
2146 22.2.6.3, p3 for the thousands separators; tweak a bit.
2147 * testsuite/22_locale/money_get/get/char/15.cc: New.
2148 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
76e9802c 2149
1152b861
DB
21502004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
2151
76e9802c 2152 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
1152b861
DB
2153 testsuite_files from correct multilib blddir when running
2154 testsuite.
2155
8b425082
PE
21562004-02-29 Phil Edwards <phil@codesourcery.com>
2157
2158 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
2159 the summary file to the logfile.
2160 * testsuite/Makefile.in: Regenerate.
2161
3a1a4ed2
JDA
21622004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2163
2164 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
2165 volatile.
2166 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
2167 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
2168
0e1b98cc
PC
21692004-02-28 Paolo Carlini <pcarlini@suse.de>
2170
2171 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
2172 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
2173 no 'decimal-point' in the middle: in this case too we must fix
2174 up __found_grouping; slightly tweak.
2175 * testsuite/22_locale/num_get/get/char/14.cc: New.
2176 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
2177
58adf39c 21782004-02-27 Eric Christopher <echristo@redhat.com>
76e9802c 2179 Phil Edwards <phil@codesourcery.com>
58adf39c
EC
2180
2181 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
2182 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
2183 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
2184 testsuite/22_locale/collate/hash/wchar_t/2.cc,
2185 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
2186 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
2187 testsuite/22_locale/collate/transform/wchar_t/2.cc,
2188 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
2189 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
2190 Use dg-require-iconv.
2191 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
2192
23834577 21932004-02-27 Phil Edwards <phil@codesourcery.com>
76e9802c 2194 Eric Christopher <echristo@redhat.com>
23834577
PE
2195
2196 * testsuite/config/default.exp: Update with comments.
2197 (${tool}_target_compile): New wrapper routine.
2198 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
2199 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
2200 fixes.
2201 (load_gcc_lib, v3track): New routines.
2202 (v3-init): Rename to libstdc++_init.
2203 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
2204 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
2205
00d04db6
BK
22062004-02-27 Benjamin Kosnik <bkoz@redhat.com>
2207
2208 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
2209
2210 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
2211
2212 * config/os/irix/irix5.2/atomicity.h: Merge..
2213 * config/os/irix/irix6.5/atomicity.h: Merge..
2214 * config/os/irix/atomicity.h: ...into this.
2215 * config/os/irix/atomic_word.h: New.
2216 * configure.host: Set atomic_word_dir for irix.
2217
2218 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
2219 * i386/atomicity.h: Same.
2220 * m68k/atomicity.h: Same.
2221 * sparc/atomicity.h: Same.
2222
c284a126
DE
22232004-02-27 David Edelsohn <edelsohn@gnu.org>
2224
2225 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
00d04db6 2226 static, and inline keywords.
c284a126 2227
a8ea7389
PC
22282004-02-27 Paolo Carlini <pcarlini@suse.de>
2229
2230 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2231 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
2232 call reserve on the __tmp_gruping string.
2233 (num_get<>::_M_extract_float): Don't append unnecessarily a
2234 char() to the returned string.
2235 * include/bits/locale_facets.tcc: Trivial reformattings.
2236
f4bdbead
PC
22372004-02-27 Paolo Carlini <pcarlini@suse.de>
2238
2239 * include/bits/locale_facets.h (money_get<>::_M_extract):
2240 Change signature: now takes a plain string&.
2241 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2242 Update consistently the definition; use the moneypunct cache
2243 to parse the value; use swap to change __units.
2244 (money_get<>::do_get(long double&)): Update call of _M_extract,
2245 avoid ctype::narrow, not correct wrt the standard.
2246 (money_get<>::do_get(string_type&)): Likewise, update call
2247 of _M_extract, use ctype::widen.
2248 * src/locale-inst.cc: Tweak instantiations of _M_extract.
2249
40fcf31b
BK
22502004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
2251
2252 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
2253 * testsuite/demangle/abi_examples/02.cc: Likewise.
2254 * testsuite/demangle/regression/cw-11.cc: Likewise.
2255 * testsuite/demangle/regression/cw-16.cc: Change two expected
2256 results to match libiberty demangler output.
2257
22582004-02-26 Benjamin Kosnik <bkoz@redhat.com>
2259
2260 PR libstdc++/10246
76e9802c
ZW
2261 * libsupc++/Makefile.am: Use libiberty demangler.
2262 (c_sources): Add cp-demangle.c.
2263 * libsupc++/Makefile.in: Regenerate.
2264 * src/Makefile.am (sources): Remove demangle.cc.
2265 * src/Makefile.in: Regenerate.
2266 * include/Makefile.am (bits_headers): Move demangle.h.
40fcf31b 2267 (ext_headers): ...here.
76e9802c
ZW
2268 * include/Makefile.in: Regenerate.
2269 * include/bits/demangle.h: Move...
40fcf31b 2270 * include/ext/demangle.h: ...here.
76e9802c 2271 * src/demangle.cc: Remove.
40fcf31b
BK
2272
22732004-02-26 Benjamin Kosnik <bkoz@redhat.com>
76e9802c
ZW
2274
2275 * include/bits/demangle.h: Add type template parameter to all
2276 templates with just an Allocator template parameter.
2277
2c5d0ae8
BK
22782004-02-25 Benjamin Kosnik <bkoz@redhat.com>
2279
2280 * include/bits/atomicity.h: New, forward declarations for __atomic_add
2281 and __exchange_and_add.
2282 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
2283 * config/cpu/cris/atomic_word.h: Same.
2284 * config/cpu/sparc/atomic_word.h: Same.
2285 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
2286 Qualifiy with __gnu_cxx.
2287 (_Callback_list::_M_add_reference): Same.
2288 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
2289 (locale::facet::_M_remove_reference): Same.
2290 (locale::_Impl::_M_add_reference): Add.
2291 (locale::_Impl::_M_remove_reference): Same.
2292 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
2293 (basic_string::_Rep::_M_dispose): Same.
2294 * src/ios.cc (ios_base::xalloc): Same.
2295 * src/ios_init.cc (ios_base::Init::Init): Same.
2296 (ios_base::Init::~Init): Same.
2297 * src/locale.cc (locale::id::_M_id): Same.
2298 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
00d04db6 2299 static, and inline keywords.
2c5d0ae8
BK
2300 * config/cpu/alpha/atomicity.h: Same.
2301 * config/cpu/cris/atomicity.h: Same.
2302 * config/cpu/generic/atomicity.h: Same.
2303 * config/cpu/hppa/atomicity.h: Same.
2304 * config/cpu/i386/atomicity.h: Same.
2305 * config/cpu/ia64/atomicity.h: Same.
2306 * config/cpu/m68k/atomicity.h: Same.
2307 * config/cpu/mips/atomicity.h: Same.
2308 * config/cpu/powerpc/atomicity.h: Same.
2309 * config/cpu/s390/atomicity.h: Same.
2310 * config/cpu/sparc/atomicity.h: Same.
76e9802c 2311
2c5d0ae8
BK
2312 * src/Makefile.am (host_sources): Add atomicity.cc.
2313 (atomicity.cc): New rule.
2314 * src/Makefile.in: Regenerate.
2315 * include/Makefile.am (host_headers): Remove host atomicity.h.
2316 (host_headers): Add atomic_word.h.
2317 (bits_headers): Add bits atomicity.h.
2318 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
2319 * include/Makefile.in: Regenerate.
2320 * configure.host (atomic_word_dir): Add.
2321 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
2322 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
2323 * configure: Regenerate.
2324 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
2325
2326 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
76e9802c
ZW
2327 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2328
cec0e70b
JW
23292004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
2330
2331 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
2332 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
2333 Fix markup, more <link> tags.
2334
bb9f8a85
CW
23352004-02-25 Carlo Wood <carlo@alinoe.com>
2336
2337 * bits/demangle.h
2338 namespace __gnu_cxx::demangler
2339 (session<Allocator>::qualifier_list_Allocator): Add
2340 (session<Allocator>::M_qualifier_list_alloc): Add
2341 (session<Allocator>::decode_type_with_postfix):
2342 Use M_qualifier_list_alloc instead of calling operator new/delete.
2343
b79cef06
PC
23442004-02-24 Paolo Carlini <pcarlini@suse.de>
2345
2346 PR libstdc++/14252
2347 * include/bits/postypes.h (class streamoff): Add operator++(),
2348 operator++(int), operator--() and operator--(int).
2349 * testsuite/27_io/fpos/14252.cc: New.
2350
212063a8
RS
23512004-02-24 Richard Sandiford <rsandifo@redhat.com>
2352
2353 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
2354 error in handling of hex constants.
2355
031e658e
PC
23562004-02-24 Paolo Carlini <pcarlini@suse.de>
2357
2358 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2359 Prefer basic_string::append to operator+= and a temporary.
2360
6f94dea7
BK
23612004-02-23 Benjamin Kosnik <bkoz@redhat.com>
2362
2363 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
2364 Only use fputs, not write.
76e9802c 2365
20d0a40e 23662004-02-23 Benjamin Kosnik <bkoz@redhat.com>
f263b26e
BK
2367
2368 * include/ext/malloc_allocator.h: Add operators ==, !=.
2369 * include/ext/new_allocator.h: Add operators ==, !=.
2370 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
2371 (__mt_alloc::_S_get_options): New.
76e9802c 2372 (__mt_alloc::_S_set_options): New.
f263b26e
BK
2373 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
2374 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
2375 Move functions out of line, simplify, format.
2376 * src/allocator.cc: Simplify explicit instantiations.
2377 * include/bits/allocator.h: Tweak.
76e9802c 2378
20da06ef
PC
23792004-02-22 Paolo Carlini <pcarlini@suse.de>
2380
2381 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2382 Restructure formatting of value component, first dealing with
2383 the non-decimal digits; use reserve.
2384
23852004-02-22 Paolo Carlini <pcarlini@suse.de>
2386
2387 * include/bits/locale_facets.h (class money_get): Inherit
2388 from money_base too; tweak declaration of _M_extract, now
2389 parameterized on _Intl too.
2390 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2391 Update definition to use the cache; call reserve on __res to
2392 avoid multiple reallocations; fix parsing of sign component
2393 according to 22.2.6.1.2, p3.
2394 (money_get<>::do_get(long double&),
76e9802c 2395 money_get<>::do_get(string_type&)): Update calls of _M_extract.
20da06ef
PC
2396 * src/locale-inst.cc: Add instantiations of
2397 money_get::_M_extract<false> and money_get::_M_extract<true>.
2398 * testsuite/22_locale/money_get/get/char/14.cc: New.
2399 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
76e9802c 2400
afc3bb58
MM
24012004-02-21 Mark Mitchell <mark@codesourcery.com>
2402
2403 * libsupc++/vterminate.cc
2404 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
2405 calls to terminate.
2406 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
2407
2408 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
2409 not set RLIMIT_AS on HP-UX.
2410
e1efc7a0
MM
24112004-02-21 Mark Mitchell <mark@codesourcery.com>
2412
2413 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
2414 not set RLIMIT_AS on HP-UX.
2415
fe932e50
PC
24162004-02-21 Paolo Carlini <pcarlini@suse.de>
2417
2418 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
2419 _S_zero, _S_end } enum, _S_atoms.
2420 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
2421 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
2422 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
2423 (__moneypunct_cache<>::~__moneypunct_cache): Update.
2424 (__moneypunct_cache<>::_M_cache): Fill the cache.
2425 (class moneypunct): Tweak __cache_type typedef.
2426 (class money_put): Inherit from money_base too; tweak declaration
2427 of _M_insert, now parameterized on _Intl.
2428 * include/bits/locale_facets.tcc
2429 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
2430 (money_put<>::_M_insert): Update definition to use the cache;
2431 call reserve on __res to avoid multiple reallocations.
2432 (money_put<>::do_put(long double),
2433 money_put<>::do_put(const string_type&): Update calls of _M_insert.
2434 * config/locale/generic/monetary_members.cc
2435 (moneypunct<char, true>::_M_initialize_moneypunct,
2436 moneypunct<char, false>::_M_initialize_moneypunct,
2437 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
2438 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
2439 * config/locale/gnu/monetary_members.cc: Likewise.
2440 * config/locale/gnu/monetary_members.cc
2441 (moneypunct<wchar_t, true>::~moneypunct(),
2442 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
2443 * src/globals_locale.cc: Tweak fake_money_cache_c.
2444 * src/locale-inst.cc: Add instantiations for
2445 money_put::_M_insert<false> and money_put::_M_insert<true> and
2446 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
2447 * src/locale_facets.cc: Define money_base::_S_atoms.
2448 * src/locale_init.cc: Update placement new of
2449 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
2450 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
2451
2452 * config/locale/generic/numeric_members.cc: Clean up.
2453 * config/locale/gnu/numeric_members.cc: Likewise.
2454 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2455 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2456 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2457 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2458 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2459 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2460
f196bdc4
MM
24612004-02-20 Mark Mitchell <mark@codesourcery.com>
2462
2463 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
2464 FIFO for writing with ios_base::in|ios_base::out.
2465 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2466 * testsuite/27_io/objects/char/7.cc: Likewise.
2467 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
2468 with "r+".
2469
2df93cf3
DE
24702004-02-19 David Edelsohn <edelsohn@gnu.org>
2471
2472 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
2473 from iso-8859-1 to ISO8859-1.
2474 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
2475 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
2476 * 22_locale/collate/hash/wchar_t/2.cc: Same.
2477 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
2478 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
2479 * 22_locale/collate/transform/wchar_t/2.cc: Same.
2480 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
2481 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
2482
2ddf25f2
PC
24832004-02-18 Paolo Carlini <pcarlini@suse.de>
2484
2485 * include/bits/locale_facets.h (money_get<>::_M_extract):
2486 New, helper for do_get.
2487 (money_put<>::_M_insert): Likewise, for do_put.
2488 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
2489 money_put<>::_M_insert): Define.
2490 (money_get<>::do_get(long double&), money_get<>::do_get(
2491 string_type&), money_put::do_put(long double),
2492 money_put::do_put(const string_type&)): Use the helpers.
2493
94b8de97
PC
24942004-02-18 Paolo Carlini <pcarlini@suse.de>
2495
2496 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2497 Rewrite, avoiding recursion.
2498 (__gnu_internal::xwrite): Minor tweaks.
2499
4d0bdcd6
SO
25002004-02-17 Stefan Olsson <stefan@xapa.se>
2501
2502 * include/ext/mt_allocator.h: Removed the last
2503 pointer. Deallocated blocks are now added to the front of
2504 freelists as proposed by Felix Yen. This gives roughly 10%
2505 performance boost and saves some memory.
2506 * docs/html/ext/mt_allocator.html: Change due to that deallocated
2507 blocks now are added to the front of freelists. The reason to this
2508 approach is also explained.
bb9f8a85 2509
6d4925e3
PC
25102004-02-17 Paolo Carlini <pcarlini@suse.de>
2511
2512 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2513 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
2514 grouping fidelity conditional.
2515
3e9b6cf4
PC
25162004-02-16 Paolo Carlini <pcarlini@suse.de>
2517
2518 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
2519 Qualify exception with std::.
2520 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
2521 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
2522 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2523 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2524 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2525
835abbf7
PC
25262004-02-16 Paolo Carlini <pcarlini@suse.de>
2527
2528 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
2529 for now that the catch block is not reached.
2530 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
2531
b7e64db2
PC
25322004-02-16 Paolo Carlini <pcarlini@suse.de>
2533
2534 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
2535 Fix parsing of the remaining sign characters.
2536 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
2537 the input is scanned 'til eof.
2538 * 22_locale/money_get/get/char/4.cc: Likewise.
2539 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
2540 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
2541 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
2542 not do_pos_format: the former is the only one that matters during
2543 input.
2544 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
2545
2546 * 22_locale/money_get/get/char/6.cc: Minor tweak.
2547 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
2548
230377dc
DA
25492004-02-15 David Asher <david.asher@cavium.com>
2550
2551 PR libstdc++/11352
2552 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
2553 access __olds beyond __oldlen.
2554
45cbe93c
PC
25552004-02-14 Paolo Carlini <pcarlini@suse.de>
2556
2557 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
2558 sure the exception is actually thrown.
2559 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2560 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2561 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2562
ac3cadf0
PC
25632004-02-14 Paolo Carlini <pcarlini@suse.de>
2564
2565 PR libstdc++/13858
2566 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
2567 In case of conversion errors, throw ios_failure; simplify.
2568 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
2569 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
2570 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
2571 previously we didn't throw in case of conversion errors, instead
2572 just returned eof().
2573 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2574 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2575 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2576
2577 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
2578 Trivial simplification of a conditional.
2579
2e9a1f6b
PC
25802004-02-12 Paolo Carlini <pcarlini@suse.de>
2581
2582 PR libstdc++/13731 (final part: writev)
20da06ef 2583 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2e9a1f6b
PC
2584 New, a wrapper around writev() handling partial writes.
2585 (__basic_file<char>::xwrite): Move to __gnu_internal and make
2586 static.
2587 (__basic_file<char>::xsputn): Update call.
76e9802c 2588 (__basic_file<char>::xsputn_2): Likewise.
20da06ef 2589 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2e9a1f6b
PC
2590 Don't declare, now static.
2591
1c86f39d
BK
25922004-02-11 Stefan Olsson <stefan@xapa.se>
2593
2594 * docs/html/ext/mt_allocator.html: New.
2595
25962004-02-11 Benjamin Kosnik <bkoz@redhat.com>
2597
2598 * docs/html/20_util/allocator.html: New file, consolidate
2599 allocator information here. Revamp.
2600 * docs/html/documentation.html: Change links.
2601 * docs/html/20_util/howto.html: Same.
2602 * docs/html/ext/howto.html: Same.
2603
98e96784
PC
26042004-02-11 Paolo Carlini <pcarlini@suse.de>
2605
2606 PR libstdc++/13731 (first part: write)
2607 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2608 New, declare.
2609 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
2610 Define it: a wrapper around write() handling partial write.
2611 (__basic_file<char>::xsputn): Use it.
2612 (__basic_file<char>::xsputn_2): Likewise.
2613
a2af66c1
PC
26142004-02-11 Paolo Carlini <pcarlini@suse.de>
2615 Petur Runolfsson <peturr02@ru.is>
2616
2617 PR libstdc++/14078
2618 * include/std/std_istream.h (operator>>(__istream_type& (*)
2619 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
2620 operator>>(ios_base& (*)(ios_base&))): Declare inline.
2621 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
2622 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
2623 operator<<(ios_base& (*) (ios_base&))): Likewise.
2624 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
2625
64bd39cc
LR
26262004-02-10 Loren J. Rittle <ljrittle@acm.org>
2627
2628 PR libstdc++/14098
2629 * config/linker-map.gnu: Add typeinfo and typeinfo name for
2630 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
2631
d318a8ba
LR
2632 PR libstdc++/14097
2633 * config/linker-map.gnu: Add typeinfo and typeinfo name for
2634 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
2635
a39c16dd
LR
26362004-02-09 Loren J. Rittle <ljrittle@acm.org>
2637
2638 * include/ext/pool_allocator.h: Include c++config.h.
2639
1ef00312
SO
26402004-02-09 Stefan Olsson <stefan@xapa.se>
2641
2642 * include/ext/mt_allocator.h: thread_id is unused in non threaded
2643 applications and now has a ifdef to remove it completely on
2644 compilers without thread support. Include stdlib.h due to a
2645 compiler warning on getenv().
2646
1b81e1b5
PB
26472004-02-09 Paul Brook <paul@codesourcery.com>
2648
2649 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
2650
cf0d2c40
PC
26512004-02-09 Paolo Carlini <pcarlini@suse.de>
2652
2653 PR libstdc++/14071
2654 * src/locale_init.cc (locale::global(const locale&)): Use
2655 locale::name() in order to decide whether calling setlocale.
2656 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
2657
2658 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
2659 Avoid computing &= unnecessarily.
2660
664fc5df
JW
26612004-02-09 James E Wilson <wilson@specifixinc.com>
2662
2663 PR libstdc++/5625
2664 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
2665 __builtin_extend_pointer.
2666
86fd2b51
PC
26672004-02-09 Paolo Carlini <pcarlini@suse.de>
2668
2669 PR libstdc++/14072
2670 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
2671 Don't leave dangling pointers.
2672 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
2673 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
2674 facet is needed in the final test.
2675
f19e9e4d
BI
26762004-02-09 Bernardo Innocenti <bernie@develer.com>
2677
2678 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
2679 * configure: Regenerate.
2680
c3862806
RH
26812004-02-08 Richard Henderson <rth@redhat.com>
2682
2683 PR libstdc++/14026
76e9802c 2684 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
c3862806
RH
2685 uncaughtExceptions during nested catch rethrow.
2686 * testsuite/18_support/14026.cc: New.
2687
fd95f498
PC
26882004-02-08 Paolo Carlini <pcarlini@suse.de>
2689
2690 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
2691 When working in place remember to set the state to sharable
2692 (otherwise, _M_mutate does it).
2693
ed6814f7
BI
26942004-02-08 Bernardo Innocenti <bernie@develer.com>
2695
2696 * include/bits/allocator.h, include/bits/basic_ios.h,
2697 include/bits/basic_ios.tcc, include/bits/basic_string.h,
2698 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
2699 include/bits/char_traits.h, include/bits/codecvt.h,
2700 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
2701 include/bits/demangle.h, include/bits/deque.tcc,
2702 include/bits/fstream.tcc, include/bits/functexcept.h,
2703 include/bits/gslice.h, include/bits/gslice_array.h,
2704 include/bits/indirect_array.h, include/bits/ios_base.h,
2705 include/bits/istream.tcc, include/bits/list.tcc,
2706 include/bits/locale_classes.h, include/bits/locale_facets.h,
2707 include/bits/locale_facets.tcc, include/bits/localefwd.h,
2708 include/bits/mask_array.h, include/bits/ostream.tcc,
2709 include/bits/postypes.h, include/bits/slice_array.h,
2710 include/bits/sstream.tcc, include/bits/stl_algo.h,
2711 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
2712 include/bits/stl_construct.h, include/bits/stl_deque.h,
2713 include/bits/stl_function.h, include/bits/stl_heap.h,
2714 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
2715 include/bits/stl_list.h, include/bits/stl_map.h,
2716 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
2717 include/bits/stl_numeric.h, include/bits/stl_pair.h,
2718 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
2719 include/bits/stl_relops.h, include/bits/stl_set.h,
2720 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
2721 include/bits/stl_threads.h, include/bits/stl_tree.h,
2722 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
2723 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
2724 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
2725 include/bits/type_traits.h, include/bits/valarray_after.h,
2726 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
2727 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
2728 trailing whitespace.
2729
eee54836
PC
27302004-02-06 Paolo Carlini <pcarlini@suse.de>
2731
2732 * include/bits/basic_string.h: Fix comment.
2733
15d72060
PC
27342004-02-06 Paolo Carlini <pcarlini@suse.de>
2735
2736 * include/bits/stl_construct.h: Wrap overlong lines, reformat
2737 according to the coding standards.
2738 * include/bits/stl_pair.h: Likewise.
2739 * include/bits/stl_raw_storage_iter.h: Likewise.
2740 * include/bits/stl_stack.h: Likewise.
2741 * include/bits/stl_uninitialized.h: Likewise.
2742 * include/bits/stream_iterator.h: Likewise.
2743 * include/bits/streambuf_iterator.h: Likewise.
2744 * include/bits/type_traits.h: Likewise.
2745
c5dd98f3
PC
27462004-02-06 Paolo Carlini <pcarlini@suse.de>
2747
2748 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2749 Adjust timings.
2750
462f4a81
LR
27512004-02-05 Loren J. Rittle <ljrittle@acm.org>
2752
2753 * scripts/check_performance: Support PCH.
2754
fbdf188d
LR
2755 * scripts/check_performance (CXX): Add -DNOTHREAD.
2756 * testsuite/performance/20_util/allocator/insert.cc: Integrate
2757 threaded tests from insert_insert.cc. Tweak iterations,
2758 remove special cases.
2759 * testsuite/performance/20_util/allocator/insert_insert.cc:
2760 Make all tests single-threaded. Tweak iterations.
2761 * testsuite/performance/20_util/allocator/map_thread.cc:
2762 Tweak iterations.
2763 * testsuite/performance/20_util/allocator/producer_consumer.cc:
2764 Likewise.
2765
0314451d
GK
27662004-02-05 Geoffrey Keating <geoffk@apple.com>
2767
2768 PR 12179
2769 * .cvsignore: New.
2770 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
2771 'gcc-lib'. Add comment about poorly-named variables.
2772 * aclocal.m4: Regenerate.
2773 * configure: Regenerate.
2774
d9010fca
PC
27752004-02-05 Paolo Carlini <pcarlini@suse.de>
2776
2777 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
2778 Thousands-sep are always optional; thousands-sep are not allowed
2779 after the decimal_point.
2780 * testsuite/22_locale/money_get/get/char/12.cc: New.
2781 * testsuite/22_locale/money_get/get/char/13.cc: New.
2782 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
2783 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
2784
2785 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
2786 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2787 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2788 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2789 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2790 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2791 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2792 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2793
2794 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
2795 the standard.
2796 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
2797
d232925f
RS
27982004-02-05 Richard Sandiford <rsandifo@redhat.com>
2799
2800 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
2801 Define.
2802 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
2803 it to decide whether FIONREAD should take an off_t or int argument.
2804
92ff3e43
PC
28052004-02-05 Paolo Carlini <pcarlini@suse.de>
2806
2807 * include/bits/stl_function.h: Minor formatting changes.
2808
9fe7e2b7
ZW
28092004-02-04 Zack Weinberg <zack@codesourcery.com>
2810
2811 Revert previous change to config/abi/*/baseline_symbols.txt.
2812
6a734d61
BK
28132004-02-04 Benjamin Kosnik <bkoz@redhat.com>
2814 Zack Weinberg <zack@codesourcery.com>
2815
2816 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
2817 New function.
2818 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
2819 (__basic_file<char>::_M_open_mode): Delete.
2820 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
2821
2822 * testsuite/27_io/basic_filebuf/close/char/9964.cc
2823 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2824 Correct flags to filebuf::open calls.
2825
2826 * config/abi/alpha-freebsd5/baseline_symbols.txt
2827 * config/abi/alpha-linux-gnu/baseline_symbols.txt
2828 * config/abi/hppa-linux-gnu/baseline_symbols.txt
2829 * config/abi/i386-freebsd4/baseline_symbols.txt
2830 * config/abi/i386-freebsd5/baseline_symbols.txt
2831 * config/abi/i486-linux-gnu/baseline_symbols.txt
2832 * config/abi/ia64-linux-gnu/baseline_symbols.txt
2833 * config/abi/mips-linux-gnu/baseline_symbols.txt
2834 * config/abi/sparc-freebsd5/baseline_symbols.txt
2835 * config/abi/sparc-linux-gnu/baseline_symbols.txt
2836 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
2837 Remove entry for __basic_file<char>::_M_open_mode.
2838
f63fd68b
LR
28392004-02-04 Loren J. Rittle <ljrittle@acm.org>
2840
2841 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
2842
de8a2f87
BK
28432004-02-04 Felix Yen <fwy@alumni.brown.edu>
2844
2845 * testsuite/performance/20_util/producer_consumer.cc: New.
2846 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
6a734d61 2847
de8a2f87 28482004-02-04 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 2849
de8a2f87 2850 * testsuite/performance/20_util/allocator.cc: Move to..
6a734d61 2851 * testsuite/performance/20_util/allocator/insert.cc: ...here.
de8a2f87
BK
2852 * testsuite/performance/20_util/allocator_thread.cc: Move to...
2853 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
2854 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
2855 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
6a734d61 2856
772fec9a
JW
28572004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
2858
2859 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
2860 * docs/html/faq/index.txt: Regenerate.
2861
56766e0d
DM
28622004-02-04 Dhruv Matani <dhruvbird@gmx.net>
2863
2864 * include/ext/debug_allocator.h: _M_extra now stands for the
2865 number of extra objects instead of the number of extra bytes.
2866 (debug_allocator::allocate): Adjust.
2867 (debug_allocator::deallocate): Adjust.
2868
2869 * include/ext/pool_allocator.h: Fix typo.
2870
22269632
FY
28712004-02-03 Felix Yen <fwy@alumni.brown.edu>
2872 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 2873
22269632
FY
2874 * testsuite/performance/20_util/allocator.cc: Add map,
2875 deque, set tests.
2876 * testsuite/performance/20_util/allocator_thread.cc: Same.
6a734d61 2877
129e9210
PC
28782004-02-03 Paolo Carlini <pcarlini@suse.de>
2879
2880 * include/bits/basic_string.h (insert(iterator)): Remove,
2881 non-standard and already scheduled for removal.
2882
83042fca
PC
28832004-02-03 Paolo Carlini <pcarlini@suse.de>
2884
2885 * include/bits/stl_iterator_base_funcs.h: Minor formatting
2886 and indentation tweaks.
2887 * include/bits/stl_iterator_base_types.h: Likewise.
2888 * include/bits/stl_list.h: Likewise.
2889 * include/bits/stl_map.h: Likewise.
2890 * include/bits/stl_tempbuf.h: Likewise.
2891
06a81b60
JQ
28922004-02-02 Jerry Quinn <jlquinn@optonline.net>
2893
2894 * include/bits/gslice.h, include/bits/gslice_array.h,
2895 include/bits/indirect_array.h, include/bits/mask_array.h,
2896 include/bits/slice_array.h, include/bits/stl_numeric.h,
2897 include/std/std_valarray.h: Update copyright years.
2898
7fb397a4
JQ
28992004-02-02 Jerry Quinn <jlquinn@optonline.net>
2900
2901 * include/bits/gslice.h (gslice): Document.
2902 * include/bits/gslice_array.h (gslice_array): Document.
2903 * include/bits/indirect_array (indirect_array): Document.
2904 * include/bits/mask_array (mask_array): Document.
2905 * include/bits/slice_array.h (slice,slice_array): Document.
2906 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
2907 adjacent_difference): Document
2908 * include/std/std_valarray.h (valarray): Document.
2909
7f7fb4ef
BK
29102004-02-02 Benjamin Kosnik <bkoz@redhat.com>
2911
6a734d61
BK
2912 * docs/html/19_diagnostics/howto.html: Move verbose terminate
2913 documentation...
2914 * docs/html/18_support/howto.html: Here.
2915 * docs/html/documentation.html: Add reference here.
2916
9924f721
PC
29172004-02-02 Paolo Carlini <pcarlini@suse.de>
2918
2919 * config/locale/gnu/c++locale_internal.h: Remove prototypes
2920 of no longer used GLIBC thread locale functions.
2921
2ba43229 29222004-02-02 Eric Christopher <echristo@redhat.com>
6a734d61 2923 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
2924
2925 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
6a734d61
BK
2926 -finput-charset.
2927 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
2928 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
16dd5cfe 2929 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
6a734d61
BK
2930 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
2931 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
2932 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
2933 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
2934 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
16dd5cfe
EC
2935 Ditto.
2936
7c920151
PC
29372004-02-02 Paolo Carlini <pcarlini@suse.de>
2938
2939 * include/bits/stl_function.h: Additional minor tweaks.
2940 * include/bits/stl_multiset.h: Likewise.
2941
2942 * include/bits/stl_queue.h: Minor tweaks.
2943
dcec0389
PC
29442004-02-02 Paolo Carlini <pcarlini@suse.de>
2945
2946 PR libstdc++/13976 (continued)
2947 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
2948 Make the second parameter unnamed, to void unused parameter
2949 warnings.
2950 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
2951
90f8b692
PC
29522004-02-02 Paolo Carlini <pcarlini@suse.de>
2953
2954 PR libstdc++/13976
2955 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
2956 Make the second parameter unnamed, to void unused parameter
2957 warnings.
2958 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
2959 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
2960
737ab798
PC
29612004-02-01 Paolo Carlini <pcarlini@suse.de>
2962
2963 * include/bits/stl_algo.h: Additional minor tweaks.
2964 * include/bits/stl_map.h: Likewise.
2965 * include/bits/stl_multimap.h: Likewise.
2966 * include/bits/stl_multiset.h: Likewise.
2967 * include/bits/stl_set.h: Likewise.
2968 * include/bits/stl_tree.h: Likewise.
2969
64ebadac
PC
29702004-02-01 Paolo Carlini <pcarlini@suse.de>
2971
2972 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
2973 Remove, unused.
2974
afd4cbbb
PC
29752004-02-01 Paolo Carlini <pcarlini@suse.de>
2976
2977 * include/bits/stl_function.h: Additional minor tweaks.
2978
f6592a9e
PC
29792004-02-01 Paolo Carlini <pcarlini@suse.de>
2980
2981 * include/bits/deque.tcc: Wrap overlong lines, constify
2982 a few variables, reformat according to the coding standards.
2983 * include/bits/list.tcc: Likewise.
2984 * include/bits/stl_deque.h: Likewise.
2985 * include/bits/stl_function.h: Likewise.
2986 * include/bits/stl_iterator.h: Likewise.
2987 * include/bits/stl_iterator_base_funcs.h: Likewise.
2988 * include/bits/stl_iterator_base_types.h: Likewise.
2989 * include/bits/stl_list.h: Likewise.
2990 * include/bits/stl_map.h: Likewise.
2991 * include/bits/stl_multimap.h: Likewise.
2992 * include/bits/stl_multiset.h: Likewise.
2993 * include/bits/stl_relops.h: Likewise.
2994 * include/bits/stl_set.h: Likewise.
2995
62e67651
PC
29962004-02-01 Paolo Carlini <pcarlini@suse.de>
2997
2998 * include/bits/stl_bvector.h: Wrap overlong lines, constify
2999 a few variables, reformat according to the coding standards.
3000 * include/bits/stl_tree.h: Likewise.
3001
8f7ca398
PC
30022004-01-31 Paolo Carlini <pcarlini@suse.de>
3003
3004 * include/bits/stl_algo.h: Minor additional reformat, add
3005 copyright year.
3006 * include/bits/stl_algobase.h: Add copyright year.
3007
ffa67767
PC
30082004-01-31 Paolo Carlini <pcarlini@suse.de>
3009
3010 * include/bits/stl_algo.h: Wrap overlong lines, constify
3011 a few variables, reformat according to the coding standards.
3012 * include/bits/stl_algobase.h: Likewise.
3013 * include/bits/stl_heap.h: Likewise.
3014
8de63ee0
PC
30152004-01-31 Paolo Carlini <pcarlini@suse.de>
3016
3017 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
3018
3019 * include/bits/basic_string.h: Fix two comments.
3020
af3fb3d6
PB
30212004-01-31 Per Bothner <per@bothner.com>
3022
3023 * include/ext/mt_allocator.h
3024 (__mt_alloc::_S_thread_freelist_mutex): Guard with
3025 __GTHREAD_MUTEX_INIT.
3026
24f33069
PC
30272004-01-31 Paolo Carlini <pcarlini@suse.de>
3028
3029 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
3030
7c960b3d
PC
30312004-01-30 Paolo Carlini <pcarlini@suse.de>
3032
3033 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
3034 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
3035 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
16dd5cfe 3036
7b1d1edf
FY
30372004-01-30 Felix Yen <fwy@alumni.brown.edu>
3038
3039 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
3040 Don't use clear, but instead assign. Use insert.
3041
c9732ce7
BK
30422004-01-30 Benjamin Kosnik <bkoz@redhat.com>
3043
3044 * src/demangle.cc: Add instantiations.
3045 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
3046 * src/Makefile.in: Regenerate.
16dd5cfe 3047
25d24447
DE
30482004-01-30 David Edelsohn <edelsohn@gnu.org>
3049
3050 * src/allocator.cc: Protect _S_get_thread_id() and
3051 _S_thread_key_destr() with #ifdef __GTHREADS.
3052
33e95e9d
PC
30532004-01-30 Paolo Carlini <pcarlini@suse.de>
3054
3055 Reshuffle performance testsuite.
3056 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
3057 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
3058 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
3059 fstream_seek_write.cc, ifstream_extract_float.cc,
3060 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
3061 list_create_fill_sort.cc, map_create_fill.cc,
3062 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
3063 ofstream_insert_float.cc, ofstream_insert_int.cc,
3064 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
3065 wchar_t_out.cc: Split into...
3066 * testsuite/performance/20_util/allocator.cc: New.
3067 * testsuite/performance/20_util/allocator_map_thread.cc: New.
3068 * testsuite/performance/20_util/allocator_thread.cc: New.
3069 * testsuite/performance/21_strings/string_append: New.
3070 * testsuite/performance/22_locale/is_wchar_t.cc: New.
3071 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
3072 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
3073 * testsuite/performance/22_locale/wchar_t_in.cc: New.
3074 * testsuite/performance/22_locale/wchar_t_length.cc: New.
3075 * testsuite/performance/22_locale/wchar_t_out.cc: New.
3076 * testsuite/performance/23_containers/container_benchmark.cc: New.
3077 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
3078 * testsuite/performance/23_containers/map_create_fill.cc: New.
3079 * testsuite/performance/26_numerics/complex_norm.cc: New.
3080 * testsuite/performance/27_io/cout_insert_int.cc: New.
3081 * testsuite/performance/27_io/filebuf_copy.cc: New.
3082 * testsuite/performance/27_io/filebuf_sputc.cc: New.
3083 * testsuite/performance/27_io/fstream_seek_write.cc: New.
3084 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
3085 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
3086 * testsuite/performance/27_io/ifstream_getline.cc: New.
3087 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
3088 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
3089
d1615643
PC
30902004-01-30 Paolo Carlini <pcarlini@suse.de>
3091
3092 * include/bits/basic_string.tcc (_Rep::_S_create):
3093 Never allocate a string bigger than max_size(); always keep
3094 __capacity and __size in sync to avoid memory leaks at
3095 deallocation time.
3096
690495b0
PC
30972004-01-30 Paolo Carlini <pcarlini@suse.de>
3098
3099 * include/bits/basic_string.tcc (_S_construct(_InIterator,
3100 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
3101 the double loop, streamline.
3102
3103 * include/bits/basic_string.tcc: Very minor tweaks.
3104
f64f4406
LR
31052004-01-30 Loren J. Rittle <ljrittle@acm.org>
3106
3107 * scripts/check_performance: Only compile with $THREAD_FLAG
3108 when test is marked to require it. Allow multiple
3109 compilations/executions of marked tests.
3110 * testsuite/testsuite_performance.h (report_performance):
3111 Report dynamic thread support status.
3112 (report_header): Likewise.
3113 * testsuite/performance/allocator.cc: Stabilize iteration
3114 count. Support more allocators. Mark each allocator test to
3115 run and report independently.
3116 * testsuite/performance/allocator_map_thread.cc: Likewise.
3117 * testsuite/performance/allocator_thread.cc: Likewise.
3118
917a9fd4
SW
31192004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
3120
3121 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
bb9f8a85
CW
3122 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
3123 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
917a9fd4
SW
3124 std::get_temporary_buffer() instead of duplicating its code.
3125 Update to C++STYLE conventions.
bb9f8a85 3126 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
917a9fd4
SW
3127 new() instead of std::malloc().
3128 (return_temporary_buffer): Use ::operator delete() instead of
3129 std::free().
3130
6efc84f4
BK
31312004-01-29 Benjamin Kosnik <bkoz@redhat.com>
3132
3133 * include/bits/allocator.h: Temporary switch to new_allocator as
3134 the default to unjam bootstraps.
16dd5cfe 3135
ba9d552e
BK
31362004-01-28 Benjamin Kosnik <bkoz@redhat.com>
3137
3138 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
3139 * include/Makefile.in: Regenerate.
3140 * include/bits/allocator_traits.h: Remove.
3141 * include/bits/allocator.h: Remove allocator_traits.h include, and
3142 relevant comments.
3143 (allocator): Empty base class, inherit from the underlying allocator.
3144 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
3145 * src/allocator.cc: ...here. New. For the underlying allocators.
3146 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
3147 * config/linker-map.gnu: Remove __pool_alloc bits.
3148 * src/Makefile.am (sources): Add allocator.cc.
3149 * src/Makefile.in: Regenerate.
3150 * testsuite/20_util/allocator/1.cc: Split second test into...
16dd5cfe 3151 * testsuite/20_util/allocator/8230.cc: ...this.
ba9d552e
BK
3152 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
3153 typedef to use std::allocatore. Format.
3154 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
3155 _Alloc_traits.
3156 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
3157 __throw_bad_alloc calls. Don't include <memory>.
3158 * include/ext/malloc_allocator.h: Remove <memory> include.
3159 * include/ext/new_allocator.h (new_allocator): Same.
3160 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
3161 declaration. Switch __alloc to _Alloc.
3162 * include/ext/hashtable.h: Remove __alloc.
3163 * include/backward/alloc.h: Only inject allocator, not
3164 implementation details.
3165
3166 * include/ext/mt_allocator.h: Replace free with delete.
16dd5cfe 3167
ff4cf05b
BK
31682004-01-28 Benjamin Kosnik <bkoz@redhat.com>
3169
3170 * src/globals_io.cc: Change to __gnu_internal namespace.
3171 * src/globals_locale.cc: Same.
3172 * src/locale_init.cc: Same.
3173 * src/ios_init.cc: Same.
16dd5cfe 3174
f15f99a1
SO
31752004-01-28 Stefan Olsson <stefan@snon.net>
3176
8de63ee0 3177 * include/ext/mt_allocator.h: Replaced all malloc() calls with
f15f99a1
SO
3178 operator new(). Added support for the env variable
3179 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
3180 one in allocate() as well). Fix typos.
3181
234e0d31
PC
31822004-01-28 Paolo Carlini <pcarlini@suse.de>
3183
3184 * include/bits/basic_string.h (_S_create(size_t,
3185 const _Alloc&): Change signature to take two size_type
3186 arguments.
3187 * include/bits/basic_string.tcc (_S_construct(_InIterator,
3188 _InIterator, const _Alloc&, input_iterator_tag)): Update
3189 call, tweak a bit.
3190 (_S_construct(_InIterator, _InIterator, const _Alloc&,
3191 forward_iterator_tag)): Likewise.
3192 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
3193 (_M_mutate(size_type, size_type, size_type)): Don't
3194 implement the exponential growth policy, demand it to
3195 _S_create, update call and simplify.
3196 (_M_clone(const _Alloc&, size_type)): Likewise.
3197 (_S_create(size_type, size_type, const _Alloc&)): Implement
3198 the growth policy, simplify otherwise.
3199
3200 * include/bits/basic_string.h (_Rep::operator[]): Tweak
3201 signature to take a size_type, consistently with the other
3202 members.
16dd5cfe 3203
62b21ea0
BK
32042004-01-27 Benjamin Kosnik <bkoz@redhat.com>
3205
3206 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
3207 delete declarations, add include and test variable.
3208
0b563420
JQ
32092003-01-27 Jerry Quinn <jlquinn@optonline.net>
3210
3211 * include/bits/codecvt.h, include/bits/locale_facets.h,
3212 include/bits/postypes.h, include/bits/stl_bvector.h,
3213 include/bits/stl_multiset.h, include/bits/stl_set.h,
3214 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
3215 include/std/std_complex.h: Document.
3216
2a837cf8
JQ
32172004-01-27 Jerry Quinn <jlquinn@optonline.net>
3218
3219 PR libstdc++/11584
3220 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
6a734d61 3221 iword/pword selector.
2a837cf8
JQ
3222 (ios_base::iword, ios_base::pword): Use it.
3223 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
6a734d61 3224 iword or pword member on alloc failure.
2a837cf8
JQ
3225 * testsuite/27_io/ios_base/storage/11584.cc: New test.
3226
6e198ee0
UW
32272004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
3228 PJ Darcy <darcypj@us.ibm.com>
3229
3230 * configure.host: Add support for *-tpf.
3231 * crossconfig.m4: Likewise.
3232 * configure: Regenerate.
3233 * config/os/tpf: New directory.
3234 * config/os/tpf/os_defines.h: New file.
3235 * config/os/tpf/ctype_base.h: Likewise.
3236 * config/os/tpf/ctype_inline.h: Likewise.
3237 * config/os/tpf/ctype_noninline.h: Likewise.
3238
51b6facb
PC
32392004-01-27 Paolo Carlini <pcarlini@suse.de>
3240
3241 PR libstdc++/13884
3242 * include/bits/sstream.tcc: Guard use of extern template.
16dd5cfe 3243
a3af79ea
PC
32442004-01-27 Paolo Carlini <pcarlini@suse.de>
3245
3246 * include/bits/basic_string.tcc
3247 (basic_string(const basic_string&, size_type, size_type),
3248 basic_string(const basic_string&, size_type, size_type,
3249 const _Alloc&)): Avoid unnecessarily constructing iterators.
3250
ba9119ec
PC
32512004-01-26 Paolo Carlini <pcarlini@suse.de>
3252
3253 * config/locale/generic/c_locale.cc: Fix throw messages
3254 to use the __N marker.
3255 * config/locale/gnu/c_locale.cc: Likewise.
3256 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
3257 Likewise.
3258 * docs/html/17_intro/C++STYLE: Likewise.
3259 * include/bits/basic_ios.tcc: Likewise.
3260 * include/bits/fstream.tcc: Likewise.
3261 * include/bits/vector.tcc: Likewise.
3262 * include/ext/ropeimpl.h: Likewise.
3263 * include/std/std_bitset.h: Likewise.
3264 * src/ios.cc: Likewise.
3265 * src/locale.cc: Likewise.
3266 * src/localename.cc: Likewise.
3267
0e50667c
PC
32682004-01-26 Paolo Carlini <pcarlini@suse.de>
3269
3270 * include/bits/basic_string.h (_M_replace_aux): Use the
3271 __N marker in throw message.
3272 * include/bits/basic_string.tcc (assign(const _CharT*,
3273 size_type), insert(size_type, const _CharT*, size_type),
3274 replace(size_type, size_type, const _CharT*, size_type),
3275 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
3276 Likewise.
3277
3278 * include/bits/basic_string.h, include/bits/basic_string.tcc:
3279 Fold overlong lines, minor formatting changes.
3280
4d39d873
PC
32812004-01-26 Paolo Carlini <pcarlini@suse.de>
3282
3283 * include/bits/basic_string.h (replace(iterator, iterator,
3284 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
3285 (replace(iterator, iterator, const _CharT*)): Ditto.
3286 (replace(iterator, iterator, const _CharT*, size_type)):
3287 Add missing _GLIBCXX_DEBUG_PEDASSERT.
3288
2cb612d1
PC
32892004-01-26 Paolo Carlini <pcarlini@suse.de>
3290
3291 * include/bits/basic_string.tcc (replace(size_type,
3292 size_type, const _CharT*, size_type)): Implement optimized
3293 in-place algorithm for non-overlapping ranges.
3294 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
3295 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
3296
3297 * include/bits/basic_string.tcc (insert(size_type,
3298 const _CharT*, size_type)): Tweak slightly.
3299
f942e78d
AS
33002004-01-26 Andreas Schwab <schwab@suse.de>
3301
3302 * config/locale/gnu/monetary_members.cc: Restore locale before
3303 rethrowing exception.
3304
91eab378
PC
33052004-01-25 Paolo Carlini <pcarlini@suse.de>
3306
3307 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
3308 Define inline here.
3309 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
3310 Move inline.
3311
3312 * include/bits/basic_string.tcc: Very minor tweaks.
3313
9c519c93
PC
33142004-01-25 Paolo Carlini <pcarlini@suse.de>
3315
3316 * testsuite/performance/string_append.cc: Increase number
3317 of iterations.
3318
30f315cd
PC
33192004-01-25 Paolo Carlini <pcarlini@suse.de>
3320
3321 * include/bits/basic_string.h (erase(size_type, size_type),
3322 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
3323 instead, thus avoiding redundant check for length_error.
3324
3325 * include/bits/basic_string.h: Tweak some comments.
3326
bb9909b0
PC
33272004-01-24 Paolo Carlini <pcarlini@suse.de>
3328
3329 * include/bits/basic_string.tcc (operator+(const _CharT*,
3330 const basic_string&)): No need to go through the append
3331 taking two iterators.
3332
04cc8aef
PC
33332004-01-24 Paolo Carlini <pcarlini@suse.de>
3334
3335 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
3336 Revert last change to use std::min: machine language is worse.
3337 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
3338 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
3339 (find_last_not_of(_CharT, size_type)): Ditto.
3340
3341 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
3342 size_type)): Discard the value returned by _M_check.
3343 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
3344 (append(const basic_string&, size_type, size_type)): Ditto.
3345 (copy(_CharT*, size_type, size_type)): Ditto.
3346 (compare(size_type, size_type, const basic_string&)): Ditto.
3347 (compare(size_type, size_type, const basic_string&,
3348 size_type, size_type)): Ditto.
3349 (compare(size_type, size_type, const _CharT*)): Ditto.
3350 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
3351
8865bf80
PC
33522004-01-24 Paolo Carlini <pcarlini@suse.de>
3353
3354 * include/bits/basic_string.h (insert(size_type,
3355 const basic_string&, size_type, size_type)): Define inline here.
3356 * include/bits/basic_string.tcc (insert(size_type,
3357 const basic_string&, size_type, size_type)): Move inline.
3358
fefe561e
PC
33592004-01-24 Paolo Carlini <pcarlini@suse.de>
3360
3361 * include/bits/basic_string.h (assign(const basic_string&,
3362 size_type, size_type)): Define inline here.
3363 (replace(size_type, size_type, const basic_string&,
3364 size_type, size_type)): Ditto.
3365 (_M_replace_dispatch(iterator, iterator, _InputIterator,
3366 _InputIterator, __false_type)): Only declare.
3367 (_M_replace(iterator, iterator, _InputIterator,
3368 _InputIterator)): Remove.
3369 * include/bits/basic_string.tcc (assign(const basic_string&,
3370 size_type, size_type)): Move inline.
3371 (replace(size_type, size_type, const basic_string&,
3372 size_type, size_type)): Ditto.
3373 (_M_replace_dispatch(iterator, iterator, _InputIterator,
3374 _InputIterator, __false_type)): Define, now does also what
3375 _M_replace did before.
3376 * src/string-inst.cc (_M_replace): Don't instantiate.
3377
3378 * include/bits/basic_string.tcc (find(const _CharT*,
3379 size_type, size_type)): Tidy.
3380 (rfind(_CharT, size_type)): Ditto.
3381 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
3382 (find_first_not_of(_CharT, size_type)): Ditto.
3383 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
3384 (find_last_not_of(_CharT, size_type)): Ditto.
3385
72afd981
PC
33862004-01-23 Paolo Carlini <pcarlini@suse.de>
3387
3388 PR libstdc++/13838
3389 * include/debug/bitset (operator|=): Fix typo.
3390 * testsuite/23_containers/bitset/operations/13838.cc: New.
3391
251804e6
PC
33922004-01-23 Paolo Carlini <pcarlini@suse.de>
3393
3394 * include/bits/basic_string.tcc (insert(size_type,
3395 const _CharT*, size_type __n)): Fix length_error check.
3396 (replace(size_type, size_type, const _CharT*, size_type):
3397 Ditto; call _M_replace_safe.
3398 (_M_replace_aux(size_type, size_type, size_type, _CharT):
3399 Fix length_error check.
3400 (_M_replace(iterator, iterator, _InputIterator,
3401 _InputIterator)): Ditto, tweak.
3402 (_M_replace_safe(size_type, size_type, const _CharT*,
3403 size_type)): Remove length_error check.
3404
3405 * include/bits/basic_string.tcc (append(const basic_string&),
3406 append(const basic_string&, size_type, size_type)): Tweak
3407 comment.
3408
3409 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
3410 size_type)): If __n == 0 don't call traits::copy.
3411
3cfb44c2
SO
34122004-01-23 Stefan Olsson <stefan@snon.net>
3413
3414 * include/ext/mt_allocator.h: Reduce lock contention.
3415
22352844
PC
34162004-01-23 Paolo Carlini <pcarlini@suse.de>
3417
3418 PR libstdc++/13831
3419 * include/bits/fstream.tcc (underflow): Remove unused
3420 variable.
3421 * include/bits/streambuf_iterator.h (equal): Ditto.
3422 * include/bits/locale_facets.h (_M_convert_from_char):
3423 Ditto.
3424
129057c1
KG
34252004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3426
3427 PR c/13814
3428 * config/linker-map.gnu (nan): Delete.
3429 * libmath/mathconf.h (NAN, nan): Delete.
3430 * linkage.m4 (nan): Don't check for it.
3431 * libmath/nan.c: Delete file.
3432
3433 * config.h.in, configure: Regenerate.
3434
0e707673
PC
34352004-01-23 Paolo Carlini <pcarlini@suse.de>
3436
3437 * include/bits/basic_string.h (push_back(_CharT)):
3438 Call _M_replace_aux.
3439 (insert(size_type, const basic_string&)): Trivial tweak.
3440 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
3441 (insert(iterator, _CharT)): Ditto.
3442 (erase(size_type, size_type)): Ditto.
3443 (erase(iterator)): Ditto.
3444 (erase(iterator, iterator)): Ditto.
3445 (replace(size_type, size_type, size_type, _CharT)): Ditto.
3446
402b0954
LR
34472004-01-23 Loren J. Rittle <ljrittle@acm.org>
3448
3449 libstdc++/13823
3450 * testsuite/performance/allocator_map_thread.cc: New test.
3451
ba46e66a
PC
34522004-01-22 Paolo Carlini <pcarlini@suse.de>
3453
3454 * include/bits/locale_facets.tcc
3455 (money_put::do_put(..., long double)): Use the basic_string
3456 constructor for char arrays, not that for C-strings, to pass
3457 __digits to do_put(..., const string_type&): __ws isn't
3458 null-terminated.
3459
7bb9b33b
PC
34602004-01-22 Paolo Carlini <pcarlini@suse.de>
3461
3462 * include/bits/basic_string.h (_M_replace_safe): Change
3463 signatures to take size_types and const _CharT*.
3464 (_M_replace_aux): Likewise, takes size_types instead of
3465 iterators.
3466 (append(size_type, _CharT)): Update call.
3467 (assign(size_type, _CharT)): Ditto.
3468 (replace(iterator, iterator, size_type, _CharT)): Ditto.
3469 (_M_replace_dispatch(iterator, iterator, _Integer,
3470 _Integer, __true_type)): Ditto.
3471 * include/bits/basic_string.tcc (assign(const _CharT*,
3472 size_type)): Ditto.
3473 (insert(size_type, const _CharT*, size_type)): Ditto.
3474 (replace(size_type, size_type, const _CharT*,
3475 size_type)): Ditto.
3476 (_M_replace(iterator, iterator, _InputIterator,
3477 _InputIterator)): Ditto.
3478 (append(const basic_string&)): Ditto.
3479 (append(const basic_string&, size_type, size_type): Ditto.
3480 (append(const _CharT*, size_type): Ditto.
3481 (_M_replace_safe, _M_replace_safe): Change definitions
3482 accordingly, simplify.
3483 * string-inst.cc (_M_replace_safe): Don't instantiate.
3484
3e7782b2
PC
34852004-01-21 Paolo Carlini <pcarlini@suse.de>
3486
3487 * include/bits/basic_string.tcc (append(const basic_string&)):
3488 Revert previous change.
3489 (append(const basic_string&, size_type, size_type)): Revert
3490 previous change, use _M_check and _M_limit.
3491
e03a6fb7
PC
34922004-01-21 Paolo Carlini <pcarlini@suse.de>
3493
3494 * include/bits/basic_string.h (_M_check): Change to return
3495 a checked __pos and take an additional const char* argument.
3496 (_M_fold): Rename to _M_limit, change to return a size_type,
3497 corresponding to the __off limited to the actual length.
3498 (insert(size_type, size_type, _CharT)): Update call, call
3499 replace.
3500 (insert(iterator, _CharT)): Call replace(iterator, iterator,
3501 size_type, _CharT) instead.
3502 (erase(size_type, size_type)): Update calls.
3503 (replace(size_type, size_type, size_type, _CharT)): Ditto.
3504 (substr(size_type, size_type)): Use _M_check.
3505 * include/bits/basic_string.tcc (basic_string(const basic_string&,
3506 size_type, size_type)): Update calls.
3507 (basic_string(const basic_string&, size_type, size_type,
3508 const _Alloc&)): Ditto.
3509 (assign(const basic_string&, size_type, size_type)): Use the
3510 new _M_check and _M_limit.
3511 (insert(size_type, const basic_string&, size_type, size_type):
3512 Ditto.
3513 (insert(size_type, const _CharT*, size_type)): Ditto.
3514 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
3515 (replace(size_type, size_type, const basic_string&,
3516 size_type, size_type)): Ditto.
3517 (append(const basic_string&)): Ditto.
3518 (append(const basic_string&, size_type, size_type)): Ditto.
3519 (copy(_CharT*, size_type, size_type)): Ditto.
3520 (compare(size_type, size_type, const basic_string&)): Ditto.
3521 (compare(size_type, size_type, const basic_string&,size_type,
3522 size_type)): Ditto.
3523 (compare(size_type, size_type, const _CharT*)): Ditto.
3524 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
3525
cec73eb5
SO
35262004-01-19 Stefan Olsson <stefan@snon.net>
3527
3528 * include/ext/mt_allocator.h: If a thread, when it dies, still has
3529 memory on it's freelist this memory is not returned to global
3530 list. Simplification of deallocate so that memory is always
3531 returned to the calling thread id's freelist instead of to
3532 global. Fix typos. Add volatile where appropriate.
3533
87d11ccc
LR
35342004-01-19 Loren J. Rittle <ljrittle@acm.org>
3535
3536 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
3537 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
3538 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
3539
f18be892
PC
35402004-01-19 Paolo Carlini <pcarlini@suse.de>
3541
3542 * src/debug.cc: Make sure all the names are prefixed with
3543 double (or single) underscore.
3544
33d4e9b2
PC
35452004-01-19 Paolo Carlini <pcarlini@suse.de>
3546
3547 * src/debug.cc: Trivial formatting change.
3548
954b12d2
PC
35492004-01-19 Paolo Carlini <pcarlini@suse.de>
3550
3551 * include/bits/basic_string.tcc (_S_construct(size_type,
3552 _CharT, const _Alloc&)): Remove redundant try/catch.
3553 (_M_mutate(size_type, size_type, size_type)): Ditto.
3554 (_M_clone(const _Alloc&, size_type)): Ditto.
16dd5cfe 3555
acbab5bf
PC
35562004-01-18 Paolo Carlini <pcarlini@suse.de>
3557
3558 * include/bits/basic_string.h (c_str()): Simplify, due to
3559 21.3.4 the internal representation is always kept null-terminated.
3560 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
3561 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
3562 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
3563 Ditto.
3564
9c96a689
PC
35652004-01-18 Paolo Carlini <pcarlini@suse.de>
3566
3567 * include/bits/basic_string.h (append(size_type, _CharT)):
3568 Moved inline, just call _M_replace_aux, no source iterators at
3569 risk of being clobbered.
3570 (assign(size_type, _CharT)): Call directly _M_replace_aux.
3571 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
3572 input_iterator_tag)): Remove fifth unused argument.
3573 (_M_replace_dispatch(iterator, iterator, _InputIterator,
3574 _InputIterator, __false_type)): Update call.
3575 * include/bits/basic_string.tcc (replace(size_type, size_type,
3576 const _CharT*, size_type)): Update call.
3577 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
3578 throw string literal.
3579 (_M_replace_safe(iterator, iterator, _ForwardIterator,
3580 _ForwardIterator)): Likewise.
3581 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
3582 input_iterator_tag)): Remove fifth unused argument.
3583 (append(size_type __n, _CharT __c)): Move inline.
3584 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
3585 const C*, const C*, input_iterator_tag)): Remove fifth unused
3586 argument.
3587
d517f626
BK
35882004-01-16 Benjamin Kosnik <bkoz@redhat.com>
3589
3590 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
16dd5cfe 3591 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
d517f626 3592
701b701b
DS
35932004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
3594
3595 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
3596 mkfifo for mingw32.
3597
2913770f
SO
35982004-01-15 Stefan Olsson <stefan@snon.net>
3599
3600 * include/ext/mt_allocator.h: Reuse thread id's as soon as
3601 possible by changing the behaviour of thread_freelist to do
3602 push_front when threads die instead of push_back.
3603
47f62b27
PC
36042004-01-14 Paolo Carlini <pcarlini@suse.de>
3605
3606 * include/bits/locale_facets.h (struct __numpunct_cache):
3607 Add member _M_grouping_size, caching the length of _M_grouping.
3608 (__numpunct_cache<>::_M_cache): Assign the latter.
3609 (__verify_grouping): Move declaration...
3610 * include/bits/locale_facets.tcc (__verify_grouping):
3611 ... here, change signature to take a const char* and a size_t
3612 for the grouping; not a template anymore.
3613 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
16dd5cfe 3614 Likewise change signature and tweak consistently.
47f62b27
PC
3615 (num_get::_M_extract_float, num_get::_M_extract_int,
3616 num_put::_M_insert_int, num_put::_M_insert_float,
3617 money_get::do_get(string_type&), money_get::do_put(string_type)):
16dd5cfe 3618 Update callers.
47f62b27 3619 * config/locale/generic/numeric_members.cc
16dd5cfe 3620 (numpunct<>::_M_initialize_numpunct): Assign the new member.
47f62b27 3621 * config/locale/gnu/numeric_members.cc
16dd5cfe 3622 (numpunct<>::_M_initialize_numpunct): Likewise.
47f62b27
PC
3623 * src/locale-inst.cc (__add_grouping): Tweak signature.
3624 (__verify_grouping): Don't instantiate, not a template anymore.
3625
3626 * include/bits/locale_facets.h: Rename _M_truename_len ->
3627 _M_truename_size, _M_falsename_len -> _M_falsename_size.
3628 * include/bits/locale_facets.tcc: Likewise.
3629 * config/locale/generic/numeric_members.cc: Likewise.
3630 * config/locale/gnu/numeric_members.cc: Likewise.
3631
41f24725
SO
36322004-01-14 Stefan Olsson <stefan@snon.net>
3633
3634 * include/ext/mt_allocator.h: Fixups.
3635 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
3636 * testsuite/performance/allocator_thread.cc: Same.
16dd5cfe 3637
070ce57b
BK
36382004-01-13 Benjamin Kosnik <bkoz@redhat.com>
3639
3640 * testsuite/performance/ifstream_extract_float.cc: Add higher
3641 precision tests.
3642 * testsuite/performance/ofstream_insert_float.cc: Same.
16dd5cfe 3643
c9513590
PC
36442004-01-13 Paolo Carlini <pcarlini@suse.de>
3645
3646 * src/locale-misc-inst.cc (__convert_from_v(long),
3647 __convert_from_v(unsigned long), __convert_from_v(long long),
3648 __convert_from_v(unsigned long long)): Remove, unused.
3649
60af005f
BK
36502004-01-13 Benjamin Kosnik <bkoz@redhat.com>
3651
3652 * testsuite/performance/ifstream_extract_float.cc: New.
3653 * testsuite/performance/ofstream_insert_float.cc: Float generation
3654 matches above.
3655
3656 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
3657 * 20_util/auto_ptr/1.cc: ...this.
3658 * 20_util/auto_ptr/2.cc: Same.
3659 * 20_util/auto_ptr/3.cc: Same.
3660 * 20_util/auto_ptr/3946.cc: Same.
3661 * 20_util/auto_ptr/4.cc: Same.
3662 * 20_util/auto_ptr/5.cc: Same.
3663 * 20_util/auto_ptr/6.cc: Same.
3664 * 20_util/auto_ptr/7.cc: Same.
3665 * 20_util/auto_ptr/assign_neg.cc
3666 * 20_util/pairs.cc: Break into...
3667 * 20_util/pair/1.cc: ...this.
3668 * 20_util/pair/2.cc: Same.
3669 * 20_util/pair/3.cc: Same.
3670 * 20_util/pair/4.cc: Same.
3671
d8ef7dec
PC
36722004-01-13 Paolo Carlini <pcarlini@suse.de>
3673
3674 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
3675 Set correctly just basefield, the only group that matters.
3676
5640461d
PC
36772004-01-13 Paolo Carlini <pcarlini@suse.de>
3678
3679 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
3680 (_Rope_rep_base): Inherit directly from the rope allocator;
3681 use rebinding instead of _Alloc_traits; pick up data member
3682 from _Rope_rep_alloc_base.
3683 (_Rope_alloc_base): Eliminate.
3684 (_Rope_base): Inherit directly from the rope allocator; use
3685 rebinding instead of _Alloc_traits; pick up data member from
3686 _Rope_alloc_base.
3687 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
3688 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
3689
95c9624f
PC
36902004-01-13 Paolo Carlini <pcarlini@suse.de>
3691
3692 PR libstdc++/13650
3693 * include/bits/basic_string.tcc (compare(size_type, size_type,
3694 const _CharT*, size_type)): Implement correctly the resolution
3695 of DR 5: basically, s is a char array, -not- a C string.
3696 * include/bits/basic_string.h: Tweak some comments.
3697 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
3698 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
3699
c91de77a
AT
37002004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
3701
3702 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
3703 Solaris.
3704
300b3317
PC
37052004-01-12 Paolo Carlini <pcarlini@suse.de>
3706
3707 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
3708 Use try_mkfifo.
3709 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
3710 Likewise.
3711
dc6798f8
PC
37122004-01-12 Paolo Carlini <pcarlini@suse.de>
3713
3714 * include/bits/locale_facets.h (struct __numpunct_cache):
3715 Add members _M_truename_len and _M_falsename_len, caching
3716 the lengths of _M_truename and _M_falsename.
3717 (__numpunct_cache<>::_M_cache): Assign the latter.
3718 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
3719 num_put::do_put(bool)): Use the new members, thus avoiding
3720 computing string lengths again and again.
3721 * config/locale/generic/numeric_members.cc
3722 (numpunct<>::_M_initialize_numpunct): Assign the new members.
3723 * config/locale/gnu/numeric_members.cc
3724 (numpunct<>::_M_initialize_numpunct): Likewise.
3725
ea1ea21a
MM
37262004-01-12 Mark Mitchell <mark@codesourcery.com>
3727
3728 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
3729 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
3730 it.
3731 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
3732 and remove Cygwin XFAIL.
3733 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
3734 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
3735 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
3736 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
3737 Likewise.
3738 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
3739 * testsuite/27_io/objects/char/7.cc: Likewise.
3740 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
3741 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
3742 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
3743
3b3bfc0e
GDR
37442004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3745
3746 * include/std/std_complex.h (std::complex<>::real): Return a
3747 reference. Add non-const overload.
3748 (std::complex<>::real): Likewise.
3749 (std::real): Likewise.
3750 (std::imag): Likewise.
3751 (std::operator+): Tidy.
3752 (std::operator-): Likewise.
3753 (std::operator*): Likewise.
3754 (std::operator/): Likewise.
3755 (std::operator>>): Likewise.
3756
09625c16
PC
37572004-01-11 Paolo Carlini <pcarlini@suse.de>
3758
3759 PR libstdc++/13582
3760 * include/bits/fstream.tcc (imbue): Exploit the external
3761 buffer to imbue 'on the fly' a new locale and convert its
3762 remainder with the new codecvt facet.
3763 (underflow): Tweak slightly to deal with this special case.
3764 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
3765 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
3766 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
3767 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
3768 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
16dd5cfe 3769
a8d65349
PC
37702004-01-10 Paolo Carlini <pcarlini@suse.de>
3771
3772 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
3773 Import Revision 28.
3774
b656faa8
PC
37752004-01-10 Paolo Carlini <pcarlini@suse.de>
3776
3777 PR libstdc++/13630
3778 * include/bits/locale_classes.h (class locale): Fix category
3779 typedef.
3780 * testsuite/22_locale/locale/13630.cc: Add.
3781
f88e4715
GB
37822004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3783
3784 * include/bits/locale_facets.h: Make a name really dependent. This
3785 will be needed when Core Issue 224 is implemented.
3786
64cb2c4a
PC
37872004-01-09 Paolo Carlini <pcarlini@suse.de>
3788
3789 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
3790 * testsuite/performance/allocator_thread.cc: Likewise.
3791
158960ba
BK
37922004-01-07 Benjamin Kosnik <bkoz@redhat.com>
3793
3794 * crossconfig.m4: Add LFS, io bits to linux cross config.
3795 * acconfig.h: Remove obsolete bits, reorder.
3796 * config.h.in: Regenerate.
3797 * aclocal.m4: Same.
3798 * configure: Same.
16dd5cfe 3799
e135a038
BK
38002004-01-07 Gawain Bolton <gp.bolton@computer.org>
3801
3802 * include/bits/stl_list.h:
3803 * include/bits/list.tc:
3804 * src/list.cc:
6a734d61
BK
3805 Performance enhancements for destructor, push_front(),
3806 push_back(), pop_front(), pop_back(), sort()
3807 Eliminated static_casts where possible.
3808 Moved code out of header files into new src/list.cc
3809 implementation file for library where possible.
3810 Remove inheritance from iterator class and create separate
3811 classes for non-constant and constant iterators.
e135a038 3812 * include/bits/stl_tree.h (_Rb_tree class):
16dd5cfe 3813 * src/tree.cc:
6a734d61
BK
3814 Only erase contents in destructor.
3815 Eliminate unnecessary initialization in assignment operator.
3816 Optimize for the nominal case by not checking whether
3817 container is empty in clear().
3818 Re-order test in _M_insert() to improve performance.
3819 Move initialization of new node's left & right pointers to
3820 src/tree.cc to where new node's colour is initialized
3821 and to reduce the amount of inline code.
3822 Use _M_leftmost() and _M_end() to improve readability where
3823 appropriate.
3824 Create separate classes for non-constant and constant
3825 iterators to clarify code, avoid extra template parameters and
3826 casting away constness.
16dd5cfe 3827
e135a038
BK
38282004-01-07 Benjamin Kosnik <bkoz@redhat.com>
3829
3830 * src/Makefile.am (sources): Add list.cc, tree.cc.
3831 * src/stl_tree.cc: Move to...
3832 * src/tree.cc: ...here.
3833 * src/list.cc: Add.
3834 * config/linker-map.gnu: Tweaks.
3835 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
3836 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
3837
3838 * bits/stl_vector.h: Column wrap comments.
16dd5cfe 3839
677e7ddc
LR
38402004-01-07 Loren J. Rittle <ljrittle@acm.org>
3841
3842 (re-open) PR libstdc++/12658
3843 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
3844 (locale::global): Likewise.
3845
d8f5bd50
PC
38462004-01-07 Paolo Carlini <pcarlini@suse.de>
3847
3848 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
3849 Remove redundant #include.
3850 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
3851 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
3852 re-enable normal testing.
3853 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
3854 #include.
3855 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
3856 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
3857 Likewise.
3858 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
3859 Likewise.
3860 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
3861 Likewise.
3862 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
3863 Likewise.
3864 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
3865 Likewise.
3866 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
3867 Likewise.
3868 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
3869 Likewise.
3870 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
3871 More properly, #include <locale>.
3872 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
3873 Remove redundant #include.
3874 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
3875 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
3876 redundant DejaGnu directive.
3877 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
3878 redundant #include.
3879
b61f9bf0 38802004-01-06 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 3881 Stefan Olsson <stefan@snon.net>
b61f9bf0
BK
3882
3883 * scripts/check_performance: Use -pthread.
3884 * testsuite/performance/allocator.cc: Tweaks, add list.
3885 * testsuite/performance/allocator_thread.cc: New.
3886
b74a6851 38872004-01-06 Jerry Quinn <jlquinn@optonline.net>
9a01c9b0
JQ
3888
3889 * include/bits/locale_facets.h: Document public classes and
3890 functions.
3891 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
3892 Add comment.
3893
b80115c4
PC
38942004-01-06 Paolo Carlini <pcarlini@suse.de>
3895
3896 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
3897 Remove redundant #includes.
3898 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
3899 Likewise.
3900 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
3901 Likewise.
3902 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
3903 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
3904 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
3905 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
3906 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
3907 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
3908 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
3909 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
3910 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
3911 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
3912 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
3913 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
3914 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
3915 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
3916 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
3917 Likewise.
3918 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
3919 Likewise.
3920 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
3921 Likewise.
3922 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
3923 Likewise.
3924 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
3925 Likewise.
3926 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
3927 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
3928 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
3929
22ed0590 39302004-01-04 Paolo Carlini <pcarlini@suse.de>
223b5084
PC
3931
3932 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
3933 Remove redundant #includes.
3934 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
3935 Likewise.
3936 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
3937 Likewise.
3938 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
3939 Likewise.
3940 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
3941 Likewise.
3942 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
3943 Likewise.
3944 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
3945 Likewise.
3946 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
3947 Likewise.
3948 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
3949 Likewise.
3950 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
3951 Likewise.
3952 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
3953 Likewise.
3954 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
3955 Likewise.
3956 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3957 Likewise.
3958
4f8163b1
MM
39592004-01-04 Mark Mitchell <mark@codesourcery.com>
3960
3961 PR c++/12226
3962 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
3963 constructor.
3964 * testsuite/27_io/basic_fstream/4.cc: Likewise.
3965 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
3966 * testsuite/27_io/basic_ios/4.cc: Likewise.
3967 * testsuite/27_io/basic_iostream/4.cc: Likewise.
3968 * testsuite/27_io/basic_istream/4.cc: Likewise.
3969 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
3970 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
3971 * testsuite/27_io/basic_ostream/4.cc: Likewise.
3972 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
3973 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
3974 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
3975
17fa5560
PC
39762004-01-04 Paolo Carlini <pcarlini@suse.de>
3977
3978 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
3979 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
3980 always use double underscored names.
3981 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
3982 Likewise.
3983 * include/bits/locale_facets.h (struct __numpunct_cache):
3984 Dimension _M_atoms_out and _M_atoms_in one position smaller.
3985 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
3986 and _M_atoms_in.