1 2004-02-27 Eric Christopher <echristo@redhat.com>
2 Phil Edwards <phil@codesourcery.com>
4 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
5 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
6 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
7 testsuite/22_locale/collate/hash/wchar_t/2.cc,
8 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
9 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
10 testsuite/22_locale/collate/transform/wchar_t/2.cc,
11 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
12 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
14 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
16 2004-02-27 Phil Edwards <phil@codesourcery.com>
17 Eric Christopher <echristo@redhat.com>
19 * testsuite/config/default.exp: Update with comments.
20 (${tool}_target_compile): New wrapper routine.
21 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
22 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
24 (load_gcc_lib, v3track): New routines.
25 (v3-init): Rename to libstdc++_init.
26 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
27 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
29 2004-02-27 Benjamin Kosnik <bkoz@redhat.com>
31 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
33 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
35 * config/os/irix/irix5.2/atomicity.h: Merge..
36 * config/os/irix/irix6.5/atomicity.h: Merge..
37 * config/os/irix/atomicity.h: ...into this.
38 * config/os/irix/atomic_word.h: New.
39 * configure.host: Set atomic_word_dir for irix.
41 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
42 * i386/atomicity.h: Same.
43 * m68k/atomicity.h: Same.
44 * sparc/atomicity.h: Same.
46 2004-02-27 David Edelsohn <edelsohn@gnu.org>
48 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
49 static, and inline keywords.
51 2004-02-27 Paolo Carlini <pcarlini@suse.de>
53 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
54 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
55 call reserve on the __tmp_gruping string.
56 (num_get<>::_M_extract_float): Don't append unnecessarily a
57 char() to the returned string.
58 * include/bits/locale_facets.tcc: Trivial reformattings.
60 2004-02-27 Paolo Carlini <pcarlini@suse.de>
62 * include/bits/locale_facets.h (money_get<>::_M_extract):
63 Change signature: now takes a plain string&.
64 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
65 Update consistently the definition; use the moneypunct cache
66 to parse the value; use swap to change __units.
67 (money_get<>::do_get(long double&)): Update call of _M_extract,
68 avoid ctype::narrow, not correct wrt the standard.
69 (money_get<>::do_get(string_type&)): Likewise, update call
70 of _M_extract, use ctype::widen.
71 * src/locale-inst.cc: Tweak instantiations of _M_extract.
73 2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
75 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
76 * testsuite/demangle/abi_examples/02.cc: Likewise.
77 * testsuite/demangle/regression/cw-11.cc: Likewise.
78 * testsuite/demangle/regression/cw-16.cc: Change two expected
79 results to match libiberty demangler output.
81 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
84 * libsupc++/Makefile.am: Use libiberty demangler.
85 (c_sources): Add cp-demangle.c.
86 * libsupc++/Makefile.in: Regenerate.
87 * src/Makefile.am (sources): Remove demangle.cc.
88 * src/Makefile.in: Regenerate.
89 * include/Makefile.am (bits_headers): Move demangle.h.
90 (ext_headers): ...here.
91 * include/Makefile.in: Regenerate.
92 * include/bits/demangle.h: Move...
93 * include/ext/demangle.h: ...here.
94 * src/demangle.cc: Remove.
96 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
98 * include/bits/demangle.h: Add type template parameter to all
99 templates with just an Allocator template parameter.
101 2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
103 * include/bits/atomicity.h: New, forward declarations for __atomic_add
104 and __exchange_and_add.
105 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
106 * config/cpu/cris/atomic_word.h: Same.
107 * config/cpu/sparc/atomic_word.h: Same.
108 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
109 Qualifiy with __gnu_cxx.
110 (_Callback_list::_M_add_reference): Same.
111 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
112 (locale::facet::_M_remove_reference): Same.
113 (locale::_Impl::_M_add_reference): Add.
114 (locale::_Impl::_M_remove_reference): Same.
115 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
116 (basic_string::_Rep::_M_dispose): Same.
117 * src/ios.cc (ios_base::xalloc): Same.
118 * src/ios_init.cc (ios_base::Init::Init): Same.
119 (ios_base::Init::~Init): Same.
120 * src/locale.cc (locale::id::_M_id): Same.
121 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
122 static, and inline keywords.
123 * config/cpu/alpha/atomicity.h: Same.
124 * config/cpu/cris/atomicity.h: Same.
125 * config/cpu/generic/atomicity.h: Same.
126 * config/cpu/hppa/atomicity.h: Same.
127 * config/cpu/i386/atomicity.h: Same.
128 * config/cpu/ia64/atomicity.h: Same.
129 * config/cpu/m68k/atomicity.h: Same.
130 * config/cpu/mips/atomicity.h: Same.
131 * config/cpu/powerpc/atomicity.h: Same.
132 * config/cpu/s390/atomicity.h: Same.
133 * config/cpu/sparc/atomicity.h: Same.
135 * src/Makefile.am (host_sources): Add atomicity.cc.
136 (atomicity.cc): New rule.
137 * src/Makefile.in: Regenerate.
138 * include/Makefile.am (host_headers): Remove host atomicity.h.
139 (host_headers): Add atomic_word.h.
140 (bits_headers): Add bits atomicity.h.
141 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
142 * include/Makefile.in: Regenerate.
143 * configure.host (atomic_word_dir): Add.
144 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
145 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
146 * configure: Regenerate.
147 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
149 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
150 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
152 2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
154 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
155 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
156 Fix markup, more <link> tags.
158 2004-02-25 Carlo Wood <carlo@alinoe.com>
161 namespace __gnu_cxx::demangler
162 (session<Allocator>::qualifier_list_Allocator): Add
163 (session<Allocator>::M_qualifier_list_alloc): Add
164 (session<Allocator>::decode_type_with_postfix):
165 Use M_qualifier_list_alloc instead of calling operator new/delete.
167 2004-02-24 Paolo Carlini <pcarlini@suse.de>
170 * include/bits/postypes.h (class streamoff): Add operator++(),
171 operator++(int), operator--() and operator--(int).
172 * testsuite/27_io/fpos/14252.cc: New.
174 2004-02-24 Richard Sandiford <rsandifo@redhat.com>
176 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
177 error in handling of hex constants.
179 2004-02-24 Paolo Carlini <pcarlini@suse.de>
181 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
182 Prefer basic_string::append to operator+= and a temporary.
184 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
186 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
187 Only use fputs, not write.
189 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
191 * include/ext/malloc_allocator.h: Add operators ==, !=.
192 * include/ext/new_allocator.h: Add operators ==, !=.
193 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
194 (__mt_alloc::_S_get_options): New.
195 (__mt_alloc::_S_set_options): New.
196 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
197 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
198 Move functions out of line, simplify, format.
199 * src/allocator.cc: Simplify explicit instantiations.
200 * include/bits/allocator.h: Tweak.
202 2004-02-22 Paolo Carlini <pcarlini@suse.de>
204 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
205 Restructure formatting of value component, first dealing with
206 the non-decimal digits; use reserve.
208 2004-02-22 Paolo Carlini <pcarlini@suse.de>
210 * include/bits/locale_facets.h (class money_get): Inherit
211 from money_base too; tweak declaration of _M_extract, now
212 parameterized on _Intl too.
213 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
214 Update definition to use the cache; call reserve on __res to
215 avoid multiple reallocations; fix parsing of sign component
216 according to 22.2.6.1.2, p3.
217 (money_get<>::do_get(long double&),
218 money_get<>::do_get(string_type&)): Update calls of _M_extract.
219 * src/locale-inst.cc: Add instantiations of
220 money_get::_M_extract<false> and money_get::_M_extract<true>.
221 * testsuite/22_locale/money_get/get/char/14.cc: New.
222 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
224 2004-02-21 Mark Mitchell <mark@codesourcery.com>
226 * libsupc++/vterminate.cc
227 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
229 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
231 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
232 not set RLIMIT_AS on HP-UX.
234 2004-02-21 Mark Mitchell <mark@codesourcery.com>
236 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
237 not set RLIMIT_AS on HP-UX.
239 2004-02-21 Paolo Carlini <pcarlini@suse.de>
241 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
242 _S_zero, _S_end } enum, _S_atoms.
243 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
244 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
245 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
246 (__moneypunct_cache<>::~__moneypunct_cache): Update.
247 (__moneypunct_cache<>::_M_cache): Fill the cache.
248 (class moneypunct): Tweak __cache_type typedef.
249 (class money_put): Inherit from money_base too; tweak declaration
250 of _M_insert, now parameterized on _Intl.
251 * include/bits/locale_facets.tcc
252 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
253 (money_put<>::_M_insert): Update definition to use the cache;
254 call reserve on __res to avoid multiple reallocations.
255 (money_put<>::do_put(long double),
256 money_put<>::do_put(const string_type&): Update calls of _M_insert.
257 * config/locale/generic/monetary_members.cc
258 (moneypunct<char, true>::_M_initialize_moneypunct,
259 moneypunct<char, false>::_M_initialize_moneypunct,
260 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
261 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
262 * config/locale/gnu/monetary_members.cc: Likewise.
263 * config/locale/gnu/monetary_members.cc
264 (moneypunct<wchar_t, true>::~moneypunct(),
265 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
266 * src/globals_locale.cc: Tweak fake_money_cache_c.
267 * src/locale-inst.cc: Add instantiations for
268 money_put::_M_insert<false> and money_put::_M_insert<true> and
269 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
270 * src/locale_facets.cc: Define money_base::_S_atoms.
271 * src/locale_init.cc: Update placement new of
272 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
273 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
275 * config/locale/generic/numeric_members.cc: Clean up.
276 * config/locale/gnu/numeric_members.cc: Likewise.
277 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
278 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
279 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
280 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
281 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
282 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
284 2004-02-20 Mark Mitchell <mark@codesourcery.com>
286 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
287 FIFO for writing with ios_base::in|ios_base::out.
288 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
289 * testsuite/27_io/objects/char/7.cc: Likewise.
290 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
293 2004-02-19 David Edelsohn <edelsohn@gnu.org>
295 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
296 from iso-8859-1 to ISO8859-1.
297 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
298 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
299 * 22_locale/collate/hash/wchar_t/2.cc: Same.
300 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
301 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
302 * 22_locale/collate/transform/wchar_t/2.cc: Same.
303 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
304 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
306 2004-02-18 Paolo Carlini <pcarlini@suse.de>
308 * include/bits/locale_facets.h (money_get<>::_M_extract):
309 New, helper for do_get.
310 (money_put<>::_M_insert): Likewise, for do_put.
311 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
312 money_put<>::_M_insert): Define.
313 (money_get<>::do_get(long double&), money_get<>::do_get(
314 string_type&), money_put::do_put(long double),
315 money_put::do_put(const string_type&)): Use the helpers.
317 2004-02-18 Paolo Carlini <pcarlini@suse.de>
319 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
320 Rewrite, avoiding recursion.
321 (__gnu_internal::xwrite): Minor tweaks.
323 2004-02-17 Stefan Olsson <stefan@xapa.se>
325 * include/ext/mt_allocator.h: Removed the last
326 pointer. Deallocated blocks are now added to the front of
327 freelists as proposed by Felix Yen. This gives roughly 10%
328 performance boost and saves some memory.
329 * docs/html/ext/mt_allocator.html: Change due to that deallocated
330 blocks now are added to the front of freelists. The reason to this
331 approach is also explained.
333 2004-02-17 Paolo Carlini <pcarlini@suse.de>
335 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
336 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
337 grouping fidelity conditional.
339 2004-02-16 Paolo Carlini <pcarlini@suse.de>
341 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
342 Qualify exception with std::.
343 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
344 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
345 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
346 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
347 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
349 2004-02-16 Paolo Carlini <pcarlini@suse.de>
351 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
352 for now that the catch block is not reached.
353 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
355 2004-02-16 Paolo Carlini <pcarlini@suse.de>
357 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
358 Fix parsing of the remaining sign characters.
359 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
360 the input is scanned 'til eof.
361 * 22_locale/money_get/get/char/4.cc: Likewise.
362 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
363 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
364 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
365 not do_pos_format: the former is the only one that matters during
367 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
369 * 22_locale/money_get/get/char/6.cc: Minor tweak.
370 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
372 2004-02-15 David Asher <david.asher@cavium.com>
375 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
376 access __olds beyond __oldlen.
378 2004-02-14 Paolo Carlini <pcarlini@suse.de>
380 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
381 sure the exception is actually thrown.
382 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
383 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
384 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
386 2004-02-14 Paolo Carlini <pcarlini@suse.de>
389 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
390 In case of conversion errors, throw ios_failure; simplify.
391 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
392 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
393 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
394 previously we didn't throw in case of conversion errors, instead
396 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
397 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
398 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
400 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
401 Trivial simplification of a conditional.
403 2004-02-12 Paolo Carlini <pcarlini@suse.de>
405 PR libstdc++/13731 (final part: writev)
406 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
407 New, a wrapper around writev() handling partial writes.
408 (__basic_file<char>::xwrite): Move to __gnu_internal and make
410 (__basic_file<char>::xsputn): Update call.
411 (__basic_file<char>::xsputn_2): Likewise.
412 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
413 Don't declare, now static.
415 2004-02-11 Stefan Olsson <stefan@xapa.se>
417 * docs/html/ext/mt_allocator.html: New.
419 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
421 * docs/html/20_util/allocator.html: New file, consolidate
422 allocator information here. Revamp.
423 * docs/html/documentation.html: Change links.
424 * docs/html/20_util/howto.html: Same.
425 * docs/html/ext/howto.html: Same.
427 2004-02-11 Paolo Carlini <pcarlini@suse.de>
429 PR libstdc++/13731 (first part: write)
430 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
432 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
433 Define it: a wrapper around write() handling partial write.
434 (__basic_file<char>::xsputn): Use it.
435 (__basic_file<char>::xsputn_2): Likewise.
437 2004-02-11 Paolo Carlini <pcarlini@suse.de>
438 Petur Runolfsson <peturr02@ru.is>
441 * include/std/std_istream.h (operator>>(__istream_type& (*)
442 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
443 operator>>(ios_base& (*)(ios_base&))): Declare inline.
444 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
445 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
446 operator<<(ios_base& (*) (ios_base&))): Likewise.
447 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
449 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
452 * config/linker-map.gnu: Add typeinfo and typeinfo name for
453 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
456 * config/linker-map.gnu: Add typeinfo and typeinfo name for
457 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
459 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
461 * include/ext/pool_allocator.h: Include c++config.h.
463 2004-02-09 Stefan Olsson <stefan@xapa.se>
465 * include/ext/mt_allocator.h: thread_id is unused in non threaded
466 applications and now has a ifdef to remove it completely on
467 compilers without thread support. Include stdlib.h due to a
468 compiler warning on getenv().
470 2004-02-09 Paul Brook <paul@codesourcery.com>
472 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
474 2004-02-09 Paolo Carlini <pcarlini@suse.de>
477 * src/locale_init.cc (locale::global(const locale&)): Use
478 locale::name() in order to decide whether calling setlocale.
479 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
481 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
482 Avoid computing &= unnecessarily.
484 2004-02-09 James E Wilson <wilson@specifixinc.com>
487 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
488 __builtin_extend_pointer.
490 2004-02-09 Paolo Carlini <pcarlini@suse.de>
493 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
494 Don't leave dangling pointers.
495 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
496 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
497 facet is needed in the final test.
499 2004-02-09 Bernardo Innocenti <bernie@develer.com>
501 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
502 * configure: Regenerate.
504 2004-02-08 Richard Henderson <rth@redhat.com>
507 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
508 uncaughtExceptions during nested catch rethrow.
509 * testsuite/18_support/14026.cc: New.
511 2004-02-08 Paolo Carlini <pcarlini@suse.de>
513 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
514 When working in place remember to set the state to sharable
515 (otherwise, _M_mutate does it).
517 2004-02-08 Bernardo Innocenti <bernie@develer.com>
519 * include/bits/allocator.h, include/bits/basic_ios.h,
520 include/bits/basic_ios.tcc, include/bits/basic_string.h,
521 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
522 include/bits/char_traits.h, include/bits/codecvt.h,
523 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
524 include/bits/demangle.h, include/bits/deque.tcc,
525 include/bits/fstream.tcc, include/bits/functexcept.h,
526 include/bits/gslice.h, include/bits/gslice_array.h,
527 include/bits/indirect_array.h, include/bits/ios_base.h,
528 include/bits/istream.tcc, include/bits/list.tcc,
529 include/bits/locale_classes.h, include/bits/locale_facets.h,
530 include/bits/locale_facets.tcc, include/bits/localefwd.h,
531 include/bits/mask_array.h, include/bits/ostream.tcc,
532 include/bits/postypes.h, include/bits/slice_array.h,
533 include/bits/sstream.tcc, include/bits/stl_algo.h,
534 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
535 include/bits/stl_construct.h, include/bits/stl_deque.h,
536 include/bits/stl_function.h, include/bits/stl_heap.h,
537 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
538 include/bits/stl_list.h, include/bits/stl_map.h,
539 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
540 include/bits/stl_numeric.h, include/bits/stl_pair.h,
541 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
542 include/bits/stl_relops.h, include/bits/stl_set.h,
543 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
544 include/bits/stl_threads.h, include/bits/stl_tree.h,
545 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
546 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
547 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
548 include/bits/type_traits.h, include/bits/valarray_after.h,
549 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
550 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
553 2004-02-06 Paolo Carlini <pcarlini@suse.de>
555 * include/bits/basic_string.h: Fix comment.
557 2004-02-06 Paolo Carlini <pcarlini@suse.de>
559 * include/bits/stl_construct.h: Wrap overlong lines, reformat
560 according to the coding standards.
561 * include/bits/stl_pair.h: Likewise.
562 * include/bits/stl_raw_storage_iter.h: Likewise.
563 * include/bits/stl_stack.h: Likewise.
564 * include/bits/stl_uninitialized.h: Likewise.
565 * include/bits/stream_iterator.h: Likewise.
566 * include/bits/streambuf_iterator.h: Likewise.
567 * include/bits/type_traits.h: Likewise.
569 2004-02-06 Paolo Carlini <pcarlini@suse.de>
571 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
574 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
576 * scripts/check_performance: Support PCH.
578 * scripts/check_performance (CXX): Add -DNOTHREAD.
579 * testsuite/performance/20_util/allocator/insert.cc: Integrate
580 threaded tests from insert_insert.cc. Tweak iterations,
581 remove special cases.
582 * testsuite/performance/20_util/allocator/insert_insert.cc:
583 Make all tests single-threaded. Tweak iterations.
584 * testsuite/performance/20_util/allocator/map_thread.cc:
586 * testsuite/performance/20_util/allocator/producer_consumer.cc:
589 2004-02-05 Geoffrey Keating <geoffk@apple.com>
593 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
594 'gcc-lib'. Add comment about poorly-named variables.
595 * aclocal.m4: Regenerate.
596 * configure: Regenerate.
598 2004-02-05 Paolo Carlini <pcarlini@suse.de>
600 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
601 Thousands-sep are always optional; thousands-sep are not allowed
602 after the decimal_point.
603 * testsuite/22_locale/money_get/get/char/12.cc: New.
604 * testsuite/22_locale/money_get/get/char/13.cc: New.
605 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
606 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
608 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
609 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
610 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
611 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
612 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
613 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
614 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
615 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
617 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
619 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
621 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
623 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
625 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
626 it to decide whether FIONREAD should take an off_t or int argument.
628 2004-02-05 Paolo Carlini <pcarlini@suse.de>
630 * include/bits/stl_function.h: Minor formatting changes.
632 2004-02-04 Zack Weinberg <zack@codesourcery.com>
634 Revert previous change to config/abi/*/baseline_symbols.txt.
636 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
637 Zack Weinberg <zack@codesourcery.com>
639 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
641 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
642 (__basic_file<char>::_M_open_mode): Delete.
643 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
645 * testsuite/27_io/basic_filebuf/close/char/9964.cc
646 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
647 Correct flags to filebuf::open calls.
649 * config/abi/alpha-freebsd5/baseline_symbols.txt
650 * config/abi/alpha-linux-gnu/baseline_symbols.txt
651 * config/abi/hppa-linux-gnu/baseline_symbols.txt
652 * config/abi/i386-freebsd4/baseline_symbols.txt
653 * config/abi/i386-freebsd5/baseline_symbols.txt
654 * config/abi/i486-linux-gnu/baseline_symbols.txt
655 * config/abi/ia64-linux-gnu/baseline_symbols.txt
656 * config/abi/mips-linux-gnu/baseline_symbols.txt
657 * config/abi/sparc-freebsd5/baseline_symbols.txt
658 * config/abi/sparc-linux-gnu/baseline_symbols.txt
659 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
660 Remove entry for __basic_file<char>::_M_open_mode.
662 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
664 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
666 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
668 * testsuite/performance/20_util/producer_consumer.cc: New.
669 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
671 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
673 * testsuite/performance/20_util/allocator.cc: Move to..
674 * testsuite/performance/20_util/allocator/insert.cc: ...here.
675 * testsuite/performance/20_util/allocator_thread.cc: Move to...
676 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
677 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
678 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
680 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
682 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
683 * docs/html/faq/index.txt: Regenerate.
685 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
687 * include/ext/debug_allocator.h: _M_extra now stands for the
688 number of extra objects instead of the number of extra bytes.
689 (debug_allocator::allocate): Adjust.
690 (debug_allocator::deallocate): Adjust.
692 * include/ext/pool_allocator.h: Fix typo.
694 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
695 Benjamin Kosnik <bkoz@redhat.com>
697 * testsuite/performance/20_util/allocator.cc: Add map,
699 * testsuite/performance/20_util/allocator_thread.cc: Same.
701 2004-02-03 Paolo Carlini <pcarlini@suse.de>
703 * include/bits/basic_string.h (insert(iterator)): Remove,
704 non-standard and already scheduled for removal.
706 2004-02-03 Paolo Carlini <pcarlini@suse.de>
708 * include/bits/stl_iterator_base_funcs.h: Minor formatting
709 and indentation tweaks.
710 * include/bits/stl_iterator_base_types.h: Likewise.
711 * include/bits/stl_list.h: Likewise.
712 * include/bits/stl_map.h: Likewise.
713 * include/bits/stl_tempbuf.h: Likewise.
715 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
717 * include/bits/gslice.h, include/bits/gslice_array.h,
718 include/bits/indirect_array.h, include/bits/mask_array.h,
719 include/bits/slice_array.h, include/bits/stl_numeric.h,
720 include/std/std_valarray.h: Update copyright years.
722 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
724 * include/bits/gslice.h (gslice): Document.
725 * include/bits/gslice_array.h (gslice_array): Document.
726 * include/bits/indirect_array (indirect_array): Document.
727 * include/bits/mask_array (mask_array): Document.
728 * include/bits/slice_array.h (slice,slice_array): Document.
729 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
730 adjacent_difference): Document
731 * include/std/std_valarray.h (valarray): Document.
733 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
735 * docs/html/19_diagnostics/howto.html: Move verbose terminate
737 * docs/html/18_support/howto.html: Here.
738 * docs/html/documentation.html: Add reference here.
740 2004-02-02 Paolo Carlini <pcarlini@suse.de>
742 * config/locale/gnu/c++locale_internal.h: Remove prototypes
743 of no longer used GLIBC thread locale functions.
745 2004-02-02 Eric Christopher <echristo@redhat.com>
746 Zack Weinberg <zack@codesourcery.com>
748 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
750 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
751 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
752 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
753 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
754 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
755 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
756 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
757 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
760 2004-02-02 Paolo Carlini <pcarlini@suse.de>
762 * include/bits/stl_function.h: Additional minor tweaks.
763 * include/bits/stl_multiset.h: Likewise.
765 * include/bits/stl_queue.h: Minor tweaks.
767 2004-02-02 Paolo Carlini <pcarlini@suse.de>
769 PR libstdc++/13976 (continued)
770 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
771 Make the second parameter unnamed, to void unused parameter
773 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
775 2004-02-02 Paolo Carlini <pcarlini@suse.de>
778 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
779 Make the second parameter unnamed, to void unused parameter
781 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
782 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
784 2004-02-01 Paolo Carlini <pcarlini@suse.de>
786 * include/bits/stl_algo.h: Additional minor tweaks.
787 * include/bits/stl_map.h: Likewise.
788 * include/bits/stl_multimap.h: Likewise.
789 * include/bits/stl_multiset.h: Likewise.
790 * include/bits/stl_set.h: Likewise.
791 * include/bits/stl_tree.h: Likewise.
793 2004-02-01 Paolo Carlini <pcarlini@suse.de>
795 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
798 2004-02-01 Paolo Carlini <pcarlini@suse.de>
800 * include/bits/stl_function.h: Additional minor tweaks.
802 2004-02-01 Paolo Carlini <pcarlini@suse.de>
804 * include/bits/deque.tcc: Wrap overlong lines, constify
805 a few variables, reformat according to the coding standards.
806 * include/bits/list.tcc: Likewise.
807 * include/bits/stl_deque.h: Likewise.
808 * include/bits/stl_function.h: Likewise.
809 * include/bits/stl_iterator.h: Likewise.
810 * include/bits/stl_iterator_base_funcs.h: Likewise.
811 * include/bits/stl_iterator_base_types.h: Likewise.
812 * include/bits/stl_list.h: Likewise.
813 * include/bits/stl_map.h: Likewise.
814 * include/bits/stl_multimap.h: Likewise.
815 * include/bits/stl_multiset.h: Likewise.
816 * include/bits/stl_relops.h: Likewise.
817 * include/bits/stl_set.h: Likewise.
819 2004-02-01 Paolo Carlini <pcarlini@suse.de>
821 * include/bits/stl_bvector.h: Wrap overlong lines, constify
822 a few variables, reformat according to the coding standards.
823 * include/bits/stl_tree.h: Likewise.
825 2004-01-31 Paolo Carlini <pcarlini@suse.de>
827 * include/bits/stl_algo.h: Minor additional reformat, add
829 * include/bits/stl_algobase.h: Add copyright year.
831 2004-01-31 Paolo Carlini <pcarlini@suse.de>
833 * include/bits/stl_algo.h: Wrap overlong lines, constify
834 a few variables, reformat according to the coding standards.
835 * include/bits/stl_algobase.h: Likewise.
836 * include/bits/stl_heap.h: Likewise.
838 2004-01-31 Paolo Carlini <pcarlini@suse.de>
840 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
842 * include/bits/basic_string.h: Fix two comments.
844 2004-01-31 Per Bothner <per@bothner.com>
846 * include/ext/mt_allocator.h
847 (__mt_alloc::_S_thread_freelist_mutex): Guard with
848 __GTHREAD_MUTEX_INIT.
850 2004-01-31 Paolo Carlini <pcarlini@suse.de>
852 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
854 2004-01-30 Paolo Carlini <pcarlini@suse.de>
856 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
857 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
858 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
860 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
862 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
863 Don't use clear, but instead assign. Use insert.
865 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
867 * src/demangle.cc: Add instantiations.
868 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
869 * src/Makefile.in: Regenerate.
871 2004-01-30 David Edelsohn <edelsohn@gnu.org>
873 * src/allocator.cc: Protect _S_get_thread_id() and
874 _S_thread_key_destr() with #ifdef __GTHREADS.
876 2004-01-30 Paolo Carlini <pcarlini@suse.de>
878 Reshuffle performance testsuite.
879 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
880 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
881 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
882 fstream_seek_write.cc, ifstream_extract_float.cc,
883 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
884 list_create_fill_sort.cc, map_create_fill.cc,
885 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
886 ofstream_insert_float.cc, ofstream_insert_int.cc,
887 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
888 wchar_t_out.cc: Split into...
889 * testsuite/performance/20_util/allocator.cc: New.
890 * testsuite/performance/20_util/allocator_map_thread.cc: New.
891 * testsuite/performance/20_util/allocator_thread.cc: New.
892 * testsuite/performance/21_strings/string_append: New.
893 * testsuite/performance/22_locale/is_wchar_t.cc: New.
894 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
895 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
896 * testsuite/performance/22_locale/wchar_t_in.cc: New.
897 * testsuite/performance/22_locale/wchar_t_length.cc: New.
898 * testsuite/performance/22_locale/wchar_t_out.cc: New.
899 * testsuite/performance/23_containers/container_benchmark.cc: New.
900 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
901 * testsuite/performance/23_containers/map_create_fill.cc: New.
902 * testsuite/performance/26_numerics/complex_norm.cc: New.
903 * testsuite/performance/27_io/cout_insert_int.cc: New.
904 * testsuite/performance/27_io/filebuf_copy.cc: New.
905 * testsuite/performance/27_io/filebuf_sputc.cc: New.
906 * testsuite/performance/27_io/fstream_seek_write.cc: New.
907 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
908 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
909 * testsuite/performance/27_io/ifstream_getline.cc: New.
910 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
911 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
913 2004-01-30 Paolo Carlini <pcarlini@suse.de>
915 * include/bits/basic_string.tcc (_Rep::_S_create):
916 Never allocate a string bigger than max_size(); always keep
917 __capacity and __size in sync to avoid memory leaks at
920 2004-01-30 Paolo Carlini <pcarlini@suse.de>
922 * include/bits/basic_string.tcc (_S_construct(_InIterator,
923 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
924 the double loop, streamline.
926 * include/bits/basic_string.tcc: Very minor tweaks.
928 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
930 * scripts/check_performance: Only compile with $THREAD_FLAG
931 when test is marked to require it. Allow multiple
932 compilations/executions of marked tests.
933 * testsuite/testsuite_performance.h (report_performance):
934 Report dynamic thread support status.
935 (report_header): Likewise.
936 * testsuite/performance/allocator.cc: Stabilize iteration
937 count. Support more allocators. Mark each allocator test to
938 run and report independently.
939 * testsuite/performance/allocator_map_thread.cc: Likewise.
940 * testsuite/performance/allocator_thread.cc: Likewise.
942 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
944 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
945 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
946 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
947 std::get_temporary_buffer() instead of duplicating its code.
948 Update to C++STYLE conventions.
949 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
950 new() instead of std::malloc().
951 (return_temporary_buffer): Use ::operator delete() instead of
954 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
956 * include/bits/allocator.h: Temporary switch to new_allocator as
957 the default to unjam bootstraps.
959 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
961 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
962 * include/Makefile.in: Regenerate.
963 * include/bits/allocator_traits.h: Remove.
964 * include/bits/allocator.h: Remove allocator_traits.h include, and
966 (allocator): Empty base class, inherit from the underlying allocator.
967 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
968 * src/allocator.cc: ...here. New. For the underlying allocators.
969 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
970 * config/linker-map.gnu: Remove __pool_alloc bits.
971 * src/Makefile.am (sources): Add allocator.cc.
972 * src/Makefile.in: Regenerate.
973 * testsuite/20_util/allocator/1.cc: Split second test into...
974 * testsuite/20_util/allocator/8230.cc: ...this.
975 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
976 typedef to use std::allocatore. Format.
977 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
979 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
980 __throw_bad_alloc calls. Don't include <memory>.
981 * include/ext/malloc_allocator.h: Remove <memory> include.
982 * include/ext/new_allocator.h (new_allocator): Same.
983 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
984 declaration. Switch __alloc to _Alloc.
985 * include/ext/hashtable.h: Remove __alloc.
986 * include/backward/alloc.h: Only inject allocator, not
987 implementation details.
989 * include/ext/mt_allocator.h: Replace free with delete.
991 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
993 * src/globals_io.cc: Change to __gnu_internal namespace.
994 * src/globals_locale.cc: Same.
995 * src/locale_init.cc: Same.
996 * src/ios_init.cc: Same.
998 2004-01-28 Stefan Olsson <stefan@snon.net>
1000 * include/ext/mt_allocator.h: Replaced all malloc() calls with
1001 operator new(). Added support for the env variable
1002 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
1003 one in allocate() as well). Fix typos.
1005 2004-01-28 Paolo Carlini <pcarlini@suse.de>
1007 * include/bits/basic_string.h (_S_create(size_t,
1008 const _Alloc&): Change signature to take two size_type
1010 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1011 _InIterator, const _Alloc&, input_iterator_tag)): Update
1013 (_S_construct(_InIterator, _InIterator, const _Alloc&,
1014 forward_iterator_tag)): Likewise.
1015 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
1016 (_M_mutate(size_type, size_type, size_type)): Don't
1017 implement the exponential growth policy, demand it to
1018 _S_create, update call and simplify.
1019 (_M_clone(const _Alloc&, size_type)): Likewise.
1020 (_S_create(size_type, size_type, const _Alloc&)): Implement
1021 the growth policy, simplify otherwise.
1023 * include/bits/basic_string.h (_Rep::operator[]): Tweak
1024 signature to take a size_type, consistently with the other
1027 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
1029 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
1030 delete declarations, add include and test variable.
1032 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
1034 * include/bits/codecvt.h, include/bits/locale_facets.h,
1035 include/bits/postypes.h, include/bits/stl_bvector.h,
1036 include/bits/stl_multiset.h, include/bits/stl_set.h,
1037 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
1038 include/std/std_complex.h: Document.
1040 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
1043 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
1044 iword/pword selector.
1045 (ios_base::iword, ios_base::pword): Use it.
1046 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
1047 iword or pword member on alloc failure.
1048 * testsuite/27_io/ios_base/storage/11584.cc: New test.
1050 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
1051 PJ Darcy <darcypj@us.ibm.com>
1053 * configure.host: Add support for *-tpf.
1054 * crossconfig.m4: Likewise.
1055 * configure: Regenerate.
1056 * config/os/tpf: New directory.
1057 * config/os/tpf/os_defines.h: New file.
1058 * config/os/tpf/ctype_base.h: Likewise.
1059 * config/os/tpf/ctype_inline.h: Likewise.
1060 * config/os/tpf/ctype_noninline.h: Likewise.
1062 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1065 * include/bits/sstream.tcc: Guard use of extern template.
1067 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1069 * include/bits/basic_string.tcc
1070 (basic_string(const basic_string&, size_type, size_type),
1071 basic_string(const basic_string&, size_type, size_type,
1072 const _Alloc&)): Avoid unnecessarily constructing iterators.
1074 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1076 * config/locale/generic/c_locale.cc: Fix throw messages
1077 to use the __N marker.
1078 * config/locale/gnu/c_locale.cc: Likewise.
1079 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1081 * docs/html/17_intro/C++STYLE: Likewise.
1082 * include/bits/basic_ios.tcc: Likewise.
1083 * include/bits/fstream.tcc: Likewise.
1084 * include/bits/vector.tcc: Likewise.
1085 * include/ext/ropeimpl.h: Likewise.
1086 * include/std/std_bitset.h: Likewise.
1087 * src/ios.cc: Likewise.
1088 * src/locale.cc: Likewise.
1089 * src/localename.cc: Likewise.
1091 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1093 * include/bits/basic_string.h (_M_replace_aux): Use the
1094 __N marker in throw message.
1095 * include/bits/basic_string.tcc (assign(const _CharT*,
1096 size_type), insert(size_type, const _CharT*, size_type),
1097 replace(size_type, size_type, const _CharT*, size_type),
1098 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1101 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1102 Fold overlong lines, minor formatting changes.
1104 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1106 * include/bits/basic_string.h (replace(iterator, iterator,
1107 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1108 (replace(iterator, iterator, const _CharT*)): Ditto.
1109 (replace(iterator, iterator, const _CharT*, size_type)):
1110 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1112 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1114 * include/bits/basic_string.tcc (replace(size_type,
1115 size_type, const _CharT*, size_type)): Implement optimized
1116 in-place algorithm for non-overlapping ranges.
1117 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1118 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1120 * include/bits/basic_string.tcc (insert(size_type,
1121 const _CharT*, size_type)): Tweak slightly.
1123 2004-01-26 Andreas Schwab <schwab@suse.de>
1125 * config/locale/gnu/monetary_members.cc: Restore locale before
1126 rethrowing exception.
1128 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1130 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1132 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1135 * include/bits/basic_string.tcc: Very minor tweaks.
1137 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1139 * testsuite/performance/string_append.cc: Increase number
1142 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1144 * include/bits/basic_string.h (erase(size_type, size_type),
1145 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1146 instead, thus avoiding redundant check for length_error.
1148 * include/bits/basic_string.h: Tweak some comments.
1150 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1152 * include/bits/basic_string.tcc (operator+(const _CharT*,
1153 const basic_string&)): No need to go through the append
1154 taking two iterators.
1156 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1158 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1159 Revert last change to use std::min: machine language is worse.
1160 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1161 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1162 (find_last_not_of(_CharT, size_type)): Ditto.
1164 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1165 size_type)): Discard the value returned by _M_check.
1166 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1167 (append(const basic_string&, size_type, size_type)): Ditto.
1168 (copy(_CharT*, size_type, size_type)): Ditto.
1169 (compare(size_type, size_type, const basic_string&)): Ditto.
1170 (compare(size_type, size_type, const basic_string&,
1171 size_type, size_type)): Ditto.
1172 (compare(size_type, size_type, const _CharT*)): Ditto.
1173 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1175 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1177 * include/bits/basic_string.h (insert(size_type,
1178 const basic_string&, size_type, size_type)): Define inline here.
1179 * include/bits/basic_string.tcc (insert(size_type,
1180 const basic_string&, size_type, size_type)): Move inline.
1182 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1184 * include/bits/basic_string.h (assign(const basic_string&,
1185 size_type, size_type)): Define inline here.
1186 (replace(size_type, size_type, const basic_string&,
1187 size_type, size_type)): Ditto.
1188 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1189 _InputIterator, __false_type)): Only declare.
1190 (_M_replace(iterator, iterator, _InputIterator,
1191 _InputIterator)): Remove.
1192 * include/bits/basic_string.tcc (assign(const basic_string&,
1193 size_type, size_type)): Move inline.
1194 (replace(size_type, size_type, const basic_string&,
1195 size_type, size_type)): Ditto.
1196 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1197 _InputIterator, __false_type)): Define, now does also what
1198 _M_replace did before.
1199 * src/string-inst.cc (_M_replace): Don't instantiate.
1201 * include/bits/basic_string.tcc (find(const _CharT*,
1202 size_type, size_type)): Tidy.
1203 (rfind(_CharT, size_type)): Ditto.
1204 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1205 (find_first_not_of(_CharT, size_type)): Ditto.
1206 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1207 (find_last_not_of(_CharT, size_type)): Ditto.
1209 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1212 * include/debug/bitset (operator|=): Fix typo.
1213 * testsuite/23_containers/bitset/operations/13838.cc: New.
1215 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1217 * include/bits/basic_string.tcc (insert(size_type,
1218 const _CharT*, size_type __n)): Fix length_error check.
1219 (replace(size_type, size_type, const _CharT*, size_type):
1220 Ditto; call _M_replace_safe.
1221 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1222 Fix length_error check.
1223 (_M_replace(iterator, iterator, _InputIterator,
1224 _InputIterator)): Ditto, tweak.
1225 (_M_replace_safe(size_type, size_type, const _CharT*,
1226 size_type)): Remove length_error check.
1228 * include/bits/basic_string.tcc (append(const basic_string&),
1229 append(const basic_string&, size_type, size_type)): Tweak
1232 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1233 size_type)): If __n == 0 don't call traits::copy.
1235 2004-01-23 Stefan Olsson <stefan@snon.net>
1237 * include/ext/mt_allocator.h: Reduce lock contention.
1239 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1242 * include/bits/fstream.tcc (underflow): Remove unused
1244 * include/bits/streambuf_iterator.h (equal): Ditto.
1245 * include/bits/locale_facets.h (_M_convert_from_char):
1248 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1251 * config/linker-map.gnu (nan): Delete.
1252 * libmath/mathconf.h (NAN, nan): Delete.
1253 * linkage.m4 (nan): Don't check for it.
1254 * libmath/nan.c: Delete file.
1256 * config.h.in, configure: Regenerate.
1258 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1260 * include/bits/basic_string.h (push_back(_CharT)):
1261 Call _M_replace_aux.
1262 (insert(size_type, const basic_string&)): Trivial tweak.
1263 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1264 (insert(iterator, _CharT)): Ditto.
1265 (erase(size_type, size_type)): Ditto.
1266 (erase(iterator)): Ditto.
1267 (erase(iterator, iterator)): Ditto.
1268 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1270 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
1273 * testsuite/performance/allocator_map_thread.cc: New test.
1275 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1277 * include/bits/locale_facets.tcc
1278 (money_put::do_put(..., long double)): Use the basic_string
1279 constructor for char arrays, not that for C-strings, to pass
1280 __digits to do_put(..., const string_type&): __ws isn't
1283 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1285 * include/bits/basic_string.h (_M_replace_safe): Change
1286 signatures to take size_types and const _CharT*.
1287 (_M_replace_aux): Likewise, takes size_types instead of
1289 (append(size_type, _CharT)): Update call.
1290 (assign(size_type, _CharT)): Ditto.
1291 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1292 (_M_replace_dispatch(iterator, iterator, _Integer,
1293 _Integer, __true_type)): Ditto.
1294 * include/bits/basic_string.tcc (assign(const _CharT*,
1296 (insert(size_type, const _CharT*, size_type)): Ditto.
1297 (replace(size_type, size_type, const _CharT*,
1299 (_M_replace(iterator, iterator, _InputIterator,
1300 _InputIterator)): Ditto.
1301 (append(const basic_string&)): Ditto.
1302 (append(const basic_string&, size_type, size_type): Ditto.
1303 (append(const _CharT*, size_type): Ditto.
1304 (_M_replace_safe, _M_replace_safe): Change definitions
1305 accordingly, simplify.
1306 * string-inst.cc (_M_replace_safe): Don't instantiate.
1308 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1310 * include/bits/basic_string.tcc (append(const basic_string&)):
1311 Revert previous change.
1312 (append(const basic_string&, size_type, size_type)): Revert
1313 previous change, use _M_check and _M_limit.
1315 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1317 * include/bits/basic_string.h (_M_check): Change to return
1318 a checked __pos and take an additional const char* argument.
1319 (_M_fold): Rename to _M_limit, change to return a size_type,
1320 corresponding to the __off limited to the actual length.
1321 (insert(size_type, size_type, _CharT)): Update call, call
1323 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1324 size_type, _CharT) instead.
1325 (erase(size_type, size_type)): Update calls.
1326 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1327 (substr(size_type, size_type)): Use _M_check.
1328 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1329 size_type, size_type)): Update calls.
1330 (basic_string(const basic_string&, size_type, size_type,
1331 const _Alloc&)): Ditto.
1332 (assign(const basic_string&, size_type, size_type)): Use the
1333 new _M_check and _M_limit.
1334 (insert(size_type, const basic_string&, size_type, size_type):
1336 (insert(size_type, const _CharT*, size_type)): Ditto.
1337 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1338 (replace(size_type, size_type, const basic_string&,
1339 size_type, size_type)): Ditto.
1340 (append(const basic_string&)): Ditto.
1341 (append(const basic_string&, size_type, size_type)): Ditto.
1342 (copy(_CharT*, size_type, size_type)): Ditto.
1343 (compare(size_type, size_type, const basic_string&)): Ditto.
1344 (compare(size_type, size_type, const basic_string&,size_type,
1346 (compare(size_type, size_type, const _CharT*)): Ditto.
1347 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1349 2004-01-19 Stefan Olsson <stefan@snon.net>
1351 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1352 memory on it's freelist this memory is not returned to global
1353 list. Simplification of deallocate so that memory is always
1354 returned to the calling thread id's freelist instead of to
1355 global. Fix typos. Add volatile where appropriate.
1357 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1359 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1360 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1361 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1363 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1365 * src/debug.cc: Make sure all the names are prefixed with
1366 double (or single) underscore.
1368 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1370 * src/debug.cc: Trivial formatting change.
1372 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1374 * include/bits/basic_string.tcc (_S_construct(size_type,
1375 _CharT, const _Alloc&)): Remove redundant try/catch.
1376 (_M_mutate(size_type, size_type, size_type)): Ditto.
1377 (_M_clone(const _Alloc&, size_type)): Ditto.
1379 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1381 * include/bits/basic_string.h (c_str()): Simplify, due to
1382 21.3.4 the internal representation is always kept null-terminated.
1383 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1384 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1385 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1388 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1390 * include/bits/basic_string.h (append(size_type, _CharT)):
1391 Moved inline, just call _M_replace_aux, no source iterators at
1392 risk of being clobbered.
1393 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1394 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1395 input_iterator_tag)): Remove fifth unused argument.
1396 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1397 _InputIterator, __false_type)): Update call.
1398 * include/bits/basic_string.tcc (replace(size_type, size_type,
1399 const _CharT*, size_type)): Update call.
1400 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1401 throw string literal.
1402 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1403 _ForwardIterator)): Likewise.
1404 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1405 input_iterator_tag)): Remove fifth unused argument.
1406 (append(size_type __n, _CharT __c)): Move inline.
1407 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1408 const C*, const C*, input_iterator_tag)): Remove fifth unused
1411 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1413 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
1414 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1416 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1418 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1421 2004-01-15 Stefan Olsson <stefan@snon.net>
1423 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1424 possible by changing the behaviour of thread_freelist to do
1425 push_front when threads die instead of push_back.
1427 2004-01-14 Paolo Carlini <pcarlini@suse.de>
1429 * include/bits/locale_facets.h (struct __numpunct_cache):
1430 Add member _M_grouping_size, caching the length of _M_grouping.
1431 (__numpunct_cache<>::_M_cache): Assign the latter.
1432 (__verify_grouping): Move declaration...
1433 * include/bits/locale_facets.tcc (__verify_grouping):
1434 ... here, change signature to take a const char* and a size_t
1435 for the grouping; not a template anymore.
1436 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
1437 Likewise change signature and tweak consistently.
1438 (num_get::_M_extract_float, num_get::_M_extract_int,
1439 num_put::_M_insert_int, num_put::_M_insert_float,
1440 money_get::do_get(string_type&), money_get::do_put(string_type)):
1442 * config/locale/generic/numeric_members.cc
1443 (numpunct<>::_M_initialize_numpunct): Assign the new member.
1444 * config/locale/gnu/numeric_members.cc
1445 (numpunct<>::_M_initialize_numpunct): Likewise.
1446 * src/locale-inst.cc (__add_grouping): Tweak signature.
1447 (__verify_grouping): Don't instantiate, not a template anymore.
1449 * include/bits/locale_facets.h: Rename _M_truename_len ->
1450 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1451 * include/bits/locale_facets.tcc: Likewise.
1452 * config/locale/generic/numeric_members.cc: Likewise.
1453 * config/locale/gnu/numeric_members.cc: Likewise.
1455 2004-01-14 Stefan Olsson <stefan@snon.net>
1457 * include/ext/mt_allocator.h: Fixups.
1458 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1459 * testsuite/performance/allocator_thread.cc: Same.
1461 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1463 * testsuite/performance/ifstream_extract_float.cc: Add higher
1465 * testsuite/performance/ofstream_insert_float.cc: Same.
1467 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1469 * src/locale-misc-inst.cc (__convert_from_v(long),
1470 __convert_from_v(unsigned long), __convert_from_v(long long),
1471 __convert_from_v(unsigned long long)): Remove, unused.
1473 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1475 * testsuite/performance/ifstream_extract_float.cc: New.
1476 * testsuite/performance/ofstream_insert_float.cc: Float generation
1479 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1480 * 20_util/auto_ptr/1.cc: ...this.
1481 * 20_util/auto_ptr/2.cc: Same.
1482 * 20_util/auto_ptr/3.cc: Same.
1483 * 20_util/auto_ptr/3946.cc: Same.
1484 * 20_util/auto_ptr/4.cc: Same.
1485 * 20_util/auto_ptr/5.cc: Same.
1486 * 20_util/auto_ptr/6.cc: Same.
1487 * 20_util/auto_ptr/7.cc: Same.
1488 * 20_util/auto_ptr/assign_neg.cc
1489 * 20_util/pairs.cc: Break into...
1490 * 20_util/pair/1.cc: ...this.
1491 * 20_util/pair/2.cc: Same.
1492 * 20_util/pair/3.cc: Same.
1493 * 20_util/pair/4.cc: Same.
1495 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1497 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1498 Set correctly just basefield, the only group that matters.
1500 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1502 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1503 (_Rope_rep_base): Inherit directly from the rope allocator;
1504 use rebinding instead of _Alloc_traits; pick up data member
1505 from _Rope_rep_alloc_base.
1506 (_Rope_alloc_base): Eliminate.
1507 (_Rope_base): Inherit directly from the rope allocator; use
1508 rebinding instead of _Alloc_traits; pick up data member from
1510 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1511 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1513 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1516 * include/bits/basic_string.tcc (compare(size_type, size_type,
1517 const _CharT*, size_type)): Implement correctly the resolution
1518 of DR 5: basically, s is a char array, -not- a C string.
1519 * include/bits/basic_string.h: Tweak some comments.
1520 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1521 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1523 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1525 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1528 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1530 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1532 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1535 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1537 * include/bits/locale_facets.h (struct __numpunct_cache):
1538 Add members _M_truename_len and _M_falsename_len, caching
1539 the lengths of _M_truename and _M_falsename.
1540 (__numpunct_cache<>::_M_cache): Assign the latter.
1541 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1542 num_put::do_put(bool)): Use the new members, thus avoiding
1543 computing string lengths again and again.
1544 * config/locale/generic/numeric_members.cc
1545 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1546 * config/locale/gnu/numeric_members.cc
1547 (numpunct<>::_M_initialize_numpunct): Likewise.
1549 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1551 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1552 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1554 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1555 and remove Cygwin XFAIL.
1556 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1557 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1558 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1559 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1561 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1562 * testsuite/27_io/objects/char/7.cc: Likewise.
1563 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1564 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1565 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1567 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1569 * include/std/std_complex.h (std::complex<>::real): Return a
1570 reference. Add non-const overload.
1571 (std::complex<>::real): Likewise.
1572 (std::real): Likewise.
1573 (std::imag): Likewise.
1574 (std::operator+): Tidy.
1575 (std::operator-): Likewise.
1576 (std::operator*): Likewise.
1577 (std::operator/): Likewise.
1578 (std::operator>>): Likewise.
1580 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1583 * include/bits/fstream.tcc (imbue): Exploit the external
1584 buffer to imbue 'on the fly' a new locale and convert its
1585 remainder with the new codecvt facet.
1586 (underflow): Tweak slightly to deal with this special case.
1587 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1588 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1589 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1590 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1591 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1593 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1595 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1598 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1601 * include/bits/locale_classes.h (class locale): Fix category
1603 * testsuite/22_locale/locale/13630.cc: Add.
1605 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1607 * include/bits/locale_facets.h: Make a name really dependent. This
1608 will be needed when Core Issue 224 is implemented.
1610 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1612 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1613 * testsuite/performance/allocator_thread.cc: Likewise.
1615 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1617 * crossconfig.m4: Add LFS, io bits to linux cross config.
1618 * acconfig.h: Remove obsolete bits, reorder.
1619 * config.h.in: Regenerate.
1623 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1625 * include/bits/stl_list.h:
1626 * include/bits/list.tc:
1628 Performance enhancements for destructor, push_front(),
1629 push_back(), pop_front(), pop_back(), sort()
1630 Eliminated static_casts where possible.
1631 Moved code out of header files into new src/list.cc
1632 implementation file for library where possible.
1633 Remove inheritance from iterator class and create separate
1634 classes for non-constant and constant iterators.
1635 * include/bits/stl_tree.h (_Rb_tree class):
1637 Only erase contents in destructor.
1638 Eliminate unnecessary initialization in assignment operator.
1639 Optimize for the nominal case by not checking whether
1640 container is empty in clear().
1641 Re-order test in _M_insert() to improve performance.
1642 Move initialization of new node's left & right pointers to
1643 src/tree.cc to where new node's colour is initialized
1644 and to reduce the amount of inline code.
1645 Use _M_leftmost() and _M_end() to improve readability where
1647 Create separate classes for non-constant and constant
1648 iterators to clarify code, avoid extra template parameters and
1649 casting away constness.
1651 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1653 * src/Makefile.am (sources): Add list.cc, tree.cc.
1654 * src/stl_tree.cc: Move to...
1655 * src/tree.cc: ...here.
1657 * config/linker-map.gnu: Tweaks.
1658 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1659 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1661 * bits/stl_vector.h: Column wrap comments.
1663 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1665 (re-open) PR libstdc++/12658
1666 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1667 (locale::global): Likewise.
1669 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1671 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1672 Remove redundant #include.
1673 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1674 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1675 re-enable normal testing.
1676 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1678 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1679 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1681 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1683 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1685 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1687 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1689 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1691 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1693 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1694 More properly, #include <locale>.
1695 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1696 Remove redundant #include.
1697 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1698 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1699 redundant DejaGnu directive.
1700 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1703 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1704 Stefan Olsson <stefan@snon.net>
1706 * scripts/check_performance: Use -pthread.
1707 * testsuite/performance/allocator.cc: Tweaks, add list.
1708 * testsuite/performance/allocator_thread.cc: New.
1710 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1712 * include/bits/locale_facets.h: Document public classes and
1714 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1717 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1719 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1720 Remove redundant #includes.
1721 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1723 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1725 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1726 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1727 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1728 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1729 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1730 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1731 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1732 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1733 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1734 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1735 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1736 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1737 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1738 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1739 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1741 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1743 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1745 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1747 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1749 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1750 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1751 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1753 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1755 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1756 Remove redundant #includes.
1757 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1759 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1761 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1763 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1765 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1767 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1769 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1771 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1773 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1775 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1777 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1779 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1782 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1785 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1787 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1788 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1789 * testsuite/27_io/basic_ios/4.cc: Likewise.
1790 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1791 * testsuite/27_io/basic_istream/4.cc: Likewise.
1792 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1793 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1794 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1795 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1796 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1797 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1799 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1801 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1802 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1803 always use double underscored names.
1804 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1806 * include/bits/locale_facets.h (struct __numpunct_cache):
1807 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1808 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out