1 2004-03-03 Paolo Carlini <pcarlini@suse.de>
3 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
4 Fix warning regression.
6 2004-03-03 Paolo Carlini <pcarlini@suse.de>
8 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
9 Deal properly with empty __digits and negative frac_digits,
12 2004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
14 * docs/html/documentation.html: Regenerate.
16 2004-03-02 Paolo Carlini <pcarlini@suse.de>
19 * include/bits/postypes.h (class streamoff): Remove, now
20 streamoff is just typedef a 64 bit signed integer type.
21 (class fpos): Tweak consistently.
22 * testsuite/27_io/fpos/14320-1.cc: New.
23 * testsuite/27_io/fpos/14320-2.cc: New.
24 * testsuite/27_io/fpos/14320-3.cc: New.
25 * testsuite/27_io/fpos/14320-4.cc: New.
26 * testsuite/27_io/fpos/14320-5.cc: New.
27 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
29 2004-03-02 Paolo Carlini <pcarlini@suse.de>
31 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
32 Reorganize a bit the main parsing loop, thus early detecting
33 an empty value component.
34 * testsuite/22_locale/money_get/get/char/16.cc: New.
35 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
37 2004-03-02 Benjamin Kosnik <bkoz@redhat.com>
39 Support automake 1.8.2
40 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
41 * po/Makefile.am (EXTRA_DIST): New.
42 * po/Makefile.in: Regenerate.
44 * include/Makefile.in: Same.
45 * libmath/Makefile.in: Same.
46 * libsupc++/Makefile.in: Same.
47 * src/Makefile.in: Same.
48 * testsuite/Makefile.in: Same.
50 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
51 __GXX_WEAK__ instead of SUPPORTS_WEAK.
52 (${host_builddir}/gthr-default.h): Same.
53 (${host_builddir}/gthr.h): Same.
54 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
55 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
57 * aclocal.m4: Regenerate.
58 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
59 * config.h.in: Regenerate.
62 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
65 * acinclude.m4: Quote correctly.
66 * aclocal.m4: Regenerate.
69 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
71 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
73 * docs/html/18_support/howto.html: Add bit about writing to
74 stderr, mostly by Zack.
76 2004-03-01 Paolo Carlini <pcarlini@suse.de>
78 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
79 money_get<>::do_get(string_type&)): ... and two more.
81 2004-03-01 Paolo Carlini <pcarlini@suse.de>
83 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
84 Fix thinkos in the switch from string_type& to string& as last
87 2004-03-01 Paolo Carlini <pcarlini@suse.de>
89 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
90 Also when parsing exponent sign, first look for thousands_sep
91 and decimal_point; tweak a bit.
92 * testsuite/22_locale/num_get/get/char/15.cc: New.
93 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
95 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
96 num_get<>::_M_extract_int): Reorder some conditionals.
98 2004-03-01 Paolo Carlini <pcarlini@suse.de>
100 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
101 Consistently with numpunct, enforce the requirements in
102 22.2.6.3, p3 for the thousands separators; tweak a bit.
103 * testsuite/22_locale/money_get/get/char/15.cc: New.
104 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
106 2004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
108 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
109 testsuite_files from correct multilib blddir when running
112 2004-02-29 Phil Edwards <phil@codesourcery.com>
114 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
115 the summary file to the logfile.
116 * testsuite/Makefile.in: Regenerate.
118 2004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
120 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
122 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
123 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
125 2004-02-28 Paolo Carlini <pcarlini@suse.de>
127 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
128 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
129 no 'decimal-point' in the middle: in this case too we must fix
130 up __found_grouping; slightly tweak.
131 * testsuite/22_locale/num_get/get/char/14.cc: New.
132 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
134 2004-02-27 Eric Christopher <echristo@redhat.com>
135 Phil Edwards <phil@codesourcery.com>
137 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
138 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
139 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
140 testsuite/22_locale/collate/hash/wchar_t/2.cc,
141 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
142 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
143 testsuite/22_locale/collate/transform/wchar_t/2.cc,
144 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
145 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
146 Use dg-require-iconv.
147 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
149 2004-02-27 Phil Edwards <phil@codesourcery.com>
150 Eric Christopher <echristo@redhat.com>
152 * testsuite/config/default.exp: Update with comments.
153 (${tool}_target_compile): New wrapper routine.
154 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
155 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
157 (load_gcc_lib, v3track): New routines.
158 (v3-init): Rename to libstdc++_init.
159 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
160 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
162 2004-02-27 Benjamin Kosnik <bkoz@redhat.com>
164 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
166 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
168 * config/os/irix/irix5.2/atomicity.h: Merge..
169 * config/os/irix/irix6.5/atomicity.h: Merge..
170 * config/os/irix/atomicity.h: ...into this.
171 * config/os/irix/atomic_word.h: New.
172 * configure.host: Set atomic_word_dir for irix.
174 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
175 * i386/atomicity.h: Same.
176 * m68k/atomicity.h: Same.
177 * sparc/atomicity.h: Same.
179 2004-02-27 David Edelsohn <edelsohn@gnu.org>
181 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
182 static, and inline keywords.
184 2004-02-27 Paolo Carlini <pcarlini@suse.de>
186 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
187 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
188 call reserve on the __tmp_gruping string.
189 (num_get<>::_M_extract_float): Don't append unnecessarily a
190 char() to the returned string.
191 * include/bits/locale_facets.tcc: Trivial reformattings.
193 2004-02-27 Paolo Carlini <pcarlini@suse.de>
195 * include/bits/locale_facets.h (money_get<>::_M_extract):
196 Change signature: now takes a plain string&.
197 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
198 Update consistently the definition; use the moneypunct cache
199 to parse the value; use swap to change __units.
200 (money_get<>::do_get(long double&)): Update call of _M_extract,
201 avoid ctype::narrow, not correct wrt the standard.
202 (money_get<>::do_get(string_type&)): Likewise, update call
203 of _M_extract, use ctype::widen.
204 * src/locale-inst.cc: Tweak instantiations of _M_extract.
206 2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
208 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
209 * testsuite/demangle/abi_examples/02.cc: Likewise.
210 * testsuite/demangle/regression/cw-11.cc: Likewise.
211 * testsuite/demangle/regression/cw-16.cc: Change two expected
212 results to match libiberty demangler output.
214 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
217 * libsupc++/Makefile.am: Use libiberty demangler.
218 (c_sources): Add cp-demangle.c.
219 * libsupc++/Makefile.in: Regenerate.
220 * src/Makefile.am (sources): Remove demangle.cc.
221 * src/Makefile.in: Regenerate.
222 * include/Makefile.am (bits_headers): Move demangle.h.
223 (ext_headers): ...here.
224 * include/Makefile.in: Regenerate.
225 * include/bits/demangle.h: Move...
226 * include/ext/demangle.h: ...here.
227 * src/demangle.cc: Remove.
229 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
231 * include/bits/demangle.h: Add type template parameter to all
232 templates with just an Allocator template parameter.
234 2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
236 * include/bits/atomicity.h: New, forward declarations for __atomic_add
237 and __exchange_and_add.
238 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
239 * config/cpu/cris/atomic_word.h: Same.
240 * config/cpu/sparc/atomic_word.h: Same.
241 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
242 Qualifiy with __gnu_cxx.
243 (_Callback_list::_M_add_reference): Same.
244 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
245 (locale::facet::_M_remove_reference): Same.
246 (locale::_Impl::_M_add_reference): Add.
247 (locale::_Impl::_M_remove_reference): Same.
248 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
249 (basic_string::_Rep::_M_dispose): Same.
250 * src/ios.cc (ios_base::xalloc): Same.
251 * src/ios_init.cc (ios_base::Init::Init): Same.
252 (ios_base::Init::~Init): Same.
253 * src/locale.cc (locale::id::_M_id): Same.
254 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
255 static, and inline keywords.
256 * config/cpu/alpha/atomicity.h: Same.
257 * config/cpu/cris/atomicity.h: Same.
258 * config/cpu/generic/atomicity.h: Same.
259 * config/cpu/hppa/atomicity.h: Same.
260 * config/cpu/i386/atomicity.h: Same.
261 * config/cpu/ia64/atomicity.h: Same.
262 * config/cpu/m68k/atomicity.h: Same.
263 * config/cpu/mips/atomicity.h: Same.
264 * config/cpu/powerpc/atomicity.h: Same.
265 * config/cpu/s390/atomicity.h: Same.
266 * config/cpu/sparc/atomicity.h: Same.
268 * src/Makefile.am (host_sources): Add atomicity.cc.
269 (atomicity.cc): New rule.
270 * src/Makefile.in: Regenerate.
271 * include/Makefile.am (host_headers): Remove host atomicity.h.
272 (host_headers): Add atomic_word.h.
273 (bits_headers): Add bits atomicity.h.
274 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
275 * include/Makefile.in: Regenerate.
276 * configure.host (atomic_word_dir): Add.
277 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
278 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
279 * configure: Regenerate.
280 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
282 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
283 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
285 2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
287 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
288 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
289 Fix markup, more <link> tags.
291 2004-02-25 Carlo Wood <carlo@alinoe.com>
294 namespace __gnu_cxx::demangler
295 (session<Allocator>::qualifier_list_Allocator): Add
296 (session<Allocator>::M_qualifier_list_alloc): Add
297 (session<Allocator>::decode_type_with_postfix):
298 Use M_qualifier_list_alloc instead of calling operator new/delete.
300 2004-02-24 Paolo Carlini <pcarlini@suse.de>
303 * include/bits/postypes.h (class streamoff): Add operator++(),
304 operator++(int), operator--() and operator--(int).
305 * testsuite/27_io/fpos/14252.cc: New.
307 2004-02-24 Richard Sandiford <rsandifo@redhat.com>
309 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
310 error in handling of hex constants.
312 2004-02-24 Paolo Carlini <pcarlini@suse.de>
314 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
315 Prefer basic_string::append to operator+= and a temporary.
317 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
319 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
320 Only use fputs, not write.
322 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
324 * include/ext/malloc_allocator.h: Add operators ==, !=.
325 * include/ext/new_allocator.h: Add operators ==, !=.
326 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
327 (__mt_alloc::_S_get_options): New.
328 (__mt_alloc::_S_set_options): New.
329 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
330 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
331 Move functions out of line, simplify, format.
332 * src/allocator.cc: Simplify explicit instantiations.
333 * include/bits/allocator.h: Tweak.
335 2004-02-22 Paolo Carlini <pcarlini@suse.de>
337 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
338 Restructure formatting of value component, first dealing with
339 the non-decimal digits; use reserve.
341 2004-02-22 Paolo Carlini <pcarlini@suse.de>
343 * include/bits/locale_facets.h (class money_get): Inherit
344 from money_base too; tweak declaration of _M_extract, now
345 parameterized on _Intl too.
346 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
347 Update definition to use the cache; call reserve on __res to
348 avoid multiple reallocations; fix parsing of sign component
349 according to 22.2.6.1.2, p3.
350 (money_get<>::do_get(long double&),
351 money_get<>::do_get(string_type&)): Update calls of _M_extract.
352 * src/locale-inst.cc: Add instantiations of
353 money_get::_M_extract<false> and money_get::_M_extract<true>.
354 * testsuite/22_locale/money_get/get/char/14.cc: New.
355 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
357 2004-02-21 Mark Mitchell <mark@codesourcery.com>
359 * libsupc++/vterminate.cc
360 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
362 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
364 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
365 not set RLIMIT_AS on HP-UX.
367 2004-02-21 Mark Mitchell <mark@codesourcery.com>
369 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
370 not set RLIMIT_AS on HP-UX.
372 2004-02-21 Paolo Carlini <pcarlini@suse.de>
374 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
375 _S_zero, _S_end } enum, _S_atoms.
376 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
377 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
378 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
379 (__moneypunct_cache<>::~__moneypunct_cache): Update.
380 (__moneypunct_cache<>::_M_cache): Fill the cache.
381 (class moneypunct): Tweak __cache_type typedef.
382 (class money_put): Inherit from money_base too; tweak declaration
383 of _M_insert, now parameterized on _Intl.
384 * include/bits/locale_facets.tcc
385 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
386 (money_put<>::_M_insert): Update definition to use the cache;
387 call reserve on __res to avoid multiple reallocations.
388 (money_put<>::do_put(long double),
389 money_put<>::do_put(const string_type&): Update calls of _M_insert.
390 * config/locale/generic/monetary_members.cc
391 (moneypunct<char, true>::_M_initialize_moneypunct,
392 moneypunct<char, false>::_M_initialize_moneypunct,
393 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
394 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
395 * config/locale/gnu/monetary_members.cc: Likewise.
396 * config/locale/gnu/monetary_members.cc
397 (moneypunct<wchar_t, true>::~moneypunct(),
398 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
399 * src/globals_locale.cc: Tweak fake_money_cache_c.
400 * src/locale-inst.cc: Add instantiations for
401 money_put::_M_insert<false> and money_put::_M_insert<true> and
402 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
403 * src/locale_facets.cc: Define money_base::_S_atoms.
404 * src/locale_init.cc: Update placement new of
405 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
406 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
408 * config/locale/generic/numeric_members.cc: Clean up.
409 * config/locale/gnu/numeric_members.cc: Likewise.
410 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
411 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
412 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
413 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
414 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
415 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
417 2004-02-20 Mark Mitchell <mark@codesourcery.com>
419 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
420 FIFO for writing with ios_base::in|ios_base::out.
421 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
422 * testsuite/27_io/objects/char/7.cc: Likewise.
423 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
426 2004-02-19 David Edelsohn <edelsohn@gnu.org>
428 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
429 from iso-8859-1 to ISO8859-1.
430 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
431 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
432 * 22_locale/collate/hash/wchar_t/2.cc: Same.
433 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
434 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
435 * 22_locale/collate/transform/wchar_t/2.cc: Same.
436 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
437 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
439 2004-02-18 Paolo Carlini <pcarlini@suse.de>
441 * include/bits/locale_facets.h (money_get<>::_M_extract):
442 New, helper for do_get.
443 (money_put<>::_M_insert): Likewise, for do_put.
444 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
445 money_put<>::_M_insert): Define.
446 (money_get<>::do_get(long double&), money_get<>::do_get(
447 string_type&), money_put::do_put(long double),
448 money_put::do_put(const string_type&)): Use the helpers.
450 2004-02-18 Paolo Carlini <pcarlini@suse.de>
452 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
453 Rewrite, avoiding recursion.
454 (__gnu_internal::xwrite): Minor tweaks.
456 2004-02-17 Stefan Olsson <stefan@xapa.se>
458 * include/ext/mt_allocator.h: Removed the last
459 pointer. Deallocated blocks are now added to the front of
460 freelists as proposed by Felix Yen. This gives roughly 10%
461 performance boost and saves some memory.
462 * docs/html/ext/mt_allocator.html: Change due to that deallocated
463 blocks now are added to the front of freelists. The reason to this
464 approach is also explained.
466 2004-02-17 Paolo Carlini <pcarlini@suse.de>
468 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
469 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
470 grouping fidelity conditional.
472 2004-02-16 Paolo Carlini <pcarlini@suse.de>
474 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
475 Qualify exception with std::.
476 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
477 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
478 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
479 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
480 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
482 2004-02-16 Paolo Carlini <pcarlini@suse.de>
484 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
485 for now that the catch block is not reached.
486 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
488 2004-02-16 Paolo Carlini <pcarlini@suse.de>
490 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
491 Fix parsing of the remaining sign characters.
492 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
493 the input is scanned 'til eof.
494 * 22_locale/money_get/get/char/4.cc: Likewise.
495 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
496 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
497 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
498 not do_pos_format: the former is the only one that matters during
500 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
502 * 22_locale/money_get/get/char/6.cc: Minor tweak.
503 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
505 2004-02-15 David Asher <david.asher@cavium.com>
508 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
509 access __olds beyond __oldlen.
511 2004-02-14 Paolo Carlini <pcarlini@suse.de>
513 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
514 sure the exception is actually thrown.
515 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
516 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
517 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
519 2004-02-14 Paolo Carlini <pcarlini@suse.de>
522 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
523 In case of conversion errors, throw ios_failure; simplify.
524 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
525 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
526 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
527 previously we didn't throw in case of conversion errors, instead
529 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
530 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
531 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
533 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
534 Trivial simplification of a conditional.
536 2004-02-12 Paolo Carlini <pcarlini@suse.de>
538 PR libstdc++/13731 (final part: writev)
539 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
540 New, a wrapper around writev() handling partial writes.
541 (__basic_file<char>::xwrite): Move to __gnu_internal and make
543 (__basic_file<char>::xsputn): Update call.
544 (__basic_file<char>::xsputn_2): Likewise.
545 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
546 Don't declare, now static.
548 2004-02-11 Stefan Olsson <stefan@xapa.se>
550 * docs/html/ext/mt_allocator.html: New.
552 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
554 * docs/html/20_util/allocator.html: New file, consolidate
555 allocator information here. Revamp.
556 * docs/html/documentation.html: Change links.
557 * docs/html/20_util/howto.html: Same.
558 * docs/html/ext/howto.html: Same.
560 2004-02-11 Paolo Carlini <pcarlini@suse.de>
562 PR libstdc++/13731 (first part: write)
563 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
565 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
566 Define it: a wrapper around write() handling partial write.
567 (__basic_file<char>::xsputn): Use it.
568 (__basic_file<char>::xsputn_2): Likewise.
570 2004-02-11 Paolo Carlini <pcarlini@suse.de>
571 Petur Runolfsson <peturr02@ru.is>
574 * include/std/std_istream.h (operator>>(__istream_type& (*)
575 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
576 operator>>(ios_base& (*)(ios_base&))): Declare inline.
577 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
578 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
579 operator<<(ios_base& (*) (ios_base&))): Likewise.
580 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
582 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
585 * config/linker-map.gnu: Add typeinfo and typeinfo name for
586 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
589 * config/linker-map.gnu: Add typeinfo and typeinfo name for
590 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
592 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
594 * include/ext/pool_allocator.h: Include c++config.h.
596 2004-02-09 Stefan Olsson <stefan@xapa.se>
598 * include/ext/mt_allocator.h: thread_id is unused in non threaded
599 applications and now has a ifdef to remove it completely on
600 compilers without thread support. Include stdlib.h due to a
601 compiler warning on getenv().
603 2004-02-09 Paul Brook <paul@codesourcery.com>
605 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
607 2004-02-09 Paolo Carlini <pcarlini@suse.de>
610 * src/locale_init.cc (locale::global(const locale&)): Use
611 locale::name() in order to decide whether calling setlocale.
612 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
614 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
615 Avoid computing &= unnecessarily.
617 2004-02-09 James E Wilson <wilson@specifixinc.com>
620 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
621 __builtin_extend_pointer.
623 2004-02-09 Paolo Carlini <pcarlini@suse.de>
626 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
627 Don't leave dangling pointers.
628 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
629 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
630 facet is needed in the final test.
632 2004-02-09 Bernardo Innocenti <bernie@develer.com>
634 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
635 * configure: Regenerate.
637 2004-02-08 Richard Henderson <rth@redhat.com>
640 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
641 uncaughtExceptions during nested catch rethrow.
642 * testsuite/18_support/14026.cc: New.
644 2004-02-08 Paolo Carlini <pcarlini@suse.de>
646 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
647 When working in place remember to set the state to sharable
648 (otherwise, _M_mutate does it).
650 2004-02-08 Bernardo Innocenti <bernie@develer.com>
652 * include/bits/allocator.h, include/bits/basic_ios.h,
653 include/bits/basic_ios.tcc, include/bits/basic_string.h,
654 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
655 include/bits/char_traits.h, include/bits/codecvt.h,
656 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
657 include/bits/demangle.h, include/bits/deque.tcc,
658 include/bits/fstream.tcc, include/bits/functexcept.h,
659 include/bits/gslice.h, include/bits/gslice_array.h,
660 include/bits/indirect_array.h, include/bits/ios_base.h,
661 include/bits/istream.tcc, include/bits/list.tcc,
662 include/bits/locale_classes.h, include/bits/locale_facets.h,
663 include/bits/locale_facets.tcc, include/bits/localefwd.h,
664 include/bits/mask_array.h, include/bits/ostream.tcc,
665 include/bits/postypes.h, include/bits/slice_array.h,
666 include/bits/sstream.tcc, include/bits/stl_algo.h,
667 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
668 include/bits/stl_construct.h, include/bits/stl_deque.h,
669 include/bits/stl_function.h, include/bits/stl_heap.h,
670 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
671 include/bits/stl_list.h, include/bits/stl_map.h,
672 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
673 include/bits/stl_numeric.h, include/bits/stl_pair.h,
674 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
675 include/bits/stl_relops.h, include/bits/stl_set.h,
676 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
677 include/bits/stl_threads.h, include/bits/stl_tree.h,
678 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
679 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
680 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
681 include/bits/type_traits.h, include/bits/valarray_after.h,
682 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
683 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
686 2004-02-06 Paolo Carlini <pcarlini@suse.de>
688 * include/bits/basic_string.h: Fix comment.
690 2004-02-06 Paolo Carlini <pcarlini@suse.de>
692 * include/bits/stl_construct.h: Wrap overlong lines, reformat
693 according to the coding standards.
694 * include/bits/stl_pair.h: Likewise.
695 * include/bits/stl_raw_storage_iter.h: Likewise.
696 * include/bits/stl_stack.h: Likewise.
697 * include/bits/stl_uninitialized.h: Likewise.
698 * include/bits/stream_iterator.h: Likewise.
699 * include/bits/streambuf_iterator.h: Likewise.
700 * include/bits/type_traits.h: Likewise.
702 2004-02-06 Paolo Carlini <pcarlini@suse.de>
704 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
707 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
709 * scripts/check_performance: Support PCH.
711 * scripts/check_performance (CXX): Add -DNOTHREAD.
712 * testsuite/performance/20_util/allocator/insert.cc: Integrate
713 threaded tests from insert_insert.cc. Tweak iterations,
714 remove special cases.
715 * testsuite/performance/20_util/allocator/insert_insert.cc:
716 Make all tests single-threaded. Tweak iterations.
717 * testsuite/performance/20_util/allocator/map_thread.cc:
719 * testsuite/performance/20_util/allocator/producer_consumer.cc:
722 2004-02-05 Geoffrey Keating <geoffk@apple.com>
726 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
727 'gcc-lib'. Add comment about poorly-named variables.
728 * aclocal.m4: Regenerate.
729 * configure: Regenerate.
731 2004-02-05 Paolo Carlini <pcarlini@suse.de>
733 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
734 Thousands-sep are always optional; thousands-sep are not allowed
735 after the decimal_point.
736 * testsuite/22_locale/money_get/get/char/12.cc: New.
737 * testsuite/22_locale/money_get/get/char/13.cc: New.
738 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
739 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
741 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
742 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
743 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
744 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
745 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
746 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
747 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
748 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
750 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
752 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
754 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
756 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
758 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
759 it to decide whether FIONREAD should take an off_t or int argument.
761 2004-02-05 Paolo Carlini <pcarlini@suse.de>
763 * include/bits/stl_function.h: Minor formatting changes.
765 2004-02-04 Zack Weinberg <zack@codesourcery.com>
767 Revert previous change to config/abi/*/baseline_symbols.txt.
769 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
770 Zack Weinberg <zack@codesourcery.com>
772 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
774 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
775 (__basic_file<char>::_M_open_mode): Delete.
776 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
778 * testsuite/27_io/basic_filebuf/close/char/9964.cc
779 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
780 Correct flags to filebuf::open calls.
782 * config/abi/alpha-freebsd5/baseline_symbols.txt
783 * config/abi/alpha-linux-gnu/baseline_symbols.txt
784 * config/abi/hppa-linux-gnu/baseline_symbols.txt
785 * config/abi/i386-freebsd4/baseline_symbols.txt
786 * config/abi/i386-freebsd5/baseline_symbols.txt
787 * config/abi/i486-linux-gnu/baseline_symbols.txt
788 * config/abi/ia64-linux-gnu/baseline_symbols.txt
789 * config/abi/mips-linux-gnu/baseline_symbols.txt
790 * config/abi/sparc-freebsd5/baseline_symbols.txt
791 * config/abi/sparc-linux-gnu/baseline_symbols.txt
792 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
793 Remove entry for __basic_file<char>::_M_open_mode.
795 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
797 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
799 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
801 * testsuite/performance/20_util/producer_consumer.cc: New.
802 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
804 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
806 * testsuite/performance/20_util/allocator.cc: Move to..
807 * testsuite/performance/20_util/allocator/insert.cc: ...here.
808 * testsuite/performance/20_util/allocator_thread.cc: Move to...
809 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
810 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
811 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
813 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
815 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
816 * docs/html/faq/index.txt: Regenerate.
818 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
820 * include/ext/debug_allocator.h: _M_extra now stands for the
821 number of extra objects instead of the number of extra bytes.
822 (debug_allocator::allocate): Adjust.
823 (debug_allocator::deallocate): Adjust.
825 * include/ext/pool_allocator.h: Fix typo.
827 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
828 Benjamin Kosnik <bkoz@redhat.com>
830 * testsuite/performance/20_util/allocator.cc: Add map,
832 * testsuite/performance/20_util/allocator_thread.cc: Same.
834 2004-02-03 Paolo Carlini <pcarlini@suse.de>
836 * include/bits/basic_string.h (insert(iterator)): Remove,
837 non-standard and already scheduled for removal.
839 2004-02-03 Paolo Carlini <pcarlini@suse.de>
841 * include/bits/stl_iterator_base_funcs.h: Minor formatting
842 and indentation tweaks.
843 * include/bits/stl_iterator_base_types.h: Likewise.
844 * include/bits/stl_list.h: Likewise.
845 * include/bits/stl_map.h: Likewise.
846 * include/bits/stl_tempbuf.h: Likewise.
848 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
850 * include/bits/gslice.h, include/bits/gslice_array.h,
851 include/bits/indirect_array.h, include/bits/mask_array.h,
852 include/bits/slice_array.h, include/bits/stl_numeric.h,
853 include/std/std_valarray.h: Update copyright years.
855 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
857 * include/bits/gslice.h (gslice): Document.
858 * include/bits/gslice_array.h (gslice_array): Document.
859 * include/bits/indirect_array (indirect_array): Document.
860 * include/bits/mask_array (mask_array): Document.
861 * include/bits/slice_array.h (slice,slice_array): Document.
862 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
863 adjacent_difference): Document
864 * include/std/std_valarray.h (valarray): Document.
866 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
868 * docs/html/19_diagnostics/howto.html: Move verbose terminate
870 * docs/html/18_support/howto.html: Here.
871 * docs/html/documentation.html: Add reference here.
873 2004-02-02 Paolo Carlini <pcarlini@suse.de>
875 * config/locale/gnu/c++locale_internal.h: Remove prototypes
876 of no longer used GLIBC thread locale functions.
878 2004-02-02 Eric Christopher <echristo@redhat.com>
879 Zack Weinberg <zack@codesourcery.com>
881 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
883 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
884 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
885 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
886 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
887 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
888 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
889 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
890 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
893 2004-02-02 Paolo Carlini <pcarlini@suse.de>
895 * include/bits/stl_function.h: Additional minor tweaks.
896 * include/bits/stl_multiset.h: Likewise.
898 * include/bits/stl_queue.h: Minor tweaks.
900 2004-02-02 Paolo Carlini <pcarlini@suse.de>
902 PR libstdc++/13976 (continued)
903 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
904 Make the second parameter unnamed, to void unused parameter
906 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
908 2004-02-02 Paolo Carlini <pcarlini@suse.de>
911 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
912 Make the second parameter unnamed, to void unused parameter
914 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
915 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
917 2004-02-01 Paolo Carlini <pcarlini@suse.de>
919 * include/bits/stl_algo.h: Additional minor tweaks.
920 * include/bits/stl_map.h: Likewise.
921 * include/bits/stl_multimap.h: Likewise.
922 * include/bits/stl_multiset.h: Likewise.
923 * include/bits/stl_set.h: Likewise.
924 * include/bits/stl_tree.h: Likewise.
926 2004-02-01 Paolo Carlini <pcarlini@suse.de>
928 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
931 2004-02-01 Paolo Carlini <pcarlini@suse.de>
933 * include/bits/stl_function.h: Additional minor tweaks.
935 2004-02-01 Paolo Carlini <pcarlini@suse.de>
937 * include/bits/deque.tcc: Wrap overlong lines, constify
938 a few variables, reformat according to the coding standards.
939 * include/bits/list.tcc: Likewise.
940 * include/bits/stl_deque.h: Likewise.
941 * include/bits/stl_function.h: Likewise.
942 * include/bits/stl_iterator.h: Likewise.
943 * include/bits/stl_iterator_base_funcs.h: Likewise.
944 * include/bits/stl_iterator_base_types.h: Likewise.
945 * include/bits/stl_list.h: Likewise.
946 * include/bits/stl_map.h: Likewise.
947 * include/bits/stl_multimap.h: Likewise.
948 * include/bits/stl_multiset.h: Likewise.
949 * include/bits/stl_relops.h: Likewise.
950 * include/bits/stl_set.h: Likewise.
952 2004-02-01 Paolo Carlini <pcarlini@suse.de>
954 * include/bits/stl_bvector.h: Wrap overlong lines, constify
955 a few variables, reformat according to the coding standards.
956 * include/bits/stl_tree.h: Likewise.
958 2004-01-31 Paolo Carlini <pcarlini@suse.de>
960 * include/bits/stl_algo.h: Minor additional reformat, add
962 * include/bits/stl_algobase.h: Add copyright year.
964 2004-01-31 Paolo Carlini <pcarlini@suse.de>
966 * include/bits/stl_algo.h: Wrap overlong lines, constify
967 a few variables, reformat according to the coding standards.
968 * include/bits/stl_algobase.h: Likewise.
969 * include/bits/stl_heap.h: Likewise.
971 2004-01-31 Paolo Carlini <pcarlini@suse.de>
973 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
975 * include/bits/basic_string.h: Fix two comments.
977 2004-01-31 Per Bothner <per@bothner.com>
979 * include/ext/mt_allocator.h
980 (__mt_alloc::_S_thread_freelist_mutex): Guard with
981 __GTHREAD_MUTEX_INIT.
983 2004-01-31 Paolo Carlini <pcarlini@suse.de>
985 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
987 2004-01-30 Paolo Carlini <pcarlini@suse.de>
989 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
990 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
991 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
993 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
995 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
996 Don't use clear, but instead assign. Use insert.
998 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
1000 * src/demangle.cc: Add instantiations.
1001 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
1002 * src/Makefile.in: Regenerate.
1004 2004-01-30 David Edelsohn <edelsohn@gnu.org>
1006 * src/allocator.cc: Protect _S_get_thread_id() and
1007 _S_thread_key_destr() with #ifdef __GTHREADS.
1009 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1011 Reshuffle performance testsuite.
1012 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
1013 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
1014 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
1015 fstream_seek_write.cc, ifstream_extract_float.cc,
1016 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
1017 list_create_fill_sort.cc, map_create_fill.cc,
1018 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
1019 ofstream_insert_float.cc, ofstream_insert_int.cc,
1020 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
1021 wchar_t_out.cc: Split into...
1022 * testsuite/performance/20_util/allocator.cc: New.
1023 * testsuite/performance/20_util/allocator_map_thread.cc: New.
1024 * testsuite/performance/20_util/allocator_thread.cc: New.
1025 * testsuite/performance/21_strings/string_append: New.
1026 * testsuite/performance/22_locale/is_wchar_t.cc: New.
1027 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
1028 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
1029 * testsuite/performance/22_locale/wchar_t_in.cc: New.
1030 * testsuite/performance/22_locale/wchar_t_length.cc: New.
1031 * testsuite/performance/22_locale/wchar_t_out.cc: New.
1032 * testsuite/performance/23_containers/container_benchmark.cc: New.
1033 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
1034 * testsuite/performance/23_containers/map_create_fill.cc: New.
1035 * testsuite/performance/26_numerics/complex_norm.cc: New.
1036 * testsuite/performance/27_io/cout_insert_int.cc: New.
1037 * testsuite/performance/27_io/filebuf_copy.cc: New.
1038 * testsuite/performance/27_io/filebuf_sputc.cc: New.
1039 * testsuite/performance/27_io/fstream_seek_write.cc: New.
1040 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
1041 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
1042 * testsuite/performance/27_io/ifstream_getline.cc: New.
1043 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
1044 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
1046 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1048 * include/bits/basic_string.tcc (_Rep::_S_create):
1049 Never allocate a string bigger than max_size(); always keep
1050 __capacity and __size in sync to avoid memory leaks at
1053 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1055 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1056 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
1057 the double loop, streamline.
1059 * include/bits/basic_string.tcc: Very minor tweaks.
1061 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
1063 * scripts/check_performance: Only compile with $THREAD_FLAG
1064 when test is marked to require it. Allow multiple
1065 compilations/executions of marked tests.
1066 * testsuite/testsuite_performance.h (report_performance):
1067 Report dynamic thread support status.
1068 (report_header): Likewise.
1069 * testsuite/performance/allocator.cc: Stabilize iteration
1070 count. Support more allocators. Mark each allocator test to
1071 run and report independently.
1072 * testsuite/performance/allocator_map_thread.cc: Likewise.
1073 * testsuite/performance/allocator_thread.cc: Likewise.
1075 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
1077 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
1078 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
1079 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
1080 std::get_temporary_buffer() instead of duplicating its code.
1081 Update to C++STYLE conventions.
1082 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
1083 new() instead of std::malloc().
1084 (return_temporary_buffer): Use ::operator delete() instead of
1087 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
1089 * include/bits/allocator.h: Temporary switch to new_allocator as
1090 the default to unjam bootstraps.
1092 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1094 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
1095 * include/Makefile.in: Regenerate.
1096 * include/bits/allocator_traits.h: Remove.
1097 * include/bits/allocator.h: Remove allocator_traits.h include, and
1099 (allocator): Empty base class, inherit from the underlying allocator.
1100 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
1101 * src/allocator.cc: ...here. New. For the underlying allocators.
1102 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
1103 * config/linker-map.gnu: Remove __pool_alloc bits.
1104 * src/Makefile.am (sources): Add allocator.cc.
1105 * src/Makefile.in: Regenerate.
1106 * testsuite/20_util/allocator/1.cc: Split second test into...
1107 * testsuite/20_util/allocator/8230.cc: ...this.
1108 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
1109 typedef to use std::allocatore. Format.
1110 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
1112 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
1113 __throw_bad_alloc calls. Don't include <memory>.
1114 * include/ext/malloc_allocator.h: Remove <memory> include.
1115 * include/ext/new_allocator.h (new_allocator): Same.
1116 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
1117 declaration. Switch __alloc to _Alloc.
1118 * include/ext/hashtable.h: Remove __alloc.
1119 * include/backward/alloc.h: Only inject allocator, not
1120 implementation details.
1122 * include/ext/mt_allocator.h: Replace free with delete.
1124 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1126 * src/globals_io.cc: Change to __gnu_internal namespace.
1127 * src/globals_locale.cc: Same.
1128 * src/locale_init.cc: Same.
1129 * src/ios_init.cc: Same.
1131 2004-01-28 Stefan Olsson <stefan@snon.net>
1133 * include/ext/mt_allocator.h: Replaced all malloc() calls with
1134 operator new(). Added support for the env variable
1135 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
1136 one in allocate() as well). Fix typos.
1138 2004-01-28 Paolo Carlini <pcarlini@suse.de>
1140 * include/bits/basic_string.h (_S_create(size_t,
1141 const _Alloc&): Change signature to take two size_type
1143 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1144 _InIterator, const _Alloc&, input_iterator_tag)): Update
1146 (_S_construct(_InIterator, _InIterator, const _Alloc&,
1147 forward_iterator_tag)): Likewise.
1148 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
1149 (_M_mutate(size_type, size_type, size_type)): Don't
1150 implement the exponential growth policy, demand it to
1151 _S_create, update call and simplify.
1152 (_M_clone(const _Alloc&, size_type)): Likewise.
1153 (_S_create(size_type, size_type, const _Alloc&)): Implement
1154 the growth policy, simplify otherwise.
1156 * include/bits/basic_string.h (_Rep::operator[]): Tweak
1157 signature to take a size_type, consistently with the other
1160 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
1162 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
1163 delete declarations, add include and test variable.
1165 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
1167 * include/bits/codecvt.h, include/bits/locale_facets.h,
1168 include/bits/postypes.h, include/bits/stl_bvector.h,
1169 include/bits/stl_multiset.h, include/bits/stl_set.h,
1170 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
1171 include/std/std_complex.h: Document.
1173 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
1176 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
1177 iword/pword selector.
1178 (ios_base::iword, ios_base::pword): Use it.
1179 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
1180 iword or pword member on alloc failure.
1181 * testsuite/27_io/ios_base/storage/11584.cc: New test.
1183 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
1184 PJ Darcy <darcypj@us.ibm.com>
1186 * configure.host: Add support for *-tpf.
1187 * crossconfig.m4: Likewise.
1188 * configure: Regenerate.
1189 * config/os/tpf: New directory.
1190 * config/os/tpf/os_defines.h: New file.
1191 * config/os/tpf/ctype_base.h: Likewise.
1192 * config/os/tpf/ctype_inline.h: Likewise.
1193 * config/os/tpf/ctype_noninline.h: Likewise.
1195 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1198 * include/bits/sstream.tcc: Guard use of extern template.
1200 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1202 * include/bits/basic_string.tcc
1203 (basic_string(const basic_string&, size_type, size_type),
1204 basic_string(const basic_string&, size_type, size_type,
1205 const _Alloc&)): Avoid unnecessarily constructing iterators.
1207 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1209 * config/locale/generic/c_locale.cc: Fix throw messages
1210 to use the __N marker.
1211 * config/locale/gnu/c_locale.cc: Likewise.
1212 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1214 * docs/html/17_intro/C++STYLE: Likewise.
1215 * include/bits/basic_ios.tcc: Likewise.
1216 * include/bits/fstream.tcc: Likewise.
1217 * include/bits/vector.tcc: Likewise.
1218 * include/ext/ropeimpl.h: Likewise.
1219 * include/std/std_bitset.h: Likewise.
1220 * src/ios.cc: Likewise.
1221 * src/locale.cc: Likewise.
1222 * src/localename.cc: Likewise.
1224 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1226 * include/bits/basic_string.h (_M_replace_aux): Use the
1227 __N marker in throw message.
1228 * include/bits/basic_string.tcc (assign(const _CharT*,
1229 size_type), insert(size_type, const _CharT*, size_type),
1230 replace(size_type, size_type, const _CharT*, size_type),
1231 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1234 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1235 Fold overlong lines, minor formatting changes.
1237 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1239 * include/bits/basic_string.h (replace(iterator, iterator,
1240 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1241 (replace(iterator, iterator, const _CharT*)): Ditto.
1242 (replace(iterator, iterator, const _CharT*, size_type)):
1243 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1245 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1247 * include/bits/basic_string.tcc (replace(size_type,
1248 size_type, const _CharT*, size_type)): Implement optimized
1249 in-place algorithm for non-overlapping ranges.
1250 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1251 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1253 * include/bits/basic_string.tcc (insert(size_type,
1254 const _CharT*, size_type)): Tweak slightly.
1256 2004-01-26 Andreas Schwab <schwab@suse.de>
1258 * config/locale/gnu/monetary_members.cc: Restore locale before
1259 rethrowing exception.
1261 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1263 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1265 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1268 * include/bits/basic_string.tcc: Very minor tweaks.
1270 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1272 * testsuite/performance/string_append.cc: Increase number
1275 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1277 * include/bits/basic_string.h (erase(size_type, size_type),
1278 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1279 instead, thus avoiding redundant check for length_error.
1281 * include/bits/basic_string.h: Tweak some comments.
1283 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1285 * include/bits/basic_string.tcc (operator+(const _CharT*,
1286 const basic_string&)): No need to go through the append
1287 taking two iterators.
1289 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1291 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1292 Revert last change to use std::min: machine language is worse.
1293 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1294 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1295 (find_last_not_of(_CharT, size_type)): Ditto.
1297 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1298 size_type)): Discard the value returned by _M_check.
1299 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1300 (append(const basic_string&, size_type, size_type)): Ditto.
1301 (copy(_CharT*, size_type, size_type)): Ditto.
1302 (compare(size_type, size_type, const basic_string&)): Ditto.
1303 (compare(size_type, size_type, const basic_string&,
1304 size_type, size_type)): Ditto.
1305 (compare(size_type, size_type, const _CharT*)): Ditto.
1306 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1308 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1310 * include/bits/basic_string.h (insert(size_type,
1311 const basic_string&, size_type, size_type)): Define inline here.
1312 * include/bits/basic_string.tcc (insert(size_type,
1313 const basic_string&, size_type, size_type)): Move inline.
1315 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1317 * include/bits/basic_string.h (assign(const basic_string&,
1318 size_type, size_type)): Define inline here.
1319 (replace(size_type, size_type, const basic_string&,
1320 size_type, size_type)): Ditto.
1321 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1322 _InputIterator, __false_type)): Only declare.
1323 (_M_replace(iterator, iterator, _InputIterator,
1324 _InputIterator)): Remove.
1325 * include/bits/basic_string.tcc (assign(const basic_string&,
1326 size_type, size_type)): Move inline.
1327 (replace(size_type, size_type, const basic_string&,
1328 size_type, size_type)): Ditto.
1329 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1330 _InputIterator, __false_type)): Define, now does also what
1331 _M_replace did before.
1332 * src/string-inst.cc (_M_replace): Don't instantiate.
1334 * include/bits/basic_string.tcc (find(const _CharT*,
1335 size_type, size_type)): Tidy.
1336 (rfind(_CharT, size_type)): Ditto.
1337 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1338 (find_first_not_of(_CharT, size_type)): Ditto.
1339 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1340 (find_last_not_of(_CharT, size_type)): Ditto.
1342 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1345 * include/debug/bitset (operator|=): Fix typo.
1346 * testsuite/23_containers/bitset/operations/13838.cc: New.
1348 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1350 * include/bits/basic_string.tcc (insert(size_type,
1351 const _CharT*, size_type __n)): Fix length_error check.
1352 (replace(size_type, size_type, const _CharT*, size_type):
1353 Ditto; call _M_replace_safe.
1354 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1355 Fix length_error check.
1356 (_M_replace(iterator, iterator, _InputIterator,
1357 _InputIterator)): Ditto, tweak.
1358 (_M_replace_safe(size_type, size_type, const _CharT*,
1359 size_type)): Remove length_error check.
1361 * include/bits/basic_string.tcc (append(const basic_string&),
1362 append(const basic_string&, size_type, size_type)): Tweak
1365 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1366 size_type)): If __n == 0 don't call traits::copy.
1368 2004-01-23 Stefan Olsson <stefan@snon.net>
1370 * include/ext/mt_allocator.h: Reduce lock contention.
1372 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1375 * include/bits/fstream.tcc (underflow): Remove unused
1377 * include/bits/streambuf_iterator.h (equal): Ditto.
1378 * include/bits/locale_facets.h (_M_convert_from_char):
1381 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1384 * config/linker-map.gnu (nan): Delete.
1385 * libmath/mathconf.h (NAN, nan): Delete.
1386 * linkage.m4 (nan): Don't check for it.
1387 * libmath/nan.c: Delete file.
1389 * config.h.in, configure: Regenerate.
1391 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1393 * include/bits/basic_string.h (push_back(_CharT)):
1394 Call _M_replace_aux.
1395 (insert(size_type, const basic_string&)): Trivial tweak.
1396 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1397 (insert(iterator, _CharT)): Ditto.
1398 (erase(size_type, size_type)): Ditto.
1399 (erase(iterator)): Ditto.
1400 (erase(iterator, iterator)): Ditto.
1401 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1403 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
1406 * testsuite/performance/allocator_map_thread.cc: New test.
1408 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1410 * include/bits/locale_facets.tcc
1411 (money_put::do_put(..., long double)): Use the basic_string
1412 constructor for char arrays, not that for C-strings, to pass
1413 __digits to do_put(..., const string_type&): __ws isn't
1416 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1418 * include/bits/basic_string.h (_M_replace_safe): Change
1419 signatures to take size_types and const _CharT*.
1420 (_M_replace_aux): Likewise, takes size_types instead of
1422 (append(size_type, _CharT)): Update call.
1423 (assign(size_type, _CharT)): Ditto.
1424 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1425 (_M_replace_dispatch(iterator, iterator, _Integer,
1426 _Integer, __true_type)): Ditto.
1427 * include/bits/basic_string.tcc (assign(const _CharT*,
1429 (insert(size_type, const _CharT*, size_type)): Ditto.
1430 (replace(size_type, size_type, const _CharT*,
1432 (_M_replace(iterator, iterator, _InputIterator,
1433 _InputIterator)): Ditto.
1434 (append(const basic_string&)): Ditto.
1435 (append(const basic_string&, size_type, size_type): Ditto.
1436 (append(const _CharT*, size_type): Ditto.
1437 (_M_replace_safe, _M_replace_safe): Change definitions
1438 accordingly, simplify.
1439 * string-inst.cc (_M_replace_safe): Don't instantiate.
1441 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1443 * include/bits/basic_string.tcc (append(const basic_string&)):
1444 Revert previous change.
1445 (append(const basic_string&, size_type, size_type)): Revert
1446 previous change, use _M_check and _M_limit.
1448 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1450 * include/bits/basic_string.h (_M_check): Change to return
1451 a checked __pos and take an additional const char* argument.
1452 (_M_fold): Rename to _M_limit, change to return a size_type,
1453 corresponding to the __off limited to the actual length.
1454 (insert(size_type, size_type, _CharT)): Update call, call
1456 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1457 size_type, _CharT) instead.
1458 (erase(size_type, size_type)): Update calls.
1459 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1460 (substr(size_type, size_type)): Use _M_check.
1461 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1462 size_type, size_type)): Update calls.
1463 (basic_string(const basic_string&, size_type, size_type,
1464 const _Alloc&)): Ditto.
1465 (assign(const basic_string&, size_type, size_type)): Use the
1466 new _M_check and _M_limit.
1467 (insert(size_type, const basic_string&, size_type, size_type):
1469 (insert(size_type, const _CharT*, size_type)): Ditto.
1470 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1471 (replace(size_type, size_type, const basic_string&,
1472 size_type, size_type)): Ditto.
1473 (append(const basic_string&)): Ditto.
1474 (append(const basic_string&, size_type, size_type)): Ditto.
1475 (copy(_CharT*, size_type, size_type)): Ditto.
1476 (compare(size_type, size_type, const basic_string&)): Ditto.
1477 (compare(size_type, size_type, const basic_string&,size_type,
1479 (compare(size_type, size_type, const _CharT*)): Ditto.
1480 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1482 2004-01-19 Stefan Olsson <stefan@snon.net>
1484 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1485 memory on it's freelist this memory is not returned to global
1486 list. Simplification of deallocate so that memory is always
1487 returned to the calling thread id's freelist instead of to
1488 global. Fix typos. Add volatile where appropriate.
1490 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1492 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1493 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1494 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1496 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1498 * src/debug.cc: Make sure all the names are prefixed with
1499 double (or single) underscore.
1501 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1503 * src/debug.cc: Trivial formatting change.
1505 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1507 * include/bits/basic_string.tcc (_S_construct(size_type,
1508 _CharT, const _Alloc&)): Remove redundant try/catch.
1509 (_M_mutate(size_type, size_type, size_type)): Ditto.
1510 (_M_clone(const _Alloc&, size_type)): Ditto.
1512 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1514 * include/bits/basic_string.h (c_str()): Simplify, due to
1515 21.3.4 the internal representation is always kept null-terminated.
1516 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1517 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1518 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1521 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1523 * include/bits/basic_string.h (append(size_type, _CharT)):
1524 Moved inline, just call _M_replace_aux, no source iterators at
1525 risk of being clobbered.
1526 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1527 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1528 input_iterator_tag)): Remove fifth unused argument.
1529 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1530 _InputIterator, __false_type)): Update call.
1531 * include/bits/basic_string.tcc (replace(size_type, size_type,
1532 const _CharT*, size_type)): Update call.
1533 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1534 throw string literal.
1535 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1536 _ForwardIterator)): Likewise.
1537 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1538 input_iterator_tag)): Remove fifth unused argument.
1539 (append(size_type __n, _CharT __c)): Move inline.
1540 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1541 const C*, const C*, input_iterator_tag)): Remove fifth unused
1544 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1546 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
1547 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1549 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1551 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1554 2004-01-15 Stefan Olsson <stefan@snon.net>
1556 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1557 possible by changing the behaviour of thread_freelist to do
1558 push_front when threads die instead of push_back.
1560 2004-01-14 Paolo Carlini <pcarlini@suse.de>
1562 * include/bits/locale_facets.h (struct __numpunct_cache):
1563 Add member _M_grouping_size, caching the length of _M_grouping.
1564 (__numpunct_cache<>::_M_cache): Assign the latter.
1565 (__verify_grouping): Move declaration...
1566 * include/bits/locale_facets.tcc (__verify_grouping):
1567 ... here, change signature to take a const char* and a size_t
1568 for the grouping; not a template anymore.
1569 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
1570 Likewise change signature and tweak consistently.
1571 (num_get::_M_extract_float, num_get::_M_extract_int,
1572 num_put::_M_insert_int, num_put::_M_insert_float,
1573 money_get::do_get(string_type&), money_get::do_put(string_type)):
1575 * config/locale/generic/numeric_members.cc
1576 (numpunct<>::_M_initialize_numpunct): Assign the new member.
1577 * config/locale/gnu/numeric_members.cc
1578 (numpunct<>::_M_initialize_numpunct): Likewise.
1579 * src/locale-inst.cc (__add_grouping): Tweak signature.
1580 (__verify_grouping): Don't instantiate, not a template anymore.
1582 * include/bits/locale_facets.h: Rename _M_truename_len ->
1583 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1584 * include/bits/locale_facets.tcc: Likewise.
1585 * config/locale/generic/numeric_members.cc: Likewise.
1586 * config/locale/gnu/numeric_members.cc: Likewise.
1588 2004-01-14 Stefan Olsson <stefan@snon.net>
1590 * include/ext/mt_allocator.h: Fixups.
1591 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1592 * testsuite/performance/allocator_thread.cc: Same.
1594 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1596 * testsuite/performance/ifstream_extract_float.cc: Add higher
1598 * testsuite/performance/ofstream_insert_float.cc: Same.
1600 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1602 * src/locale-misc-inst.cc (__convert_from_v(long),
1603 __convert_from_v(unsigned long), __convert_from_v(long long),
1604 __convert_from_v(unsigned long long)): Remove, unused.
1606 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1608 * testsuite/performance/ifstream_extract_float.cc: New.
1609 * testsuite/performance/ofstream_insert_float.cc: Float generation
1612 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1613 * 20_util/auto_ptr/1.cc: ...this.
1614 * 20_util/auto_ptr/2.cc: Same.
1615 * 20_util/auto_ptr/3.cc: Same.
1616 * 20_util/auto_ptr/3946.cc: Same.
1617 * 20_util/auto_ptr/4.cc: Same.
1618 * 20_util/auto_ptr/5.cc: Same.
1619 * 20_util/auto_ptr/6.cc: Same.
1620 * 20_util/auto_ptr/7.cc: Same.
1621 * 20_util/auto_ptr/assign_neg.cc
1622 * 20_util/pairs.cc: Break into...
1623 * 20_util/pair/1.cc: ...this.
1624 * 20_util/pair/2.cc: Same.
1625 * 20_util/pair/3.cc: Same.
1626 * 20_util/pair/4.cc: Same.
1628 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1630 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1631 Set correctly just basefield, the only group that matters.
1633 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1635 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1636 (_Rope_rep_base): Inherit directly from the rope allocator;
1637 use rebinding instead of _Alloc_traits; pick up data member
1638 from _Rope_rep_alloc_base.
1639 (_Rope_alloc_base): Eliminate.
1640 (_Rope_base): Inherit directly from the rope allocator; use
1641 rebinding instead of _Alloc_traits; pick up data member from
1643 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1644 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1646 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1649 * include/bits/basic_string.tcc (compare(size_type, size_type,
1650 const _CharT*, size_type)): Implement correctly the resolution
1651 of DR 5: basically, s is a char array, -not- a C string.
1652 * include/bits/basic_string.h: Tweak some comments.
1653 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1654 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1656 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1658 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1661 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1663 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1665 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1668 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1670 * include/bits/locale_facets.h (struct __numpunct_cache):
1671 Add members _M_truename_len and _M_falsename_len, caching
1672 the lengths of _M_truename and _M_falsename.
1673 (__numpunct_cache<>::_M_cache): Assign the latter.
1674 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1675 num_put::do_put(bool)): Use the new members, thus avoiding
1676 computing string lengths again and again.
1677 * config/locale/generic/numeric_members.cc
1678 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1679 * config/locale/gnu/numeric_members.cc
1680 (numpunct<>::_M_initialize_numpunct): Likewise.
1682 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1684 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1685 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1687 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1688 and remove Cygwin XFAIL.
1689 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1690 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1691 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1692 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1694 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1695 * testsuite/27_io/objects/char/7.cc: Likewise.
1696 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1697 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1698 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1700 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1702 * include/std/std_complex.h (std::complex<>::real): Return a
1703 reference. Add non-const overload.
1704 (std::complex<>::real): Likewise.
1705 (std::real): Likewise.
1706 (std::imag): Likewise.
1707 (std::operator+): Tidy.
1708 (std::operator-): Likewise.
1709 (std::operator*): Likewise.
1710 (std::operator/): Likewise.
1711 (std::operator>>): Likewise.
1713 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1716 * include/bits/fstream.tcc (imbue): Exploit the external
1717 buffer to imbue 'on the fly' a new locale and convert its
1718 remainder with the new codecvt facet.
1719 (underflow): Tweak slightly to deal with this special case.
1720 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1721 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1722 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1723 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1724 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1726 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1728 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1731 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1734 * include/bits/locale_classes.h (class locale): Fix category
1736 * testsuite/22_locale/locale/13630.cc: Add.
1738 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1740 * include/bits/locale_facets.h: Make a name really dependent. This
1741 will be needed when Core Issue 224 is implemented.
1743 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1745 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1746 * testsuite/performance/allocator_thread.cc: Likewise.
1748 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1750 * crossconfig.m4: Add LFS, io bits to linux cross config.
1751 * acconfig.h: Remove obsolete bits, reorder.
1752 * config.h.in: Regenerate.
1756 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1758 * include/bits/stl_list.h:
1759 * include/bits/list.tc:
1761 Performance enhancements for destructor, push_front(),
1762 push_back(), pop_front(), pop_back(), sort()
1763 Eliminated static_casts where possible.
1764 Moved code out of header files into new src/list.cc
1765 implementation file for library where possible.
1766 Remove inheritance from iterator class and create separate
1767 classes for non-constant and constant iterators.
1768 * include/bits/stl_tree.h (_Rb_tree class):
1770 Only erase contents in destructor.
1771 Eliminate unnecessary initialization in assignment operator.
1772 Optimize for the nominal case by not checking whether
1773 container is empty in clear().
1774 Re-order test in _M_insert() to improve performance.
1775 Move initialization of new node's left & right pointers to
1776 src/tree.cc to where new node's colour is initialized
1777 and to reduce the amount of inline code.
1778 Use _M_leftmost() and _M_end() to improve readability where
1780 Create separate classes for non-constant and constant
1781 iterators to clarify code, avoid extra template parameters and
1782 casting away constness.
1784 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1786 * src/Makefile.am (sources): Add list.cc, tree.cc.
1787 * src/stl_tree.cc: Move to...
1788 * src/tree.cc: ...here.
1790 * config/linker-map.gnu: Tweaks.
1791 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1792 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1794 * bits/stl_vector.h: Column wrap comments.
1796 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1798 (re-open) PR libstdc++/12658
1799 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1800 (locale::global): Likewise.
1802 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1804 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1805 Remove redundant #include.
1806 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1807 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1808 re-enable normal testing.
1809 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1811 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1812 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1814 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1816 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1818 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1820 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1822 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1824 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1826 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1827 More properly, #include <locale>.
1828 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1829 Remove redundant #include.
1830 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1831 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1832 redundant DejaGnu directive.
1833 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1836 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1837 Stefan Olsson <stefan@snon.net>
1839 * scripts/check_performance: Use -pthread.
1840 * testsuite/performance/allocator.cc: Tweaks, add list.
1841 * testsuite/performance/allocator_thread.cc: New.
1843 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1845 * include/bits/locale_facets.h: Document public classes and
1847 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1850 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1852 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1853 Remove redundant #includes.
1854 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1856 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1858 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1859 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1860 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1861 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1862 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1863 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1864 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1865 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1866 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1867 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1868 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1869 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1870 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1871 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1872 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1874 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1876 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1878 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1880 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1882 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1883 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1884 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1886 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1888 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1889 Remove redundant #includes.
1890 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1892 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1894 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1896 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1898 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1900 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1902 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1904 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1906 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1908 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1910 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1912 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1915 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1918 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1920 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1921 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1922 * testsuite/27_io/basic_ios/4.cc: Likewise.
1923 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1924 * testsuite/27_io/basic_istream/4.cc: Likewise.
1925 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1926 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1927 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1928 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1929 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1930 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1932 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1934 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1935 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1936 always use double underscored names.
1937 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1939 * include/bits/locale_facets.h (struct __numpunct_cache):
1940 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1941 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out