1 2004-02-27 Phil Edwards <phil@codesourcery.com>
3 * testsuite/config/default.exp: Update with comments.
4 (${tool}_target_compile): New wrapper routine.
5 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
6 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
8 (load_gcc_lib, v3track): New routines.
9 (v3-init): Rename to libstdc++_init.
10 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
11 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
13 2004-02-27 Benjamin Kosnik <bkoz@redhat.com>
15 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
17 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
19 * config/os/irix/irix5.2/atomicity.h: Merge..
20 * config/os/irix/irix6.5/atomicity.h: Merge..
21 * config/os/irix/atomicity.h: ...into this.
22 * config/os/irix/atomic_word.h: New.
23 * configure.host: Set atomic_word_dir for irix.
25 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
26 * i386/atomicity.h: Same.
27 * m68k/atomicity.h: Same.
28 * sparc/atomicity.h: Same.
30 2004-02-27 David Edelsohn <edelsohn@gnu.org>
32 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
33 static, and inline keywords.
35 2004-02-27 Paolo Carlini <pcarlini@suse.de>
37 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
38 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
39 call reserve on the __tmp_gruping string.
40 (num_get<>::_M_extract_float): Don't append unnecessarily a
41 char() to the returned string.
42 * include/bits/locale_facets.tcc: Trivial reformattings.
44 2004-02-27 Paolo Carlini <pcarlini@suse.de>
46 * include/bits/locale_facets.h (money_get<>::_M_extract):
47 Change signature: now takes a plain string&.
48 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
49 Update consistently the definition; use the moneypunct cache
50 to parse the value; use swap to change __units.
51 (money_get<>::do_get(long double&)): Update call of _M_extract,
52 avoid ctype::narrow, not correct wrt the standard.
53 (money_get<>::do_get(string_type&)): Likewise, update call
54 of _M_extract, use ctype::widen.
55 * src/locale-inst.cc: Tweak instantiations of _M_extract.
57 2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
59 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
60 * testsuite/demangle/abi_examples/02.cc: Likewise.
61 * testsuite/demangle/regression/cw-11.cc: Likewise.
62 * testsuite/demangle/regression/cw-16.cc: Change two expected
63 results to match libiberty demangler output.
65 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
68 * libsupc++/Makefile.am: Use libiberty demangler.
69 (c_sources): Add cp-demangle.c.
70 * libsupc++/Makefile.in: Regenerate.
71 * src/Makefile.am (sources): Remove demangle.cc.
72 * src/Makefile.in: Regenerate.
73 * include/Makefile.am (bits_headers): Move demangle.h.
74 (ext_headers): ...here.
75 * include/Makefile.in: Regenerate.
76 * include/bits/demangle.h: Move...
77 * include/ext/demangle.h: ...here.
78 * src/demangle.cc: Remove.
80 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
82 * include/bits/demangle.h: Add type template parameter to all
83 templates with just an Allocator template parameter.
85 2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
87 * include/bits/atomicity.h: New, forward declarations for __atomic_add
88 and __exchange_and_add.
89 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
90 * config/cpu/cris/atomic_word.h: Same.
91 * config/cpu/sparc/atomic_word.h: Same.
92 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
93 Qualifiy with __gnu_cxx.
94 (_Callback_list::_M_add_reference): Same.
95 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
96 (locale::facet::_M_remove_reference): Same.
97 (locale::_Impl::_M_add_reference): Add.
98 (locale::_Impl::_M_remove_reference): Same.
99 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
100 (basic_string::_Rep::_M_dispose): Same.
101 * src/ios.cc (ios_base::xalloc): Same.
102 * src/ios_init.cc (ios_base::Init::Init): Same.
103 (ios_base::Init::~Init): Same.
104 * src/locale.cc (locale::id::_M_id): Same.
105 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
106 static, and inline keywords.
107 * config/cpu/alpha/atomicity.h: Same.
108 * config/cpu/cris/atomicity.h: Same.
109 * config/cpu/generic/atomicity.h: Same.
110 * config/cpu/hppa/atomicity.h: Same.
111 * config/cpu/i386/atomicity.h: Same.
112 * config/cpu/ia64/atomicity.h: Same.
113 * config/cpu/m68k/atomicity.h: Same.
114 * config/cpu/mips/atomicity.h: Same.
115 * config/cpu/powerpc/atomicity.h: Same.
116 * config/cpu/s390/atomicity.h: Same.
117 * config/cpu/sparc/atomicity.h: Same.
119 * src/Makefile.am (host_sources): Add atomicity.cc.
120 (atomicity.cc): New rule.
121 * src/Makefile.in: Regenerate.
122 * include/Makefile.am (host_headers): Remove host atomicity.h.
123 (host_headers): Add atomic_word.h.
124 (bits_headers): Add bits atomicity.h.
125 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
126 * include/Makefile.in: Regenerate.
127 * configure.host (atomic_word_dir): Add.
128 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
129 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
130 * configure: Regenerate.
131 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
133 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
134 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
136 2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
138 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
139 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
140 Fix markup, more <link> tags.
142 2004-02-25 Carlo Wood <carlo@alinoe.com>
145 namespace __gnu_cxx::demangler
146 (session<Allocator>::qualifier_list_Allocator): Add
147 (session<Allocator>::M_qualifier_list_alloc): Add
148 (session<Allocator>::decode_type_with_postfix):
149 Use M_qualifier_list_alloc instead of calling operator new/delete.
151 2004-02-24 Paolo Carlini <pcarlini@suse.de>
154 * include/bits/postypes.h (class streamoff): Add operator++(),
155 operator++(int), operator--() and operator--(int).
156 * testsuite/27_io/fpos/14252.cc: New.
158 2004-02-24 Richard Sandiford <rsandifo@redhat.com>
160 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
161 error in handling of hex constants.
163 2004-02-24 Paolo Carlini <pcarlini@suse.de>
165 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
166 Prefer basic_string::append to operator+= and a temporary.
168 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
170 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
171 Only use fputs, not write.
173 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
175 * include/ext/malloc_allocator.h: Add operators ==, !=.
176 * include/ext/new_allocator.h: Add operators ==, !=.
177 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
178 (__mt_alloc::_S_get_options): New.
179 (__mt_alloc::_S_set_options): New.
180 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
181 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
182 Move functions out of line, simplify, format.
183 * src/allocator.cc: Simplify explicit instantiations.
184 * include/bits/allocator.h: Tweak.
186 2004-02-22 Paolo Carlini <pcarlini@suse.de>
188 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
189 Restructure formatting of value component, first dealing with
190 the non-decimal digits; use reserve.
192 2004-02-22 Paolo Carlini <pcarlini@suse.de>
194 * include/bits/locale_facets.h (class money_get): Inherit
195 from money_base too; tweak declaration of _M_extract, now
196 parameterized on _Intl too.
197 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
198 Update definition to use the cache; call reserve on __res to
199 avoid multiple reallocations; fix parsing of sign component
200 according to 22.2.6.1.2, p3.
201 (money_get<>::do_get(long double&),
202 money_get<>::do_get(string_type&)): Update calls of _M_extract.
203 * src/locale-inst.cc: Add instantiations of
204 money_get::_M_extract<false> and money_get::_M_extract<true>.
205 * testsuite/22_locale/money_get/get/char/14.cc: New.
206 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
208 2004-02-21 Mark Mitchell <mark@codesourcery.com>
210 * libsupc++/vterminate.cc
211 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
213 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
215 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
216 not set RLIMIT_AS on HP-UX.
218 2004-02-21 Mark Mitchell <mark@codesourcery.com>
220 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
221 not set RLIMIT_AS on HP-UX.
223 2004-02-21 Paolo Carlini <pcarlini@suse.de>
225 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
226 _S_zero, _S_end } enum, _S_atoms.
227 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
228 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
229 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
230 (__moneypunct_cache<>::~__moneypunct_cache): Update.
231 (__moneypunct_cache<>::_M_cache): Fill the cache.
232 (class moneypunct): Tweak __cache_type typedef.
233 (class money_put): Inherit from money_base too; tweak declaration
234 of _M_insert, now parameterized on _Intl.
235 * include/bits/locale_facets.tcc
236 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
237 (money_put<>::_M_insert): Update definition to use the cache;
238 call reserve on __res to avoid multiple reallocations.
239 (money_put<>::do_put(long double),
240 money_put<>::do_put(const string_type&): Update calls of _M_insert.
241 * config/locale/generic/monetary_members.cc
242 (moneypunct<char, true>::_M_initialize_moneypunct,
243 moneypunct<char, false>::_M_initialize_moneypunct,
244 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
245 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
246 * config/locale/gnu/monetary_members.cc: Likewise.
247 * config/locale/gnu/monetary_members.cc
248 (moneypunct<wchar_t, true>::~moneypunct(),
249 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
250 * src/globals_locale.cc: Tweak fake_money_cache_c.
251 * src/locale-inst.cc: Add instantiations for
252 money_put::_M_insert<false> and money_put::_M_insert<true> and
253 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
254 * src/locale_facets.cc: Define money_base::_S_atoms.
255 * src/locale_init.cc: Update placement new of
256 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
257 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
259 * config/locale/generic/numeric_members.cc: Clean up.
260 * config/locale/gnu/numeric_members.cc: Likewise.
261 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
262 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
263 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
264 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
265 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
266 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
268 2004-02-20 Mark Mitchell <mark@codesourcery.com>
270 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
271 FIFO for writing with ios_base::in|ios_base::out.
272 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
273 * testsuite/27_io/objects/char/7.cc: Likewise.
274 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
277 2004-02-19 David Edelsohn <edelsohn@gnu.org>
279 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
280 from iso-8859-1 to ISO8859-1.
281 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
282 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
283 * 22_locale/collate/hash/wchar_t/2.cc: Same.
284 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
285 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
286 * 22_locale/collate/transform/wchar_t/2.cc: Same.
287 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
288 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
290 2004-02-18 Paolo Carlini <pcarlini@suse.de>
292 * include/bits/locale_facets.h (money_get<>::_M_extract):
293 New, helper for do_get.
294 (money_put<>::_M_insert): Likewise, for do_put.
295 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
296 money_put<>::_M_insert): Define.
297 (money_get<>::do_get(long double&), money_get<>::do_get(
298 string_type&), money_put::do_put(long double),
299 money_put::do_put(const string_type&)): Use the helpers.
301 2004-02-18 Paolo Carlini <pcarlini@suse.de>
303 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
304 Rewrite, avoiding recursion.
305 (__gnu_internal::xwrite): Minor tweaks.
307 2004-02-17 Stefan Olsson <stefan@xapa.se>
309 * include/ext/mt_allocator.h: Removed the last
310 pointer. Deallocated blocks are now added to the front of
311 freelists as proposed by Felix Yen. This gives roughly 10%
312 performance boost and saves some memory.
313 * docs/html/ext/mt_allocator.html: Change due to that deallocated
314 blocks now are added to the front of freelists. The reason to this
315 approach is also explained.
317 2004-02-17 Paolo Carlini <pcarlini@suse.de>
319 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
320 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
321 grouping fidelity conditional.
323 2004-02-16 Paolo Carlini <pcarlini@suse.de>
325 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
326 Qualify exception with std::.
327 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
328 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
329 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
330 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
331 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
333 2004-02-16 Paolo Carlini <pcarlini@suse.de>
335 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
336 for now that the catch block is not reached.
337 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
339 2004-02-16 Paolo Carlini <pcarlini@suse.de>
341 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
342 Fix parsing of the remaining sign characters.
343 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
344 the input is scanned 'til eof.
345 * 22_locale/money_get/get/char/4.cc: Likewise.
346 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
347 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
348 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
349 not do_pos_format: the former is the only one that matters during
351 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
353 * 22_locale/money_get/get/char/6.cc: Minor tweak.
354 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
356 2004-02-15 David Asher <david.asher@cavium.com>
359 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
360 access __olds beyond __oldlen.
362 2004-02-14 Paolo Carlini <pcarlini@suse.de>
364 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
365 sure the exception is actually thrown.
366 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
367 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
368 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
370 2004-02-14 Paolo Carlini <pcarlini@suse.de>
373 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
374 In case of conversion errors, throw ios_failure; simplify.
375 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
376 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
377 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
378 previously we didn't throw in case of conversion errors, instead
380 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
381 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
382 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
384 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
385 Trivial simplification of a conditional.
387 2004-02-12 Paolo Carlini <pcarlini@suse.de>
389 PR libstdc++/13731 (final part: writev)
390 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
391 New, a wrapper around writev() handling partial writes.
392 (__basic_file<char>::xwrite): Move to __gnu_internal and make
394 (__basic_file<char>::xsputn): Update call.
395 (__basic_file<char>::xsputn_2): Likewise.
396 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
397 Don't declare, now static.
399 2004-02-11 Stefan Olsson <stefan@xapa.se>
401 * docs/html/ext/mt_allocator.html: New.
403 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
405 * docs/html/20_util/allocator.html: New file, consolidate
406 allocator information here. Revamp.
407 * docs/html/documentation.html: Change links.
408 * docs/html/20_util/howto.html: Same.
409 * docs/html/ext/howto.html: Same.
411 2004-02-11 Paolo Carlini <pcarlini@suse.de>
413 PR libstdc++/13731 (first part: write)
414 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
416 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
417 Define it: a wrapper around write() handling partial write.
418 (__basic_file<char>::xsputn): Use it.
419 (__basic_file<char>::xsputn_2): Likewise.
421 2004-02-11 Paolo Carlini <pcarlini@suse.de>
422 Petur Runolfsson <peturr02@ru.is>
425 * include/std/std_istream.h (operator>>(__istream_type& (*)
426 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
427 operator>>(ios_base& (*)(ios_base&))): Declare inline.
428 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
429 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
430 operator<<(ios_base& (*) (ios_base&))): Likewise.
431 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
433 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
436 * config/linker-map.gnu: Add typeinfo and typeinfo name for
437 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
440 * config/linker-map.gnu: Add typeinfo and typeinfo name for
441 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
443 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
445 * include/ext/pool_allocator.h: Include c++config.h.
447 2004-02-09 Stefan Olsson <stefan@xapa.se>
449 * include/ext/mt_allocator.h: thread_id is unused in non threaded
450 applications and now has a ifdef to remove it completely on
451 compilers without thread support. Include stdlib.h due to a
452 compiler warning on getenv().
454 2004-02-09 Paul Brook <paul@codesourcery.com>
456 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
458 2004-02-09 Paolo Carlini <pcarlini@suse.de>
461 * src/locale_init.cc (locale::global(const locale&)): Use
462 locale::name() in order to decide whether calling setlocale.
463 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
465 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
466 Avoid computing &= unnecessarily.
468 2004-02-09 James E Wilson <wilson@specifixinc.com>
471 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
472 __builtin_extend_pointer.
474 2004-02-09 Paolo Carlini <pcarlini@suse.de>
477 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
478 Don't leave dangling pointers.
479 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
480 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
481 facet is needed in the final test.
483 2004-02-09 Bernardo Innocenti <bernie@develer.com>
485 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
486 * configure: Regenerate.
488 2004-02-08 Richard Henderson <rth@redhat.com>
491 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
492 uncaughtExceptions during nested catch rethrow.
493 * testsuite/18_support/14026.cc: New.
495 2004-02-08 Paolo Carlini <pcarlini@suse.de>
497 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
498 When working in place remember to set the state to sharable
499 (otherwise, _M_mutate does it).
501 2004-02-08 Bernardo Innocenti <bernie@develer.com>
503 * include/bits/allocator.h, include/bits/basic_ios.h,
504 include/bits/basic_ios.tcc, include/bits/basic_string.h,
505 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
506 include/bits/char_traits.h, include/bits/codecvt.h,
507 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
508 include/bits/demangle.h, include/bits/deque.tcc,
509 include/bits/fstream.tcc, include/bits/functexcept.h,
510 include/bits/gslice.h, include/bits/gslice_array.h,
511 include/bits/indirect_array.h, include/bits/ios_base.h,
512 include/bits/istream.tcc, include/bits/list.tcc,
513 include/bits/locale_classes.h, include/bits/locale_facets.h,
514 include/bits/locale_facets.tcc, include/bits/localefwd.h,
515 include/bits/mask_array.h, include/bits/ostream.tcc,
516 include/bits/postypes.h, include/bits/slice_array.h,
517 include/bits/sstream.tcc, include/bits/stl_algo.h,
518 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
519 include/bits/stl_construct.h, include/bits/stl_deque.h,
520 include/bits/stl_function.h, include/bits/stl_heap.h,
521 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
522 include/bits/stl_list.h, include/bits/stl_map.h,
523 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
524 include/bits/stl_numeric.h, include/bits/stl_pair.h,
525 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
526 include/bits/stl_relops.h, include/bits/stl_set.h,
527 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
528 include/bits/stl_threads.h, include/bits/stl_tree.h,
529 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
530 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
531 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
532 include/bits/type_traits.h, include/bits/valarray_after.h,
533 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
534 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
537 2004-02-06 Paolo Carlini <pcarlini@suse.de>
539 * include/bits/basic_string.h: Fix comment.
541 2004-02-06 Paolo Carlini <pcarlini@suse.de>
543 * include/bits/stl_construct.h: Wrap overlong lines, reformat
544 according to the coding standards.
545 * include/bits/stl_pair.h: Likewise.
546 * include/bits/stl_raw_storage_iter.h: Likewise.
547 * include/bits/stl_stack.h: Likewise.
548 * include/bits/stl_uninitialized.h: Likewise.
549 * include/bits/stream_iterator.h: Likewise.
550 * include/bits/streambuf_iterator.h: Likewise.
551 * include/bits/type_traits.h: Likewise.
553 2004-02-06 Paolo Carlini <pcarlini@suse.de>
555 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
558 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
560 * scripts/check_performance: Support PCH.
562 * scripts/check_performance (CXX): Add -DNOTHREAD.
563 * testsuite/performance/20_util/allocator/insert.cc: Integrate
564 threaded tests from insert_insert.cc. Tweak iterations,
565 remove special cases.
566 * testsuite/performance/20_util/allocator/insert_insert.cc:
567 Make all tests single-threaded. Tweak iterations.
568 * testsuite/performance/20_util/allocator/map_thread.cc:
570 * testsuite/performance/20_util/allocator/producer_consumer.cc:
573 2004-02-05 Geoffrey Keating <geoffk@apple.com>
577 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
578 'gcc-lib'. Add comment about poorly-named variables.
579 * aclocal.m4: Regenerate.
580 * configure: Regenerate.
582 2004-02-05 Paolo Carlini <pcarlini@suse.de>
584 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
585 Thousands-sep are always optional; thousands-sep are not allowed
586 after the decimal_point.
587 * testsuite/22_locale/money_get/get/char/12.cc: New.
588 * testsuite/22_locale/money_get/get/char/13.cc: New.
589 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
590 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
592 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
593 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
594 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
595 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
596 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
597 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
598 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
599 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
601 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
603 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
605 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
607 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
609 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
610 it to decide whether FIONREAD should take an off_t or int argument.
612 2004-02-05 Paolo Carlini <pcarlini@suse.de>
614 * include/bits/stl_function.h: Minor formatting changes.
616 2004-02-04 Zack Weinberg <zack@codesourcery.com>
618 Revert previous change to config/abi/*/baseline_symbols.txt.
620 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
621 Zack Weinberg <zack@codesourcery.com>
623 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
625 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
626 (__basic_file<char>::_M_open_mode): Delete.
627 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
629 * testsuite/27_io/basic_filebuf/close/char/9964.cc
630 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
631 Correct flags to filebuf::open calls.
633 * config/abi/alpha-freebsd5/baseline_symbols.txt
634 * config/abi/alpha-linux-gnu/baseline_symbols.txt
635 * config/abi/hppa-linux-gnu/baseline_symbols.txt
636 * config/abi/i386-freebsd4/baseline_symbols.txt
637 * config/abi/i386-freebsd5/baseline_symbols.txt
638 * config/abi/i486-linux-gnu/baseline_symbols.txt
639 * config/abi/ia64-linux-gnu/baseline_symbols.txt
640 * config/abi/mips-linux-gnu/baseline_symbols.txt
641 * config/abi/sparc-freebsd5/baseline_symbols.txt
642 * config/abi/sparc-linux-gnu/baseline_symbols.txt
643 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
644 Remove entry for __basic_file<char>::_M_open_mode.
646 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
648 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
650 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
652 * testsuite/performance/20_util/producer_consumer.cc: New.
653 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
655 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
657 * testsuite/performance/20_util/allocator.cc: Move to..
658 * testsuite/performance/20_util/allocator/insert.cc: ...here.
659 * testsuite/performance/20_util/allocator_thread.cc: Move to...
660 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
661 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
662 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
664 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
666 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
667 * docs/html/faq/index.txt: Regenerate.
669 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
671 * include/ext/debug_allocator.h: _M_extra now stands for the
672 number of extra objects instead of the number of extra bytes.
673 (debug_allocator::allocate): Adjust.
674 (debug_allocator::deallocate): Adjust.
676 * include/ext/pool_allocator.h: Fix typo.
678 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
679 Benjamin Kosnik <bkoz@redhat.com>
681 * testsuite/performance/20_util/allocator.cc: Add map,
683 * testsuite/performance/20_util/allocator_thread.cc: Same.
685 2004-02-03 Paolo Carlini <pcarlini@suse.de>
687 * include/bits/basic_string.h (insert(iterator)): Remove,
688 non-standard and already scheduled for removal.
690 2004-02-03 Paolo Carlini <pcarlini@suse.de>
692 * include/bits/stl_iterator_base_funcs.h: Minor formatting
693 and indentation tweaks.
694 * include/bits/stl_iterator_base_types.h: Likewise.
695 * include/bits/stl_list.h: Likewise.
696 * include/bits/stl_map.h: Likewise.
697 * include/bits/stl_tempbuf.h: Likewise.
699 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
701 * include/bits/gslice.h, include/bits/gslice_array.h,
702 include/bits/indirect_array.h, include/bits/mask_array.h,
703 include/bits/slice_array.h, include/bits/stl_numeric.h,
704 include/std/std_valarray.h: Update copyright years.
706 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
708 * include/bits/gslice.h (gslice): Document.
709 * include/bits/gslice_array.h (gslice_array): Document.
710 * include/bits/indirect_array (indirect_array): Document.
711 * include/bits/mask_array (mask_array): Document.
712 * include/bits/slice_array.h (slice,slice_array): Document.
713 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
714 adjacent_difference): Document
715 * include/std/std_valarray.h (valarray): Document.
717 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
719 * docs/html/19_diagnostics/howto.html: Move verbose terminate
721 * docs/html/18_support/howto.html: Here.
722 * docs/html/documentation.html: Add reference here.
724 2004-02-02 Paolo Carlini <pcarlini@suse.de>
726 * config/locale/gnu/c++locale_internal.h: Remove prototypes
727 of no longer used GLIBC thread locale functions.
729 2004-02-02 Eric Christopher <echristo@redhat.com>
730 Zack Weinberg <zack@codesourcery.com>
732 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
734 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
735 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
736 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
737 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
738 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
739 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
740 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
741 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
744 2004-02-02 Paolo Carlini <pcarlini@suse.de>
746 * include/bits/stl_function.h: Additional minor tweaks.
747 * include/bits/stl_multiset.h: Likewise.
749 * include/bits/stl_queue.h: Minor tweaks.
751 2004-02-02 Paolo Carlini <pcarlini@suse.de>
753 PR libstdc++/13976 (continued)
754 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
755 Make the second parameter unnamed, to void unused parameter
757 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
759 2004-02-02 Paolo Carlini <pcarlini@suse.de>
762 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
763 Make the second parameter unnamed, to void unused parameter
765 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
766 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
768 2004-02-01 Paolo Carlini <pcarlini@suse.de>
770 * include/bits/stl_algo.h: Additional minor tweaks.
771 * include/bits/stl_map.h: Likewise.
772 * include/bits/stl_multimap.h: Likewise.
773 * include/bits/stl_multiset.h: Likewise.
774 * include/bits/stl_set.h: Likewise.
775 * include/bits/stl_tree.h: Likewise.
777 2004-02-01 Paolo Carlini <pcarlini@suse.de>
779 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
782 2004-02-01 Paolo Carlini <pcarlini@suse.de>
784 * include/bits/stl_function.h: Additional minor tweaks.
786 2004-02-01 Paolo Carlini <pcarlini@suse.de>
788 * include/bits/deque.tcc: Wrap overlong lines, constify
789 a few variables, reformat according to the coding standards.
790 * include/bits/list.tcc: Likewise.
791 * include/bits/stl_deque.h: Likewise.
792 * include/bits/stl_function.h: Likewise.
793 * include/bits/stl_iterator.h: Likewise.
794 * include/bits/stl_iterator_base_funcs.h: Likewise.
795 * include/bits/stl_iterator_base_types.h: Likewise.
796 * include/bits/stl_list.h: Likewise.
797 * include/bits/stl_map.h: Likewise.
798 * include/bits/stl_multimap.h: Likewise.
799 * include/bits/stl_multiset.h: Likewise.
800 * include/bits/stl_relops.h: Likewise.
801 * include/bits/stl_set.h: Likewise.
803 2004-02-01 Paolo Carlini <pcarlini@suse.de>
805 * include/bits/stl_bvector.h: Wrap overlong lines, constify
806 a few variables, reformat according to the coding standards.
807 * include/bits/stl_tree.h: Likewise.
809 2004-01-31 Paolo Carlini <pcarlini@suse.de>
811 * include/bits/stl_algo.h: Minor additional reformat, add
813 * include/bits/stl_algobase.h: Add copyright year.
815 2004-01-31 Paolo Carlini <pcarlini@suse.de>
817 * include/bits/stl_algo.h: Wrap overlong lines, constify
818 a few variables, reformat according to the coding standards.
819 * include/bits/stl_algobase.h: Likewise.
820 * include/bits/stl_heap.h: Likewise.
822 2004-01-31 Paolo Carlini <pcarlini@suse.de>
824 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
826 * include/bits/basic_string.h: Fix two comments.
828 2004-01-31 Per Bothner <per@bothner.com>
830 * include/ext/mt_allocator.h
831 (__mt_alloc::_S_thread_freelist_mutex): Guard with
832 __GTHREAD_MUTEX_INIT.
834 2004-01-31 Paolo Carlini <pcarlini@suse.de>
836 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
838 2004-01-30 Paolo Carlini <pcarlini@suse.de>
840 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
841 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
842 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
844 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
846 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
847 Don't use clear, but instead assign. Use insert.
849 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
851 * src/demangle.cc: Add instantiations.
852 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
853 * src/Makefile.in: Regenerate.
855 2004-01-30 David Edelsohn <edelsohn@gnu.org>
857 * src/allocator.cc: Protect _S_get_thread_id() and
858 _S_thread_key_destr() with #ifdef __GTHREADS.
860 2004-01-30 Paolo Carlini <pcarlini@suse.de>
862 Reshuffle performance testsuite.
863 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
864 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
865 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
866 fstream_seek_write.cc, ifstream_extract_float.cc,
867 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
868 list_create_fill_sort.cc, map_create_fill.cc,
869 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
870 ofstream_insert_float.cc, ofstream_insert_int.cc,
871 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
872 wchar_t_out.cc: Split into...
873 * testsuite/performance/20_util/allocator.cc: New.
874 * testsuite/performance/20_util/allocator_map_thread.cc: New.
875 * testsuite/performance/20_util/allocator_thread.cc: New.
876 * testsuite/performance/21_strings/string_append: New.
877 * testsuite/performance/22_locale/is_wchar_t.cc: New.
878 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
879 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
880 * testsuite/performance/22_locale/wchar_t_in.cc: New.
881 * testsuite/performance/22_locale/wchar_t_length.cc: New.
882 * testsuite/performance/22_locale/wchar_t_out.cc: New.
883 * testsuite/performance/23_containers/container_benchmark.cc: New.
884 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
885 * testsuite/performance/23_containers/map_create_fill.cc: New.
886 * testsuite/performance/26_numerics/complex_norm.cc: New.
887 * testsuite/performance/27_io/cout_insert_int.cc: New.
888 * testsuite/performance/27_io/filebuf_copy.cc: New.
889 * testsuite/performance/27_io/filebuf_sputc.cc: New.
890 * testsuite/performance/27_io/fstream_seek_write.cc: New.
891 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
892 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
893 * testsuite/performance/27_io/ifstream_getline.cc: New.
894 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
895 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
897 2004-01-30 Paolo Carlini <pcarlini@suse.de>
899 * include/bits/basic_string.tcc (_Rep::_S_create):
900 Never allocate a string bigger than max_size(); always keep
901 __capacity and __size in sync to avoid memory leaks at
904 2004-01-30 Paolo Carlini <pcarlini@suse.de>
906 * include/bits/basic_string.tcc (_S_construct(_InIterator,
907 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
908 the double loop, streamline.
910 * include/bits/basic_string.tcc: Very minor tweaks.
912 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
914 * scripts/check_performance: Only compile with $THREAD_FLAG
915 when test is marked to require it. Allow multiple
916 compilations/executions of marked tests.
917 * testsuite/testsuite_performance.h (report_performance):
918 Report dynamic thread support status.
919 (report_header): Likewise.
920 * testsuite/performance/allocator.cc: Stabilize iteration
921 count. Support more allocators. Mark each allocator test to
922 run and report independently.
923 * testsuite/performance/allocator_map_thread.cc: Likewise.
924 * testsuite/performance/allocator_thread.cc: Likewise.
926 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
928 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
929 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
930 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
931 std::get_temporary_buffer() instead of duplicating its code.
932 Update to C++STYLE conventions.
933 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
934 new() instead of std::malloc().
935 (return_temporary_buffer): Use ::operator delete() instead of
938 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
940 * include/bits/allocator.h: Temporary switch to new_allocator as
941 the default to unjam bootstraps.
943 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
945 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
946 * include/Makefile.in: Regenerate.
947 * include/bits/allocator_traits.h: Remove.
948 * include/bits/allocator.h: Remove allocator_traits.h include, and
950 (allocator): Empty base class, inherit from the underlying allocator.
951 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
952 * src/allocator.cc: ...here. New. For the underlying allocators.
953 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
954 * config/linker-map.gnu: Remove __pool_alloc bits.
955 * src/Makefile.am (sources): Add allocator.cc.
956 * src/Makefile.in: Regenerate.
957 * testsuite/20_util/allocator/1.cc: Split second test into...
958 * testsuite/20_util/allocator/8230.cc: ...this.
959 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
960 typedef to use std::allocatore. Format.
961 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
963 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
964 __throw_bad_alloc calls. Don't include <memory>.
965 * include/ext/malloc_allocator.h: Remove <memory> include.
966 * include/ext/new_allocator.h (new_allocator): Same.
967 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
968 declaration. Switch __alloc to _Alloc.
969 * include/ext/hashtable.h: Remove __alloc.
970 * include/backward/alloc.h: Only inject allocator, not
971 implementation details.
973 * include/ext/mt_allocator.h: Replace free with delete.
975 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
977 * src/globals_io.cc: Change to __gnu_internal namespace.
978 * src/globals_locale.cc: Same.
979 * src/locale_init.cc: Same.
980 * src/ios_init.cc: Same.
982 2004-01-28 Stefan Olsson <stefan@snon.net>
984 * include/ext/mt_allocator.h: Replaced all malloc() calls with
985 operator new(). Added support for the env variable
986 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
987 one in allocate() as well). Fix typos.
989 2004-01-28 Paolo Carlini <pcarlini@suse.de>
991 * include/bits/basic_string.h (_S_create(size_t,
992 const _Alloc&): Change signature to take two size_type
994 * include/bits/basic_string.tcc (_S_construct(_InIterator,
995 _InIterator, const _Alloc&, input_iterator_tag)): Update
997 (_S_construct(_InIterator, _InIterator, const _Alloc&,
998 forward_iterator_tag)): Likewise.
999 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
1000 (_M_mutate(size_type, size_type, size_type)): Don't
1001 implement the exponential growth policy, demand it to
1002 _S_create, update call and simplify.
1003 (_M_clone(const _Alloc&, size_type)): Likewise.
1004 (_S_create(size_type, size_type, const _Alloc&)): Implement
1005 the growth policy, simplify otherwise.
1007 * include/bits/basic_string.h (_Rep::operator[]): Tweak
1008 signature to take a size_type, consistently with the other
1011 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
1013 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
1014 delete declarations, add include and test variable.
1016 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
1018 * include/bits/codecvt.h, include/bits/locale_facets.h,
1019 include/bits/postypes.h, include/bits/stl_bvector.h,
1020 include/bits/stl_multiset.h, include/bits/stl_set.h,
1021 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
1022 include/std/std_complex.h: Document.
1024 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
1027 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
1028 iword/pword selector.
1029 (ios_base::iword, ios_base::pword): Use it.
1030 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
1031 iword or pword member on alloc failure.
1032 * testsuite/27_io/ios_base/storage/11584.cc: New test.
1034 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
1035 PJ Darcy <darcypj@us.ibm.com>
1037 * configure.host: Add support for *-tpf.
1038 * crossconfig.m4: Likewise.
1039 * configure: Regenerate.
1040 * config/os/tpf: New directory.
1041 * config/os/tpf/os_defines.h: New file.
1042 * config/os/tpf/ctype_base.h: Likewise.
1043 * config/os/tpf/ctype_inline.h: Likewise.
1044 * config/os/tpf/ctype_noninline.h: Likewise.
1046 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1049 * include/bits/sstream.tcc: Guard use of extern template.
1051 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1053 * include/bits/basic_string.tcc
1054 (basic_string(const basic_string&, size_type, size_type),
1055 basic_string(const basic_string&, size_type, size_type,
1056 const _Alloc&)): Avoid unnecessarily constructing iterators.
1058 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1060 * config/locale/generic/c_locale.cc: Fix throw messages
1061 to use the __N marker.
1062 * config/locale/gnu/c_locale.cc: Likewise.
1063 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1065 * docs/html/17_intro/C++STYLE: Likewise.
1066 * include/bits/basic_ios.tcc: Likewise.
1067 * include/bits/fstream.tcc: Likewise.
1068 * include/bits/vector.tcc: Likewise.
1069 * include/ext/ropeimpl.h: Likewise.
1070 * include/std/std_bitset.h: Likewise.
1071 * src/ios.cc: Likewise.
1072 * src/locale.cc: Likewise.
1073 * src/localename.cc: Likewise.
1075 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1077 * include/bits/basic_string.h (_M_replace_aux): Use the
1078 __N marker in throw message.
1079 * include/bits/basic_string.tcc (assign(const _CharT*,
1080 size_type), insert(size_type, const _CharT*, size_type),
1081 replace(size_type, size_type, const _CharT*, size_type),
1082 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1085 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1086 Fold overlong lines, minor formatting changes.
1088 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1090 * include/bits/basic_string.h (replace(iterator, iterator,
1091 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1092 (replace(iterator, iterator, const _CharT*)): Ditto.
1093 (replace(iterator, iterator, const _CharT*, size_type)):
1094 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1096 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1098 * include/bits/basic_string.tcc (replace(size_type,
1099 size_type, const _CharT*, size_type)): Implement optimized
1100 in-place algorithm for non-overlapping ranges.
1101 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1102 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1104 * include/bits/basic_string.tcc (insert(size_type,
1105 const _CharT*, size_type)): Tweak slightly.
1107 2004-01-26 Andreas Schwab <schwab@suse.de>
1109 * config/locale/gnu/monetary_members.cc: Restore locale before
1110 rethrowing exception.
1112 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1114 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1116 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1119 * include/bits/basic_string.tcc: Very minor tweaks.
1121 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1123 * testsuite/performance/string_append.cc: Increase number
1126 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1128 * include/bits/basic_string.h (erase(size_type, size_type),
1129 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1130 instead, thus avoiding redundant check for length_error.
1132 * include/bits/basic_string.h: Tweak some comments.
1134 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1136 * include/bits/basic_string.tcc (operator+(const _CharT*,
1137 const basic_string&)): No need to go through the append
1138 taking two iterators.
1140 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1142 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1143 Revert last change to use std::min: machine language is worse.
1144 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1145 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1146 (find_last_not_of(_CharT, size_type)): Ditto.
1148 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1149 size_type)): Discard the value returned by _M_check.
1150 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1151 (append(const basic_string&, size_type, size_type)): Ditto.
1152 (copy(_CharT*, size_type, size_type)): Ditto.
1153 (compare(size_type, size_type, const basic_string&)): Ditto.
1154 (compare(size_type, size_type, const basic_string&,
1155 size_type, size_type)): Ditto.
1156 (compare(size_type, size_type, const _CharT*)): Ditto.
1157 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1159 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1161 * include/bits/basic_string.h (insert(size_type,
1162 const basic_string&, size_type, size_type)): Define inline here.
1163 * include/bits/basic_string.tcc (insert(size_type,
1164 const basic_string&, size_type, size_type)): Move inline.
1166 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1168 * include/bits/basic_string.h (assign(const basic_string&,
1169 size_type, size_type)): Define inline here.
1170 (replace(size_type, size_type, const basic_string&,
1171 size_type, size_type)): Ditto.
1172 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1173 _InputIterator, __false_type)): Only declare.
1174 (_M_replace(iterator, iterator, _InputIterator,
1175 _InputIterator)): Remove.
1176 * include/bits/basic_string.tcc (assign(const basic_string&,
1177 size_type, size_type)): Move inline.
1178 (replace(size_type, size_type, const basic_string&,
1179 size_type, size_type)): Ditto.
1180 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1181 _InputIterator, __false_type)): Define, now does also what
1182 _M_replace did before.
1183 * src/string-inst.cc (_M_replace): Don't instantiate.
1185 * include/bits/basic_string.tcc (find(const _CharT*,
1186 size_type, size_type)): Tidy.
1187 (rfind(_CharT, size_type)): Ditto.
1188 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1189 (find_first_not_of(_CharT, size_type)): Ditto.
1190 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1191 (find_last_not_of(_CharT, size_type)): Ditto.
1193 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1196 * include/debug/bitset (operator|=): Fix typo.
1197 * testsuite/23_containers/bitset/operations/13838.cc: New.
1199 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1201 * include/bits/basic_string.tcc (insert(size_type,
1202 const _CharT*, size_type __n)): Fix length_error check.
1203 (replace(size_type, size_type, const _CharT*, size_type):
1204 Ditto; call _M_replace_safe.
1205 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1206 Fix length_error check.
1207 (_M_replace(iterator, iterator, _InputIterator,
1208 _InputIterator)): Ditto, tweak.
1209 (_M_replace_safe(size_type, size_type, const _CharT*,
1210 size_type)): Remove length_error check.
1212 * include/bits/basic_string.tcc (append(const basic_string&),
1213 append(const basic_string&, size_type, size_type)): Tweak
1216 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1217 size_type)): If __n == 0 don't call traits::copy.
1219 2004-01-23 Stefan Olsson <stefan@snon.net>
1221 * include/ext/mt_allocator.h: Reduce lock contention.
1223 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1226 * include/bits/fstream.tcc (underflow): Remove unused
1228 * include/bits/streambuf_iterator.h (equal): Ditto.
1229 * include/bits/locale_facets.h (_M_convert_from_char):
1232 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1235 * config/linker-map.gnu (nan): Delete.
1236 * libmath/mathconf.h (NAN, nan): Delete.
1237 * linkage.m4 (nan): Don't check for it.
1238 * libmath/nan.c: Delete file.
1240 * config.h.in, configure: Regenerate.
1242 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1244 * include/bits/basic_string.h (push_back(_CharT)):
1245 Call _M_replace_aux.
1246 (insert(size_type, const basic_string&)): Trivial tweak.
1247 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1248 (insert(iterator, _CharT)): Ditto.
1249 (erase(size_type, size_type)): Ditto.
1250 (erase(iterator)): Ditto.
1251 (erase(iterator, iterator)): Ditto.
1252 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1254 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
1257 * testsuite/performance/allocator_map_thread.cc: New test.
1259 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1261 * include/bits/locale_facets.tcc
1262 (money_put::do_put(..., long double)): Use the basic_string
1263 constructor for char arrays, not that for C-strings, to pass
1264 __digits to do_put(..., const string_type&): __ws isn't
1267 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1269 * include/bits/basic_string.h (_M_replace_safe): Change
1270 signatures to take size_types and const _CharT*.
1271 (_M_replace_aux): Likewise, takes size_types instead of
1273 (append(size_type, _CharT)): Update call.
1274 (assign(size_type, _CharT)): Ditto.
1275 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1276 (_M_replace_dispatch(iterator, iterator, _Integer,
1277 _Integer, __true_type)): Ditto.
1278 * include/bits/basic_string.tcc (assign(const _CharT*,
1280 (insert(size_type, const _CharT*, size_type)): Ditto.
1281 (replace(size_type, size_type, const _CharT*,
1283 (_M_replace(iterator, iterator, _InputIterator,
1284 _InputIterator)): Ditto.
1285 (append(const basic_string&)): Ditto.
1286 (append(const basic_string&, size_type, size_type): Ditto.
1287 (append(const _CharT*, size_type): Ditto.
1288 (_M_replace_safe, _M_replace_safe): Change definitions
1289 accordingly, simplify.
1290 * string-inst.cc (_M_replace_safe): Don't instantiate.
1292 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1294 * include/bits/basic_string.tcc (append(const basic_string&)):
1295 Revert previous change.
1296 (append(const basic_string&, size_type, size_type)): Revert
1297 previous change, use _M_check and _M_limit.
1299 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1301 * include/bits/basic_string.h (_M_check): Change to return
1302 a checked __pos and take an additional const char* argument.
1303 (_M_fold): Rename to _M_limit, change to return a size_type,
1304 corresponding to the __off limited to the actual length.
1305 (insert(size_type, size_type, _CharT)): Update call, call
1307 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1308 size_type, _CharT) instead.
1309 (erase(size_type, size_type)): Update calls.
1310 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1311 (substr(size_type, size_type)): Use _M_check.
1312 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1313 size_type, size_type)): Update calls.
1314 (basic_string(const basic_string&, size_type, size_type,
1315 const _Alloc&)): Ditto.
1316 (assign(const basic_string&, size_type, size_type)): Use the
1317 new _M_check and _M_limit.
1318 (insert(size_type, const basic_string&, size_type, size_type):
1320 (insert(size_type, const _CharT*, size_type)): Ditto.
1321 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1322 (replace(size_type, size_type, const basic_string&,
1323 size_type, size_type)): Ditto.
1324 (append(const basic_string&)): Ditto.
1325 (append(const basic_string&, size_type, size_type)): Ditto.
1326 (copy(_CharT*, size_type, size_type)): Ditto.
1327 (compare(size_type, size_type, const basic_string&)): Ditto.
1328 (compare(size_type, size_type, const basic_string&,size_type,
1330 (compare(size_type, size_type, const _CharT*)): Ditto.
1331 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1333 2004-01-19 Stefan Olsson <stefan@snon.net>
1335 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1336 memory on it's freelist this memory is not returned to global
1337 list. Simplification of deallocate so that memory is always
1338 returned to the calling thread id's freelist instead of to
1339 global. Fix typos. Add volatile where appropriate.
1341 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1343 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1344 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1345 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1347 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1349 * src/debug.cc: Make sure all the names are prefixed with
1350 double (or single) underscore.
1352 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1354 * src/debug.cc: Trivial formatting change.
1356 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1358 * include/bits/basic_string.tcc (_S_construct(size_type,
1359 _CharT, const _Alloc&)): Remove redundant try/catch.
1360 (_M_mutate(size_type, size_type, size_type)): Ditto.
1361 (_M_clone(const _Alloc&, size_type)): Ditto.
1363 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1365 * include/bits/basic_string.h (c_str()): Simplify, due to
1366 21.3.4 the internal representation is always kept null-terminated.
1367 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1368 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1369 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1372 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1374 * include/bits/basic_string.h (append(size_type, _CharT)):
1375 Moved inline, just call _M_replace_aux, no source iterators at
1376 risk of being clobbered.
1377 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1378 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1379 input_iterator_tag)): Remove fifth unused argument.
1380 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1381 _InputIterator, __false_type)): Update call.
1382 * include/bits/basic_string.tcc (replace(size_type, size_type,
1383 const _CharT*, size_type)): Update call.
1384 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1385 throw string literal.
1386 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1387 _ForwardIterator)): Likewise.
1388 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1389 input_iterator_tag)): Remove fifth unused argument.
1390 (append(size_type __n, _CharT __c)): Move inline.
1391 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1392 const C*, const C*, input_iterator_tag)): Remove fifth unused
1395 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1397 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
1398 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1400 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1402 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1405 2004-01-15 Stefan Olsson <stefan@snon.net>
1407 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1408 possible by changing the behaviour of thread_freelist to do
1409 push_front when threads die instead of push_back.
1411 2004-01-14 Paolo Carlini <pcarlini@suse.de>
1413 * include/bits/locale_facets.h (struct __numpunct_cache):
1414 Add member _M_grouping_size, caching the length of _M_grouping.
1415 (__numpunct_cache<>::_M_cache): Assign the latter.
1416 (__verify_grouping): Move declaration...
1417 * include/bits/locale_facets.tcc (__verify_grouping):
1418 ... here, change signature to take a const char* and a size_t
1419 for the grouping; not a template anymore.
1420 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
1421 Likewise change signature and tweak consistently.
1422 (num_get::_M_extract_float, num_get::_M_extract_int,
1423 num_put::_M_insert_int, num_put::_M_insert_float,
1424 money_get::do_get(string_type&), money_get::do_put(string_type)):
1426 * config/locale/generic/numeric_members.cc
1427 (numpunct<>::_M_initialize_numpunct): Assign the new member.
1428 * config/locale/gnu/numeric_members.cc
1429 (numpunct<>::_M_initialize_numpunct): Likewise.
1430 * src/locale-inst.cc (__add_grouping): Tweak signature.
1431 (__verify_grouping): Don't instantiate, not a template anymore.
1433 * include/bits/locale_facets.h: Rename _M_truename_len ->
1434 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1435 * include/bits/locale_facets.tcc: Likewise.
1436 * config/locale/generic/numeric_members.cc: Likewise.
1437 * config/locale/gnu/numeric_members.cc: Likewise.
1439 2004-01-14 Stefan Olsson <stefan@snon.net>
1441 * include/ext/mt_allocator.h: Fixups.
1442 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1443 * testsuite/performance/allocator_thread.cc: Same.
1445 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1447 * testsuite/performance/ifstream_extract_float.cc: Add higher
1449 * testsuite/performance/ofstream_insert_float.cc: Same.
1451 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1453 * src/locale-misc-inst.cc (__convert_from_v(long),
1454 __convert_from_v(unsigned long), __convert_from_v(long long),
1455 __convert_from_v(unsigned long long)): Remove, unused.
1457 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1459 * testsuite/performance/ifstream_extract_float.cc: New.
1460 * testsuite/performance/ofstream_insert_float.cc: Float generation
1463 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1464 * 20_util/auto_ptr/1.cc: ...this.
1465 * 20_util/auto_ptr/2.cc: Same.
1466 * 20_util/auto_ptr/3.cc: Same.
1467 * 20_util/auto_ptr/3946.cc: Same.
1468 * 20_util/auto_ptr/4.cc: Same.
1469 * 20_util/auto_ptr/5.cc: Same.
1470 * 20_util/auto_ptr/6.cc: Same.
1471 * 20_util/auto_ptr/7.cc: Same.
1472 * 20_util/auto_ptr/assign_neg.cc
1473 * 20_util/pairs.cc: Break into...
1474 * 20_util/pair/1.cc: ...this.
1475 * 20_util/pair/2.cc: Same.
1476 * 20_util/pair/3.cc: Same.
1477 * 20_util/pair/4.cc: Same.
1479 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1481 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1482 Set correctly just basefield, the only group that matters.
1484 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1486 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1487 (_Rope_rep_base): Inherit directly from the rope allocator;
1488 use rebinding instead of _Alloc_traits; pick up data member
1489 from _Rope_rep_alloc_base.
1490 (_Rope_alloc_base): Eliminate.
1491 (_Rope_base): Inherit directly from the rope allocator; use
1492 rebinding instead of _Alloc_traits; pick up data member from
1494 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1495 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1497 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1500 * include/bits/basic_string.tcc (compare(size_type, size_type,
1501 const _CharT*, size_type)): Implement correctly the resolution
1502 of DR 5: basically, s is a char array, -not- a C string.
1503 * include/bits/basic_string.h: Tweak some comments.
1504 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1505 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1507 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1509 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1512 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1514 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1516 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1519 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1521 * include/bits/locale_facets.h (struct __numpunct_cache):
1522 Add members _M_truename_len and _M_falsename_len, caching
1523 the lengths of _M_truename and _M_falsename.
1524 (__numpunct_cache<>::_M_cache): Assign the latter.
1525 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1526 num_put::do_put(bool)): Use the new members, thus avoiding
1527 computing string lengths again and again.
1528 * config/locale/generic/numeric_members.cc
1529 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1530 * config/locale/gnu/numeric_members.cc
1531 (numpunct<>::_M_initialize_numpunct): Likewise.
1533 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1535 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1536 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1538 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1539 and remove Cygwin XFAIL.
1540 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1541 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1542 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1543 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1545 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1546 * testsuite/27_io/objects/char/7.cc: Likewise.
1547 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1548 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1549 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1551 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1553 * include/std/std_complex.h (std::complex<>::real): Return a
1554 reference. Add non-const overload.
1555 (std::complex<>::real): Likewise.
1556 (std::real): Likewise.
1557 (std::imag): Likewise.
1558 (std::operator+): Tidy.
1559 (std::operator-): Likewise.
1560 (std::operator*): Likewise.
1561 (std::operator/): Likewise.
1562 (std::operator>>): Likewise.
1564 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1567 * include/bits/fstream.tcc (imbue): Exploit the external
1568 buffer to imbue 'on the fly' a new locale and convert its
1569 remainder with the new codecvt facet.
1570 (underflow): Tweak slightly to deal with this special case.
1571 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1572 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1573 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1574 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1575 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1577 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1579 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1582 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1585 * include/bits/locale_classes.h (class locale): Fix category
1587 * testsuite/22_locale/locale/13630.cc: Add.
1589 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1591 * include/bits/locale_facets.h: Make a name really dependent. This
1592 will be needed when Core Issue 224 is implemented.
1594 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1596 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1597 * testsuite/performance/allocator_thread.cc: Likewise.
1599 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1601 * crossconfig.m4: Add LFS, io bits to linux cross config.
1602 * acconfig.h: Remove obsolete bits, reorder.
1603 * config.h.in: Regenerate.
1607 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1609 * include/bits/stl_list.h:
1610 * include/bits/list.tc:
1612 Performance enhancements for destructor, push_front(),
1613 push_back(), pop_front(), pop_back(), sort()
1614 Eliminated static_casts where possible.
1615 Moved code out of header files into new src/list.cc
1616 implementation file for library where possible.
1617 Remove inheritance from iterator class and create separate
1618 classes for non-constant and constant iterators.
1619 * include/bits/stl_tree.h (_Rb_tree class):
1621 Only erase contents in destructor.
1622 Eliminate unnecessary initialization in assignment operator.
1623 Optimize for the nominal case by not checking whether
1624 container is empty in clear().
1625 Re-order test in _M_insert() to improve performance.
1626 Move initialization of new node's left & right pointers to
1627 src/tree.cc to where new node's colour is initialized
1628 and to reduce the amount of inline code.
1629 Use _M_leftmost() and _M_end() to improve readability where
1631 Create separate classes for non-constant and constant
1632 iterators to clarify code, avoid extra template parameters and
1633 casting away constness.
1635 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1637 * src/Makefile.am (sources): Add list.cc, tree.cc.
1638 * src/stl_tree.cc: Move to...
1639 * src/tree.cc: ...here.
1641 * config/linker-map.gnu: Tweaks.
1642 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1643 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1645 * bits/stl_vector.h: Column wrap comments.
1647 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1649 (re-open) PR libstdc++/12658
1650 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1651 (locale::global): Likewise.
1653 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1655 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1656 Remove redundant #include.
1657 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1658 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1659 re-enable normal testing.
1660 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1662 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1663 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1665 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1667 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1669 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1671 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1673 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1675 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1677 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1678 More properly, #include <locale>.
1679 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1680 Remove redundant #include.
1681 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1682 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1683 redundant DejaGnu directive.
1684 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1687 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1688 Stefan Olsson <stefan@snon.net>
1690 * scripts/check_performance: Use -pthread.
1691 * testsuite/performance/allocator.cc: Tweaks, add list.
1692 * testsuite/performance/allocator_thread.cc: New.
1694 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1696 * include/bits/locale_facets.h: Document public classes and
1698 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1701 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1703 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1704 Remove redundant #includes.
1705 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1707 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1709 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1710 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1711 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1712 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1713 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1714 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1715 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1716 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1717 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1718 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1719 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1720 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1721 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1722 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1723 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1725 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1727 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1729 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1731 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1733 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1734 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1735 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1737 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1739 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1740 Remove redundant #includes.
1741 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1743 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1745 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1747 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1749 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1751 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1753 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1755 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1757 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1759 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1761 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1763 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1766 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1769 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1771 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1772 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1773 * testsuite/27_io/basic_ios/4.cc: Likewise.
1774 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1775 * testsuite/27_io/basic_istream/4.cc: Likewise.
1776 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1777 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1778 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1779 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1780 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1781 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1783 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1785 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1786 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1787 always use double underscored names.
1788 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1790 * include/bits/locale_facets.h (struct __numpunct_cache):
1791 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1792 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out