1 2004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
3 * docs/html/documentation.html: Regenerate.
5 2004-03-02 Paolo Carlini <pcarlini@suse.de>
8 * include/bits/postypes.h (class streamoff): Remove, now
9 streamoff is just typedef a 64 bit signed integer type.
10 (class fpos): Tweak consistently.
11 * testsuite/27_io/fpos/14320-1.cc: New.
12 * testsuite/27_io/fpos/14320-2.cc: New.
13 * testsuite/27_io/fpos/14320-3.cc: New.
14 * testsuite/27_io/fpos/14320-4.cc: New.
15 * testsuite/27_io/fpos/14320-5.cc: New.
16 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
18 2004-03-02 Paolo Carlini <pcarlini@suse.de>
20 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
21 Reorganize a bit the main parsing loop, thus early detecting
22 an empty value component.
23 * testsuite/22_locale/money_get/get/char/16.cc: New.
24 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
26 2004-03-02 Benjamin Kosnik <bkoz@redhat.com>
28 Support automake 1.8.2
29 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
30 * po/Makefile.am (EXTRA_DIST): New.
31 * po/Makefile.in: Regenerate.
33 * include/Makefile.in: Same.
34 * libmath/Makefile.in: Same.
35 * libsupc++/Makefile.in: Same.
36 * src/Makefile.in: Same.
37 * testsuite/Makefile.in: Same.
39 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
40 __GXX_WEAK__ instead of SUPPORTS_WEAK.
41 (${host_builddir}/gthr-default.h): Same.
42 (${host_builddir}/gthr.h): Same.
43 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
44 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
46 * aclocal.m4: Regenerate.
47 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
48 * config.h.in: Regenerate.
51 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
54 * acinclude.m4: Quote correctly.
55 * aclocal.m4: Regenerate.
58 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
60 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
62 * docs/html/18_support/howto.html: Add bit about writing to
63 stderr, mostly by Zack.
65 2004-03-01 Paolo Carlini <pcarlini@suse.de>
67 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
68 money_get<>::do_get(string_type&)): ... and two more.
70 2004-03-01 Paolo Carlini <pcarlini@suse.de>
72 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
73 Fix thinkos in the switch from string_type& to string& as last
76 2004-03-01 Paolo Carlini <pcarlini@suse.de>
78 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
79 Also when parsing exponent sign, first look for thousands_sep
80 and decimal_point; tweak a bit.
81 * testsuite/22_locale/num_get/get/char/15.cc: New.
82 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
84 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
85 num_get<>::_M_extract_int): Reorder some conditionals.
87 2004-03-01 Paolo Carlini <pcarlini@suse.de>
89 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
90 Consistently with numpunct, enforce the requirements in
91 22.2.6.3, p3 for the thousands separators; tweak a bit.
92 * testsuite/22_locale/money_get/get/char/15.cc: New.
93 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
95 2004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
97 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
98 testsuite_files from correct multilib blddir when running
101 2004-02-29 Phil Edwards <phil@codesourcery.com>
103 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
104 the summary file to the logfile.
105 * testsuite/Makefile.in: Regenerate.
107 2004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
109 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
111 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
112 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
114 2004-02-28 Paolo Carlini <pcarlini@suse.de>
116 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
117 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
118 no 'decimal-point' in the middle: in this case too we must fix
119 up __found_grouping; slightly tweak.
120 * testsuite/22_locale/num_get/get/char/14.cc: New.
121 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
123 2004-02-27 Eric Christopher <echristo@redhat.com>
124 Phil Edwards <phil@codesourcery.com>
126 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
127 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
128 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
129 testsuite/22_locale/collate/hash/wchar_t/2.cc,
130 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
131 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
132 testsuite/22_locale/collate/transform/wchar_t/2.cc,
133 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
134 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
135 Use dg-require-iconv.
136 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
138 2004-02-27 Phil Edwards <phil@codesourcery.com>
139 Eric Christopher <echristo@redhat.com>
141 * testsuite/config/default.exp: Update with comments.
142 (${tool}_target_compile): New wrapper routine.
143 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
144 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
146 (load_gcc_lib, v3track): New routines.
147 (v3-init): Rename to libstdc++_init.
148 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
149 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
151 2004-02-27 Benjamin Kosnik <bkoz@redhat.com>
153 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
155 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
157 * config/os/irix/irix5.2/atomicity.h: Merge..
158 * config/os/irix/irix6.5/atomicity.h: Merge..
159 * config/os/irix/atomicity.h: ...into this.
160 * config/os/irix/atomic_word.h: New.
161 * configure.host: Set atomic_word_dir for irix.
163 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
164 * i386/atomicity.h: Same.
165 * m68k/atomicity.h: Same.
166 * sparc/atomicity.h: Same.
168 2004-02-27 David Edelsohn <edelsohn@gnu.org>
170 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
171 static, and inline keywords.
173 2004-02-27 Paolo Carlini <pcarlini@suse.de>
175 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
176 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
177 call reserve on the __tmp_gruping string.
178 (num_get<>::_M_extract_float): Don't append unnecessarily a
179 char() to the returned string.
180 * include/bits/locale_facets.tcc: Trivial reformattings.
182 2004-02-27 Paolo Carlini <pcarlini@suse.de>
184 * include/bits/locale_facets.h (money_get<>::_M_extract):
185 Change signature: now takes a plain string&.
186 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
187 Update consistently the definition; use the moneypunct cache
188 to parse the value; use swap to change __units.
189 (money_get<>::do_get(long double&)): Update call of _M_extract,
190 avoid ctype::narrow, not correct wrt the standard.
191 (money_get<>::do_get(string_type&)): Likewise, update call
192 of _M_extract, use ctype::widen.
193 * src/locale-inst.cc: Tweak instantiations of _M_extract.
195 2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
197 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
198 * testsuite/demangle/abi_examples/02.cc: Likewise.
199 * testsuite/demangle/regression/cw-11.cc: Likewise.
200 * testsuite/demangle/regression/cw-16.cc: Change two expected
201 results to match libiberty demangler output.
203 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
206 * libsupc++/Makefile.am: Use libiberty demangler.
207 (c_sources): Add cp-demangle.c.
208 * libsupc++/Makefile.in: Regenerate.
209 * src/Makefile.am (sources): Remove demangle.cc.
210 * src/Makefile.in: Regenerate.
211 * include/Makefile.am (bits_headers): Move demangle.h.
212 (ext_headers): ...here.
213 * include/Makefile.in: Regenerate.
214 * include/bits/demangle.h: Move...
215 * include/ext/demangle.h: ...here.
216 * src/demangle.cc: Remove.
218 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
220 * include/bits/demangle.h: Add type template parameter to all
221 templates with just an Allocator template parameter.
223 2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
225 * include/bits/atomicity.h: New, forward declarations for __atomic_add
226 and __exchange_and_add.
227 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
228 * config/cpu/cris/atomic_word.h: Same.
229 * config/cpu/sparc/atomic_word.h: Same.
230 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
231 Qualifiy with __gnu_cxx.
232 (_Callback_list::_M_add_reference): Same.
233 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
234 (locale::facet::_M_remove_reference): Same.
235 (locale::_Impl::_M_add_reference): Add.
236 (locale::_Impl::_M_remove_reference): Same.
237 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
238 (basic_string::_Rep::_M_dispose): Same.
239 * src/ios.cc (ios_base::xalloc): Same.
240 * src/ios_init.cc (ios_base::Init::Init): Same.
241 (ios_base::Init::~Init): Same.
242 * src/locale.cc (locale::id::_M_id): Same.
243 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
244 static, and inline keywords.
245 * config/cpu/alpha/atomicity.h: Same.
246 * config/cpu/cris/atomicity.h: Same.
247 * config/cpu/generic/atomicity.h: Same.
248 * config/cpu/hppa/atomicity.h: Same.
249 * config/cpu/i386/atomicity.h: Same.
250 * config/cpu/ia64/atomicity.h: Same.
251 * config/cpu/m68k/atomicity.h: Same.
252 * config/cpu/mips/atomicity.h: Same.
253 * config/cpu/powerpc/atomicity.h: Same.
254 * config/cpu/s390/atomicity.h: Same.
255 * config/cpu/sparc/atomicity.h: Same.
257 * src/Makefile.am (host_sources): Add atomicity.cc.
258 (atomicity.cc): New rule.
259 * src/Makefile.in: Regenerate.
260 * include/Makefile.am (host_headers): Remove host atomicity.h.
261 (host_headers): Add atomic_word.h.
262 (bits_headers): Add bits atomicity.h.
263 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
264 * include/Makefile.in: Regenerate.
265 * configure.host (atomic_word_dir): Add.
266 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
267 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
268 * configure: Regenerate.
269 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
271 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
272 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
274 2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
276 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
277 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
278 Fix markup, more <link> tags.
280 2004-02-25 Carlo Wood <carlo@alinoe.com>
283 namespace __gnu_cxx::demangler
284 (session<Allocator>::qualifier_list_Allocator): Add
285 (session<Allocator>::M_qualifier_list_alloc): Add
286 (session<Allocator>::decode_type_with_postfix):
287 Use M_qualifier_list_alloc instead of calling operator new/delete.
289 2004-02-24 Paolo Carlini <pcarlini@suse.de>
292 * include/bits/postypes.h (class streamoff): Add operator++(),
293 operator++(int), operator--() and operator--(int).
294 * testsuite/27_io/fpos/14252.cc: New.
296 2004-02-24 Richard Sandiford <rsandifo@redhat.com>
298 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
299 error in handling of hex constants.
301 2004-02-24 Paolo Carlini <pcarlini@suse.de>
303 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
304 Prefer basic_string::append to operator+= and a temporary.
306 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
308 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
309 Only use fputs, not write.
311 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
313 * include/ext/malloc_allocator.h: Add operators ==, !=.
314 * include/ext/new_allocator.h: Add operators ==, !=.
315 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
316 (__mt_alloc::_S_get_options): New.
317 (__mt_alloc::_S_set_options): New.
318 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
319 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
320 Move functions out of line, simplify, format.
321 * src/allocator.cc: Simplify explicit instantiations.
322 * include/bits/allocator.h: Tweak.
324 2004-02-22 Paolo Carlini <pcarlini@suse.de>
326 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
327 Restructure formatting of value component, first dealing with
328 the non-decimal digits; use reserve.
330 2004-02-22 Paolo Carlini <pcarlini@suse.de>
332 * include/bits/locale_facets.h (class money_get): Inherit
333 from money_base too; tweak declaration of _M_extract, now
334 parameterized on _Intl too.
335 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
336 Update definition to use the cache; call reserve on __res to
337 avoid multiple reallocations; fix parsing of sign component
338 according to 22.2.6.1.2, p3.
339 (money_get<>::do_get(long double&),
340 money_get<>::do_get(string_type&)): Update calls of _M_extract.
341 * src/locale-inst.cc: Add instantiations of
342 money_get::_M_extract<false> and money_get::_M_extract<true>.
343 * testsuite/22_locale/money_get/get/char/14.cc: New.
344 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
346 2004-02-21 Mark Mitchell <mark@codesourcery.com>
348 * libsupc++/vterminate.cc
349 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
351 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
353 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
354 not set RLIMIT_AS on HP-UX.
356 2004-02-21 Mark Mitchell <mark@codesourcery.com>
358 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
359 not set RLIMIT_AS on HP-UX.
361 2004-02-21 Paolo Carlini <pcarlini@suse.de>
363 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
364 _S_zero, _S_end } enum, _S_atoms.
365 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
366 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
367 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
368 (__moneypunct_cache<>::~__moneypunct_cache): Update.
369 (__moneypunct_cache<>::_M_cache): Fill the cache.
370 (class moneypunct): Tweak __cache_type typedef.
371 (class money_put): Inherit from money_base too; tweak declaration
372 of _M_insert, now parameterized on _Intl.
373 * include/bits/locale_facets.tcc
374 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
375 (money_put<>::_M_insert): Update definition to use the cache;
376 call reserve on __res to avoid multiple reallocations.
377 (money_put<>::do_put(long double),
378 money_put<>::do_put(const string_type&): Update calls of _M_insert.
379 * config/locale/generic/monetary_members.cc
380 (moneypunct<char, true>::_M_initialize_moneypunct,
381 moneypunct<char, false>::_M_initialize_moneypunct,
382 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
383 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
384 * config/locale/gnu/monetary_members.cc: Likewise.
385 * config/locale/gnu/monetary_members.cc
386 (moneypunct<wchar_t, true>::~moneypunct(),
387 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
388 * src/globals_locale.cc: Tweak fake_money_cache_c.
389 * src/locale-inst.cc: Add instantiations for
390 money_put::_M_insert<false> and money_put::_M_insert<true> and
391 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
392 * src/locale_facets.cc: Define money_base::_S_atoms.
393 * src/locale_init.cc: Update placement new of
394 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
395 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
397 * config/locale/generic/numeric_members.cc: Clean up.
398 * config/locale/gnu/numeric_members.cc: Likewise.
399 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
400 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
401 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
402 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
403 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
404 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
406 2004-02-20 Mark Mitchell <mark@codesourcery.com>
408 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
409 FIFO for writing with ios_base::in|ios_base::out.
410 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
411 * testsuite/27_io/objects/char/7.cc: Likewise.
412 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
415 2004-02-19 David Edelsohn <edelsohn@gnu.org>
417 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
418 from iso-8859-1 to ISO8859-1.
419 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
420 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
421 * 22_locale/collate/hash/wchar_t/2.cc: Same.
422 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
423 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
424 * 22_locale/collate/transform/wchar_t/2.cc: Same.
425 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
426 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
428 2004-02-18 Paolo Carlini <pcarlini@suse.de>
430 * include/bits/locale_facets.h (money_get<>::_M_extract):
431 New, helper for do_get.
432 (money_put<>::_M_insert): Likewise, for do_put.
433 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
434 money_put<>::_M_insert): Define.
435 (money_get<>::do_get(long double&), money_get<>::do_get(
436 string_type&), money_put::do_put(long double),
437 money_put::do_put(const string_type&)): Use the helpers.
439 2004-02-18 Paolo Carlini <pcarlini@suse.de>
441 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
442 Rewrite, avoiding recursion.
443 (__gnu_internal::xwrite): Minor tweaks.
445 2004-02-17 Stefan Olsson <stefan@xapa.se>
447 * include/ext/mt_allocator.h: Removed the last
448 pointer. Deallocated blocks are now added to the front of
449 freelists as proposed by Felix Yen. This gives roughly 10%
450 performance boost and saves some memory.
451 * docs/html/ext/mt_allocator.html: Change due to that deallocated
452 blocks now are added to the front of freelists. The reason to this
453 approach is also explained.
455 2004-02-17 Paolo Carlini <pcarlini@suse.de>
457 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
458 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
459 grouping fidelity conditional.
461 2004-02-16 Paolo Carlini <pcarlini@suse.de>
463 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
464 Qualify exception with std::.
465 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
466 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
467 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
468 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
469 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
471 2004-02-16 Paolo Carlini <pcarlini@suse.de>
473 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
474 for now that the catch block is not reached.
475 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
477 2004-02-16 Paolo Carlini <pcarlini@suse.de>
479 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
480 Fix parsing of the remaining sign characters.
481 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
482 the input is scanned 'til eof.
483 * 22_locale/money_get/get/char/4.cc: Likewise.
484 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
485 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
486 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
487 not do_pos_format: the former is the only one that matters during
489 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
491 * 22_locale/money_get/get/char/6.cc: Minor tweak.
492 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
494 2004-02-15 David Asher <david.asher@cavium.com>
497 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
498 access __olds beyond __oldlen.
500 2004-02-14 Paolo Carlini <pcarlini@suse.de>
502 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
503 sure the exception is actually thrown.
504 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
505 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
506 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
508 2004-02-14 Paolo Carlini <pcarlini@suse.de>
511 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
512 In case of conversion errors, throw ios_failure; simplify.
513 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
514 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
515 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
516 previously we didn't throw in case of conversion errors, instead
518 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
519 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
520 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
522 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
523 Trivial simplification of a conditional.
525 2004-02-12 Paolo Carlini <pcarlini@suse.de>
527 PR libstdc++/13731 (final part: writev)
528 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
529 New, a wrapper around writev() handling partial writes.
530 (__basic_file<char>::xwrite): Move to __gnu_internal and make
532 (__basic_file<char>::xsputn): Update call.
533 (__basic_file<char>::xsputn_2): Likewise.
534 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
535 Don't declare, now static.
537 2004-02-11 Stefan Olsson <stefan@xapa.se>
539 * docs/html/ext/mt_allocator.html: New.
541 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
543 * docs/html/20_util/allocator.html: New file, consolidate
544 allocator information here. Revamp.
545 * docs/html/documentation.html: Change links.
546 * docs/html/20_util/howto.html: Same.
547 * docs/html/ext/howto.html: Same.
549 2004-02-11 Paolo Carlini <pcarlini@suse.de>
551 PR libstdc++/13731 (first part: write)
552 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
554 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
555 Define it: a wrapper around write() handling partial write.
556 (__basic_file<char>::xsputn): Use it.
557 (__basic_file<char>::xsputn_2): Likewise.
559 2004-02-11 Paolo Carlini <pcarlini@suse.de>
560 Petur Runolfsson <peturr02@ru.is>
563 * include/std/std_istream.h (operator>>(__istream_type& (*)
564 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
565 operator>>(ios_base& (*)(ios_base&))): Declare inline.
566 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
567 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
568 operator<<(ios_base& (*) (ios_base&))): Likewise.
569 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
571 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
574 * config/linker-map.gnu: Add typeinfo and typeinfo name for
575 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
578 * config/linker-map.gnu: Add typeinfo and typeinfo name for
579 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
581 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
583 * include/ext/pool_allocator.h: Include c++config.h.
585 2004-02-09 Stefan Olsson <stefan@xapa.se>
587 * include/ext/mt_allocator.h: thread_id is unused in non threaded
588 applications and now has a ifdef to remove it completely on
589 compilers without thread support. Include stdlib.h due to a
590 compiler warning on getenv().
592 2004-02-09 Paul Brook <paul@codesourcery.com>
594 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
596 2004-02-09 Paolo Carlini <pcarlini@suse.de>
599 * src/locale_init.cc (locale::global(const locale&)): Use
600 locale::name() in order to decide whether calling setlocale.
601 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
603 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
604 Avoid computing &= unnecessarily.
606 2004-02-09 James E Wilson <wilson@specifixinc.com>
609 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
610 __builtin_extend_pointer.
612 2004-02-09 Paolo Carlini <pcarlini@suse.de>
615 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
616 Don't leave dangling pointers.
617 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
618 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
619 facet is needed in the final test.
621 2004-02-09 Bernardo Innocenti <bernie@develer.com>
623 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
624 * configure: Regenerate.
626 2004-02-08 Richard Henderson <rth@redhat.com>
629 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
630 uncaughtExceptions during nested catch rethrow.
631 * testsuite/18_support/14026.cc: New.
633 2004-02-08 Paolo Carlini <pcarlini@suse.de>
635 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
636 When working in place remember to set the state to sharable
637 (otherwise, _M_mutate does it).
639 2004-02-08 Bernardo Innocenti <bernie@develer.com>
641 * include/bits/allocator.h, include/bits/basic_ios.h,
642 include/bits/basic_ios.tcc, include/bits/basic_string.h,
643 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
644 include/bits/char_traits.h, include/bits/codecvt.h,
645 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
646 include/bits/demangle.h, include/bits/deque.tcc,
647 include/bits/fstream.tcc, include/bits/functexcept.h,
648 include/bits/gslice.h, include/bits/gslice_array.h,
649 include/bits/indirect_array.h, include/bits/ios_base.h,
650 include/bits/istream.tcc, include/bits/list.tcc,
651 include/bits/locale_classes.h, include/bits/locale_facets.h,
652 include/bits/locale_facets.tcc, include/bits/localefwd.h,
653 include/bits/mask_array.h, include/bits/ostream.tcc,
654 include/bits/postypes.h, include/bits/slice_array.h,
655 include/bits/sstream.tcc, include/bits/stl_algo.h,
656 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
657 include/bits/stl_construct.h, include/bits/stl_deque.h,
658 include/bits/stl_function.h, include/bits/stl_heap.h,
659 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
660 include/bits/stl_list.h, include/bits/stl_map.h,
661 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
662 include/bits/stl_numeric.h, include/bits/stl_pair.h,
663 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
664 include/bits/stl_relops.h, include/bits/stl_set.h,
665 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
666 include/bits/stl_threads.h, include/bits/stl_tree.h,
667 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
668 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
669 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
670 include/bits/type_traits.h, include/bits/valarray_after.h,
671 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
672 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
675 2004-02-06 Paolo Carlini <pcarlini@suse.de>
677 * include/bits/basic_string.h: Fix comment.
679 2004-02-06 Paolo Carlini <pcarlini@suse.de>
681 * include/bits/stl_construct.h: Wrap overlong lines, reformat
682 according to the coding standards.
683 * include/bits/stl_pair.h: Likewise.
684 * include/bits/stl_raw_storage_iter.h: Likewise.
685 * include/bits/stl_stack.h: Likewise.
686 * include/bits/stl_uninitialized.h: Likewise.
687 * include/bits/stream_iterator.h: Likewise.
688 * include/bits/streambuf_iterator.h: Likewise.
689 * include/bits/type_traits.h: Likewise.
691 2004-02-06 Paolo Carlini <pcarlini@suse.de>
693 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
696 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
698 * scripts/check_performance: Support PCH.
700 * scripts/check_performance (CXX): Add -DNOTHREAD.
701 * testsuite/performance/20_util/allocator/insert.cc: Integrate
702 threaded tests from insert_insert.cc. Tweak iterations,
703 remove special cases.
704 * testsuite/performance/20_util/allocator/insert_insert.cc:
705 Make all tests single-threaded. Tweak iterations.
706 * testsuite/performance/20_util/allocator/map_thread.cc:
708 * testsuite/performance/20_util/allocator/producer_consumer.cc:
711 2004-02-05 Geoffrey Keating <geoffk@apple.com>
715 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
716 'gcc-lib'. Add comment about poorly-named variables.
717 * aclocal.m4: Regenerate.
718 * configure: Regenerate.
720 2004-02-05 Paolo Carlini <pcarlini@suse.de>
722 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
723 Thousands-sep are always optional; thousands-sep are not allowed
724 after the decimal_point.
725 * testsuite/22_locale/money_get/get/char/12.cc: New.
726 * testsuite/22_locale/money_get/get/char/13.cc: New.
727 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
728 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
730 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
731 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
732 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
733 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
734 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
735 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
736 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
737 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
739 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
741 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
743 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
745 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
747 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
748 it to decide whether FIONREAD should take an off_t or int argument.
750 2004-02-05 Paolo Carlini <pcarlini@suse.de>
752 * include/bits/stl_function.h: Minor formatting changes.
754 2004-02-04 Zack Weinberg <zack@codesourcery.com>
756 Revert previous change to config/abi/*/baseline_symbols.txt.
758 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
759 Zack Weinberg <zack@codesourcery.com>
761 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
763 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
764 (__basic_file<char>::_M_open_mode): Delete.
765 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
767 * testsuite/27_io/basic_filebuf/close/char/9964.cc
768 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
769 Correct flags to filebuf::open calls.
771 * config/abi/alpha-freebsd5/baseline_symbols.txt
772 * config/abi/alpha-linux-gnu/baseline_symbols.txt
773 * config/abi/hppa-linux-gnu/baseline_symbols.txt
774 * config/abi/i386-freebsd4/baseline_symbols.txt
775 * config/abi/i386-freebsd5/baseline_symbols.txt
776 * config/abi/i486-linux-gnu/baseline_symbols.txt
777 * config/abi/ia64-linux-gnu/baseline_symbols.txt
778 * config/abi/mips-linux-gnu/baseline_symbols.txt
779 * config/abi/sparc-freebsd5/baseline_symbols.txt
780 * config/abi/sparc-linux-gnu/baseline_symbols.txt
781 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
782 Remove entry for __basic_file<char>::_M_open_mode.
784 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
786 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
788 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
790 * testsuite/performance/20_util/producer_consumer.cc: New.
791 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
793 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
795 * testsuite/performance/20_util/allocator.cc: Move to..
796 * testsuite/performance/20_util/allocator/insert.cc: ...here.
797 * testsuite/performance/20_util/allocator_thread.cc: Move to...
798 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
799 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
800 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
802 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
804 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
805 * docs/html/faq/index.txt: Regenerate.
807 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
809 * include/ext/debug_allocator.h: _M_extra now stands for the
810 number of extra objects instead of the number of extra bytes.
811 (debug_allocator::allocate): Adjust.
812 (debug_allocator::deallocate): Adjust.
814 * include/ext/pool_allocator.h: Fix typo.
816 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
817 Benjamin Kosnik <bkoz@redhat.com>
819 * testsuite/performance/20_util/allocator.cc: Add map,
821 * testsuite/performance/20_util/allocator_thread.cc: Same.
823 2004-02-03 Paolo Carlini <pcarlini@suse.de>
825 * include/bits/basic_string.h (insert(iterator)): Remove,
826 non-standard and already scheduled for removal.
828 2004-02-03 Paolo Carlini <pcarlini@suse.de>
830 * include/bits/stl_iterator_base_funcs.h: Minor formatting
831 and indentation tweaks.
832 * include/bits/stl_iterator_base_types.h: Likewise.
833 * include/bits/stl_list.h: Likewise.
834 * include/bits/stl_map.h: Likewise.
835 * include/bits/stl_tempbuf.h: Likewise.
837 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
839 * include/bits/gslice.h, include/bits/gslice_array.h,
840 include/bits/indirect_array.h, include/bits/mask_array.h,
841 include/bits/slice_array.h, include/bits/stl_numeric.h,
842 include/std/std_valarray.h: Update copyright years.
844 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
846 * include/bits/gslice.h (gslice): Document.
847 * include/bits/gslice_array.h (gslice_array): Document.
848 * include/bits/indirect_array (indirect_array): Document.
849 * include/bits/mask_array (mask_array): Document.
850 * include/bits/slice_array.h (slice,slice_array): Document.
851 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
852 adjacent_difference): Document
853 * include/std/std_valarray.h (valarray): Document.
855 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
857 * docs/html/19_diagnostics/howto.html: Move verbose terminate
859 * docs/html/18_support/howto.html: Here.
860 * docs/html/documentation.html: Add reference here.
862 2004-02-02 Paolo Carlini <pcarlini@suse.de>
864 * config/locale/gnu/c++locale_internal.h: Remove prototypes
865 of no longer used GLIBC thread locale functions.
867 2004-02-02 Eric Christopher <echristo@redhat.com>
868 Zack Weinberg <zack@codesourcery.com>
870 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
872 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
873 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
874 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
875 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
876 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
877 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
878 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
879 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
882 2004-02-02 Paolo Carlini <pcarlini@suse.de>
884 * include/bits/stl_function.h: Additional minor tweaks.
885 * include/bits/stl_multiset.h: Likewise.
887 * include/bits/stl_queue.h: Minor tweaks.
889 2004-02-02 Paolo Carlini <pcarlini@suse.de>
891 PR libstdc++/13976 (continued)
892 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
893 Make the second parameter unnamed, to void unused parameter
895 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
897 2004-02-02 Paolo Carlini <pcarlini@suse.de>
900 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
901 Make the second parameter unnamed, to void unused parameter
903 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
904 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
906 2004-02-01 Paolo Carlini <pcarlini@suse.de>
908 * include/bits/stl_algo.h: Additional minor tweaks.
909 * include/bits/stl_map.h: Likewise.
910 * include/bits/stl_multimap.h: Likewise.
911 * include/bits/stl_multiset.h: Likewise.
912 * include/bits/stl_set.h: Likewise.
913 * include/bits/stl_tree.h: Likewise.
915 2004-02-01 Paolo Carlini <pcarlini@suse.de>
917 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
920 2004-02-01 Paolo Carlini <pcarlini@suse.de>
922 * include/bits/stl_function.h: Additional minor tweaks.
924 2004-02-01 Paolo Carlini <pcarlini@suse.de>
926 * include/bits/deque.tcc: Wrap overlong lines, constify
927 a few variables, reformat according to the coding standards.
928 * include/bits/list.tcc: Likewise.
929 * include/bits/stl_deque.h: Likewise.
930 * include/bits/stl_function.h: Likewise.
931 * include/bits/stl_iterator.h: Likewise.
932 * include/bits/stl_iterator_base_funcs.h: Likewise.
933 * include/bits/stl_iterator_base_types.h: Likewise.
934 * include/bits/stl_list.h: Likewise.
935 * include/bits/stl_map.h: Likewise.
936 * include/bits/stl_multimap.h: Likewise.
937 * include/bits/stl_multiset.h: Likewise.
938 * include/bits/stl_relops.h: Likewise.
939 * include/bits/stl_set.h: Likewise.
941 2004-02-01 Paolo Carlini <pcarlini@suse.de>
943 * include/bits/stl_bvector.h: Wrap overlong lines, constify
944 a few variables, reformat according to the coding standards.
945 * include/bits/stl_tree.h: Likewise.
947 2004-01-31 Paolo Carlini <pcarlini@suse.de>
949 * include/bits/stl_algo.h: Minor additional reformat, add
951 * include/bits/stl_algobase.h: Add copyright year.
953 2004-01-31 Paolo Carlini <pcarlini@suse.de>
955 * include/bits/stl_algo.h: Wrap overlong lines, constify
956 a few variables, reformat according to the coding standards.
957 * include/bits/stl_algobase.h: Likewise.
958 * include/bits/stl_heap.h: Likewise.
960 2004-01-31 Paolo Carlini <pcarlini@suse.de>
962 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
964 * include/bits/basic_string.h: Fix two comments.
966 2004-01-31 Per Bothner <per@bothner.com>
968 * include/ext/mt_allocator.h
969 (__mt_alloc::_S_thread_freelist_mutex): Guard with
970 __GTHREAD_MUTEX_INIT.
972 2004-01-31 Paolo Carlini <pcarlini@suse.de>
974 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
976 2004-01-30 Paolo Carlini <pcarlini@suse.de>
978 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
979 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
980 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
982 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
984 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
985 Don't use clear, but instead assign. Use insert.
987 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
989 * src/demangle.cc: Add instantiations.
990 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
991 * src/Makefile.in: Regenerate.
993 2004-01-30 David Edelsohn <edelsohn@gnu.org>
995 * src/allocator.cc: Protect _S_get_thread_id() and
996 _S_thread_key_destr() with #ifdef __GTHREADS.
998 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1000 Reshuffle performance testsuite.
1001 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
1002 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
1003 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
1004 fstream_seek_write.cc, ifstream_extract_float.cc,
1005 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
1006 list_create_fill_sort.cc, map_create_fill.cc,
1007 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
1008 ofstream_insert_float.cc, ofstream_insert_int.cc,
1009 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
1010 wchar_t_out.cc: Split into...
1011 * testsuite/performance/20_util/allocator.cc: New.
1012 * testsuite/performance/20_util/allocator_map_thread.cc: New.
1013 * testsuite/performance/20_util/allocator_thread.cc: New.
1014 * testsuite/performance/21_strings/string_append: New.
1015 * testsuite/performance/22_locale/is_wchar_t.cc: New.
1016 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
1017 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
1018 * testsuite/performance/22_locale/wchar_t_in.cc: New.
1019 * testsuite/performance/22_locale/wchar_t_length.cc: New.
1020 * testsuite/performance/22_locale/wchar_t_out.cc: New.
1021 * testsuite/performance/23_containers/container_benchmark.cc: New.
1022 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
1023 * testsuite/performance/23_containers/map_create_fill.cc: New.
1024 * testsuite/performance/26_numerics/complex_norm.cc: New.
1025 * testsuite/performance/27_io/cout_insert_int.cc: New.
1026 * testsuite/performance/27_io/filebuf_copy.cc: New.
1027 * testsuite/performance/27_io/filebuf_sputc.cc: New.
1028 * testsuite/performance/27_io/fstream_seek_write.cc: New.
1029 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
1030 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
1031 * testsuite/performance/27_io/ifstream_getline.cc: New.
1032 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
1033 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
1035 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1037 * include/bits/basic_string.tcc (_Rep::_S_create):
1038 Never allocate a string bigger than max_size(); always keep
1039 __capacity and __size in sync to avoid memory leaks at
1042 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1044 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1045 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
1046 the double loop, streamline.
1048 * include/bits/basic_string.tcc: Very minor tweaks.
1050 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
1052 * scripts/check_performance: Only compile with $THREAD_FLAG
1053 when test is marked to require it. Allow multiple
1054 compilations/executions of marked tests.
1055 * testsuite/testsuite_performance.h (report_performance):
1056 Report dynamic thread support status.
1057 (report_header): Likewise.
1058 * testsuite/performance/allocator.cc: Stabilize iteration
1059 count. Support more allocators. Mark each allocator test to
1060 run and report independently.
1061 * testsuite/performance/allocator_map_thread.cc: Likewise.
1062 * testsuite/performance/allocator_thread.cc: Likewise.
1064 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
1066 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
1067 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
1068 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
1069 std::get_temporary_buffer() instead of duplicating its code.
1070 Update to C++STYLE conventions.
1071 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
1072 new() instead of std::malloc().
1073 (return_temporary_buffer): Use ::operator delete() instead of
1076 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
1078 * include/bits/allocator.h: Temporary switch to new_allocator as
1079 the default to unjam bootstraps.
1081 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1083 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
1084 * include/Makefile.in: Regenerate.
1085 * include/bits/allocator_traits.h: Remove.
1086 * include/bits/allocator.h: Remove allocator_traits.h include, and
1088 (allocator): Empty base class, inherit from the underlying allocator.
1089 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
1090 * src/allocator.cc: ...here. New. For the underlying allocators.
1091 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
1092 * config/linker-map.gnu: Remove __pool_alloc bits.
1093 * src/Makefile.am (sources): Add allocator.cc.
1094 * src/Makefile.in: Regenerate.
1095 * testsuite/20_util/allocator/1.cc: Split second test into...
1096 * testsuite/20_util/allocator/8230.cc: ...this.
1097 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
1098 typedef to use std::allocatore. Format.
1099 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
1101 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
1102 __throw_bad_alloc calls. Don't include <memory>.
1103 * include/ext/malloc_allocator.h: Remove <memory> include.
1104 * include/ext/new_allocator.h (new_allocator): Same.
1105 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
1106 declaration. Switch __alloc to _Alloc.
1107 * include/ext/hashtable.h: Remove __alloc.
1108 * include/backward/alloc.h: Only inject allocator, not
1109 implementation details.
1111 * include/ext/mt_allocator.h: Replace free with delete.
1113 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1115 * src/globals_io.cc: Change to __gnu_internal namespace.
1116 * src/globals_locale.cc: Same.
1117 * src/locale_init.cc: Same.
1118 * src/ios_init.cc: Same.
1120 2004-01-28 Stefan Olsson <stefan@snon.net>
1122 * include/ext/mt_allocator.h: Replaced all malloc() calls with
1123 operator new(). Added support for the env variable
1124 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
1125 one in allocate() as well). Fix typos.
1127 2004-01-28 Paolo Carlini <pcarlini@suse.de>
1129 * include/bits/basic_string.h (_S_create(size_t,
1130 const _Alloc&): Change signature to take two size_type
1132 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1133 _InIterator, const _Alloc&, input_iterator_tag)): Update
1135 (_S_construct(_InIterator, _InIterator, const _Alloc&,
1136 forward_iterator_tag)): Likewise.
1137 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
1138 (_M_mutate(size_type, size_type, size_type)): Don't
1139 implement the exponential growth policy, demand it to
1140 _S_create, update call and simplify.
1141 (_M_clone(const _Alloc&, size_type)): Likewise.
1142 (_S_create(size_type, size_type, const _Alloc&)): Implement
1143 the growth policy, simplify otherwise.
1145 * include/bits/basic_string.h (_Rep::operator[]): Tweak
1146 signature to take a size_type, consistently with the other
1149 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
1151 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
1152 delete declarations, add include and test variable.
1154 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
1156 * include/bits/codecvt.h, include/bits/locale_facets.h,
1157 include/bits/postypes.h, include/bits/stl_bvector.h,
1158 include/bits/stl_multiset.h, include/bits/stl_set.h,
1159 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
1160 include/std/std_complex.h: Document.
1162 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
1165 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
1166 iword/pword selector.
1167 (ios_base::iword, ios_base::pword): Use it.
1168 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
1169 iword or pword member on alloc failure.
1170 * testsuite/27_io/ios_base/storage/11584.cc: New test.
1172 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
1173 PJ Darcy <darcypj@us.ibm.com>
1175 * configure.host: Add support for *-tpf.
1176 * crossconfig.m4: Likewise.
1177 * configure: Regenerate.
1178 * config/os/tpf: New directory.
1179 * config/os/tpf/os_defines.h: New file.
1180 * config/os/tpf/ctype_base.h: Likewise.
1181 * config/os/tpf/ctype_inline.h: Likewise.
1182 * config/os/tpf/ctype_noninline.h: Likewise.
1184 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1187 * include/bits/sstream.tcc: Guard use of extern template.
1189 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1191 * include/bits/basic_string.tcc
1192 (basic_string(const basic_string&, size_type, size_type),
1193 basic_string(const basic_string&, size_type, size_type,
1194 const _Alloc&)): Avoid unnecessarily constructing iterators.
1196 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1198 * config/locale/generic/c_locale.cc: Fix throw messages
1199 to use the __N marker.
1200 * config/locale/gnu/c_locale.cc: Likewise.
1201 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1203 * docs/html/17_intro/C++STYLE: Likewise.
1204 * include/bits/basic_ios.tcc: Likewise.
1205 * include/bits/fstream.tcc: Likewise.
1206 * include/bits/vector.tcc: Likewise.
1207 * include/ext/ropeimpl.h: Likewise.
1208 * include/std/std_bitset.h: Likewise.
1209 * src/ios.cc: Likewise.
1210 * src/locale.cc: Likewise.
1211 * src/localename.cc: Likewise.
1213 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1215 * include/bits/basic_string.h (_M_replace_aux): Use the
1216 __N marker in throw message.
1217 * include/bits/basic_string.tcc (assign(const _CharT*,
1218 size_type), insert(size_type, const _CharT*, size_type),
1219 replace(size_type, size_type, const _CharT*, size_type),
1220 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1223 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1224 Fold overlong lines, minor formatting changes.
1226 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1228 * include/bits/basic_string.h (replace(iterator, iterator,
1229 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1230 (replace(iterator, iterator, const _CharT*)): Ditto.
1231 (replace(iterator, iterator, const _CharT*, size_type)):
1232 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1234 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1236 * include/bits/basic_string.tcc (replace(size_type,
1237 size_type, const _CharT*, size_type)): Implement optimized
1238 in-place algorithm for non-overlapping ranges.
1239 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1240 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1242 * include/bits/basic_string.tcc (insert(size_type,
1243 const _CharT*, size_type)): Tweak slightly.
1245 2004-01-26 Andreas Schwab <schwab@suse.de>
1247 * config/locale/gnu/monetary_members.cc: Restore locale before
1248 rethrowing exception.
1250 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1252 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1254 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1257 * include/bits/basic_string.tcc: Very minor tweaks.
1259 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1261 * testsuite/performance/string_append.cc: Increase number
1264 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1266 * include/bits/basic_string.h (erase(size_type, size_type),
1267 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1268 instead, thus avoiding redundant check for length_error.
1270 * include/bits/basic_string.h: Tweak some comments.
1272 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1274 * include/bits/basic_string.tcc (operator+(const _CharT*,
1275 const basic_string&)): No need to go through the append
1276 taking two iterators.
1278 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1280 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1281 Revert last change to use std::min: machine language is worse.
1282 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1283 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1284 (find_last_not_of(_CharT, size_type)): Ditto.
1286 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1287 size_type)): Discard the value returned by _M_check.
1288 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1289 (append(const basic_string&, size_type, size_type)): Ditto.
1290 (copy(_CharT*, size_type, size_type)): Ditto.
1291 (compare(size_type, size_type, const basic_string&)): Ditto.
1292 (compare(size_type, size_type, const basic_string&,
1293 size_type, size_type)): Ditto.
1294 (compare(size_type, size_type, const _CharT*)): Ditto.
1295 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1297 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1299 * include/bits/basic_string.h (insert(size_type,
1300 const basic_string&, size_type, size_type)): Define inline here.
1301 * include/bits/basic_string.tcc (insert(size_type,
1302 const basic_string&, size_type, size_type)): Move inline.
1304 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1306 * include/bits/basic_string.h (assign(const basic_string&,
1307 size_type, size_type)): Define inline here.
1308 (replace(size_type, size_type, const basic_string&,
1309 size_type, size_type)): Ditto.
1310 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1311 _InputIterator, __false_type)): Only declare.
1312 (_M_replace(iterator, iterator, _InputIterator,
1313 _InputIterator)): Remove.
1314 * include/bits/basic_string.tcc (assign(const basic_string&,
1315 size_type, size_type)): Move inline.
1316 (replace(size_type, size_type, const basic_string&,
1317 size_type, size_type)): Ditto.
1318 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1319 _InputIterator, __false_type)): Define, now does also what
1320 _M_replace did before.
1321 * src/string-inst.cc (_M_replace): Don't instantiate.
1323 * include/bits/basic_string.tcc (find(const _CharT*,
1324 size_type, size_type)): Tidy.
1325 (rfind(_CharT, size_type)): Ditto.
1326 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1327 (find_first_not_of(_CharT, size_type)): Ditto.
1328 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1329 (find_last_not_of(_CharT, size_type)): Ditto.
1331 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1334 * include/debug/bitset (operator|=): Fix typo.
1335 * testsuite/23_containers/bitset/operations/13838.cc: New.
1337 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1339 * include/bits/basic_string.tcc (insert(size_type,
1340 const _CharT*, size_type __n)): Fix length_error check.
1341 (replace(size_type, size_type, const _CharT*, size_type):
1342 Ditto; call _M_replace_safe.
1343 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1344 Fix length_error check.
1345 (_M_replace(iterator, iterator, _InputIterator,
1346 _InputIterator)): Ditto, tweak.
1347 (_M_replace_safe(size_type, size_type, const _CharT*,
1348 size_type)): Remove length_error check.
1350 * include/bits/basic_string.tcc (append(const basic_string&),
1351 append(const basic_string&, size_type, size_type)): Tweak
1354 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1355 size_type)): If __n == 0 don't call traits::copy.
1357 2004-01-23 Stefan Olsson <stefan@snon.net>
1359 * include/ext/mt_allocator.h: Reduce lock contention.
1361 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1364 * include/bits/fstream.tcc (underflow): Remove unused
1366 * include/bits/streambuf_iterator.h (equal): Ditto.
1367 * include/bits/locale_facets.h (_M_convert_from_char):
1370 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1373 * config/linker-map.gnu (nan): Delete.
1374 * libmath/mathconf.h (NAN, nan): Delete.
1375 * linkage.m4 (nan): Don't check for it.
1376 * libmath/nan.c: Delete file.
1378 * config.h.in, configure: Regenerate.
1380 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1382 * include/bits/basic_string.h (push_back(_CharT)):
1383 Call _M_replace_aux.
1384 (insert(size_type, const basic_string&)): Trivial tweak.
1385 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1386 (insert(iterator, _CharT)): Ditto.
1387 (erase(size_type, size_type)): Ditto.
1388 (erase(iterator)): Ditto.
1389 (erase(iterator, iterator)): Ditto.
1390 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1392 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
1395 * testsuite/performance/allocator_map_thread.cc: New test.
1397 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1399 * include/bits/locale_facets.tcc
1400 (money_put::do_put(..., long double)): Use the basic_string
1401 constructor for char arrays, not that for C-strings, to pass
1402 __digits to do_put(..., const string_type&): __ws isn't
1405 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1407 * include/bits/basic_string.h (_M_replace_safe): Change
1408 signatures to take size_types and const _CharT*.
1409 (_M_replace_aux): Likewise, takes size_types instead of
1411 (append(size_type, _CharT)): Update call.
1412 (assign(size_type, _CharT)): Ditto.
1413 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1414 (_M_replace_dispatch(iterator, iterator, _Integer,
1415 _Integer, __true_type)): Ditto.
1416 * include/bits/basic_string.tcc (assign(const _CharT*,
1418 (insert(size_type, const _CharT*, size_type)): Ditto.
1419 (replace(size_type, size_type, const _CharT*,
1421 (_M_replace(iterator, iterator, _InputIterator,
1422 _InputIterator)): Ditto.
1423 (append(const basic_string&)): Ditto.
1424 (append(const basic_string&, size_type, size_type): Ditto.
1425 (append(const _CharT*, size_type): Ditto.
1426 (_M_replace_safe, _M_replace_safe): Change definitions
1427 accordingly, simplify.
1428 * string-inst.cc (_M_replace_safe): Don't instantiate.
1430 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1432 * include/bits/basic_string.tcc (append(const basic_string&)):
1433 Revert previous change.
1434 (append(const basic_string&, size_type, size_type)): Revert
1435 previous change, use _M_check and _M_limit.
1437 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1439 * include/bits/basic_string.h (_M_check): Change to return
1440 a checked __pos and take an additional const char* argument.
1441 (_M_fold): Rename to _M_limit, change to return a size_type,
1442 corresponding to the __off limited to the actual length.
1443 (insert(size_type, size_type, _CharT)): Update call, call
1445 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1446 size_type, _CharT) instead.
1447 (erase(size_type, size_type)): Update calls.
1448 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1449 (substr(size_type, size_type)): Use _M_check.
1450 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1451 size_type, size_type)): Update calls.
1452 (basic_string(const basic_string&, size_type, size_type,
1453 const _Alloc&)): Ditto.
1454 (assign(const basic_string&, size_type, size_type)): Use the
1455 new _M_check and _M_limit.
1456 (insert(size_type, const basic_string&, size_type, size_type):
1458 (insert(size_type, const _CharT*, size_type)): Ditto.
1459 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1460 (replace(size_type, size_type, const basic_string&,
1461 size_type, size_type)): Ditto.
1462 (append(const basic_string&)): Ditto.
1463 (append(const basic_string&, size_type, size_type)): Ditto.
1464 (copy(_CharT*, size_type, size_type)): Ditto.
1465 (compare(size_type, size_type, const basic_string&)): Ditto.
1466 (compare(size_type, size_type, const basic_string&,size_type,
1468 (compare(size_type, size_type, const _CharT*)): Ditto.
1469 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1471 2004-01-19 Stefan Olsson <stefan@snon.net>
1473 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1474 memory on it's freelist this memory is not returned to global
1475 list. Simplification of deallocate so that memory is always
1476 returned to the calling thread id's freelist instead of to
1477 global. Fix typos. Add volatile where appropriate.
1479 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1481 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1482 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1483 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1485 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1487 * src/debug.cc: Make sure all the names are prefixed with
1488 double (or single) underscore.
1490 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1492 * src/debug.cc: Trivial formatting change.
1494 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1496 * include/bits/basic_string.tcc (_S_construct(size_type,
1497 _CharT, const _Alloc&)): Remove redundant try/catch.
1498 (_M_mutate(size_type, size_type, size_type)): Ditto.
1499 (_M_clone(const _Alloc&, size_type)): Ditto.
1501 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1503 * include/bits/basic_string.h (c_str()): Simplify, due to
1504 21.3.4 the internal representation is always kept null-terminated.
1505 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1506 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1507 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1510 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1512 * include/bits/basic_string.h (append(size_type, _CharT)):
1513 Moved inline, just call _M_replace_aux, no source iterators at
1514 risk of being clobbered.
1515 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1516 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1517 input_iterator_tag)): Remove fifth unused argument.
1518 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1519 _InputIterator, __false_type)): Update call.
1520 * include/bits/basic_string.tcc (replace(size_type, size_type,
1521 const _CharT*, size_type)): Update call.
1522 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1523 throw string literal.
1524 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1525 _ForwardIterator)): Likewise.
1526 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1527 input_iterator_tag)): Remove fifth unused argument.
1528 (append(size_type __n, _CharT __c)): Move inline.
1529 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1530 const C*, const C*, input_iterator_tag)): Remove fifth unused
1533 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1535 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
1536 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1538 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1540 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1543 2004-01-15 Stefan Olsson <stefan@snon.net>
1545 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1546 possible by changing the behaviour of thread_freelist to do
1547 push_front when threads die instead of push_back.
1549 2004-01-14 Paolo Carlini <pcarlini@suse.de>
1551 * include/bits/locale_facets.h (struct __numpunct_cache):
1552 Add member _M_grouping_size, caching the length of _M_grouping.
1553 (__numpunct_cache<>::_M_cache): Assign the latter.
1554 (__verify_grouping): Move declaration...
1555 * include/bits/locale_facets.tcc (__verify_grouping):
1556 ... here, change signature to take a const char* and a size_t
1557 for the grouping; not a template anymore.
1558 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
1559 Likewise change signature and tweak consistently.
1560 (num_get::_M_extract_float, num_get::_M_extract_int,
1561 num_put::_M_insert_int, num_put::_M_insert_float,
1562 money_get::do_get(string_type&), money_get::do_put(string_type)):
1564 * config/locale/generic/numeric_members.cc
1565 (numpunct<>::_M_initialize_numpunct): Assign the new member.
1566 * config/locale/gnu/numeric_members.cc
1567 (numpunct<>::_M_initialize_numpunct): Likewise.
1568 * src/locale-inst.cc (__add_grouping): Tweak signature.
1569 (__verify_grouping): Don't instantiate, not a template anymore.
1571 * include/bits/locale_facets.h: Rename _M_truename_len ->
1572 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1573 * include/bits/locale_facets.tcc: Likewise.
1574 * config/locale/generic/numeric_members.cc: Likewise.
1575 * config/locale/gnu/numeric_members.cc: Likewise.
1577 2004-01-14 Stefan Olsson <stefan@snon.net>
1579 * include/ext/mt_allocator.h: Fixups.
1580 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1581 * testsuite/performance/allocator_thread.cc: Same.
1583 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1585 * testsuite/performance/ifstream_extract_float.cc: Add higher
1587 * testsuite/performance/ofstream_insert_float.cc: Same.
1589 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1591 * src/locale-misc-inst.cc (__convert_from_v(long),
1592 __convert_from_v(unsigned long), __convert_from_v(long long),
1593 __convert_from_v(unsigned long long)): Remove, unused.
1595 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1597 * testsuite/performance/ifstream_extract_float.cc: New.
1598 * testsuite/performance/ofstream_insert_float.cc: Float generation
1601 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1602 * 20_util/auto_ptr/1.cc: ...this.
1603 * 20_util/auto_ptr/2.cc: Same.
1604 * 20_util/auto_ptr/3.cc: Same.
1605 * 20_util/auto_ptr/3946.cc: Same.
1606 * 20_util/auto_ptr/4.cc: Same.
1607 * 20_util/auto_ptr/5.cc: Same.
1608 * 20_util/auto_ptr/6.cc: Same.
1609 * 20_util/auto_ptr/7.cc: Same.
1610 * 20_util/auto_ptr/assign_neg.cc
1611 * 20_util/pairs.cc: Break into...
1612 * 20_util/pair/1.cc: ...this.
1613 * 20_util/pair/2.cc: Same.
1614 * 20_util/pair/3.cc: Same.
1615 * 20_util/pair/4.cc: Same.
1617 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1619 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1620 Set correctly just basefield, the only group that matters.
1622 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1624 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1625 (_Rope_rep_base): Inherit directly from the rope allocator;
1626 use rebinding instead of _Alloc_traits; pick up data member
1627 from _Rope_rep_alloc_base.
1628 (_Rope_alloc_base): Eliminate.
1629 (_Rope_base): Inherit directly from the rope allocator; use
1630 rebinding instead of _Alloc_traits; pick up data member from
1632 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1633 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1635 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1638 * include/bits/basic_string.tcc (compare(size_type, size_type,
1639 const _CharT*, size_type)): Implement correctly the resolution
1640 of DR 5: basically, s is a char array, -not- a C string.
1641 * include/bits/basic_string.h: Tweak some comments.
1642 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1643 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1645 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1647 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1650 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1652 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1654 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1657 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1659 * include/bits/locale_facets.h (struct __numpunct_cache):
1660 Add members _M_truename_len and _M_falsename_len, caching
1661 the lengths of _M_truename and _M_falsename.
1662 (__numpunct_cache<>::_M_cache): Assign the latter.
1663 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1664 num_put::do_put(bool)): Use the new members, thus avoiding
1665 computing string lengths again and again.
1666 * config/locale/generic/numeric_members.cc
1667 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1668 * config/locale/gnu/numeric_members.cc
1669 (numpunct<>::_M_initialize_numpunct): Likewise.
1671 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1673 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1674 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1676 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1677 and remove Cygwin XFAIL.
1678 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1679 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1680 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1681 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1683 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1684 * testsuite/27_io/objects/char/7.cc: Likewise.
1685 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1686 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1687 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1689 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1691 * include/std/std_complex.h (std::complex<>::real): Return a
1692 reference. Add non-const overload.
1693 (std::complex<>::real): Likewise.
1694 (std::real): Likewise.
1695 (std::imag): Likewise.
1696 (std::operator+): Tidy.
1697 (std::operator-): Likewise.
1698 (std::operator*): Likewise.
1699 (std::operator/): Likewise.
1700 (std::operator>>): Likewise.
1702 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1705 * include/bits/fstream.tcc (imbue): Exploit the external
1706 buffer to imbue 'on the fly' a new locale and convert its
1707 remainder with the new codecvt facet.
1708 (underflow): Tweak slightly to deal with this special case.
1709 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1710 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1711 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1712 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1713 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1715 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1717 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1720 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1723 * include/bits/locale_classes.h (class locale): Fix category
1725 * testsuite/22_locale/locale/13630.cc: Add.
1727 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1729 * include/bits/locale_facets.h: Make a name really dependent. This
1730 will be needed when Core Issue 224 is implemented.
1732 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1734 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1735 * testsuite/performance/allocator_thread.cc: Likewise.
1737 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1739 * crossconfig.m4: Add LFS, io bits to linux cross config.
1740 * acconfig.h: Remove obsolete bits, reorder.
1741 * config.h.in: Regenerate.
1745 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1747 * include/bits/stl_list.h:
1748 * include/bits/list.tc:
1750 Performance enhancements for destructor, push_front(),
1751 push_back(), pop_front(), pop_back(), sort()
1752 Eliminated static_casts where possible.
1753 Moved code out of header files into new src/list.cc
1754 implementation file for library where possible.
1755 Remove inheritance from iterator class and create separate
1756 classes for non-constant and constant iterators.
1757 * include/bits/stl_tree.h (_Rb_tree class):
1759 Only erase contents in destructor.
1760 Eliminate unnecessary initialization in assignment operator.
1761 Optimize for the nominal case by not checking whether
1762 container is empty in clear().
1763 Re-order test in _M_insert() to improve performance.
1764 Move initialization of new node's left & right pointers to
1765 src/tree.cc to where new node's colour is initialized
1766 and to reduce the amount of inline code.
1767 Use _M_leftmost() and _M_end() to improve readability where
1769 Create separate classes for non-constant and constant
1770 iterators to clarify code, avoid extra template parameters and
1771 casting away constness.
1773 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1775 * src/Makefile.am (sources): Add list.cc, tree.cc.
1776 * src/stl_tree.cc: Move to...
1777 * src/tree.cc: ...here.
1779 * config/linker-map.gnu: Tweaks.
1780 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1781 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1783 * bits/stl_vector.h: Column wrap comments.
1785 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1787 (re-open) PR libstdc++/12658
1788 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1789 (locale::global): Likewise.
1791 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1793 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1794 Remove redundant #include.
1795 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1796 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1797 re-enable normal testing.
1798 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1800 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1801 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1803 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1805 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1807 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1809 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1811 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1813 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1815 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1816 More properly, #include <locale>.
1817 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1818 Remove redundant #include.
1819 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1820 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1821 redundant DejaGnu directive.
1822 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1825 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1826 Stefan Olsson <stefan@snon.net>
1828 * scripts/check_performance: Use -pthread.
1829 * testsuite/performance/allocator.cc: Tweaks, add list.
1830 * testsuite/performance/allocator_thread.cc: New.
1832 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1834 * include/bits/locale_facets.h: Document public classes and
1836 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1839 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1841 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1842 Remove redundant #includes.
1843 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1845 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1847 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1848 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1849 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1850 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1851 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1852 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1853 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1854 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1855 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1856 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1857 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1858 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1859 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1860 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1861 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1863 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1865 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1867 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1869 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1871 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1872 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1873 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1875 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1877 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1878 Remove redundant #includes.
1879 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1881 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1883 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1885 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1887 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1889 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1891 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1893 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1895 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1897 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1899 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1901 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1904 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1907 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1909 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1910 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1911 * testsuite/27_io/basic_ios/4.cc: Likewise.
1912 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1913 * testsuite/27_io/basic_istream/4.cc: Likewise.
1914 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1915 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1916 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1917 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1918 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1919 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1921 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1923 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1924 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1925 always use double underscored names.
1926 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1928 * include/bits/locale_facets.h (struct __numpunct_cache):
1929 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1930 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out