1 2004-02-27 Paolo Carlini <pcarlini@suse.de>
3 * include/bits/locale_facets.h (money_get<>::_M_extract):
4 Change signature: now takes a plain string&.
5 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
6 Update consistently the definition; use the moneypunct cache
7 to parse the value; use swap to change __units.
8 (money_get<>::do_get(long double&)): Update call of _M_extract,
9 avoid ctype::narrow, not correct wrt the standard.
10 (money_get<>::do_get(string_type&)): Likewise, update call
11 of _M_extract, use ctype::widen.
12 * src/locale-inst.cc: Tweak instantiations of _M_extract.
14 2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
16 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
17 * testsuite/demangle/abi_examples/02.cc: Likewise.
18 * testsuite/demangle/regression/cw-11.cc: Likewise.
19 * testsuite/demangle/regression/cw-16.cc: Change two expected
20 results to match libiberty demangler output.
22 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
25 * libsupc++/Makefile.am: Use libiberty demangler.
26 (c_sources): Add cp-demangle.c.
27 * libsupc++/Makefile.in: Regenerate.
28 * src/Makefile.am (sources): Remove demangle.cc.
29 * src/Makefile.in: Regenerate.
30 * include/Makefile.am (bits_headers): Move demangle.h.
31 (ext_headers): ...here.
32 * include/Makefile.in: Regenerate.
33 * include/bits/demangle.h: Move...
34 * include/ext/demangle.h: ...here.
35 * src/demangle.cc: Remove.
37 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
39 * include/bits/demangle.h: Add type template parameter to all
40 templates with just an Allocator template parameter.
42 2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
44 * include/bits/atomicity.h: New, forward declarations for __atomic_add
45 and __exchange_and_add.
46 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
47 * config/cpu/cris/atomic_word.h: Same.
48 * config/cpu/sparc/atomic_word.h: Same.
49 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
50 Qualifiy with __gnu_cxx.
51 (_Callback_list::_M_add_reference): Same.
52 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
53 (locale::facet::_M_remove_reference): Same.
54 (locale::_Impl::_M_add_reference): Add.
55 (locale::_Impl::_M_remove_reference): Same.
56 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
57 (basic_string::_Rep::_M_dispose): Same.
58 * src/ios.cc (ios_base::xalloc): Same.
59 * src/ios_init.cc (ios_base::Init::Init): Same.
60 (ios_base::Init::~Init): Same.
61 * src/locale.cc (locale::id::_M_id): Same.
62 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
63 static, and inline keyworks.
64 * config/cpu/alpha/atomicity.h: Same.
65 * config/cpu/cris/atomicity.h: Same.
66 * config/cpu/generic/atomicity.h: Same.
67 * config/cpu/hppa/atomicity.h: Same.
68 * config/cpu/i386/atomicity.h: Same.
69 * config/cpu/ia64/atomicity.h: Same.
70 * config/cpu/m68k/atomicity.h: Same.
71 * config/cpu/mips/atomicity.h: Same.
72 * config/cpu/powerpc/atomicity.h: Same.
73 * config/cpu/s390/atomicity.h: Same.
74 * config/cpu/sparc/atomicity.h: Same.
76 * src/Makefile.am (host_sources): Add atomicity.cc.
77 (atomicity.cc): New rule.
78 * src/Makefile.in: Regenerate.
79 * include/Makefile.am (host_headers): Remove host atomicity.h.
80 (host_headers): Add atomic_word.h.
81 (bits_headers): Add bits atomicity.h.
82 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
83 * include/Makefile.in: Regenerate.
84 * configure.host (atomic_word_dir): Add.
85 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
86 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
87 * configure: Regenerate.
88 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
90 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
91 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
93 2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
95 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
96 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
97 Fix markup, more <link> tags.
99 2004-02-25 Carlo Wood <carlo@alinoe.com>
102 namespace __gnu_cxx::demangler
103 (session<Allocator>::qualifier_list_Allocator): Add
104 (session<Allocator>::M_qualifier_list_alloc): Add
105 (session<Allocator>::decode_type_with_postfix):
106 Use M_qualifier_list_alloc instead of calling operator new/delete.
108 2004-02-24 Paolo Carlini <pcarlini@suse.de>
111 * include/bits/postypes.h (class streamoff): Add operator++(),
112 operator++(int), operator--() and operator--(int).
113 * testsuite/27_io/fpos/14252.cc: New.
115 2004-02-24 Richard Sandiford <rsandifo@redhat.com>
117 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
118 error in handling of hex constants.
120 2004-02-24 Paolo Carlini <pcarlini@suse.de>
122 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
123 Prefer basic_string::append to operator+= and a temporary.
125 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
127 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
128 Only use fputs, not write.
130 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
132 * include/ext/malloc_allocator.h: Add operators ==, !=.
133 * include/ext/new_allocator.h: Add operators ==, !=.
134 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
135 (__mt_alloc::_S_get_options): New.
136 (__mt_alloc::_S_set_options): New.
137 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
138 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
139 Move functions out of line, simplify, format.
140 * src/allocator.cc: Simplify explicit instantiations.
141 * include/bits/allocator.h: Tweak.
143 2004-02-22 Paolo Carlini <pcarlini@suse.de>
145 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
146 Restructure formatting of value component, first dealing with
147 the non-decimal digits; use reserve.
149 2004-02-22 Paolo Carlini <pcarlini@suse.de>
151 * include/bits/locale_facets.h (class money_get): Inherit
152 from money_base too; tweak declaration of _M_extract, now
153 parameterized on _Intl too.
154 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
155 Update definition to use the cache; call reserve on __res to
156 avoid multiple reallocations; fix parsing of sign component
157 according to 22.2.6.1.2, p3.
158 (money_get<>::do_get(long double&),
159 money_get<>::do_get(string_type&)): Update calls of _M_extract.
160 * src/locale-inst.cc: Add instantiations of
161 money_get::_M_extract<false> and money_get::_M_extract<true>.
162 * testsuite/22_locale/money_get/get/char/14.cc: New.
163 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
165 2004-02-21 Mark Mitchell <mark@codesourcery.com>
167 * libsupc++/vterminate.cc
168 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
170 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
172 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
173 not set RLIMIT_AS on HP-UX.
175 2004-02-21 Mark Mitchell <mark@codesourcery.com>
177 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
178 not set RLIMIT_AS on HP-UX.
180 2004-02-21 Paolo Carlini <pcarlini@suse.de>
182 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
183 _S_zero, _S_end } enum, _S_atoms.
184 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
185 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
186 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
187 (__moneypunct_cache<>::~__moneypunct_cache): Update.
188 (__moneypunct_cache<>::_M_cache): Fill the cache.
189 (class moneypunct): Tweak __cache_type typedef.
190 (class money_put): Inherit from money_base too; tweak declaration
191 of _M_insert, now parameterized on _Intl.
192 * include/bits/locale_facets.tcc
193 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
194 (money_put<>::_M_insert): Update definition to use the cache;
195 call reserve on __res to avoid multiple reallocations.
196 (money_put<>::do_put(long double),
197 money_put<>::do_put(const string_type&): Update calls of _M_insert.
198 * config/locale/generic/monetary_members.cc
199 (moneypunct<char, true>::_M_initialize_moneypunct,
200 moneypunct<char, false>::_M_initialize_moneypunct,
201 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
202 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
203 * config/locale/gnu/monetary_members.cc: Likewise.
204 * config/locale/gnu/monetary_members.cc
205 (moneypunct<wchar_t, true>::~moneypunct(),
206 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
207 * src/globals_locale.cc: Tweak fake_money_cache_c.
208 * src/locale-inst.cc: Add instantiations for
209 money_put::_M_insert<false> and money_put::_M_insert<true> and
210 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
211 * src/locale_facets.cc: Define money_base::_S_atoms.
212 * src/locale_init.cc: Update placement new of
213 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
214 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
216 * config/locale/generic/numeric_members.cc: Clean up.
217 * config/locale/gnu/numeric_members.cc: Likewise.
218 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
219 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
220 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
221 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
222 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
223 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
225 2004-02-20 Mark Mitchell <mark@codesourcery.com>
227 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
228 FIFO for writing with ios_base::in|ios_base::out.
229 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
230 * testsuite/27_io/objects/char/7.cc: Likewise.
231 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
234 2004-02-19 David Edelsohn <edelsohn@gnu.org>
236 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
237 from iso-8859-1 to ISO8859-1.
238 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
239 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
240 * 22_locale/collate/hash/wchar_t/2.cc: Same.
241 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
242 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
243 * 22_locale/collate/transform/wchar_t/2.cc: Same.
244 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
245 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
247 2004-02-18 Paolo Carlini <pcarlini@suse.de>
249 * include/bits/locale_facets.h (money_get<>::_M_extract):
250 New, helper for do_get.
251 (money_put<>::_M_insert): Likewise, for do_put.
252 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
253 money_put<>::_M_insert): Define.
254 (money_get<>::do_get(long double&), money_get<>::do_get(
255 string_type&), money_put::do_put(long double),
256 money_put::do_put(const string_type&)): Use the helpers.
258 2004-02-18 Paolo Carlini <pcarlini@suse.de>
260 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
261 Rewrite, avoiding recursion.
262 (__gnu_internal::xwrite): Minor tweaks.
264 2004-02-17 Stefan Olsson <stefan@xapa.se>
266 * include/ext/mt_allocator.h: Removed the last
267 pointer. Deallocated blocks are now added to the front of
268 freelists as proposed by Felix Yen. This gives roughly 10%
269 performance boost and saves some memory.
270 * docs/html/ext/mt_allocator.html: Change due to that deallocated
271 blocks now are added to the front of freelists. The reason to this
272 approach is also explained.
274 2004-02-17 Paolo Carlini <pcarlini@suse.de>
276 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
277 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
278 grouping fidelity conditional.
280 2004-02-16 Paolo Carlini <pcarlini@suse.de>
282 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
283 Qualify exception with std::.
284 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
285 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
286 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
287 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
288 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
290 2004-02-16 Paolo Carlini <pcarlini@suse.de>
292 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
293 for now that the catch block is not reached.
294 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
296 2004-02-16 Paolo Carlini <pcarlini@suse.de>
298 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
299 Fix parsing of the remaining sign characters.
300 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
301 the input is scanned 'til eof.
302 * 22_locale/money_get/get/char/4.cc: Likewise.
303 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
304 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
305 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
306 not do_pos_format: the former is the only one that matters during
308 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
310 * 22_locale/money_get/get/char/6.cc: Minor tweak.
311 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
313 2004-02-15 David Asher <david.asher@cavium.com>
316 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
317 access __olds beyond __oldlen.
319 2004-02-14 Paolo Carlini <pcarlini@suse.de>
321 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
322 sure the exception is actually thrown.
323 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
324 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
325 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
327 2004-02-14 Paolo Carlini <pcarlini@suse.de>
330 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
331 In case of conversion errors, throw ios_failure; simplify.
332 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
333 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
334 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
335 previously we didn't throw in case of conversion errors, instead
337 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
338 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
339 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
341 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
342 Trivial simplification of a conditional.
344 2004-02-12 Paolo Carlini <pcarlini@suse.de>
346 PR libstdc++/13731 (final part: writev)
347 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
348 New, a wrapper around writev() handling partial writes.
349 (__basic_file<char>::xwrite): Move to __gnu_internal and make
351 (__basic_file<char>::xsputn): Update call.
352 (__basic_file<char>::xsputn_2): Likewise.
353 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
354 Don't declare, now static.
356 2004-02-11 Stefan Olsson <stefan@xapa.se>
358 * docs/html/ext/mt_allocator.html: New.
360 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
362 * docs/html/20_util/allocator.html: New file, consolidate
363 allocator information here. Revamp.
364 * docs/html/documentation.html: Change links.
365 * docs/html/20_util/howto.html: Same.
366 * docs/html/ext/howto.html: Same.
368 2004-02-11 Paolo Carlini <pcarlini@suse.de>
370 PR libstdc++/13731 (first part: write)
371 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
373 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
374 Define it: a wrapper around write() handling partial write.
375 (__basic_file<char>::xsputn): Use it.
376 (__basic_file<char>::xsputn_2): Likewise.
378 2004-02-11 Paolo Carlini <pcarlini@suse.de>
379 Petur Runolfsson <peturr02@ru.is>
382 * include/std/std_istream.h (operator>>(__istream_type& (*)
383 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
384 operator>>(ios_base& (*)(ios_base&))): Declare inline.
385 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
386 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
387 operator<<(ios_base& (*) (ios_base&))): Likewise.
388 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
390 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
393 * config/linker-map.gnu: Add typeinfo and typeinfo name for
394 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
397 * config/linker-map.gnu: Add typeinfo and typeinfo name for
398 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
400 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
402 * include/ext/pool_allocator.h: Include c++config.h.
404 2004-02-09 Stefan Olsson <stefan@xapa.se>
406 * include/ext/mt_allocator.h: thread_id is unused in non threaded
407 applications and now has a ifdef to remove it completely on
408 compilers without thread support. Include stdlib.h due to a
409 compiler warning on getenv().
411 2004-02-09 Paul Brook <paul@codesourcery.com>
413 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
415 2004-02-09 Paolo Carlini <pcarlini@suse.de>
418 * src/locale_init.cc (locale::global(const locale&)): Use
419 locale::name() in order to decide whether calling setlocale.
420 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
422 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
423 Avoid computing &= unnecessarily.
425 2004-02-09 James E Wilson <wilson@specifixinc.com>
428 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
429 __builtin_extend_pointer.
431 2004-02-09 Paolo Carlini <pcarlini@suse.de>
434 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
435 Don't leave dangling pointers.
436 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
437 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
438 facet is needed in the final test.
440 2004-02-09 Bernardo Innocenti <bernie@develer.com>
442 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
443 * configure: Regenerate.
445 2004-02-08 Richard Henderson <rth@redhat.com>
448 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
449 uncaughtExceptions during nested catch rethrow.
450 * testsuite/18_support/14026.cc: New.
452 2004-02-08 Paolo Carlini <pcarlini@suse.de>
454 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
455 When working in place remember to set the state to sharable
456 (otherwise, _M_mutate does it).
458 2004-02-08 Bernardo Innocenti <bernie@develer.com>
460 * include/bits/allocator.h, include/bits/basic_ios.h,
461 include/bits/basic_ios.tcc, include/bits/basic_string.h,
462 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
463 include/bits/char_traits.h, include/bits/codecvt.h,
464 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
465 include/bits/demangle.h, include/bits/deque.tcc,
466 include/bits/fstream.tcc, include/bits/functexcept.h,
467 include/bits/gslice.h, include/bits/gslice_array.h,
468 include/bits/indirect_array.h, include/bits/ios_base.h,
469 include/bits/istream.tcc, include/bits/list.tcc,
470 include/bits/locale_classes.h, include/bits/locale_facets.h,
471 include/bits/locale_facets.tcc, include/bits/localefwd.h,
472 include/bits/mask_array.h, include/bits/ostream.tcc,
473 include/bits/postypes.h, include/bits/slice_array.h,
474 include/bits/sstream.tcc, include/bits/stl_algo.h,
475 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
476 include/bits/stl_construct.h, include/bits/stl_deque.h,
477 include/bits/stl_function.h, include/bits/stl_heap.h,
478 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
479 include/bits/stl_list.h, include/bits/stl_map.h,
480 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
481 include/bits/stl_numeric.h, include/bits/stl_pair.h,
482 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
483 include/bits/stl_relops.h, include/bits/stl_set.h,
484 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
485 include/bits/stl_threads.h, include/bits/stl_tree.h,
486 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
487 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
488 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
489 include/bits/type_traits.h, include/bits/valarray_after.h,
490 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
491 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
494 2004-02-06 Paolo Carlini <pcarlini@suse.de>
496 * include/bits/basic_string.h: Fix comment.
498 2004-02-06 Paolo Carlini <pcarlini@suse.de>
500 * include/bits/stl_construct.h: Wrap overlong lines, reformat
501 according to the coding standards.
502 * include/bits/stl_pair.h: Likewise.
503 * include/bits/stl_raw_storage_iter.h: Likewise.
504 * include/bits/stl_stack.h: Likewise.
505 * include/bits/stl_uninitialized.h: Likewise.
506 * include/bits/stream_iterator.h: Likewise.
507 * include/bits/streambuf_iterator.h: Likewise.
508 * include/bits/type_traits.h: Likewise.
510 2004-02-06 Paolo Carlini <pcarlini@suse.de>
512 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
515 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
517 * scripts/check_performance: Support PCH.
519 * scripts/check_performance (CXX): Add -DNOTHREAD.
520 * testsuite/performance/20_util/allocator/insert.cc: Integrate
521 threaded tests from insert_insert.cc. Tweak iterations,
522 remove special cases.
523 * testsuite/performance/20_util/allocator/insert_insert.cc:
524 Make all tests single-threaded. Tweak iterations.
525 * testsuite/performance/20_util/allocator/map_thread.cc:
527 * testsuite/performance/20_util/allocator/producer_consumer.cc:
530 2004-02-05 Geoffrey Keating <geoffk@apple.com>
534 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
535 'gcc-lib'. Add comment about poorly-named variables.
536 * aclocal.m4: Regenerate.
537 * configure: Regenerate.
539 2004-02-05 Paolo Carlini <pcarlini@suse.de>
541 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
542 Thousands-sep are always optional; thousands-sep are not allowed
543 after the decimal_point.
544 * testsuite/22_locale/money_get/get/char/12.cc: New.
545 * testsuite/22_locale/money_get/get/char/13.cc: New.
546 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
547 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
549 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
550 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
551 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
552 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
553 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
554 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
555 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
556 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
558 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
560 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
562 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
564 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
566 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
567 it to decide whether FIONREAD should take an off_t or int argument.
569 2004-02-05 Paolo Carlini <pcarlini@suse.de>
571 * include/bits/stl_function.h: Minor formatting changes.
573 2004-02-04 Zack Weinberg <zack@codesourcery.com>
575 Revert previous change to config/abi/*/baseline_symbols.txt.
577 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
578 Zack Weinberg <zack@codesourcery.com>
580 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
582 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
583 (__basic_file<char>::_M_open_mode): Delete.
584 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
586 * testsuite/27_io/basic_filebuf/close/char/9964.cc
587 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
588 Correct flags to filebuf::open calls.
590 * config/abi/alpha-freebsd5/baseline_symbols.txt
591 * config/abi/alpha-linux-gnu/baseline_symbols.txt
592 * config/abi/hppa-linux-gnu/baseline_symbols.txt
593 * config/abi/i386-freebsd4/baseline_symbols.txt
594 * config/abi/i386-freebsd5/baseline_symbols.txt
595 * config/abi/i486-linux-gnu/baseline_symbols.txt
596 * config/abi/ia64-linux-gnu/baseline_symbols.txt
597 * config/abi/mips-linux-gnu/baseline_symbols.txt
598 * config/abi/sparc-freebsd5/baseline_symbols.txt
599 * config/abi/sparc-linux-gnu/baseline_symbols.txt
600 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
601 Remove entry for __basic_file<char>::_M_open_mode.
603 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
605 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
607 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
609 * testsuite/performance/20_util/producer_consumer.cc: New.
610 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
612 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
614 * testsuite/performance/20_util/allocator.cc: Move to..
615 * testsuite/performance/20_util/allocator/insert.cc: ...here.
616 * testsuite/performance/20_util/allocator_thread.cc: Move to...
617 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
618 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
619 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
621 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
623 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
624 * docs/html/faq/index.txt: Regenerate.
626 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
628 * include/ext/debug_allocator.h: _M_extra now stands for the
629 number of extra objects instead of the number of extra bytes.
630 (debug_allocator::allocate): Adjust.
631 (debug_allocator::deallocate): Adjust.
633 * include/ext/pool_allocator.h: Fix typo.
635 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
636 Benjamin Kosnik <bkoz@redhat.com>
638 * testsuite/performance/20_util/allocator.cc: Add map,
640 * testsuite/performance/20_util/allocator_thread.cc: Same.
642 2004-02-03 Paolo Carlini <pcarlini@suse.de>
644 * include/bits/basic_string.h (insert(iterator)): Remove,
645 non-standard and already scheduled for removal.
647 2004-02-03 Paolo Carlini <pcarlini@suse.de>
649 * include/bits/stl_iterator_base_funcs.h: Minor formatting
650 and indentation tweaks.
651 * include/bits/stl_iterator_base_types.h: Likewise.
652 * include/bits/stl_list.h: Likewise.
653 * include/bits/stl_map.h: Likewise.
654 * include/bits/stl_tempbuf.h: Likewise.
656 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
658 * include/bits/gslice.h, include/bits/gslice_array.h,
659 include/bits/indirect_array.h, include/bits/mask_array.h,
660 include/bits/slice_array.h, include/bits/stl_numeric.h,
661 include/std/std_valarray.h: Update copyright years.
663 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
665 * include/bits/gslice.h (gslice): Document.
666 * include/bits/gslice_array.h (gslice_array): Document.
667 * include/bits/indirect_array (indirect_array): Document.
668 * include/bits/mask_array (mask_array): Document.
669 * include/bits/slice_array.h (slice,slice_array): Document.
670 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
671 adjacent_difference): Document
672 * include/std/std_valarray.h (valarray): Document.
674 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
676 * docs/html/19_diagnostics/howto.html: Move verbose terminate
678 * docs/html/18_support/howto.html: Here.
679 * docs/html/documentation.html: Add reference here.
681 2004-02-02 Paolo Carlini <pcarlini@suse.de>
683 * config/locale/gnu/c++locale_internal.h: Remove prototypes
684 of no longer used GLIBC thread locale functions.
686 2004-02-02 Eric Christopher <echristo@redhat.com>
687 Zack Weinberg <zack@codesourcery.com>
689 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
691 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
692 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
693 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
694 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
695 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
696 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
697 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
698 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
701 2004-02-02 Paolo Carlini <pcarlini@suse.de>
703 * include/bits/stl_function.h: Additional minor tweaks.
704 * include/bits/stl_multiset.h: Likewise.
706 * include/bits/stl_queue.h: Minor tweaks.
708 2004-02-02 Paolo Carlini <pcarlini@suse.de>
710 PR libstdc++/13976 (continued)
711 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
712 Make the second parameter unnamed, to void unused parameter
714 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
716 2004-02-02 Paolo Carlini <pcarlini@suse.de>
719 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
720 Make the second parameter unnamed, to void unused parameter
722 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
723 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
725 2004-02-01 Paolo Carlini <pcarlini@suse.de>
727 * include/bits/stl_algo.h: Additional minor tweaks.
728 * include/bits/stl_map.h: Likewise.
729 * include/bits/stl_multimap.h: Likewise.
730 * include/bits/stl_multiset.h: Likewise.
731 * include/bits/stl_set.h: Likewise.
732 * include/bits/stl_tree.h: Likewise.
734 2004-02-01 Paolo Carlini <pcarlini@suse.de>
736 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
739 2004-02-01 Paolo Carlini <pcarlini@suse.de>
741 * include/bits/stl_function.h: Additional minor tweaks.
743 2004-02-01 Paolo Carlini <pcarlini@suse.de>
745 * include/bits/deque.tcc: Wrap overlong lines, constify
746 a few variables, reformat according to the coding standards.
747 * include/bits/list.tcc: Likewise.
748 * include/bits/stl_deque.h: Likewise.
749 * include/bits/stl_function.h: Likewise.
750 * include/bits/stl_iterator.h: Likewise.
751 * include/bits/stl_iterator_base_funcs.h: Likewise.
752 * include/bits/stl_iterator_base_types.h: Likewise.
753 * include/bits/stl_list.h: Likewise.
754 * include/bits/stl_map.h: Likewise.
755 * include/bits/stl_multimap.h: Likewise.
756 * include/bits/stl_multiset.h: Likewise.
757 * include/bits/stl_relops.h: Likewise.
758 * include/bits/stl_set.h: Likewise.
760 2004-02-01 Paolo Carlini <pcarlini@suse.de>
762 * include/bits/stl_bvector.h: Wrap overlong lines, constify
763 a few variables, reformat according to the coding standards.
764 * include/bits/stl_tree.h: Likewise.
766 2004-01-31 Paolo Carlini <pcarlini@suse.de>
768 * include/bits/stl_algo.h: Minor additional reformat, add
770 * include/bits/stl_algobase.h: Add copyright year.
772 2004-01-31 Paolo Carlini <pcarlini@suse.de>
774 * include/bits/stl_algo.h: Wrap overlong lines, constify
775 a few variables, reformat according to the coding standards.
776 * include/bits/stl_algobase.h: Likewise.
777 * include/bits/stl_heap.h: Likewise.
779 2004-01-31 Paolo Carlini <pcarlini@suse.de>
781 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
783 * include/bits/basic_string.h: Fix two comments.
785 2004-01-31 Per Bothner <per@bothner.com>
787 * include/ext/mt_allocator.h
788 (__mt_alloc::_S_thread_freelist_mutex): Guard with
789 __GTHREAD_MUTEX_INIT.
791 2004-01-31 Paolo Carlini <pcarlini@suse.de>
793 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
795 2004-01-30 Paolo Carlini <pcarlini@suse.de>
797 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
798 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
799 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
801 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
803 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
804 Don't use clear, but instead assign. Use insert.
806 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
808 * src/demangle.cc: Add instantiations.
809 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
810 * src/Makefile.in: Regenerate.
812 2004-01-30 David Edelsohn <edelsohn@gnu.org>
814 * src/allocator.cc: Protect _S_get_thread_id() and
815 _S_thread_key_destr() with #ifdef __GTHREADS.
817 2004-01-30 Paolo Carlini <pcarlini@suse.de>
819 Reshuffle performance testsuite.
820 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
821 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
822 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
823 fstream_seek_write.cc, ifstream_extract_float.cc,
824 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
825 list_create_fill_sort.cc, map_create_fill.cc,
826 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
827 ofstream_insert_float.cc, ofstream_insert_int.cc,
828 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
829 wchar_t_out.cc: Split into...
830 * testsuite/performance/20_util/allocator.cc: New.
831 * testsuite/performance/20_util/allocator_map_thread.cc: New.
832 * testsuite/performance/20_util/allocator_thread.cc: New.
833 * testsuite/performance/21_strings/string_append: New.
834 * testsuite/performance/22_locale/is_wchar_t.cc: New.
835 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
836 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
837 * testsuite/performance/22_locale/wchar_t_in.cc: New.
838 * testsuite/performance/22_locale/wchar_t_length.cc: New.
839 * testsuite/performance/22_locale/wchar_t_out.cc: New.
840 * testsuite/performance/23_containers/container_benchmark.cc: New.
841 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
842 * testsuite/performance/23_containers/map_create_fill.cc: New.
843 * testsuite/performance/26_numerics/complex_norm.cc: New.
844 * testsuite/performance/27_io/cout_insert_int.cc: New.
845 * testsuite/performance/27_io/filebuf_copy.cc: New.
846 * testsuite/performance/27_io/filebuf_sputc.cc: New.
847 * testsuite/performance/27_io/fstream_seek_write.cc: New.
848 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
849 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
850 * testsuite/performance/27_io/ifstream_getline.cc: New.
851 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
852 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
854 2004-01-30 Paolo Carlini <pcarlini@suse.de>
856 * include/bits/basic_string.tcc (_Rep::_S_create):
857 Never allocate a string bigger than max_size(); always keep
858 __capacity and __size in sync to avoid memory leaks at
861 2004-01-30 Paolo Carlini <pcarlini@suse.de>
863 * include/bits/basic_string.tcc (_S_construct(_InIterator,
864 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
865 the double loop, streamline.
867 * include/bits/basic_string.tcc: Very minor tweaks.
869 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
871 * scripts/check_performance: Only compile with $THREAD_FLAG
872 when test is marked to require it. Allow multiple
873 compilations/executions of marked tests.
874 * testsuite/testsuite_performance.h (report_performance):
875 Report dynamic thread support status.
876 (report_header): Likewise.
877 * testsuite/performance/allocator.cc: Stabilize iteration
878 count. Support more allocators. Mark each allocator test to
879 run and report independently.
880 * testsuite/performance/allocator_map_thread.cc: Likewise.
881 * testsuite/performance/allocator_thread.cc: Likewise.
883 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
885 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
886 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
887 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
888 std::get_temporary_buffer() instead of duplicating its code.
889 Update to C++STYLE conventions.
890 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
891 new() instead of std::malloc().
892 (return_temporary_buffer): Use ::operator delete() instead of
895 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
897 * include/bits/allocator.h: Temporary switch to new_allocator as
898 the default to unjam bootstraps.
900 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
902 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
903 * include/Makefile.in: Regenerate.
904 * include/bits/allocator_traits.h: Remove.
905 * include/bits/allocator.h: Remove allocator_traits.h include, and
907 (allocator): Empty base class, inherit from the underlying allocator.
908 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
909 * src/allocator.cc: ...here. New. For the underlying allocators.
910 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
911 * config/linker-map.gnu: Remove __pool_alloc bits.
912 * src/Makefile.am (sources): Add allocator.cc.
913 * src/Makefile.in: Regenerate.
914 * testsuite/20_util/allocator/1.cc: Split second test into...
915 * testsuite/20_util/allocator/8230.cc: ...this.
916 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
917 typedef to use std::allocatore. Format.
918 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
920 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
921 __throw_bad_alloc calls. Don't include <memory>.
922 * include/ext/malloc_allocator.h: Remove <memory> include.
923 * include/ext/new_allocator.h (new_allocator): Same.
924 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
925 declaration. Switch __alloc to _Alloc.
926 * include/ext/hashtable.h: Remove __alloc.
927 * include/backward/alloc.h: Only inject allocator, not
928 implementation details.
930 * include/ext/mt_allocator.h: Replace free with delete.
932 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
934 * src/globals_io.cc: Change to __gnu_internal namespace.
935 * src/globals_locale.cc: Same.
936 * src/locale_init.cc: Same.
937 * src/ios_init.cc: Same.
939 2004-01-28 Stefan Olsson <stefan@snon.net>
941 * include/ext/mt_allocator.h: Replaced all malloc() calls with
942 operator new(). Added support for the env variable
943 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
944 one in allocate() as well). Fix typos.
946 2004-01-28 Paolo Carlini <pcarlini@suse.de>
948 * include/bits/basic_string.h (_S_create(size_t,
949 const _Alloc&): Change signature to take two size_type
951 * include/bits/basic_string.tcc (_S_construct(_InIterator,
952 _InIterator, const _Alloc&, input_iterator_tag)): Update
954 (_S_construct(_InIterator, _InIterator, const _Alloc&,
955 forward_iterator_tag)): Likewise.
956 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
957 (_M_mutate(size_type, size_type, size_type)): Don't
958 implement the exponential growth policy, demand it to
959 _S_create, update call and simplify.
960 (_M_clone(const _Alloc&, size_type)): Likewise.
961 (_S_create(size_type, size_type, const _Alloc&)): Implement
962 the growth policy, simplify otherwise.
964 * include/bits/basic_string.h (_Rep::operator[]): Tweak
965 signature to take a size_type, consistently with the other
968 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
970 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
971 delete declarations, add include and test variable.
973 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
975 * include/bits/codecvt.h, include/bits/locale_facets.h,
976 include/bits/postypes.h, include/bits/stl_bvector.h,
977 include/bits/stl_multiset.h, include/bits/stl_set.h,
978 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
979 include/std/std_complex.h: Document.
981 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
984 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
985 iword/pword selector.
986 (ios_base::iword, ios_base::pword): Use it.
987 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
988 iword or pword member on alloc failure.
989 * testsuite/27_io/ios_base/storage/11584.cc: New test.
991 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
992 PJ Darcy <darcypj@us.ibm.com>
994 * configure.host: Add support for *-tpf.
995 * crossconfig.m4: Likewise.
996 * configure: Regenerate.
997 * config/os/tpf: New directory.
998 * config/os/tpf/os_defines.h: New file.
999 * config/os/tpf/ctype_base.h: Likewise.
1000 * config/os/tpf/ctype_inline.h: Likewise.
1001 * config/os/tpf/ctype_noninline.h: Likewise.
1003 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1006 * include/bits/sstream.tcc: Guard use of extern template.
1008 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1010 * include/bits/basic_string.tcc
1011 (basic_string(const basic_string&, size_type, size_type),
1012 basic_string(const basic_string&, size_type, size_type,
1013 const _Alloc&)): Avoid unnecessarily constructing iterators.
1015 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1017 * config/locale/generic/c_locale.cc: Fix throw messages
1018 to use the __N marker.
1019 * config/locale/gnu/c_locale.cc: Likewise.
1020 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1022 * docs/html/17_intro/C++STYLE: Likewise.
1023 * include/bits/basic_ios.tcc: Likewise.
1024 * include/bits/fstream.tcc: Likewise.
1025 * include/bits/vector.tcc: Likewise.
1026 * include/ext/ropeimpl.h: Likewise.
1027 * include/std/std_bitset.h: Likewise.
1028 * src/ios.cc: Likewise.
1029 * src/locale.cc: Likewise.
1030 * src/localename.cc: Likewise.
1032 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1034 * include/bits/basic_string.h (_M_replace_aux): Use the
1035 __N marker in throw message.
1036 * include/bits/basic_string.tcc (assign(const _CharT*,
1037 size_type), insert(size_type, const _CharT*, size_type),
1038 replace(size_type, size_type, const _CharT*, size_type),
1039 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1042 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1043 Fold overlong lines, minor formatting changes.
1045 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1047 * include/bits/basic_string.h (replace(iterator, iterator,
1048 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1049 (replace(iterator, iterator, const _CharT*)): Ditto.
1050 (replace(iterator, iterator, const _CharT*, size_type)):
1051 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1053 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1055 * include/bits/basic_string.tcc (replace(size_type,
1056 size_type, const _CharT*, size_type)): Implement optimized
1057 in-place algorithm for non-overlapping ranges.
1058 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1059 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1061 * include/bits/basic_string.tcc (insert(size_type,
1062 const _CharT*, size_type)): Tweak slightly.
1064 2004-01-26 Andreas Schwab <schwab@suse.de>
1066 * config/locale/gnu/monetary_members.cc: Restore locale before
1067 rethrowing exception.
1069 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1071 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1073 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1076 * include/bits/basic_string.tcc: Very minor tweaks.
1078 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1080 * testsuite/performance/string_append.cc: Increase number
1083 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1085 * include/bits/basic_string.h (erase(size_type, size_type),
1086 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1087 instead, thus avoiding redundant check for length_error.
1089 * include/bits/basic_string.h: Tweak some comments.
1091 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1093 * include/bits/basic_string.tcc (operator+(const _CharT*,
1094 const basic_string&)): No need to go through the append
1095 taking two iterators.
1097 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1099 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1100 Revert last change to use std::min: machine language is worse.
1101 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1102 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1103 (find_last_not_of(_CharT, size_type)): Ditto.
1105 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1106 size_type)): Discard the value returned by _M_check.
1107 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1108 (append(const basic_string&, size_type, size_type)): Ditto.
1109 (copy(_CharT*, size_type, size_type)): Ditto.
1110 (compare(size_type, size_type, const basic_string&)): Ditto.
1111 (compare(size_type, size_type, const basic_string&,
1112 size_type, size_type)): Ditto.
1113 (compare(size_type, size_type, const _CharT*)): Ditto.
1114 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1116 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1118 * include/bits/basic_string.h (insert(size_type,
1119 const basic_string&, size_type, size_type)): Define inline here.
1120 * include/bits/basic_string.tcc (insert(size_type,
1121 const basic_string&, size_type, size_type)): Move inline.
1123 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1125 * include/bits/basic_string.h (assign(const basic_string&,
1126 size_type, size_type)): Define inline here.
1127 (replace(size_type, size_type, const basic_string&,
1128 size_type, size_type)): Ditto.
1129 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1130 _InputIterator, __false_type)): Only declare.
1131 (_M_replace(iterator, iterator, _InputIterator,
1132 _InputIterator)): Remove.
1133 * include/bits/basic_string.tcc (assign(const basic_string&,
1134 size_type, size_type)): Move inline.
1135 (replace(size_type, size_type, const basic_string&,
1136 size_type, size_type)): Ditto.
1137 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1138 _InputIterator, __false_type)): Define, now does also what
1139 _M_replace did before.
1140 * src/string-inst.cc (_M_replace): Don't instantiate.
1142 * include/bits/basic_string.tcc (find(const _CharT*,
1143 size_type, size_type)): Tidy.
1144 (rfind(_CharT, size_type)): Ditto.
1145 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1146 (find_first_not_of(_CharT, size_type)): Ditto.
1147 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1148 (find_last_not_of(_CharT, size_type)): Ditto.
1150 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1153 * include/debug/bitset (operator|=): Fix typo.
1154 * testsuite/23_containers/bitset/operations/13838.cc: New.
1156 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1158 * include/bits/basic_string.tcc (insert(size_type,
1159 const _CharT*, size_type __n)): Fix length_error check.
1160 (replace(size_type, size_type, const _CharT*, size_type):
1161 Ditto; call _M_replace_safe.
1162 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1163 Fix length_error check.
1164 (_M_replace(iterator, iterator, _InputIterator,
1165 _InputIterator)): Ditto, tweak.
1166 (_M_replace_safe(size_type, size_type, const _CharT*,
1167 size_type)): Remove length_error check.
1169 * include/bits/basic_string.tcc (append(const basic_string&),
1170 append(const basic_string&, size_type, size_type)): Tweak
1173 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1174 size_type)): If __n == 0 don't call traits::copy.
1176 2004-01-23 Stefan Olsson <stefan@snon.net>
1178 * include/ext/mt_allocator.h: Reduce lock contention.
1180 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1183 * include/bits/fstream.tcc (underflow): Remove unused
1185 * include/bits/streambuf_iterator.h (equal): Ditto.
1186 * include/bits/locale_facets.h (_M_convert_from_char):
1189 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1192 * config/linker-map.gnu (nan): Delete.
1193 * libmath/mathconf.h (NAN, nan): Delete.
1194 * linkage.m4 (nan): Don't check for it.
1195 * libmath/nan.c: Delete file.
1197 * config.h.in, configure: Regenerate.
1199 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1201 * include/bits/basic_string.h (push_back(_CharT)):
1202 Call _M_replace_aux.
1203 (insert(size_type, const basic_string&)): Trivial tweak.
1204 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1205 (insert(iterator, _CharT)): Ditto.
1206 (erase(size_type, size_type)): Ditto.
1207 (erase(iterator)): Ditto.
1208 (erase(iterator, iterator)): Ditto.
1209 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1211 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
1214 * testsuite/performance/allocator_map_thread.cc: New test.
1216 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1218 * include/bits/locale_facets.tcc
1219 (money_put::do_put(..., long double)): Use the basic_string
1220 constructor for char arrays, not that for C-strings, to pass
1221 __digits to do_put(..., const string_type&): __ws isn't
1224 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1226 * include/bits/basic_string.h (_M_replace_safe): Change
1227 signatures to take size_types and const _CharT*.
1228 (_M_replace_aux): Likewise, takes size_types instead of
1230 (append(size_type, _CharT)): Update call.
1231 (assign(size_type, _CharT)): Ditto.
1232 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1233 (_M_replace_dispatch(iterator, iterator, _Integer,
1234 _Integer, __true_type)): Ditto.
1235 * include/bits/basic_string.tcc (assign(const _CharT*,
1237 (insert(size_type, const _CharT*, size_type)): Ditto.
1238 (replace(size_type, size_type, const _CharT*,
1240 (_M_replace(iterator, iterator, _InputIterator,
1241 _InputIterator)): Ditto.
1242 (append(const basic_string&)): Ditto.
1243 (append(const basic_string&, size_type, size_type): Ditto.
1244 (append(const _CharT*, size_type): Ditto.
1245 (_M_replace_safe, _M_replace_safe): Change definitions
1246 accordingly, simplify.
1247 * string-inst.cc (_M_replace_safe): Don't instantiate.
1249 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1251 * include/bits/basic_string.tcc (append(const basic_string&)):
1252 Revert previous change.
1253 (append(const basic_string&, size_type, size_type)): Revert
1254 previous change, use _M_check and _M_limit.
1256 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1258 * include/bits/basic_string.h (_M_check): Change to return
1259 a checked __pos and take an additional const char* argument.
1260 (_M_fold): Rename to _M_limit, change to return a size_type,
1261 corresponding to the __off limited to the actual length.
1262 (insert(size_type, size_type, _CharT)): Update call, call
1264 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1265 size_type, _CharT) instead.
1266 (erase(size_type, size_type)): Update calls.
1267 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1268 (substr(size_type, size_type)): Use _M_check.
1269 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1270 size_type, size_type)): Update calls.
1271 (basic_string(const basic_string&, size_type, size_type,
1272 const _Alloc&)): Ditto.
1273 (assign(const basic_string&, size_type, size_type)): Use the
1274 new _M_check and _M_limit.
1275 (insert(size_type, const basic_string&, size_type, size_type):
1277 (insert(size_type, const _CharT*, size_type)): Ditto.
1278 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1279 (replace(size_type, size_type, const basic_string&,
1280 size_type, size_type)): Ditto.
1281 (append(const basic_string&)): Ditto.
1282 (append(const basic_string&, size_type, size_type)): Ditto.
1283 (copy(_CharT*, size_type, size_type)): Ditto.
1284 (compare(size_type, size_type, const basic_string&)): Ditto.
1285 (compare(size_type, size_type, const basic_string&,size_type,
1287 (compare(size_type, size_type, const _CharT*)): Ditto.
1288 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1290 2004-01-19 Stefan Olsson <stefan@snon.net>
1292 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1293 memory on it's freelist this memory is not returned to global
1294 list. Simplification of deallocate so that memory is always
1295 returned to the calling thread id's freelist instead of to
1296 global. Fix typos. Add volatile where appropriate.
1298 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1300 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1301 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1302 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1304 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1306 * src/debug.cc: Make sure all the names are prefixed with
1307 double (or single) underscore.
1309 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1311 * src/debug.cc: Trivial formatting change.
1313 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1315 * include/bits/basic_string.tcc (_S_construct(size_type,
1316 _CharT, const _Alloc&)): Remove redundant try/catch.
1317 (_M_mutate(size_type, size_type, size_type)): Ditto.
1318 (_M_clone(const _Alloc&, size_type)): Ditto.
1320 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1322 * include/bits/basic_string.h (c_str()): Simplify, due to
1323 21.3.4 the internal representation is always kept null-terminated.
1324 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1325 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1326 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1329 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1331 * include/bits/basic_string.h (append(size_type, _CharT)):
1332 Moved inline, just call _M_replace_aux, no source iterators at
1333 risk of being clobbered.
1334 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1335 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1336 input_iterator_tag)): Remove fifth unused argument.
1337 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1338 _InputIterator, __false_type)): Update call.
1339 * include/bits/basic_string.tcc (replace(size_type, size_type,
1340 const _CharT*, size_type)): Update call.
1341 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1342 throw string literal.
1343 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1344 _ForwardIterator)): Likewise.
1345 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1346 input_iterator_tag)): Remove fifth unused argument.
1347 (append(size_type __n, _CharT __c)): Move inline.
1348 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1349 const C*, const C*, input_iterator_tag)): Remove fifth unused
1352 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1354 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
1355 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1357 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1359 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1362 2004-01-15 Stefan Olsson <stefan@snon.net>
1364 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1365 possible by changing the behaviour of thread_freelist to do
1366 push_front when threads die instead of push_back.
1368 2004-01-14 Paolo Carlini <pcarlini@suse.de>
1370 * include/bits/locale_facets.h (struct __numpunct_cache):
1371 Add member _M_grouping_size, caching the length of _M_grouping.
1372 (__numpunct_cache<>::_M_cache): Assign the latter.
1373 (__verify_grouping): Move declaration...
1374 * include/bits/locale_facets.tcc (__verify_grouping):
1375 ... here, change signature to take a const char* and a size_t
1376 for the grouping; not a template anymore.
1377 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
1378 Likewise change signature and tweak consistently.
1379 (num_get::_M_extract_float, num_get::_M_extract_int,
1380 num_put::_M_insert_int, num_put::_M_insert_float,
1381 money_get::do_get(string_type&), money_get::do_put(string_type)):
1383 * config/locale/generic/numeric_members.cc
1384 (numpunct<>::_M_initialize_numpunct): Assign the new member.
1385 * config/locale/gnu/numeric_members.cc
1386 (numpunct<>::_M_initialize_numpunct): Likewise.
1387 * src/locale-inst.cc (__add_grouping): Tweak signature.
1388 (__verify_grouping): Don't instantiate, not a template anymore.
1390 * include/bits/locale_facets.h: Rename _M_truename_len ->
1391 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1392 * include/bits/locale_facets.tcc: Likewise.
1393 * config/locale/generic/numeric_members.cc: Likewise.
1394 * config/locale/gnu/numeric_members.cc: Likewise.
1396 2004-01-14 Stefan Olsson <stefan@snon.net>
1398 * include/ext/mt_allocator.h: Fixups.
1399 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1400 * testsuite/performance/allocator_thread.cc: Same.
1402 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1404 * testsuite/performance/ifstream_extract_float.cc: Add higher
1406 * testsuite/performance/ofstream_insert_float.cc: Same.
1408 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1410 * src/locale-misc-inst.cc (__convert_from_v(long),
1411 __convert_from_v(unsigned long), __convert_from_v(long long),
1412 __convert_from_v(unsigned long long)): Remove, unused.
1414 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1416 * testsuite/performance/ifstream_extract_float.cc: New.
1417 * testsuite/performance/ofstream_insert_float.cc: Float generation
1420 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1421 * 20_util/auto_ptr/1.cc: ...this.
1422 * 20_util/auto_ptr/2.cc: Same.
1423 * 20_util/auto_ptr/3.cc: Same.
1424 * 20_util/auto_ptr/3946.cc: Same.
1425 * 20_util/auto_ptr/4.cc: Same.
1426 * 20_util/auto_ptr/5.cc: Same.
1427 * 20_util/auto_ptr/6.cc: Same.
1428 * 20_util/auto_ptr/7.cc: Same.
1429 * 20_util/auto_ptr/assign_neg.cc
1430 * 20_util/pairs.cc: Break into...
1431 * 20_util/pair/1.cc: ...this.
1432 * 20_util/pair/2.cc: Same.
1433 * 20_util/pair/3.cc: Same.
1434 * 20_util/pair/4.cc: Same.
1436 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1438 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1439 Set correctly just basefield, the only group that matters.
1441 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1443 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1444 (_Rope_rep_base): Inherit directly from the rope allocator;
1445 use rebinding instead of _Alloc_traits; pick up data member
1446 from _Rope_rep_alloc_base.
1447 (_Rope_alloc_base): Eliminate.
1448 (_Rope_base): Inherit directly from the rope allocator; use
1449 rebinding instead of _Alloc_traits; pick up data member from
1451 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1452 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1454 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1457 * include/bits/basic_string.tcc (compare(size_type, size_type,
1458 const _CharT*, size_type)): Implement correctly the resolution
1459 of DR 5: basically, s is a char array, -not- a C string.
1460 * include/bits/basic_string.h: Tweak some comments.
1461 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1462 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1464 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1466 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1469 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1471 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1473 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1476 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1478 * include/bits/locale_facets.h (struct __numpunct_cache):
1479 Add members _M_truename_len and _M_falsename_len, caching
1480 the lengths of _M_truename and _M_falsename.
1481 (__numpunct_cache<>::_M_cache): Assign the latter.
1482 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1483 num_put::do_put(bool)): Use the new members, thus avoiding
1484 computing string lengths again and again.
1485 * config/locale/generic/numeric_members.cc
1486 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1487 * config/locale/gnu/numeric_members.cc
1488 (numpunct<>::_M_initialize_numpunct): Likewise.
1490 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1492 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1493 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1495 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1496 and remove Cygwin XFAIL.
1497 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1498 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1499 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1500 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1502 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1503 * testsuite/27_io/objects/char/7.cc: Likewise.
1504 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1505 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1506 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1508 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1510 * include/std/std_complex.h (std::complex<>::real): Return a
1511 reference. Add non-const overload.
1512 (std::complex<>::real): Likewise.
1513 (std::real): Likewise.
1514 (std::imag): Likewise.
1515 (std::operator+): Tidy.
1516 (std::operator-): Likewise.
1517 (std::operator*): Likewise.
1518 (std::operator/): Likewise.
1519 (std::operator>>): Likewise.
1521 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1524 * include/bits/fstream.tcc (imbue): Exploit the external
1525 buffer to imbue 'on the fly' a new locale and convert its
1526 remainder with the new codecvt facet.
1527 (underflow): Tweak slightly to deal with this special case.
1528 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1529 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1530 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1531 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1532 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1534 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1536 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1539 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1542 * include/bits/locale_classes.h (class locale): Fix category
1544 * testsuite/22_locale/locale/13630.cc: Add.
1546 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1548 * include/bits/locale_facets.h: Make a name really dependent. This
1549 will be needed when Core Issue 224 is implemented.
1551 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1553 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1554 * testsuite/performance/allocator_thread.cc: Likewise.
1556 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1558 * crossconfig.m4: Add LFS, io bits to linux cross config.
1559 * acconfig.h: Remove obsolete bits, reorder.
1560 * config.h.in: Regenerate.
1564 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1566 * include/bits/stl_list.h:
1567 * include/bits/list.tc:
1569 Performance enhancements for destructor, push_front(),
1570 push_back(), pop_front(), pop_back(), sort()
1571 Eliminated static_casts where possible.
1572 Moved code out of header files into new src/list.cc
1573 implementation file for library where possible.
1574 Remove inheritance from iterator class and create separate
1575 classes for non-constant and constant iterators.
1576 * include/bits/stl_tree.h (_Rb_tree class):
1578 Only erase contents in destructor.
1579 Eliminate unnecessary initialization in assignment operator.
1580 Optimize for the nominal case by not checking whether
1581 container is empty in clear().
1582 Re-order test in _M_insert() to improve performance.
1583 Move initialization of new node's left & right pointers to
1584 src/tree.cc to where new node's colour is initialized
1585 and to reduce the amount of inline code.
1586 Use _M_leftmost() and _M_end() to improve readability where
1588 Create separate classes for non-constant and constant
1589 iterators to clarify code, avoid extra template parameters and
1590 casting away constness.
1592 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1594 * src/Makefile.am (sources): Add list.cc, tree.cc.
1595 * src/stl_tree.cc: Move to...
1596 * src/tree.cc: ...here.
1598 * config/linker-map.gnu: Tweaks.
1599 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1600 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1602 * bits/stl_vector.h: Column wrap comments.
1604 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1606 (re-open) PR libstdc++/12658
1607 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1608 (locale::global): Likewise.
1610 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1612 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1613 Remove redundant #include.
1614 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1615 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1616 re-enable normal testing.
1617 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1619 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1620 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1622 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1624 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1626 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1628 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1630 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1632 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1634 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1635 More properly, #include <locale>.
1636 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1637 Remove redundant #include.
1638 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1639 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1640 redundant DejaGnu directive.
1641 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1644 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1645 Stefan Olsson <stefan@snon.net>
1647 * scripts/check_performance: Use -pthread.
1648 * testsuite/performance/allocator.cc: Tweaks, add list.
1649 * testsuite/performance/allocator_thread.cc: New.
1651 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1653 * include/bits/locale_facets.h: Document public classes and
1655 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1658 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1660 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1661 Remove redundant #includes.
1662 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1664 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1666 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1667 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1668 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1669 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1670 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1671 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1672 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1673 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1674 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1675 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1676 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1677 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1678 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1679 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1680 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1682 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1684 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1686 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1688 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1690 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1691 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1692 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1694 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1696 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1697 Remove redundant #includes.
1698 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1700 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1702 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1704 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1706 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1708 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1710 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1712 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1714 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1716 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1718 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1720 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1723 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1726 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1728 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1729 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1730 * testsuite/27_io/basic_ios/4.cc: Likewise.
1731 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1732 * testsuite/27_io/basic_istream/4.cc: Likewise.
1733 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1734 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1735 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1736 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1737 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1738 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1740 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1742 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1743 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1744 always use double underscored names.
1745 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1747 * include/bits/locale_facets.h (struct __numpunct_cache):
1748 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1749 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out