]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Makefile.am: Generate and install headers for inner classes in java.nio.channels...
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
bb9f8a85
CW
12004-02-25 Carlo Wood <carlo@alinoe.com>
2
3 * bits/demangle.h
4 namespace __gnu_cxx::demangler
5 (session<Allocator>::qualifier_list_Allocator): Add
6 (session<Allocator>::M_qualifier_list_alloc): Add
7 (session<Allocator>::decode_type_with_postfix):
8 Use M_qualifier_list_alloc instead of calling operator new/delete.
9
b79cef06
PC
102004-02-24 Paolo Carlini <pcarlini@suse.de>
11
12 PR libstdc++/14252
13 * include/bits/postypes.h (class streamoff): Add operator++(),
14 operator++(int), operator--() and operator--(int).
15 * testsuite/27_io/fpos/14252.cc: New.
16
212063a8
RS
172004-02-24 Richard Sandiford <rsandifo@redhat.com>
18
19 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
20 error in handling of hex constants.
21
031e658e
PC
222004-02-24 Paolo Carlini <pcarlini@suse.de>
23
24 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
25 Prefer basic_string::append to operator+= and a temporary.
26
6f94dea7
BK
272004-02-23 Benjamin Kosnik <bkoz@redhat.com>
28
29 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
30 Only use fputs, not write.
31
20d0a40e 322004-02-23 Benjamin Kosnik <bkoz@redhat.com>
f263b26e
BK
33
34 * include/ext/malloc_allocator.h: Add operators ==, !=.
35 * include/ext/new_allocator.h: Add operators ==, !=.
36 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
37 (__mt_alloc::_S_get_options): New.
38 (__mt_alloc::_S_set_options): New.
39 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
40 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
41 Move functions out of line, simplify, format.
42 * src/allocator.cc: Simplify explicit instantiations.
43 * include/bits/allocator.h: Tweak.
44
20da06ef
PC
452004-02-22 Paolo Carlini <pcarlini@suse.de>
46
47 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
48 Restructure formatting of value component, first dealing with
49 the non-decimal digits; use reserve.
50
512004-02-22 Paolo Carlini <pcarlini@suse.de>
52
53 * include/bits/locale_facets.h (class money_get): Inherit
54 from money_base too; tweak declaration of _M_extract, now
55 parameterized on _Intl too.
56 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
57 Update definition to use the cache; call reserve on __res to
58 avoid multiple reallocations; fix parsing of sign component
59 according to 22.2.6.1.2, p3.
60 (money_get<>::do_get(long double&),
61 money_get<>::do_get(string_type&)): Update calls of _M_extract.
62 * src/locale-inst.cc: Add instantiations of
63 money_get::_M_extract<false> and money_get::_M_extract<true>.
64 * testsuite/22_locale/money_get/get/char/14.cc: New.
65 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
66
afc3bb58
MM
672004-02-21 Mark Mitchell <mark@codesourcery.com>
68
69 * libsupc++/vterminate.cc
70 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
71 calls to terminate.
72 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
73
74 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
75 not set RLIMIT_AS on HP-UX.
76
e1efc7a0
MM
772004-02-21 Mark Mitchell <mark@codesourcery.com>
78
79 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
80 not set RLIMIT_AS on HP-UX.
81
fe932e50
PC
822004-02-21 Paolo Carlini <pcarlini@suse.de>
83
84 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
85 _S_zero, _S_end } enum, _S_atoms.
86 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
87 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
88 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
89 (__moneypunct_cache<>::~__moneypunct_cache): Update.
90 (__moneypunct_cache<>::_M_cache): Fill the cache.
91 (class moneypunct): Tweak __cache_type typedef.
92 (class money_put): Inherit from money_base too; tweak declaration
93 of _M_insert, now parameterized on _Intl.
94 * include/bits/locale_facets.tcc
95 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
96 (money_put<>::_M_insert): Update definition to use the cache;
97 call reserve on __res to avoid multiple reallocations.
98 (money_put<>::do_put(long double),
99 money_put<>::do_put(const string_type&): Update calls of _M_insert.
100 * config/locale/generic/monetary_members.cc
101 (moneypunct<char, true>::_M_initialize_moneypunct,
102 moneypunct<char, false>::_M_initialize_moneypunct,
103 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
104 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
105 * config/locale/gnu/monetary_members.cc: Likewise.
106 * config/locale/gnu/monetary_members.cc
107 (moneypunct<wchar_t, true>::~moneypunct(),
108 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
109 * src/globals_locale.cc: Tweak fake_money_cache_c.
110 * src/locale-inst.cc: Add instantiations for
111 money_put::_M_insert<false> and money_put::_M_insert<true> and
112 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
113 * src/locale_facets.cc: Define money_base::_S_atoms.
114 * src/locale_init.cc: Update placement new of
115 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
116 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
117
118 * config/locale/generic/numeric_members.cc: Clean up.
119 * config/locale/gnu/numeric_members.cc: Likewise.
120 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
121 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
122 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
123 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
124 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
125 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
126
f196bdc4
MM
1272004-02-20 Mark Mitchell <mark@codesourcery.com>
128
129 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
130 FIFO for writing with ios_base::in|ios_base::out.
131 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
132 * testsuite/27_io/objects/char/7.cc: Likewise.
133 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
134 with "r+".
135
2df93cf3
DE
1362004-02-19 David Edelsohn <edelsohn@gnu.org>
137
138 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
139 from iso-8859-1 to ISO8859-1.
140 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
141 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
142 * 22_locale/collate/hash/wchar_t/2.cc: Same.
143 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
144 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
145 * 22_locale/collate/transform/wchar_t/2.cc: Same.
146 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
147 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
148
2ddf25f2
PC
1492004-02-18 Paolo Carlini <pcarlini@suse.de>
150
151 * include/bits/locale_facets.h (money_get<>::_M_extract):
152 New, helper for do_get.
153 (money_put<>::_M_insert): Likewise, for do_put.
154 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
155 money_put<>::_M_insert): Define.
156 (money_get<>::do_get(long double&), money_get<>::do_get(
157 string_type&), money_put::do_put(long double),
158 money_put::do_put(const string_type&)): Use the helpers.
159
94b8de97
PC
1602004-02-18 Paolo Carlini <pcarlini@suse.de>
161
162 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
163 Rewrite, avoiding recursion.
164 (__gnu_internal::xwrite): Minor tweaks.
165
4d0bdcd6
SO
1662004-02-17 Stefan Olsson <stefan@xapa.se>
167
168 * include/ext/mt_allocator.h: Removed the last
169 pointer. Deallocated blocks are now added to the front of
170 freelists as proposed by Felix Yen. This gives roughly 10%
171 performance boost and saves some memory.
172 * docs/html/ext/mt_allocator.html: Change due to that deallocated
173 blocks now are added to the front of freelists. The reason to this
174 approach is also explained.
bb9f8a85 175
6d4925e3
PC
1762004-02-17 Paolo Carlini <pcarlini@suse.de>
177
178 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
179 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
180 grouping fidelity conditional.
181
3e9b6cf4
PC
1822004-02-16 Paolo Carlini <pcarlini@suse.de>
183
184 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
185 Qualify exception with std::.
186 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
187 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
188 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
189 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
190 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
191
835abbf7
PC
1922004-02-16 Paolo Carlini <pcarlini@suse.de>
193
194 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
195 for now that the catch block is not reached.
196 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
197
b7e64db2
PC
1982004-02-16 Paolo Carlini <pcarlini@suse.de>
199
200 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
201 Fix parsing of the remaining sign characters.
202 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
203 the input is scanned 'til eof.
204 * 22_locale/money_get/get/char/4.cc: Likewise.
205 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
206 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
207 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
208 not do_pos_format: the former is the only one that matters during
209 input.
210 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
211
212 * 22_locale/money_get/get/char/6.cc: Minor tweak.
213 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
214
230377dc
DA
2152004-02-15 David Asher <david.asher@cavium.com>
216
217 PR libstdc++/11352
218 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
219 access __olds beyond __oldlen.
220
45cbe93c
PC
2212004-02-14 Paolo Carlini <pcarlini@suse.de>
222
223 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
224 sure the exception is actually thrown.
225 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
226 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
227 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
228
ac3cadf0
PC
2292004-02-14 Paolo Carlini <pcarlini@suse.de>
230
231 PR libstdc++/13858
232 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
233 In case of conversion errors, throw ios_failure; simplify.
234 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
235 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
236 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
237 previously we didn't throw in case of conversion errors, instead
238 just returned eof().
239 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
240 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
241 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
242
243 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
244 Trivial simplification of a conditional.
245
2e9a1f6b
PC
2462004-02-12 Paolo Carlini <pcarlini@suse.de>
247
248 PR libstdc++/13731 (final part: writev)
20da06ef 249 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2e9a1f6b
PC
250 New, a wrapper around writev() handling partial writes.
251 (__basic_file<char>::xwrite): Move to __gnu_internal and make
252 static.
253 (__basic_file<char>::xsputn): Update call.
254 (__basic_file<char>::xsputn_2): Likewise.
20da06ef 255 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2e9a1f6b
PC
256 Don't declare, now static.
257
1c86f39d
BK
2582004-02-11 Stefan Olsson <stefan@xapa.se>
259
260 * docs/html/ext/mt_allocator.html: New.
261
2622004-02-11 Benjamin Kosnik <bkoz@redhat.com>
263
264 * docs/html/20_util/allocator.html: New file, consolidate
265 allocator information here. Revamp.
266 * docs/html/documentation.html: Change links.
267 * docs/html/20_util/howto.html: Same.
268 * docs/html/ext/howto.html: Same.
269
98e96784
PC
2702004-02-11 Paolo Carlini <pcarlini@suse.de>
271
272 PR libstdc++/13731 (first part: write)
273 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
274 New, declare.
275 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
276 Define it: a wrapper around write() handling partial write.
277 (__basic_file<char>::xsputn): Use it.
278 (__basic_file<char>::xsputn_2): Likewise.
279
a2af66c1
PC
2802004-02-11 Paolo Carlini <pcarlini@suse.de>
281 Petur Runolfsson <peturr02@ru.is>
282
283 PR libstdc++/14078
284 * include/std/std_istream.h (operator>>(__istream_type& (*)
285 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
286 operator>>(ios_base& (*)(ios_base&))): Declare inline.
287 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
288 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
289 operator<<(ios_base& (*) (ios_base&))): Likewise.
290 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
291
64bd39cc
LR
2922004-02-10 Loren J. Rittle <ljrittle@acm.org>
293
294 PR libstdc++/14098
295 * config/linker-map.gnu: Add typeinfo and typeinfo name for
296 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
297
d318a8ba
LR
298 PR libstdc++/14097
299 * config/linker-map.gnu: Add typeinfo and typeinfo name for
300 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
301
a39c16dd
LR
3022004-02-09 Loren J. Rittle <ljrittle@acm.org>
303
304 * include/ext/pool_allocator.h: Include c++config.h.
305
1ef00312
SO
3062004-02-09 Stefan Olsson <stefan@xapa.se>
307
308 * include/ext/mt_allocator.h: thread_id is unused in non threaded
309 applications and now has a ifdef to remove it completely on
310 compilers without thread support. Include stdlib.h due to a
311 compiler warning on getenv().
312
1b81e1b5
PB
3132004-02-09 Paul Brook <paul@codesourcery.com>
314
315 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
316
cf0d2c40
PC
3172004-02-09 Paolo Carlini <pcarlini@suse.de>
318
319 PR libstdc++/14071
320 * src/locale_init.cc (locale::global(const locale&)): Use
321 locale::name() in order to decide whether calling setlocale.
322 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
323
324 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
325 Avoid computing &= unnecessarily.
326
664fc5df
JW
3272004-02-09 James E Wilson <wilson@specifixinc.com>
328
329 PR libstdc++/5625
330 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
331 __builtin_extend_pointer.
332
86fd2b51
PC
3332004-02-09 Paolo Carlini <pcarlini@suse.de>
334
335 PR libstdc++/14072
336 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
337 Don't leave dangling pointers.
338 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
339 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
340 facet is needed in the final test.
341
f19e9e4d
BI
3422004-02-09 Bernardo Innocenti <bernie@develer.com>
343
344 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
345 * configure: Regenerate.
346
c3862806
RH
3472004-02-08 Richard Henderson <rth@redhat.com>
348
349 PR libstdc++/14026
350 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
351 uncaughtExceptions during nested catch rethrow.
352 * testsuite/18_support/14026.cc: New.
353
fd95f498
PC
3542004-02-08 Paolo Carlini <pcarlini@suse.de>
355
356 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
357 When working in place remember to set the state to sharable
358 (otherwise, _M_mutate does it).
359
ed6814f7
BI
3602004-02-08 Bernardo Innocenti <bernie@develer.com>
361
362 * include/bits/allocator.h, include/bits/basic_ios.h,
363 include/bits/basic_ios.tcc, include/bits/basic_string.h,
364 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
365 include/bits/char_traits.h, include/bits/codecvt.h,
366 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
367 include/bits/demangle.h, include/bits/deque.tcc,
368 include/bits/fstream.tcc, include/bits/functexcept.h,
369 include/bits/gslice.h, include/bits/gslice_array.h,
370 include/bits/indirect_array.h, include/bits/ios_base.h,
371 include/bits/istream.tcc, include/bits/list.tcc,
372 include/bits/locale_classes.h, include/bits/locale_facets.h,
373 include/bits/locale_facets.tcc, include/bits/localefwd.h,
374 include/bits/mask_array.h, include/bits/ostream.tcc,
375 include/bits/postypes.h, include/bits/slice_array.h,
376 include/bits/sstream.tcc, include/bits/stl_algo.h,
377 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
378 include/bits/stl_construct.h, include/bits/stl_deque.h,
379 include/bits/stl_function.h, include/bits/stl_heap.h,
380 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
381 include/bits/stl_list.h, include/bits/stl_map.h,
382 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
383 include/bits/stl_numeric.h, include/bits/stl_pair.h,
384 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
385 include/bits/stl_relops.h, include/bits/stl_set.h,
386 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
387 include/bits/stl_threads.h, include/bits/stl_tree.h,
388 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
389 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
390 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
391 include/bits/type_traits.h, include/bits/valarray_after.h,
392 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
393 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
394 trailing whitespace.
395
eee54836
PC
3962004-02-06 Paolo Carlini <pcarlini@suse.de>
397
398 * include/bits/basic_string.h: Fix comment.
399
15d72060
PC
4002004-02-06 Paolo Carlini <pcarlini@suse.de>
401
402 * include/bits/stl_construct.h: Wrap overlong lines, reformat
403 according to the coding standards.
404 * include/bits/stl_pair.h: Likewise.
405 * include/bits/stl_raw_storage_iter.h: Likewise.
406 * include/bits/stl_stack.h: Likewise.
407 * include/bits/stl_uninitialized.h: Likewise.
408 * include/bits/stream_iterator.h: Likewise.
409 * include/bits/streambuf_iterator.h: Likewise.
410 * include/bits/type_traits.h: Likewise.
411
c5dd98f3
PC
4122004-02-06 Paolo Carlini <pcarlini@suse.de>
413
414 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
415 Adjust timings.
416
462f4a81
LR
4172004-02-05 Loren J. Rittle <ljrittle@acm.org>
418
419 * scripts/check_performance: Support PCH.
420
fbdf188d
LR
421 * scripts/check_performance (CXX): Add -DNOTHREAD.
422 * testsuite/performance/20_util/allocator/insert.cc: Integrate
423 threaded tests from insert_insert.cc. Tweak iterations,
424 remove special cases.
425 * testsuite/performance/20_util/allocator/insert_insert.cc:
426 Make all tests single-threaded. Tweak iterations.
427 * testsuite/performance/20_util/allocator/map_thread.cc:
428 Tweak iterations.
429 * testsuite/performance/20_util/allocator/producer_consumer.cc:
430 Likewise.
431
0314451d
GK
4322004-02-05 Geoffrey Keating <geoffk@apple.com>
433
434 PR 12179
435 * .cvsignore: New.
436 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
437 'gcc-lib'. Add comment about poorly-named variables.
438 * aclocal.m4: Regenerate.
439 * configure: Regenerate.
440
d9010fca
PC
4412004-02-05 Paolo Carlini <pcarlini@suse.de>
442
443 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
444 Thousands-sep are always optional; thousands-sep are not allowed
445 after the decimal_point.
446 * testsuite/22_locale/money_get/get/char/12.cc: New.
447 * testsuite/22_locale/money_get/get/char/13.cc: New.
448 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
449 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
450
451 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
452 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
453 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
454 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
455 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
456 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
457 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
458 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
459
460 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
461 the standard.
462 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
463
d232925f
RS
4642004-02-05 Richard Sandiford <rsandifo@redhat.com>
465
466 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
467 Define.
468 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
469 it to decide whether FIONREAD should take an off_t or int argument.
470
92ff3e43
PC
4712004-02-05 Paolo Carlini <pcarlini@suse.de>
472
473 * include/bits/stl_function.h: Minor formatting changes.
474
9fe7e2b7
ZW
4752004-02-04 Zack Weinberg <zack@codesourcery.com>
476
477 Revert previous change to config/abi/*/baseline_symbols.txt.
478
6a734d61
BK
4792004-02-04 Benjamin Kosnik <bkoz@redhat.com>
480 Zack Weinberg <zack@codesourcery.com>
481
482 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
483 New function.
484 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
485 (__basic_file<char>::_M_open_mode): Delete.
486 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
487
488 * testsuite/27_io/basic_filebuf/close/char/9964.cc
489 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
490 Correct flags to filebuf::open calls.
491
492 * config/abi/alpha-freebsd5/baseline_symbols.txt
493 * config/abi/alpha-linux-gnu/baseline_symbols.txt
494 * config/abi/hppa-linux-gnu/baseline_symbols.txt
495 * config/abi/i386-freebsd4/baseline_symbols.txt
496 * config/abi/i386-freebsd5/baseline_symbols.txt
497 * config/abi/i486-linux-gnu/baseline_symbols.txt
498 * config/abi/ia64-linux-gnu/baseline_symbols.txt
499 * config/abi/mips-linux-gnu/baseline_symbols.txt
500 * config/abi/sparc-freebsd5/baseline_symbols.txt
501 * config/abi/sparc-linux-gnu/baseline_symbols.txt
502 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
503 Remove entry for __basic_file<char>::_M_open_mode.
504
f63fd68b
LR
5052004-02-04 Loren J. Rittle <ljrittle@acm.org>
506
507 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
508
de8a2f87
BK
5092004-02-04 Felix Yen <fwy@alumni.brown.edu>
510
511 * testsuite/performance/20_util/producer_consumer.cc: New.
512 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
6a734d61 513
de8a2f87 5142004-02-04 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 515
de8a2f87 516 * testsuite/performance/20_util/allocator.cc: Move to..
6a734d61 517 * testsuite/performance/20_util/allocator/insert.cc: ...here.
de8a2f87
BK
518 * testsuite/performance/20_util/allocator_thread.cc: Move to...
519 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
520 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
521 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
6a734d61 522
772fec9a
JW
5232004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
524
525 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
526 * docs/html/faq/index.txt: Regenerate.
527
56766e0d
DM
5282004-02-04 Dhruv Matani <dhruvbird@gmx.net>
529
530 * include/ext/debug_allocator.h: _M_extra now stands for the
531 number of extra objects instead of the number of extra bytes.
532 (debug_allocator::allocate): Adjust.
533 (debug_allocator::deallocate): Adjust.
534
535 * include/ext/pool_allocator.h: Fix typo.
536
22269632
FY
5372004-02-03 Felix Yen <fwy@alumni.brown.edu>
538 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 539
22269632
FY
540 * testsuite/performance/20_util/allocator.cc: Add map,
541 deque, set tests.
542 * testsuite/performance/20_util/allocator_thread.cc: Same.
6a734d61 543
129e9210
PC
5442004-02-03 Paolo Carlini <pcarlini@suse.de>
545
546 * include/bits/basic_string.h (insert(iterator)): Remove,
547 non-standard and already scheduled for removal.
548
83042fca
PC
5492004-02-03 Paolo Carlini <pcarlini@suse.de>
550
551 * include/bits/stl_iterator_base_funcs.h: Minor formatting
552 and indentation tweaks.
553 * include/bits/stl_iterator_base_types.h: Likewise.
554 * include/bits/stl_list.h: Likewise.
555 * include/bits/stl_map.h: Likewise.
556 * include/bits/stl_tempbuf.h: Likewise.
557
06a81b60
JQ
5582004-02-02 Jerry Quinn <jlquinn@optonline.net>
559
560 * include/bits/gslice.h, include/bits/gslice_array.h,
561 include/bits/indirect_array.h, include/bits/mask_array.h,
562 include/bits/slice_array.h, include/bits/stl_numeric.h,
563 include/std/std_valarray.h: Update copyright years.
564
7fb397a4
JQ
5652004-02-02 Jerry Quinn <jlquinn@optonline.net>
566
567 * include/bits/gslice.h (gslice): Document.
568 * include/bits/gslice_array.h (gslice_array): Document.
569 * include/bits/indirect_array (indirect_array): Document.
570 * include/bits/mask_array (mask_array): Document.
571 * include/bits/slice_array.h (slice,slice_array): Document.
572 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
573 adjacent_difference): Document
574 * include/std/std_valarray.h (valarray): Document.
575
7f7fb4ef
BK
5762004-02-02 Benjamin Kosnik <bkoz@redhat.com>
577
6a734d61
BK
578 * docs/html/19_diagnostics/howto.html: Move verbose terminate
579 documentation...
580 * docs/html/18_support/howto.html: Here.
581 * docs/html/documentation.html: Add reference here.
582
9924f721
PC
5832004-02-02 Paolo Carlini <pcarlini@suse.de>
584
585 * config/locale/gnu/c++locale_internal.h: Remove prototypes
586 of no longer used GLIBC thread locale functions.
587
2ba43229 5882004-02-02 Eric Christopher <echristo@redhat.com>
6a734d61 589 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
590
591 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
6a734d61
BK
592 -finput-charset.
593 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
594 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
16dd5cfe 595 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
6a734d61
BK
596 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
597 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
598 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
599 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
600 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
16dd5cfe
EC
601 Ditto.
602
7c920151
PC
6032004-02-02 Paolo Carlini <pcarlini@suse.de>
604
605 * include/bits/stl_function.h: Additional minor tweaks.
606 * include/bits/stl_multiset.h: Likewise.
607
608 * include/bits/stl_queue.h: Minor tweaks.
609
dcec0389
PC
6102004-02-02 Paolo Carlini <pcarlini@suse.de>
611
612 PR libstdc++/13976 (continued)
613 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
614 Make the second parameter unnamed, to void unused parameter
615 warnings.
616 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
617
90f8b692
PC
6182004-02-02 Paolo Carlini <pcarlini@suse.de>
619
620 PR libstdc++/13976
621 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
622 Make the second parameter unnamed, to void unused parameter
623 warnings.
624 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
625 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
626
737ab798
PC
6272004-02-01 Paolo Carlini <pcarlini@suse.de>
628
629 * include/bits/stl_algo.h: Additional minor tweaks.
630 * include/bits/stl_map.h: Likewise.
631 * include/bits/stl_multimap.h: Likewise.
632 * include/bits/stl_multiset.h: Likewise.
633 * include/bits/stl_set.h: Likewise.
634 * include/bits/stl_tree.h: Likewise.
635
64ebadac
PC
6362004-02-01 Paolo Carlini <pcarlini@suse.de>
637
638 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
639 Remove, unused.
640
afd4cbbb
PC
6412004-02-01 Paolo Carlini <pcarlini@suse.de>
642
643 * include/bits/stl_function.h: Additional minor tweaks.
644
f6592a9e
PC
6452004-02-01 Paolo Carlini <pcarlini@suse.de>
646
647 * include/bits/deque.tcc: Wrap overlong lines, constify
648 a few variables, reformat according to the coding standards.
649 * include/bits/list.tcc: Likewise.
650 * include/bits/stl_deque.h: Likewise.
651 * include/bits/stl_function.h: Likewise.
652 * include/bits/stl_iterator.h: Likewise.
653 * include/bits/stl_iterator_base_funcs.h: Likewise.
654 * include/bits/stl_iterator_base_types.h: Likewise.
655 * include/bits/stl_list.h: Likewise.
656 * include/bits/stl_map.h: Likewise.
657 * include/bits/stl_multimap.h: Likewise.
658 * include/bits/stl_multiset.h: Likewise.
659 * include/bits/stl_relops.h: Likewise.
660 * include/bits/stl_set.h: Likewise.
661
62e67651
PC
6622004-02-01 Paolo Carlini <pcarlini@suse.de>
663
664 * include/bits/stl_bvector.h: Wrap overlong lines, constify
665 a few variables, reformat according to the coding standards.
666 * include/bits/stl_tree.h: Likewise.
667
8f7ca398
PC
6682004-01-31 Paolo Carlini <pcarlini@suse.de>
669
670 * include/bits/stl_algo.h: Minor additional reformat, add
671 copyright year.
672 * include/bits/stl_algobase.h: Add copyright year.
673
ffa67767
PC
6742004-01-31 Paolo Carlini <pcarlini@suse.de>
675
676 * include/bits/stl_algo.h: Wrap overlong lines, constify
677 a few variables, reformat according to the coding standards.
678 * include/bits/stl_algobase.h: Likewise.
679 * include/bits/stl_heap.h: Likewise.
680
8de63ee0
PC
6812004-01-31 Paolo Carlini <pcarlini@suse.de>
682
683 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
684
685 * include/bits/basic_string.h: Fix two comments.
686
af3fb3d6
PB
6872004-01-31 Per Bothner <per@bothner.com>
688
689 * include/ext/mt_allocator.h
690 (__mt_alloc::_S_thread_freelist_mutex): Guard with
691 __GTHREAD_MUTEX_INIT.
692
24f33069
PC
6932004-01-31 Paolo Carlini <pcarlini@suse.de>
694
695 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
696
7c960b3d
PC
6972004-01-30 Paolo Carlini <pcarlini@suse.de>
698
699 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
700 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
701 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
16dd5cfe 702
7b1d1edf
FY
7032004-01-30 Felix Yen <fwy@alumni.brown.edu>
704
705 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
706 Don't use clear, but instead assign. Use insert.
707
c9732ce7
BK
7082004-01-30 Benjamin Kosnik <bkoz@redhat.com>
709
710 * src/demangle.cc: Add instantiations.
711 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
712 * src/Makefile.in: Regenerate.
16dd5cfe 713
25d24447
DE
7142004-01-30 David Edelsohn <edelsohn@gnu.org>
715
716 * src/allocator.cc: Protect _S_get_thread_id() and
717 _S_thread_key_destr() with #ifdef __GTHREADS.
718
33e95e9d
PC
7192004-01-30 Paolo Carlini <pcarlini@suse.de>
720
721 Reshuffle performance testsuite.
722 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
723 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
724 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
725 fstream_seek_write.cc, ifstream_extract_float.cc,
726 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
727 list_create_fill_sort.cc, map_create_fill.cc,
728 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
729 ofstream_insert_float.cc, ofstream_insert_int.cc,
730 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
731 wchar_t_out.cc: Split into...
732 * testsuite/performance/20_util/allocator.cc: New.
733 * testsuite/performance/20_util/allocator_map_thread.cc: New.
734 * testsuite/performance/20_util/allocator_thread.cc: New.
735 * testsuite/performance/21_strings/string_append: New.
736 * testsuite/performance/22_locale/is_wchar_t.cc: New.
737 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
738 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
739 * testsuite/performance/22_locale/wchar_t_in.cc: New.
740 * testsuite/performance/22_locale/wchar_t_length.cc: New.
741 * testsuite/performance/22_locale/wchar_t_out.cc: New.
742 * testsuite/performance/23_containers/container_benchmark.cc: New.
743 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
744 * testsuite/performance/23_containers/map_create_fill.cc: New.
745 * testsuite/performance/26_numerics/complex_norm.cc: New.
746 * testsuite/performance/27_io/cout_insert_int.cc: New.
747 * testsuite/performance/27_io/filebuf_copy.cc: New.
748 * testsuite/performance/27_io/filebuf_sputc.cc: New.
749 * testsuite/performance/27_io/fstream_seek_write.cc: New.
750 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
751 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
752 * testsuite/performance/27_io/ifstream_getline.cc: New.
753 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
754 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
755
d1615643
PC
7562004-01-30 Paolo Carlini <pcarlini@suse.de>
757
758 * include/bits/basic_string.tcc (_Rep::_S_create):
759 Never allocate a string bigger than max_size(); always keep
760 __capacity and __size in sync to avoid memory leaks at
761 deallocation time.
762
690495b0
PC
7632004-01-30 Paolo Carlini <pcarlini@suse.de>
764
765 * include/bits/basic_string.tcc (_S_construct(_InIterator,
766 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
767 the double loop, streamline.
768
769 * include/bits/basic_string.tcc: Very minor tweaks.
770
f64f4406
LR
7712004-01-30 Loren J. Rittle <ljrittle@acm.org>
772
773 * scripts/check_performance: Only compile with $THREAD_FLAG
774 when test is marked to require it. Allow multiple
775 compilations/executions of marked tests.
776 * testsuite/testsuite_performance.h (report_performance):
777 Report dynamic thread support status.
778 (report_header): Likewise.
779 * testsuite/performance/allocator.cc: Stabilize iteration
780 count. Support more allocators. Mark each allocator test to
781 run and report independently.
782 * testsuite/performance/allocator_map_thread.cc: Likewise.
783 * testsuite/performance/allocator_thread.cc: Likewise.
784
917a9fd4
SW
7852004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
786
787 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
bb9f8a85
CW
788 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
789 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
917a9fd4
SW
790 std::get_temporary_buffer() instead of duplicating its code.
791 Update to C++STYLE conventions.
bb9f8a85 792 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
917a9fd4
SW
793 new() instead of std::malloc().
794 (return_temporary_buffer): Use ::operator delete() instead of
795 std::free().
796
6efc84f4
BK
7972004-01-29 Benjamin Kosnik <bkoz@redhat.com>
798
799 * include/bits/allocator.h: Temporary switch to new_allocator as
800 the default to unjam bootstraps.
16dd5cfe 801
ba9d552e
BK
8022004-01-28 Benjamin Kosnik <bkoz@redhat.com>
803
804 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
805 * include/Makefile.in: Regenerate.
806 * include/bits/allocator_traits.h: Remove.
807 * include/bits/allocator.h: Remove allocator_traits.h include, and
808 relevant comments.
809 (allocator): Empty base class, inherit from the underlying allocator.
810 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
811 * src/allocator.cc: ...here. New. For the underlying allocators.
812 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
813 * config/linker-map.gnu: Remove __pool_alloc bits.
814 * src/Makefile.am (sources): Add allocator.cc.
815 * src/Makefile.in: Regenerate.
816 * testsuite/20_util/allocator/1.cc: Split second test into...
16dd5cfe 817 * testsuite/20_util/allocator/8230.cc: ...this.
ba9d552e
BK
818 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
819 typedef to use std::allocatore. Format.
820 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
821 _Alloc_traits.
822 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
823 __throw_bad_alloc calls. Don't include <memory>.
824 * include/ext/malloc_allocator.h: Remove <memory> include.
825 * include/ext/new_allocator.h (new_allocator): Same.
826 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
827 declaration. Switch __alloc to _Alloc.
828 * include/ext/hashtable.h: Remove __alloc.
829 * include/backward/alloc.h: Only inject allocator, not
830 implementation details.
831
832 * include/ext/mt_allocator.h: Replace free with delete.
16dd5cfe 833
ff4cf05b
BK
8342004-01-28 Benjamin Kosnik <bkoz@redhat.com>
835
836 * src/globals_io.cc: Change to __gnu_internal namespace.
837 * src/globals_locale.cc: Same.
838 * src/locale_init.cc: Same.
839 * src/ios_init.cc: Same.
16dd5cfe 840
f15f99a1
SO
8412004-01-28 Stefan Olsson <stefan@snon.net>
842
8de63ee0 843 * include/ext/mt_allocator.h: Replaced all malloc() calls with
f15f99a1
SO
844 operator new(). Added support for the env variable
845 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
846 one in allocate() as well). Fix typos.
847
234e0d31
PC
8482004-01-28 Paolo Carlini <pcarlini@suse.de>
849
850 * include/bits/basic_string.h (_S_create(size_t,
851 const _Alloc&): Change signature to take two size_type
852 arguments.
853 * include/bits/basic_string.tcc (_S_construct(_InIterator,
854 _InIterator, const _Alloc&, input_iterator_tag)): Update
855 call, tweak a bit.
856 (_S_construct(_InIterator, _InIterator, const _Alloc&,
857 forward_iterator_tag)): Likewise.
858 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
859 (_M_mutate(size_type, size_type, size_type)): Don't
860 implement the exponential growth policy, demand it to
861 _S_create, update call and simplify.
862 (_M_clone(const _Alloc&, size_type)): Likewise.
863 (_S_create(size_type, size_type, const _Alloc&)): Implement
864 the growth policy, simplify otherwise.
865
866 * include/bits/basic_string.h (_Rep::operator[]): Tweak
867 signature to take a size_type, consistently with the other
868 members.
16dd5cfe 869
62b21ea0
BK
8702004-01-27 Benjamin Kosnik <bkoz@redhat.com>
871
872 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
873 delete declarations, add include and test variable.
874
0b563420
JQ
8752003-01-27 Jerry Quinn <jlquinn@optonline.net>
876
877 * include/bits/codecvt.h, include/bits/locale_facets.h,
878 include/bits/postypes.h, include/bits/stl_bvector.h,
879 include/bits/stl_multiset.h, include/bits/stl_set.h,
880 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
881 include/std/std_complex.h: Document.
882
2a837cf8
JQ
8832004-01-27 Jerry Quinn <jlquinn@optonline.net>
884
885 PR libstdc++/11584
886 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
6a734d61 887 iword/pword selector.
2a837cf8
JQ
888 (ios_base::iword, ios_base::pword): Use it.
889 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
6a734d61 890 iword or pword member on alloc failure.
2a837cf8
JQ
891 * testsuite/27_io/ios_base/storage/11584.cc: New test.
892
6e198ee0
UW
8932004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
894 PJ Darcy <darcypj@us.ibm.com>
895
896 * configure.host: Add support for *-tpf.
897 * crossconfig.m4: Likewise.
898 * configure: Regenerate.
899 * config/os/tpf: New directory.
900 * config/os/tpf/os_defines.h: New file.
901 * config/os/tpf/ctype_base.h: Likewise.
902 * config/os/tpf/ctype_inline.h: Likewise.
903 * config/os/tpf/ctype_noninline.h: Likewise.
904
51b6facb
PC
9052004-01-27 Paolo Carlini <pcarlini@suse.de>
906
907 PR libstdc++/13884
908 * include/bits/sstream.tcc: Guard use of extern template.
16dd5cfe 909
a3af79ea
PC
9102004-01-27 Paolo Carlini <pcarlini@suse.de>
911
912 * include/bits/basic_string.tcc
913 (basic_string(const basic_string&, size_type, size_type),
914 basic_string(const basic_string&, size_type, size_type,
915 const _Alloc&)): Avoid unnecessarily constructing iterators.
916
ba9119ec
PC
9172004-01-26 Paolo Carlini <pcarlini@suse.de>
918
919 * config/locale/generic/c_locale.cc: Fix throw messages
920 to use the __N marker.
921 * config/locale/gnu/c_locale.cc: Likewise.
922 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
923 Likewise.
924 * docs/html/17_intro/C++STYLE: Likewise.
925 * include/bits/basic_ios.tcc: Likewise.
926 * include/bits/fstream.tcc: Likewise.
927 * include/bits/vector.tcc: Likewise.
928 * include/ext/ropeimpl.h: Likewise.
929 * include/std/std_bitset.h: Likewise.
930 * src/ios.cc: Likewise.
931 * src/locale.cc: Likewise.
932 * src/localename.cc: Likewise.
933
0e50667c
PC
9342004-01-26 Paolo Carlini <pcarlini@suse.de>
935
936 * include/bits/basic_string.h (_M_replace_aux): Use the
937 __N marker in throw message.
938 * include/bits/basic_string.tcc (assign(const _CharT*,
939 size_type), insert(size_type, const _CharT*, size_type),
940 replace(size_type, size_type, const _CharT*, size_type),
941 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
942 Likewise.
943
944 * include/bits/basic_string.h, include/bits/basic_string.tcc:
945 Fold overlong lines, minor formatting changes.
946
4d39d873
PC
9472004-01-26 Paolo Carlini <pcarlini@suse.de>
948
949 * include/bits/basic_string.h (replace(iterator, iterator,
950 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
951 (replace(iterator, iterator, const _CharT*)): Ditto.
952 (replace(iterator, iterator, const _CharT*, size_type)):
953 Add missing _GLIBCXX_DEBUG_PEDASSERT.
954
2cb612d1
PC
9552004-01-26 Paolo Carlini <pcarlini@suse.de>
956
957 * include/bits/basic_string.tcc (replace(size_type,
958 size_type, const _CharT*, size_type)): Implement optimized
959 in-place algorithm for non-overlapping ranges.
960 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
961 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
962
963 * include/bits/basic_string.tcc (insert(size_type,
964 const _CharT*, size_type)): Tweak slightly.
965
f942e78d
AS
9662004-01-26 Andreas Schwab <schwab@suse.de>
967
968 * config/locale/gnu/monetary_members.cc: Restore locale before
969 rethrowing exception.
970
91eab378
PC
9712004-01-25 Paolo Carlini <pcarlini@suse.de>
972
973 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
974 Define inline here.
975 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
976 Move inline.
977
978 * include/bits/basic_string.tcc: Very minor tweaks.
979
9c519c93
PC
9802004-01-25 Paolo Carlini <pcarlini@suse.de>
981
982 * testsuite/performance/string_append.cc: Increase number
983 of iterations.
984
30f315cd
PC
9852004-01-25 Paolo Carlini <pcarlini@suse.de>
986
987 * include/bits/basic_string.h (erase(size_type, size_type),
988 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
989 instead, thus avoiding redundant check for length_error.
990
991 * include/bits/basic_string.h: Tweak some comments.
992
bb9909b0
PC
9932004-01-24 Paolo Carlini <pcarlini@suse.de>
994
995 * include/bits/basic_string.tcc (operator+(const _CharT*,
996 const basic_string&)): No need to go through the append
997 taking two iterators.
998
04cc8aef
PC
9992004-01-24 Paolo Carlini <pcarlini@suse.de>
1000
1001 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1002 Revert last change to use std::min: machine language is worse.
1003 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1004 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1005 (find_last_not_of(_CharT, size_type)): Ditto.
1006
1007 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1008 size_type)): Discard the value returned by _M_check.
1009 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1010 (append(const basic_string&, size_type, size_type)): Ditto.
1011 (copy(_CharT*, size_type, size_type)): Ditto.
1012 (compare(size_type, size_type, const basic_string&)): Ditto.
1013 (compare(size_type, size_type, const basic_string&,
1014 size_type, size_type)): Ditto.
1015 (compare(size_type, size_type, const _CharT*)): Ditto.
1016 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1017
8865bf80
PC
10182004-01-24 Paolo Carlini <pcarlini@suse.de>
1019
1020 * include/bits/basic_string.h (insert(size_type,
1021 const basic_string&, size_type, size_type)): Define inline here.
1022 * include/bits/basic_string.tcc (insert(size_type,
1023 const basic_string&, size_type, size_type)): Move inline.
1024
fefe561e
PC
10252004-01-24 Paolo Carlini <pcarlini@suse.de>
1026
1027 * include/bits/basic_string.h (assign(const basic_string&,
1028 size_type, size_type)): Define inline here.
1029 (replace(size_type, size_type, const basic_string&,
1030 size_type, size_type)): Ditto.
1031 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1032 _InputIterator, __false_type)): Only declare.
1033 (_M_replace(iterator, iterator, _InputIterator,
1034 _InputIterator)): Remove.
1035 * include/bits/basic_string.tcc (assign(const basic_string&,
1036 size_type, size_type)): Move inline.
1037 (replace(size_type, size_type, const basic_string&,
1038 size_type, size_type)): Ditto.
1039 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1040 _InputIterator, __false_type)): Define, now does also what
1041 _M_replace did before.
1042 * src/string-inst.cc (_M_replace): Don't instantiate.
1043
1044 * include/bits/basic_string.tcc (find(const _CharT*,
1045 size_type, size_type)): Tidy.
1046 (rfind(_CharT, size_type)): Ditto.
1047 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1048 (find_first_not_of(_CharT, size_type)): Ditto.
1049 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1050 (find_last_not_of(_CharT, size_type)): Ditto.
1051
72afd981
PC
10522004-01-23 Paolo Carlini <pcarlini@suse.de>
1053
1054 PR libstdc++/13838
1055 * include/debug/bitset (operator|=): Fix typo.
1056 * testsuite/23_containers/bitset/operations/13838.cc: New.
1057
251804e6
PC
10582004-01-23 Paolo Carlini <pcarlini@suse.de>
1059
1060 * include/bits/basic_string.tcc (insert(size_type,
1061 const _CharT*, size_type __n)): Fix length_error check.
1062 (replace(size_type, size_type, const _CharT*, size_type):
1063 Ditto; call _M_replace_safe.
1064 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1065 Fix length_error check.
1066 (_M_replace(iterator, iterator, _InputIterator,
1067 _InputIterator)): Ditto, tweak.
1068 (_M_replace_safe(size_type, size_type, const _CharT*,
1069 size_type)): Remove length_error check.
1070
1071 * include/bits/basic_string.tcc (append(const basic_string&),
1072 append(const basic_string&, size_type, size_type)): Tweak
1073 comment.
1074
1075 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1076 size_type)): If __n == 0 don't call traits::copy.
1077
3cfb44c2
SO
10782004-01-23 Stefan Olsson <stefan@snon.net>
1079
1080 * include/ext/mt_allocator.h: Reduce lock contention.
1081
22352844
PC
10822004-01-23 Paolo Carlini <pcarlini@suse.de>
1083
1084 PR libstdc++/13831
1085 * include/bits/fstream.tcc (underflow): Remove unused
1086 variable.
1087 * include/bits/streambuf_iterator.h (equal): Ditto.
1088 * include/bits/locale_facets.h (_M_convert_from_char):
1089 Ditto.
1090
129057c1
KG
10912004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1092
1093 PR c/13814
1094 * config/linker-map.gnu (nan): Delete.
1095 * libmath/mathconf.h (NAN, nan): Delete.
1096 * linkage.m4 (nan): Don't check for it.
1097 * libmath/nan.c: Delete file.
1098
1099 * config.h.in, configure: Regenerate.
1100
0e707673
PC
11012004-01-23 Paolo Carlini <pcarlini@suse.de>
1102
1103 * include/bits/basic_string.h (push_back(_CharT)):
1104 Call _M_replace_aux.
1105 (insert(size_type, const basic_string&)): Trivial tweak.
1106 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1107 (insert(iterator, _CharT)): Ditto.
1108 (erase(size_type, size_type)): Ditto.
1109 (erase(iterator)): Ditto.
1110 (erase(iterator, iterator)): Ditto.
1111 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1112
402b0954
LR
11132004-01-23 Loren J. Rittle <ljrittle@acm.org>
1114
1115 libstdc++/13823
1116 * testsuite/performance/allocator_map_thread.cc: New test.
1117
ba46e66a
PC
11182004-01-22 Paolo Carlini <pcarlini@suse.de>
1119
1120 * include/bits/locale_facets.tcc
1121 (money_put::do_put(..., long double)): Use the basic_string
1122 constructor for char arrays, not that for C-strings, to pass
1123 __digits to do_put(..., const string_type&): __ws isn't
1124 null-terminated.
1125
7bb9b33b
PC
11262004-01-22 Paolo Carlini <pcarlini@suse.de>
1127
1128 * include/bits/basic_string.h (_M_replace_safe): Change
1129 signatures to take size_types and const _CharT*.
1130 (_M_replace_aux): Likewise, takes size_types instead of
1131 iterators.
1132 (append(size_type, _CharT)): Update call.
1133 (assign(size_type, _CharT)): Ditto.
1134 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1135 (_M_replace_dispatch(iterator, iterator, _Integer,
1136 _Integer, __true_type)): Ditto.
1137 * include/bits/basic_string.tcc (assign(const _CharT*,
1138 size_type)): Ditto.
1139 (insert(size_type, const _CharT*, size_type)): Ditto.
1140 (replace(size_type, size_type, const _CharT*,
1141 size_type)): Ditto.
1142 (_M_replace(iterator, iterator, _InputIterator,
1143 _InputIterator)): Ditto.
1144 (append(const basic_string&)): Ditto.
1145 (append(const basic_string&, size_type, size_type): Ditto.
1146 (append(const _CharT*, size_type): Ditto.
1147 (_M_replace_safe, _M_replace_safe): Change definitions
1148 accordingly, simplify.
1149 * string-inst.cc (_M_replace_safe): Don't instantiate.
1150
3e7782b2
PC
11512004-01-21 Paolo Carlini <pcarlini@suse.de>
1152
1153 * include/bits/basic_string.tcc (append(const basic_string&)):
1154 Revert previous change.
1155 (append(const basic_string&, size_type, size_type)): Revert
1156 previous change, use _M_check and _M_limit.
1157
e03a6fb7
PC
11582004-01-21 Paolo Carlini <pcarlini@suse.de>
1159
1160 * include/bits/basic_string.h (_M_check): Change to return
1161 a checked __pos and take an additional const char* argument.
1162 (_M_fold): Rename to _M_limit, change to return a size_type,
1163 corresponding to the __off limited to the actual length.
1164 (insert(size_type, size_type, _CharT)): Update call, call
1165 replace.
1166 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1167 size_type, _CharT) instead.
1168 (erase(size_type, size_type)): Update calls.
1169 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1170 (substr(size_type, size_type)): Use _M_check.
1171 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1172 size_type, size_type)): Update calls.
1173 (basic_string(const basic_string&, size_type, size_type,
1174 const _Alloc&)): Ditto.
1175 (assign(const basic_string&, size_type, size_type)): Use the
1176 new _M_check and _M_limit.
1177 (insert(size_type, const basic_string&, size_type, size_type):
1178 Ditto.
1179 (insert(size_type, const _CharT*, size_type)): Ditto.
1180 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1181 (replace(size_type, size_type, const basic_string&,
1182 size_type, size_type)): Ditto.
1183 (append(const basic_string&)): Ditto.
1184 (append(const basic_string&, size_type, size_type)): Ditto.
1185 (copy(_CharT*, size_type, size_type)): Ditto.
1186 (compare(size_type, size_type, const basic_string&)): Ditto.
1187 (compare(size_type, size_type, const basic_string&,size_type,
1188 size_type)): Ditto.
1189 (compare(size_type, size_type, const _CharT*)): Ditto.
1190 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1191
cec73eb5
SO
11922004-01-19 Stefan Olsson <stefan@snon.net>
1193
1194 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1195 memory on it's freelist this memory is not returned to global
1196 list. Simplification of deallocate so that memory is always
1197 returned to the calling thread id's freelist instead of to
1198 global. Fix typos. Add volatile where appropriate.
1199
87d11ccc
LR
12002004-01-19 Loren J. Rittle <ljrittle@acm.org>
1201
1202 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1203 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1204 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1205
f18be892
PC
12062004-01-19 Paolo Carlini <pcarlini@suse.de>
1207
1208 * src/debug.cc: Make sure all the names are prefixed with
1209 double (or single) underscore.
1210
33d4e9b2
PC
12112004-01-19 Paolo Carlini <pcarlini@suse.de>
1212
1213 * src/debug.cc: Trivial formatting change.
1214
954b12d2
PC
12152004-01-19 Paolo Carlini <pcarlini@suse.de>
1216
1217 * include/bits/basic_string.tcc (_S_construct(size_type,
1218 _CharT, const _Alloc&)): Remove redundant try/catch.
1219 (_M_mutate(size_type, size_type, size_type)): Ditto.
1220 (_M_clone(const _Alloc&, size_type)): Ditto.
16dd5cfe 1221
acbab5bf
PC
12222004-01-18 Paolo Carlini <pcarlini@suse.de>
1223
1224 * include/bits/basic_string.h (c_str()): Simplify, due to
1225 21.3.4 the internal representation is always kept null-terminated.
1226 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1227 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1228 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1229 Ditto.
1230
9c96a689
PC
12312004-01-18 Paolo Carlini <pcarlini@suse.de>
1232
1233 * include/bits/basic_string.h (append(size_type, _CharT)):
1234 Moved inline, just call _M_replace_aux, no source iterators at
1235 risk of being clobbered.
1236 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1237 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1238 input_iterator_tag)): Remove fifth unused argument.
1239 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1240 _InputIterator, __false_type)): Update call.
1241 * include/bits/basic_string.tcc (replace(size_type, size_type,
1242 const _CharT*, size_type)): Update call.
1243 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1244 throw string literal.
1245 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1246 _ForwardIterator)): Likewise.
1247 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1248 input_iterator_tag)): Remove fifth unused argument.
1249 (append(size_type __n, _CharT __c)): Move inline.
1250 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1251 const C*, const C*, input_iterator_tag)): Remove fifth unused
1252 argument.
1253
d517f626
BK
12542004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1255
1256 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
16dd5cfe 1257 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
d517f626 1258
701b701b
DS
12592004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1260
1261 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1262 mkfifo for mingw32.
1263
2913770f
SO
12642004-01-15 Stefan Olsson <stefan@snon.net>
1265
1266 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1267 possible by changing the behaviour of thread_freelist to do
1268 push_front when threads die instead of push_back.
1269
47f62b27
PC
12702004-01-14 Paolo Carlini <pcarlini@suse.de>
1271
1272 * include/bits/locale_facets.h (struct __numpunct_cache):
1273 Add member _M_grouping_size, caching the length of _M_grouping.
1274 (__numpunct_cache<>::_M_cache): Assign the latter.
1275 (__verify_grouping): Move declaration...
1276 * include/bits/locale_facets.tcc (__verify_grouping):
1277 ... here, change signature to take a const char* and a size_t
1278 for the grouping; not a template anymore.
1279 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
16dd5cfe 1280 Likewise change signature and tweak consistently.
47f62b27
PC
1281 (num_get::_M_extract_float, num_get::_M_extract_int,
1282 num_put::_M_insert_int, num_put::_M_insert_float,
1283 money_get::do_get(string_type&), money_get::do_put(string_type)):
16dd5cfe 1284 Update callers.
47f62b27 1285 * config/locale/generic/numeric_members.cc
16dd5cfe 1286 (numpunct<>::_M_initialize_numpunct): Assign the new member.
47f62b27 1287 * config/locale/gnu/numeric_members.cc
16dd5cfe 1288 (numpunct<>::_M_initialize_numpunct): Likewise.
47f62b27
PC
1289 * src/locale-inst.cc (__add_grouping): Tweak signature.
1290 (__verify_grouping): Don't instantiate, not a template anymore.
1291
1292 * include/bits/locale_facets.h: Rename _M_truename_len ->
1293 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1294 * include/bits/locale_facets.tcc: Likewise.
1295 * config/locale/generic/numeric_members.cc: Likewise.
1296 * config/locale/gnu/numeric_members.cc: Likewise.
1297
41f24725
SO
12982004-01-14 Stefan Olsson <stefan@snon.net>
1299
1300 * include/ext/mt_allocator.h: Fixups.
1301 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1302 * testsuite/performance/allocator_thread.cc: Same.
16dd5cfe 1303
070ce57b
BK
13042004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1305
1306 * testsuite/performance/ifstream_extract_float.cc: Add higher
1307 precision tests.
1308 * testsuite/performance/ofstream_insert_float.cc: Same.
16dd5cfe 1309
c9513590
PC
13102004-01-13 Paolo Carlini <pcarlini@suse.de>
1311
1312 * src/locale-misc-inst.cc (__convert_from_v(long),
1313 __convert_from_v(unsigned long), __convert_from_v(long long),
1314 __convert_from_v(unsigned long long)): Remove, unused.
1315
60af005f
BK
13162004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1317
1318 * testsuite/performance/ifstream_extract_float.cc: New.
1319 * testsuite/performance/ofstream_insert_float.cc: Float generation
1320 matches above.
1321
1322 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1323 * 20_util/auto_ptr/1.cc: ...this.
1324 * 20_util/auto_ptr/2.cc: Same.
1325 * 20_util/auto_ptr/3.cc: Same.
1326 * 20_util/auto_ptr/3946.cc: Same.
1327 * 20_util/auto_ptr/4.cc: Same.
1328 * 20_util/auto_ptr/5.cc: Same.
1329 * 20_util/auto_ptr/6.cc: Same.
1330 * 20_util/auto_ptr/7.cc: Same.
1331 * 20_util/auto_ptr/assign_neg.cc
1332 * 20_util/pairs.cc: Break into...
1333 * 20_util/pair/1.cc: ...this.
1334 * 20_util/pair/2.cc: Same.
1335 * 20_util/pair/3.cc: Same.
1336 * 20_util/pair/4.cc: Same.
1337
d8ef7dec
PC
13382004-01-13 Paolo Carlini <pcarlini@suse.de>
1339
1340 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1341 Set correctly just basefield, the only group that matters.
1342
5640461d
PC
13432004-01-13 Paolo Carlini <pcarlini@suse.de>
1344
1345 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1346 (_Rope_rep_base): Inherit directly from the rope allocator;
1347 use rebinding instead of _Alloc_traits; pick up data member
1348 from _Rope_rep_alloc_base.
1349 (_Rope_alloc_base): Eliminate.
1350 (_Rope_base): Inherit directly from the rope allocator; use
1351 rebinding instead of _Alloc_traits; pick up data member from
1352 _Rope_alloc_base.
1353 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1354 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1355
95c9624f
PC
13562004-01-13 Paolo Carlini <pcarlini@suse.de>
1357
1358 PR libstdc++/13650
1359 * include/bits/basic_string.tcc (compare(size_type, size_type,
1360 const _CharT*, size_type)): Implement correctly the resolution
1361 of DR 5: basically, s is a char array, -not- a C string.
1362 * include/bits/basic_string.h: Tweak some comments.
1363 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1364 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1365
c91de77a
AT
13662004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1367
1368 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1369 Solaris.
1370
300b3317
PC
13712004-01-12 Paolo Carlini <pcarlini@suse.de>
1372
1373 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1374 Use try_mkfifo.
1375 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1376 Likewise.
1377
dc6798f8
PC
13782004-01-12 Paolo Carlini <pcarlini@suse.de>
1379
1380 * include/bits/locale_facets.h (struct __numpunct_cache):
1381 Add members _M_truename_len and _M_falsename_len, caching
1382 the lengths of _M_truename and _M_falsename.
1383 (__numpunct_cache<>::_M_cache): Assign the latter.
1384 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1385 num_put::do_put(bool)): Use the new members, thus avoiding
1386 computing string lengths again and again.
1387 * config/locale/generic/numeric_members.cc
1388 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1389 * config/locale/gnu/numeric_members.cc
1390 (numpunct<>::_M_initialize_numpunct): Likewise.
1391
ea1ea21a
MM
13922004-01-12 Mark Mitchell <mark@codesourcery.com>
1393
1394 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1395 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1396 it.
1397 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1398 and remove Cygwin XFAIL.
1399 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1400 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1401 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1402 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1403 Likewise.
1404 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1405 * testsuite/27_io/objects/char/7.cc: Likewise.
1406 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1407 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1408 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1409
3b3bfc0e
GDR
14102004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1411
1412 * include/std/std_complex.h (std::complex<>::real): Return a
1413 reference. Add non-const overload.
1414 (std::complex<>::real): Likewise.
1415 (std::real): Likewise.
1416 (std::imag): Likewise.
1417 (std::operator+): Tidy.
1418 (std::operator-): Likewise.
1419 (std::operator*): Likewise.
1420 (std::operator/): Likewise.
1421 (std::operator>>): Likewise.
1422
09625c16
PC
14232004-01-11 Paolo Carlini <pcarlini@suse.de>
1424
1425 PR libstdc++/13582
1426 * include/bits/fstream.tcc (imbue): Exploit the external
1427 buffer to imbue 'on the fly' a new locale and convert its
1428 remainder with the new codecvt facet.
1429 (underflow): Tweak slightly to deal with this special case.
1430 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1431 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1432 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1433 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1434 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
16dd5cfe 1435
a8d65349
PC
14362004-01-10 Paolo Carlini <pcarlini@suse.de>
1437
1438 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1439 Import Revision 28.
1440
b656faa8
PC
14412004-01-10 Paolo Carlini <pcarlini@suse.de>
1442
1443 PR libstdc++/13630
1444 * include/bits/locale_classes.h (class locale): Fix category
1445 typedef.
1446 * testsuite/22_locale/locale/13630.cc: Add.
1447
f88e4715
GB
14482004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1449
1450 * include/bits/locale_facets.h: Make a name really dependent. This
1451 will be needed when Core Issue 224 is implemented.
1452
64cb2c4a
PC
14532004-01-09 Paolo Carlini <pcarlini@suse.de>
1454
1455 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1456 * testsuite/performance/allocator_thread.cc: Likewise.
1457
158960ba
BK
14582004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1459
1460 * crossconfig.m4: Add LFS, io bits to linux cross config.
1461 * acconfig.h: Remove obsolete bits, reorder.
1462 * config.h.in: Regenerate.
1463 * aclocal.m4: Same.
1464 * configure: Same.
16dd5cfe 1465
e135a038
BK
14662004-01-07 Gawain Bolton <gp.bolton@computer.org>
1467
1468 * include/bits/stl_list.h:
1469 * include/bits/list.tc:
1470 * src/list.cc:
6a734d61
BK
1471 Performance enhancements for destructor, push_front(),
1472 push_back(), pop_front(), pop_back(), sort()
1473 Eliminated static_casts where possible.
1474 Moved code out of header files into new src/list.cc
1475 implementation file for library where possible.
1476 Remove inheritance from iterator class and create separate
1477 classes for non-constant and constant iterators.
e135a038 1478 * include/bits/stl_tree.h (_Rb_tree class):
16dd5cfe 1479 * src/tree.cc:
6a734d61
BK
1480 Only erase contents in destructor.
1481 Eliminate unnecessary initialization in assignment operator.
1482 Optimize for the nominal case by not checking whether
1483 container is empty in clear().
1484 Re-order test in _M_insert() to improve performance.
1485 Move initialization of new node's left & right pointers to
1486 src/tree.cc to where new node's colour is initialized
1487 and to reduce the amount of inline code.
1488 Use _M_leftmost() and _M_end() to improve readability where
1489 appropriate.
1490 Create separate classes for non-constant and constant
1491 iterators to clarify code, avoid extra template parameters and
1492 casting away constness.
16dd5cfe 1493
e135a038
BK
14942004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1495
1496 * src/Makefile.am (sources): Add list.cc, tree.cc.
1497 * src/stl_tree.cc: Move to...
1498 * src/tree.cc: ...here.
1499 * src/list.cc: Add.
1500 * config/linker-map.gnu: Tweaks.
1501 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1502 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1503
1504 * bits/stl_vector.h: Column wrap comments.
16dd5cfe 1505
677e7ddc
LR
15062004-01-07 Loren J. Rittle <ljrittle@acm.org>
1507
1508 (re-open) PR libstdc++/12658
1509 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1510 (locale::global): Likewise.
1511
d8f5bd50
PC
15122004-01-07 Paolo Carlini <pcarlini@suse.de>
1513
1514 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1515 Remove redundant #include.
1516 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1517 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1518 re-enable normal testing.
1519 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1520 #include.
1521 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1522 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1523 Likewise.
1524 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1525 Likewise.
1526 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1527 Likewise.
1528 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1529 Likewise.
1530 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1531 Likewise.
1532 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1533 Likewise.
1534 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1535 Likewise.
1536 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1537 More properly, #include <locale>.
1538 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1539 Remove redundant #include.
1540 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1541 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1542 redundant DejaGnu directive.
1543 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1544 redundant #include.
1545
b61f9bf0 15462004-01-06 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 1547 Stefan Olsson <stefan@snon.net>
b61f9bf0
BK
1548
1549 * scripts/check_performance: Use -pthread.
1550 * testsuite/performance/allocator.cc: Tweaks, add list.
1551 * testsuite/performance/allocator_thread.cc: New.
1552
b74a6851 15532004-01-06 Jerry Quinn <jlquinn@optonline.net>
9a01c9b0
JQ
1554
1555 * include/bits/locale_facets.h: Document public classes and
1556 functions.
1557 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1558 Add comment.
1559
b80115c4
PC
15602004-01-06 Paolo Carlini <pcarlini@suse.de>
1561
1562 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1563 Remove redundant #includes.
1564 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1565 Likewise.
1566 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1567 Likewise.
1568 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1569 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1570 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1571 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1572 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1573 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1574 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1575 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1576 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1577 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1578 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1579 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1580 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1581 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1582 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1583 Likewise.
1584 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1585 Likewise.
1586 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1587 Likewise.
1588 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1589 Likewise.
1590 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1591 Likewise.
1592 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1593 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1594 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1595
22ed0590 15962004-01-04 Paolo Carlini <pcarlini@suse.de>
223b5084
PC
1597
1598 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1599 Remove redundant #includes.
1600 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1601 Likewise.
1602 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1603 Likewise.
1604 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1605 Likewise.
1606 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1607 Likewise.
1608 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1609 Likewise.
1610 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1611 Likewise.
1612 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1613 Likewise.
1614 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1615 Likewise.
1616 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1617 Likewise.
1618 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1619 Likewise.
1620 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1621 Likewise.
1622 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1623 Likewise.
1624
4f8163b1
MM
16252004-01-04 Mark Mitchell <mark@codesourcery.com>
1626
1627 PR c++/12226
1628 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1629 constructor.
1630 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1631 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1632 * testsuite/27_io/basic_ios/4.cc: Likewise.
1633 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1634 * testsuite/27_io/basic_istream/4.cc: Likewise.
1635 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1636 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1637 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1638 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1639 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1640 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1641
17fa5560
PC
16422004-01-04 Paolo Carlini <pcarlini@suse.de>
1643
1644 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1645 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1646 always use double underscored names.
1647 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1648 Likewise.
1649 * include/bits/locale_facets.h (struct __numpunct_cache):
1650 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1651 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
1652 and _M_atoms_in.