1 2004-06-28 Paolo Bonzini <bonzini@gnu.org>
3 * include/Makefile.am: Give a .gch extension to
4 the PCH files, not only to the directory.
5 * include/Makefile.in: Regenerate.
7 2004-06-28 Paolo Carlini <pcarlini@suse.de>
9 * config/locale/gnu/monetary_members.cc
10 (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
11 assignments of _M_decimal_point and _M_thousands_sep.
13 2004-06-27 Paolo Carlini <pcarlini@suse.de>
15 * docs/html/17_intro/contribute.html: Update some links.
16 * docs/html/17_intro/porting-howto.html: Likewise.
17 * docs/html/17_intro/porting-howto.xml: Likewise.
18 * docs/html/18_support/howto.html: Likewise.
19 * docs/html/21_strings/howto.html: Likewise.
20 * docs/html/27_io/howto.html: Likewise.
21 * docs/html/configopts.html: Likewise.
22 * docs/html/ext/howto.html: Likewise.
23 * docs/html/faq/index.html: Likewise.
24 * docs/html/install.html: Don't mention 2.x compilers.
26 2004-06-27 Paolo Carlini <pcarlini@suse.de>
28 * include/ext/rope: Trivial formatting fixes.
29 * include/ext/ropeimpl.h: Likewise.
31 2004-06-26 Paolo Carlini <pcarlini@suse.de>
34 * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
35 availability of strto(u)ll, not used anymore in the iostreams.
36 * configure: Regenerate.
38 2004-06-25 Benjamin Kosnik <bkoz@redhat.com>
41 * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
43 * configure: Regenerate.
45 2004-06-25 Paul Brook <paul@codesourcery.com>
47 * libsupc++/cxxabi.h: Define __ARM_EABI__
49 * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
51 2004-06-25 Paul Brook <paul@codesourcery.com>
53 * include/bits/concurrence.h: Still create mutex object when
56 2004-06-25 Paolo Carlini <pcarlini@suse.de>
58 * include/bits/stl_algobase.h (fill, fill_n): Revert last
59 change: actually we need to copy construct an object of type
60 _Tp, not of type iterator_traits<>::value_type, therefore the
63 2004-06-25 Paolo Carlini <pcarlini@suse.de>
65 * include/bits/stl_algobase.h (fill, fill_n): Tighten the
66 dispatch: use iterator_traits<>::value_type, not _Tp.
68 2004-06-25 Paolo Carlini <pcarlini@suse.de>
70 * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
71 * testsuite/25_algorithms/fill/2.cc: Likewise.
73 2004-06-25 Dan Nicolaescu <dann@ics.uci.edu>
74 Paolo Carlini <pcarlini@suse.de>
76 * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
77 for fill and fill_n, respectively: when copying is cheap, use a
78 temporary to avoid a memory read in each iteration.
80 2004-06-25 Paolo Carlini <pcarlini@suse.de>
82 * testsuite/25_algorithms/fill/1.cc: New.
83 * testsuite/25_algorithms/fill/2.cc: Likewise.
85 2004-06-25 Benjamin Kosnik <bkoz@redhat.com>
87 * include/debug/formatter.h (__gnu_debug::_Error_formatter):
88 Remove copy constructor and assignment operator.
90 2004-06-24 Benjamin Kosnik <bkoz@redhat.com>
92 * include/bits/concurrence.h (__gnu_cxx::lock): New.
93 * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
94 (__pool_base::_M_get_mutex): New.
95 * include/bits/allocator.h: Tweak.
96 * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
97 * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
98 * include/bits/stl_threads.h: Remove.
99 * include/Makefile.am: Also here.
100 * include/Makefile.in: Regenerate.
102 * src/locale_init.cc: Use __gnu_cxx::lock.
104 * src/allocator.cc: Move all instantiations...
105 * src/allocator-inst.cc: ...here.
107 2004-06-23 Andrew Pinski <apinski@apple.com>
109 * linkage.m4: Remove check for libmx.
110 * configure: Regenerate.
112 2004-06-23 Paolo Carlini <pcarlini@suse.de>
115 * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
116 Don't require the _DefaultConstructibleConcept.
117 (struct _ForwardIteratorConcept): Require it here.
119 2004-06-22 Alexandre Oliva <aoliva@redhat.com>
121 * include/bits/istream.tcc (getline): Make sure arguments passed
122 to min/max have the same type.
123 * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
124 * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
126 2004-06-22 Benjamin Kosnik <bkoz@redhat.com>
128 * docs/html/abi.html: Update links.
130 2004-06-22 Paolo Carlini <pcarlini@suse.de>
132 * testsuite/26_numerics/complex_inserters_extractors.cc,
133 complex_value.cc, buggy_complex.cc: Move to...
134 * testsuite/26_numerics/complex/: ... here.
135 * testsuite/26_numerics/c99_classification_macros_c++.cc,
136 c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
137 fabs_inline.cc: Move to...
138 * testsuite/26_numerics/cmath/: ... here.
139 * testsuite/26_numerics/binary_closure.cc, slice.cc,
140 slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
141 valarray_name_lookup.cc, valarray_operators.cc,
142 valarray_subset_assignment.cc: Move to...
143 * testsuite/26_numerics/valarray/: ... here (new dir).
144 * testsuite/26_numerics/sum_diff.cc: Move to...
145 * testsuite/26_numerics/numeric/: ... here (new dir).
147 2004-06-22 Paolo Carlini <pcarlini@suse.de>
149 * include/std/std_istream.h (ignore(streamsize __n = 1,
150 int_type __delim = traits_type::eof())): Split into...
151 (ignore(), ignore(streamsize __n), ignore(streamsize __n,
152 int_type __delim)): The first two can be much more simpler
153 and efficient than the fully general case; also, the last
154 two can take advantage of the same mechanism already used
156 * include/bits/istream.tcc (ignore(streamsize __n = 1,
157 int_type __delim = traits_type::eof()): Remove.
158 (ignore(), ignore(streamsize __n), ignore(streamsize __n,
159 int_type __delim)): New.
161 2004-06-21 Loren J. Rittle <ljrittle@acm.org>
163 * config/linker-map.gnu: Use wildcards for
164 __basic_file::sys_open(FILE*, _Ios_Openmode).
166 2004-06-20 Paolo Carlini <pcarlini@suse.de>
168 * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
170 2004-06-18 Paolo Carlini <pcarlini@suse.de>
172 * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
173 the alignment requested.
174 (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
175 (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
176 (__mt_alloc<>::deallocate): Likewise.
178 2004-06-18 Paolo Carlini <pcarlini@suse.de>
181 * include/debug/safe_base.h
182 (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
183 _Safe_sequence_base::operator=): Provide definitions.
184 * testsuite/23_containers/bitset/cons/16020.cc: New.
186 2004-06-18 Benjamin Kosnik <bkoz@redhat.com>
188 * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
189 (__pool_base): Remove unused template parameter. Add
190 protected. Move lock data into __pool_base::_Lock. Remove static
192 (__pool_base::_M_get_free_list): New.
193 (__pool_alloc): Move _S_force new here.
194 * src/allocator.cc: Move out of line __pool_base definitions here.
195 * config/linker-map.gnu: Export bits from __pool_base.
197 2004-06-18 Paolo Carlini <pcarlini@suse.de>
199 * config/locale/gnu/numeric_members.cc
200 (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
201 assignments of _M_decimal_point and _M_thousands_sep.
202 * config/locale/gnu/time_members.cc
203 (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
204 and reformat assignments of date and time fields.
206 2004-06-16 Paolo Carlini <pcarlini@suse.de>
208 * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
209 to use _Data_allocate.
210 * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
211 (rope<>::_S_substring): Likewise.
212 (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
213 (rope<>::c_str()): Likewise.
214 (rope<>::replace_with_c_str()): Likewise.
216 * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
217 Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
219 (_Rope_iterator_base<>::_S_setcache): Likewise.
220 (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
221 (rope<>::_S_substring): Likewise.
222 (rope<>::_S_dump): Likewise.
223 (rope<>::_S_fetch_ptr): Likewise.
224 (rope<>::_S_compare): Likewise.
225 (rope<>::replace_with_c_str()): Likewise.
227 * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
228 * testsuite/ext/rope/2.cc: New.
230 2004-06-16 Paolo Carlini <pcarlini@suse.de>
231 Matt Austern <austern@apple.com>
233 * testsuite/ext/rope/3.cc: New.
235 2004-06-15 Paolo Bonzini <bonzini@gnu.org>
237 * acinclude.m4: Remove useless multilib configury.
238 * Makefile.am: Remove useless multilib rules.
239 * aclocal.m4: Regenerate.
240 * Makefile.in: Regenerate.
241 * configure: Regenerate.
243 2004-06-15 Paolo Carlini <pcarlini@suse.de>
245 * include/ext/hashtable.h: Trivial formatting fixes.
246 * include/ext/rb_tree: Likewise.
248 2004-06-14 Paolo Carlini <pcarlini@suse.de>
250 * include/ext/hash_map: Trivial formatting fixes.
251 * include/ext/hash_set: Likewise.
252 * include/ext/memory: Likewise.
253 * include/ext/numeric: Likewise.
255 2004-06-14 Benjamin Kosnik <bkoz@redhat.com>
257 * Makefile.in: Regenerate with automake 1.8.5.
259 * include/Makefile.in: Same.
260 * libmath/Makefile.in: Same.
261 * libsupc++/Makefile.in: Same.
262 * po/Makefile.in: Same.
263 * src/Makefile.in: Same.
264 * testsuite/Makefile.in: Same.
266 2004-06-14 Paolo Carlini <pcarlini@suse.de>
268 * include/ext/slist: Trivial formatting fixes.
270 2004-06-14 Paolo Carlini <pcarlini@suse.de>
272 * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
273 Don't use the 'magic number' 10 in the computation of __minlen;
274 never access __name past __minlen; in the loop over __i3, don't
275 decrease __nmatches and increase __i3 at once, only either of
278 2004-06-13 Paolo Carlini <pcarlini@suse.de>
280 * include/bits/locale_facets.tcc (time_get<>::do_get_time,
281 time_get<>::do_get_date): Use only once _M_extract_via_format,
282 instead of going through "%X"/"%x" and calling it two times
285 2004-06-12 Paolo Carlini <pcarlini@suse.de>
287 * include/ext/algorithm: Trivial formatting fixes.
288 * include/ext/functional: Likewise.
289 * include/ext/hash_fun.h: Likewise.
290 * include/ext/iterator: Likewise.
292 2004-06-12 Paolo Carlini <pcarlini@suse.de>
294 * include/bits/basic_string.tcc (find(const _CharT*, size_type,
295 size_type)): Reimplement using std::search.
296 * src/string-inst.cc: Instantiate std::search for char/wchar_t.
298 2004-06-12 Dhruv Matani <dhruvbird@gmx.net>
300 * testsuite/performance/21_strings/string_find.cc: New.
302 2004-06-10 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
304 * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
306 2004-06-10 Jan van Dijk <jan@etpmod.phys.tue.nl>
308 * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
309 this function return a value.
311 2004-06-09 Paolo Carlini <pcarlini@suse.de>
314 * include/bits/stl_deque.h: Consistently with stl_set.h, define
315 pointer as allocator's pointer, likewise for reference,
316 const_pointer, and const_reference.
317 * include/bits/stl_list.h: Likewise.
318 * include/bits/stl_map.h: Likewise.
319 * include/bits/stl_multimap.h: Likewise.
320 * include/bits/stl_vector.h: Likewise.
322 2004-06-09 Benjamin Kosnik <bkoz@redhat.com>
324 * crossconfig.m4: Remove signbit, signbitf, signbitl.
325 * linkage.m4: Comment LIBMATHOBJS, tweak others. AC_DEFINES for
326 builtin math functions instead of AC_DEFINE_UNQUOTED.
327 * configure: Regenerate.
329 2004-06-08 Benjamin Kosnik <bkoz@redhat.com>
331 * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
332 * docs/doxygen/mainpage.html: Remove links.
334 2004-06-08 Jason Merrill <jason@redhat.com>
336 * config/linker-map.gnu: Use wildcards for
337 __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
339 2004-06-08 Paolo Carlini <pcarlini@suse.de>
341 * include/ext/pool_allocator.h: Convert to a global free-list,
342 as per the original SGI/HP design: move the implementation
343 details to struct __pool_base, from which __pool_alloc derives.
344 * src/allocator.cc: Instantiate __pool_base.
346 2004-06-07 Dhruv Matani <dhruvbird@gmx.net>
347 Paolo Carlini <pcarlini@suse.de>
349 * testsuite/testsuite_performance.h
350 (resource_counter::allocated_memory): Make it return the right
351 number of bytes requested by the allocators/application. This is
352 the sbrk+mmaped memory.
354 2004-06-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
356 * include/std/std_complex.h (log): Tidy.
358 2004-05-31 Benjamin Kosnik <bkoz@redhat.com>
360 * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
361 * testsuite/testsuite_abi.cc: Same.
362 * configure.ac (libtool_VERSION): Bump to 6:1:0.
363 * configure: Regenerate.
364 * aclocal.m4: Regenerate.
366 2004-05-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
368 * include/std/std_complex.h (complex<_Tp>): Properly indent
370 (complex<>::__rep): New.
371 (__complex_abs): New. Dispatch to built-ins.
373 (__complex_arg): New. Dispatch to built-ins.
375 (__complex_cos): New. Dispatch to built-ins.
377 (__complex_cosh): New. Dispatch to built-ins.
379 (__complex_exp): New. Dispatch to built-ins.
381 (__complex_log): New. Dispatch to built-ins.
383 (__complex_sin): New. Dispatch to built-ins.
385 (__complex_sinh): New. Dispatch to built-ins.
387 (__complex_sqrt): New. Dispatch to built-ins.
389 (__complex_tan): New. Dispatch to built-ins.
391 (__complex_tanh): New. Dispatch to built-ins.
393 (__complex_pow): New. Dispatch to built-ins.
396 2004-05-29 Richard B. Kreckel <Richard.Kreckel@Framatome-ANP.com>
397 Benjamin Kosnik <bkoz@redhat.com>
400 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
401 * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
402 * config/io/basic_file_stdio.cc (__basic_file::file): New.
403 * config/io/basic_file_stdio.h: Define.
405 2004-05-27 Benjamin Kosnik <bkoz@redhat.com>
408 * docs/html/documentation.html: Update doxygen links for 3.4.0.
410 2004-05-27 Jan Beulich <jbeulich@novell.com>
412 * scripts/create_testsuite_files: Tweak.
414 2004-05-25 Benjamin Kosnik <bkoz@redhat.com>
417 * scripts/create_testsuite_files: Revert xtype change, add non-GNU
418 bits to do the same thing.
420 2004-05-24 Paolo Carlini <pcarlini@suse.de>
422 * include/bits/istream.tcc (ignore): Correctly deal with
423 n == numeric_limits<streamsize>::max().
424 * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
426 * include/bits/istream.tcc (basic_istream<>::getline): Prefer
427 '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
428 __n == numeric_limits<>::min().
430 * include/bits/istream.tcc: Minor tweaks.
432 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
434 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
436 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
438 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
440 * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
442 2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
446 * include/bits/basic_string.h (basic_string::operator=): Return
447 pointer to this instead of result of assign. Although redundant,
448 this doesn't impact resultant codegen.
450 * include/bits/locale_facets.h (__numpunct_cache): Declare
451 assignment opxserator and copy constructor private.
452 (__timepunct_cache): Same.
453 (__moneypunct_cache): Same.
454 (collate): Use member initialization list for _M_c_locale_collate.
455 * config/locale/gnu/messages_members.h: Same.
456 * config/locale/gnu/time_members.h (__timepunct): Same.
457 * src/codecvt.cc: Use member initialization list to initialize
459 * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
460 * config/os/gnu-linux/ctype_noninline.h: Same.
461 * src/locale.cc (_Impl): Same.
462 * src/locale_init.cc: Same.
463 * src/localename.cc: Same.
465 * include/bits/basic_ios.h (basic_ios): Complete member
467 * include/bits/istream.tcc (basic_istream::sentry): Same.
468 * include/bits/ostream.tcc (basic_ostream::sentry): Same.
469 * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
470 _M_pback to member initialization list.
471 * include/std/std_streambuf.h: Same.
472 * include/std/std_sstream.h: Same, for _M_mode.
473 * src/ios.cc (ios_base): Same.
475 * include/ext/rope: Make derived classes match exception
477 specifications. Add copy constructors and assignment operators.
479 * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
480 constructor and assignment operator protected.
481 (_Safe_iterator_base): Same.
482 * include/debug/formatter.h (_Error_formatter): Define copy
483 constructor and assignment operator.
485 * include/backward/strstream: Declare assignment operator and copy
488 2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
490 * testsuite/testsuite_hooks.h (func_callback): Declare copy
491 constructor and assignment operator private.
492 * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
493 exception specifications of base class.
494 * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
495 * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
496 * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
498 2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
500 * libsupc++/cxxabi.h: Remove duplicated and useless public and
501 private keywords in class declarations. Format. Use
502 stddef.h. Expose declarations to "C" compilation.
503 * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
505 (__dyncast_result): Same.
506 * libsupc++/vec.cc (uncatch_exception): Same, use member
509 2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
511 * testsuite/abi_check.cc: Add unistd.h.
513 2004-05-22 Paolo Carlini <pcarlini@suse.de>
516 * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
517 __int_to_char(unsigned long long)): Showpos is not relevant
519 * testsuite/22_locale/num_put/put/char/15565.cc: New.
520 * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
522 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
524 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
525 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
526 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
527 * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
528 * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
529 * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
531 2004-05-21 Matthias Klose <doko@debian.org>
533 * docs/doxygen/run_doxygen: Bump required version.
535 2004-05-21 Benjamin Kosnik <bkoz@redhat.com>
537 * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
538 * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
540 2004-05-21 Paolo Carlini <pcarlini@suse.de>
542 * include/bits/istream.tcc (ignore): Remove redundant line.
543 (readsome): Tidy, closely following 27.6.1.3, p30.
545 2004-05-20 Paolo Carlini <pcarlini@suse.de>
547 * include/bits/istream.tcc (operator>>(basic_istream<>&,
548 basic_string<>&)): Use a temporary buffer, thus avoiding
549 reallocation for common case.
550 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
552 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
555 * include/bits/istream.tcc: Const-ification of a few variables.
557 * include/bits/ostream.tcc: Trivial formatting fixes and
558 const-ification of some variables.
560 2004-05-20 Benjamin Kosnik <bkoz@redhat.com>
564 * docs/doxygen/Intro.3: Remove Allocators.3.
565 Add new extension headers, extension namespace list.
566 * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
567 Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
568 __gnu_debug::. Remove __policy_ renames.
569 * docs/doxygen/guide.html: Add dot note.
570 * docs/doxygen/stdheader.cc: Edit, add files.
571 * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
573 2004-05-18 Jonathan Wakely <redi@gcc.gnu.org>
575 * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
577 2004-05-18 Jan Beulich <jbeulich@novell.com>
580 * scripts/create_testsuite_files: Also find source files through
583 2004-05-18 Jan Beulich <jbeulich@novell.com>
586 * testsuite/lib/libstdc++.exp: Make test files writable.
588 2004-05-18 Paolo Carlini <pcarlini@suse.de>
590 * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
593 2004-05-18 Dhruv Matani <dhruvbird@gmx.net>
595 * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
596 allocation loop which removes blocks from the global free list
597 from O(N) to O(1) when the required blocks are <= the number
600 2004-05-18 Jonathan Wakely <redi@gcc.gnu.org>
602 * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
604 2004-05-17 Benjamin Kosnik <bkoz@redhat.com>
606 * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
607 * testsuite/23_containers/deque/14340.cc: New.
608 * testsuite/23_containers/list/14340.cc: New.
609 * testsuite/23_containers/map/14340.cc: New.
610 * testsuite/23_containers/multimap/14340.cc: New.
611 * testsuite/23_containers/multiset/14340.cc: New.
612 * testsuite/23_containers/set/14340.cc: New.
613 * testsuite/23_containers/vector/14340.cc: New.
615 2004-05-17 Douglas Gregor <gregod@cs.rpi.edu>
618 * include/debug/safe_iterator.h (_Safe_iterator converting
619 constructor): Only allow declaration to instantiate when the
620 incoming _Safe_iterator has exactly the right iterator type.
622 2004-05-17 Jonathan Wakely <redi@gcc.gnu.org>
624 * include/bits/boost_concept_check.h: Fix old attribute syntax.
625 * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
626 to pass concept-checks.
627 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
628 * testsuite/23_containers/set/modifiers/swap.cc: Same.
629 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
631 2004-05-16 Paolo Carlini <pcarlini@suse.de>
633 * include/std/std_bitset.h: Minor formatting fixes.
635 2004-05-16 Paolo Carlini <pcarlini@suse.de>
637 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
638 Consistently update __bin._M_free[0].
639 (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
640 __bin._M_free[0] to simplify the while loop (i.e., the number
641 of iterations becomes known at the outset).
643 2004-05-15 Paolo Carlini <pcarlini@suse.de>
645 * include/std/std_bitset.h: Trivial formatting fixes.
647 2004-05-14 Paolo Carlini <pcarlini@suse.de>
648 Ivan Godard <igodard@pacbell.net>
651 * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
652 * testsuite/23_containers/bitset/ext/15361.cc: New.
654 2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
657 * crossconfig.m4: Add C99 math bits for linux crosses.
658 * configure: Regenerate.
660 2004-05-13 Simon Marshall <simon.marshall@misys.com>
661 Benjamin Kosnik <bkoz@redhat.com>
664 * include/bits/locale_facets.h: Fix for -fno-for-scope.
665 * include/debug/safe_sequence.h: Same.
666 * include/debug/safe_iterator.tcc: Same.
667 * src/debug.cc: Same.
668 * src/locale.cc: Same.
669 * src/locale_init.cc: Same.
670 * src/localename.cc: Same.
671 * config/locale/gnu/ctype_members.cc: Same.
672 * config/locale/gnu/numeric_members.cc: Same.
673 * testsuite/testsuite_abi.cc: Same.
674 * testsuite/testsuite_hooks.cc: Same.
676 2004-05-13 Jonathan Wakely <redi@gcc.gnu.org>
678 * docs/html/abi.html: Document effect of -fabi-version on value
679 of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
682 2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
685 * docs/html/faq/index.html: Update docs for libsupc++ usage.
687 2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
690 * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
692 (_GLIBCXX_mutex_address): Same.
693 (_GLIBCXX_once): Same.
694 (_GLIBCXX_mutex_init): Same.
695 (_GLIBCXX_mutex_address_init): Same.
697 2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
699 * docs/html/abi.html: New.
700 * docs/html/abi.txt: Remove.
701 * docs/html/documentation.html: Add link.
702 * testsuite/Makefile.am: Add files.
703 * testsuite/Makefile.in: Regenerated.
704 * testsuite/abi_check.cc: Move and modify code into...
705 * testsuite/testsuite_abi.cc: Add.
706 * testsuite/testsuite_abi.h: Add.
708 * docs/html/17_intro/TODO: Update.
709 * include/bits/stl_pair.h: Format.
711 2004-05-06 Matthias Klose <doko@debian.org>
713 * include/backward/iterator.h: Add GPL copyright info,
714 with exception clause.
715 * include/bits/boost_concept_check.h: Likewise.
717 * libsupc++/tinfo.h: Likewise.
718 * po/string_literals.cc: Likewise.
720 2004-05-03 Andreas Tobler <a.tobler@schweiz.ch>
722 * acinclude.m4: Replace -W with more speaking -Wextra.
723 * configure: Rebuilt.
725 2004-05-03 Paolo Carlini <pcarlini@suse.de>
727 Optimize locale::_M_impl->_M_names for the most common cases:
728 !_M_names[0] means unnamed; !_M_names[1] means all the categories
729 the same name (_M_names[0] && _M_names[1] means that the full set
730 of _M_names must be processed, the general case).
731 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
732 Tweak, saving work when !_M_names[1].
733 (locale::locale(const locale&, _Facet*): Simplify: now just setting
734 _M_names[0] = 0 means unnamed.
735 * src/locale.cc (locale::operator==): Deal first with the common,
736 easy cases, otherwise fall back to locale::name().
737 (locale::name()): Tweak, if !_M_names[0] just return "*".
738 (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
739 copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
740 * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
741 * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
742 Simplify when !std::strchr, just updating _M_names[0]; clean up.
743 (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
744 for the general case (full set of names), then do the usual work;
747 * src/locale.cc (locale::name()): Reserve space in __ret.
748 * src/locale_init.cc (locale::global(const locale&)): Save
749 the name in a temporary.
750 * src/localename.cc (locale::locale(const char*)): Reserve space
753 2004-04-29 Paolo Carlini <pcarlini@suse.de>
755 * src/locale.cc (locale::operator==): Always avoid constructing
756 locale::name(), directly compare pairs of _M_names.
758 2004-04-26 Paolo Carlini <pcarlini@suse.de>
760 * include/bits/istream.tcc: Fix comment.
762 2004-04-26 Paolo Carlini <pcarlini@suse.de>
764 * include/bits/stl_vector.h: Trivial formatting fixes.
765 * include/bits/vector.tcc: Likewise.
767 2004-04-25 Paolo Carlini <pcarlini@suse.de>
769 PR libstdc++/15002 (continued again)
770 * include/bits/istream.tcc (getline(basic_istream<>&,
771 basic_string<>&, _CharT)): Use a temporary buffer, thus
772 avoiding reallocation for common case.
774 * include/bits/basic_string.tcc (_S_construct(_InIterator,
775 _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
776 of temporary buffer to a power of two.
778 * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
780 2004-04-25 Paolo Carlini <pcarlini@suse.de>
782 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
784 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
786 * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
788 2004-04-24 Paolo Carlini <pcarlini@suse.de>
789 Petur Runolfsson <peturr02@ru.is>
791 PR libstdc++/15002 (continued)
792 * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
793 streamsize, char_type)): Use traits::find/copy in a loop to speed
794 up greatly the function in the common case (I/O buffer size >> 1).
796 2004-04-24 Paolo Carlini <pcarlini@suse.de>
798 * testsuite/27_io/basic_istream/getline/char/4.cc: New.
800 * include/bits/istream.tcc (getline(basic_istream<>&,
801 basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
802 of sbumpc(), consistently with the other functions, thus also
803 dealing correctly with the case of exceeded string::max_size().
805 2004-04-24 Matthias Klose <doko@debian.org>
807 Jonathan Wakely <cow@compsoc.man.ac.uk>
808 * docs/html/configopts.html: Fix reference to allocator config option.
810 2004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
812 * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
813 * configure: Regenerate.
815 2004-04-23 Daniel Jacobowitz <drow@mvista.com>
817 PR libstdc++/15047, libstdc++/11610
818 * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
819 (libstdc++_init): Don't pass outdir to v3-copy-files.
821 2004-04-21 Paolo Carlini <pcarlini@suse.de>
823 * include/bits/deque.tcc: Trivial formatting fixes.
824 * include/bits/stl_deque.h: Likewise.
825 * include/bits/stl_list.h: Likewise.
826 * include/bits/stl_tree.h: Likewise.
828 2004-04-21 Paolo Carlini <pcarlini@suse.de>
829 Andrew Pinski <pinskia@physics.uc.edu>
831 * include/bits/basic_string.tcc (_M_mutate): Don't compute
834 2004-04-19 Benjamin Kosnik <bkoz@redhat.com>
836 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
837 Clarify assertion, set test variable to false before assert.
838 * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
839 * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
840 * testsuite/27_io/ios_base/storage/2.cc: Same.
842 * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
844 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
845 * testsuite/27_io/fpos/14320-3.cc: Same.
847 * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
848 * testsuite/27_io/fpos/1.cc: Same.
849 * testsuite/27_io/basic_stringstream/2.cc: Same.
850 * testsuite/27_io/basic_stringbuf/4.cc: Same.
851 * testsuite/27_io/basic_stringbuf/1.cc: Same.
852 * testsuite/27_io/basic_stringbuf/2.cc: Same.
853 * testsuite/27_io/basic_streambuf/2.cc: Same.
854 * testsuite/27_io/basic_ostringstream/2.cc: Same.
855 * testsuite/27_io/basic_ostream/2.cc: Same.
856 * testsuite/27_io/basic_ofstream/2.cc: Same.
857 * testsuite/27_io/basic_istringstream/2.cc: Same.
858 * testsuite/27_io/basic_istream/2.cc: Same.
859 * testsuite/27_io/basic_iostream/2.cc: Same.
860 * testsuite/27_io/basic_ios/2.cc: Same.
861 * testsuite/27_io/basic_ifstream/2.cc: Same.
862 * testsuite/27_io/basic_fstream/2.cc: Same.
863 * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
865 * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
866 unsigned against zero.
867 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
868 * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
870 * testsuite/18_support/new_delete_placement.cc: Initialize
871 variables before first use.
872 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
873 * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
874 * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
875 * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
877 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
878 * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
880 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
881 * testsuite/27_io/types/2.cc: Same.
883 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
885 * testsuite/27_io/fpos/14775.cc: Same.
887 2004-04-19 Paolo Carlini <pcarlini@suse.de>
889 PR libstdc++/15002 (partial)
890 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
891 Special case __n2 == 1, not calling traits_type::assign/copy.
893 2004-04-17 Benjamin Kosnik <bkoz@redhat.com>
895 * include/bits/stl_bvector.h: Use _M_impl._M_start.
897 2004-04-16 Benjamin Kosnik <bkoz@redhat.com>
899 * include/bits/c++config (_GLIBCXX_STD): New.
900 * src/list.cc: Use it.
901 * include/std/std_bitset.h: Same.
902 * include/bits/vector.tcc: Same.
903 * include/bits/stl_set.h: Same.
904 * include/bits/stl_multiset.h: Same.
905 * include/bits/stl_multimap.h: Same.
906 * include/bits/stl_map.h: Same.
907 * include/bits/stl_list.h: Same.
908 * include/bits/stl_vector.h: Same.
909 * include/bits/stl_bvector.h: Same.
910 * include/bits/stl_deque.h: Same.
911 * include/bits/deque.tcc: Same.
912 * include/bits/list.tcc: Same.
913 * include/debug/vector: Same.
914 * include/debug/set.h: Same.
915 * include/debug/multiset.h: Same.
916 * include/debug/multimap.h: Same.
917 * include/debug/map.h: Same.
918 * include/debug/list: Same.
919 * include/debug/deque: Same.
920 * include/debug/bitset: Same.
921 * include/debug/formatter.h (__gnu_debug): Remove using directive.
922 Add using declaration for std::type_info.
923 * include/debug/safe_iterator.h: Add using declaration for
924 std::iterator_traits and std::pair.
925 * src/debug_list.cc: New.
926 * src/Makefile.am: Add debug_list.cc.
927 * src/Makefile.in: Regenerate.
928 * config/linker-map.gnu: Add _List_node_base exports for std and
931 * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
932 idiom that other containers use.
933 * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
935 2004-04-16 Paolo Carlini <pcarlini@suse.de>
938 * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
940 * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
941 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
943 2004-04-16 Paolo Carlini <pcarlini@suse.de>
945 * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
947 * config.h.in: Regenerate.
949 2004-04-16 Paolo Carlini <pcarlini@suse.de>
951 * config/locale/generic/monetary_members.cc
952 (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
953 btowc unnecessarily, just cast to wchar_t (the concerned chars
954 all belong to the basic character set).
955 * config/locale/generic/numeric_members.cc
956 (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
957 * config/locale/gnu/monetary_members.cc
958 (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
959 * config/locale/gnu/numeric_members.cc
960 (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
962 2004-04-15 Paolo Carlini <pcarlini@suse.de>
964 * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
965 avoid constructing unnecessarily this->name().
967 2004-04-14 Zack Weinberg <zack@codesourcery.com>
969 * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
970 Change definition of CXX to use $(shell) instead of backticks.
971 * testsuite/Makefile.in: Regenerate.
973 2004-04-12 Dhruv Matani <dhruvbird@gmx.net>
975 * testsuite/performance/20_util/allocator/list_sort_search.cc:
976 Minor formatting fixes.
977 * testsuite/performance/20_util/allocator/map_mt_find.cc:
980 2004-04-12 Paolo Carlini <pcarlini@suse.de>
982 * config/locale/gnu/numeric_members.cc
983 (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
984 in __uselocale, since btowc is called for chars belonging to
985 the basic character set.
987 2004-04-09 Paolo Carlini <pcarlini@suse.de>
989 * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
990 * testsuite/22_locale/messages/members/char/2.cc: Ditto.
991 * testsuite/22_locale/messages/members/char/3.cc: Ditto.
992 * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
993 * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
994 * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
995 * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
996 * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
997 * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
998 * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
999 * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
1000 * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
1001 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
1002 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
1003 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
1004 * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
1005 * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
1007 2004-04-07 Paolo Carlini <pcarlini@suse.de>
1009 * config/locale/generic/time_members.cc
1010 (__timepunct<char>::_M_initialize_timepunct,
1011 __timepunct<wchar_t>::_M_initialize_timepunct): the correct
1012 _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
1013 * config/locale/gnu/time_members.cc
1014 (__timepunct<char>::_M_initialize_timepunct,
1015 __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
1016 * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
1017 * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
1019 * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
1020 * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
1021 * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
1022 * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
1023 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
1024 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
1025 * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
1026 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
1027 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
1028 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
1029 * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
1030 * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
1031 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
1032 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
1033 * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
1034 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
1035 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
1036 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
1037 * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
1038 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
1039 * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
1040 * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
1041 * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
1042 * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
1043 * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
1044 * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
1045 * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
1046 * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
1047 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
1048 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
1049 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
1050 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
1051 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
1052 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
1053 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
1054 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
1056 * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
1058 2004-04-07 Paolo Carlini <pcarlini@suse.de>
1060 * config/locale/gnu/monetary_members.cc
1061 (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
1062 _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
1063 and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
1064 _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
1065 * config/locale/gnu/numeric_members.cc
1066 (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
1067 and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
1069 2004-04-06 Benjamin Kosnik <bkoz@redhat.com>
1071 Fixups for EDG front end.
1072 * include/ext/rope: Instead of non-existent function
1073 _Data_allocate, use allocator's allocate. Use this.
1074 (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
1075 enumerations from _Rope_RopeRep here.
1076 * include/ext/ropeimpl.h: Same.
1077 * src/ext-inst.cc (_S_min_len): Fix up definition.
1079 * config/locale/gnu/ctype_members.cc: Qualify base class members
1081 * config/locale/generic/ctype_members.cc: Same.
1082 * config/locale/gnu/messages_members.h: Same.
1083 * config/locale/generic/messages_members.h: Same.
1084 * src/ctype.cc: Same.
1085 * include/bits/codecvt.h: Same.
1087 * include/bits/boost_concept_check.h: Declare.
1088 (__error_type_must_be_an_unsigned_integer_type): Remove this.
1089 (__error_type_must_be_an_integer_type): Remove this.
1090 (__error_type_must_be_a_signed_integer_type): Remove this.
1092 * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
1094 * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
1095 specification to definition.
1096 (__cxa_allocate_exception): Same.
1097 * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
1098 * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
1099 (__cxa_get_globals): Same.
1101 * libsupc++/del_op.cc: Add comment about freestanding.
1103 2004-04-05 Paolo Carlini <pcarlini@suse.de>
1105 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1106 The critical section is actually very small, only two assignments.
1108 2004-04-04 Paolo Carlini <pcarlini@suse.de>
1109 Petur Runolfsson <peturr02@ru.is>
1111 * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
1112 adapted from libstdc++/11378.
1114 2004-04-03 Paolo Carlini <pcarlini@suse.de>
1116 * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
1117 some duplicated code.
1118 (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
1119 in the single threaded case.
1120 * testsuite/performance/20_util/allocator/list_sort_search.cc:
1121 Reorder and renumber the tests consistently with the other testfiles.
1122 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
1123 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
1124 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
1126 2004-04-02 Paolo Carlini <pcarlini@suse.de>
1128 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1129 Rearrange arithmetic to avoid computing two divisions at
1132 2004-04-01 Paolo Carlini <pcarlini@suse.de>
1134 * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
1135 Streamline the second half, wrapping it in a single
1136 '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
1137 conditionals inside loops.
1139 2004-04-01 Paolo Carlini <pcarlini@suse.de>
1142 * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
1143 * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
1144 GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
1145 to _GLIBCXX_RES_LIMITS.
1146 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
1148 * testsuite/testsuite_hooks.h: Declare set_file_limit.
1149 * testsuite/testsuite_hooks.cc: Define it, using getrlimit
1150 and setrlimit(RLIMIT_FSIZE).
1151 * testsuite/27_io/fpos/14775.cc: New.
1152 * config.h.in: Regenerate.
1153 * configure: Likewise.
1155 2004-03-31 Paolo Carlini <pcarlini@suse.de>
1157 * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
1158 In v3 uses of sscanf, the special floating-point numbers INF,
1159 INFINITY, etc., cannot occur in input, therefore, if the latter
1160 is too large, ERANGE is always stored in errno, no need of finitel.
1162 2004-03-30 Benjamin Kosnik <bkoz@redhat.com>
1165 * include/bits/stl_tree.h: Adjust initialization list order.
1167 2004-03-29 Loren J. Rittle <ljrittle@acm.org>
1169 * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
1171 2004-03-29 Paolo Carlini <pcarlini@suse.de>
1173 * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
1174 on allocator behavior, the memory pointed by data2 may well be not
1177 2004-03-28 Chavdar Botev <cbotev@yahoo.com>
1180 * include/bits/basic_string.tcc
1181 (basic_string::basic_string(const basic_string&)): Pass to
1182 _Rep::_M_grab the actual allocator of the string being constructed
1183 not the default constructed one.
1185 2004-03-27 Benjamin Kosnik <bkoz@redhat.com>
1188 * config/locale/ieee_1003.1-2001/codecvt_specializations.h
1189 (__enc_traits::_M_destroy): New.
1190 (__enc_traits::~__enc_traits): Use it.
1191 (__enc_traits::operator=): Use _M_destroy, _M_init.
1192 (__enc_traits::__enc_traits): Same.
1194 2004-03-27 Petur Runolfsson <peturr02@ru.is>
1196 * testsuite/ext/enc_filebuf/char/13598.cc: New.
1198 2004-03-27 Paolo Carlini <pcarlini@suse.de>
1200 * include/ext/mt_allocator.h: Uglify consistently names of
1201 variables, members and classes; tidy.
1203 2004-03-27 Dhruv Matani <dhruvbird@gmx.net>
1205 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1206 Deallocation loop rewrote.
1208 2004-03-26 Paolo Carlini <pcarlini@suse.de>
1210 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
1211 __mt_alloc<>::deallocate): Protect two instances of
1212 block->thread_id with __GTHREADS.
1214 2004-03-25 Gawain Bolton <gp.bolton@computer.org>
1216 * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
1217 default argument in constructors.
1218 (_Rb_tree::_M_empty_initialize): Remove.
1220 2004-03-25 Benjamin Kosnik <bkoz@redhat.com>
1222 * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
1223 * testsuite/23_containers/set/operators/1_neg.cc: Same.
1225 2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1227 * include/bits/cpp_type_traits.h: Changed __is_pod
1228 completely. Now, it does not use any of the previous type_traits
1229 to detect the pod types, and it also detects function pointers as
1232 * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
1233 which encapsulates the internal implementation of an rb_tree. Made
1234 the allocator a base class of this class instead of the rb_tree,
1235 which was not conforming. This _Rb_tree_impl class is also
1236 specialized on whether the _Compare parameter is a POD type or
1237 not. If so, then it maintains the comparison function as a data
1238 member, otherwise it makes the _Compare parameter a base class of
1239 itself. Also, _M_key_compare is now a function instead of a data
1240 member, so that the above trick can work properly. Delegated the
1241 initialization of the other data members to this newly created
1242 class. Also, now other member functions of rb_tree must refer to
1243 _M_key_compare as _M_impl._M_key_compare(). The other data members
1244 (*) can be referenced to as _M_impl.(*), where
1245 (*) includes _M_header, and _M_node_count.
1247 2004-03-25 Paolo Carlini <pcarlini@suse.de>
1249 * include/ext/mt_allocator.h (__mt_alloc<>::tune):
1250 Add _M_min_bin, the size in bytes of the smallest bin.
1251 (__mt_alloc<>::tune()): Tweak accordingly.
1252 (__mt_alloc<>::tune(size_t, ...)): Likewise.
1253 (__mt_alloc<>::block_record): Change to a union: members next
1254 and thread_id are never used at the same time.
1255 (__mt_alloc<>::allocate): Update consistently.
1256 (__mt_alloc<>::deallocate): Likewise.
1257 (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
1258 _S_bin_size for the configurable _M_min_size.
1260 2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1262 * include/bits/stl_list.h: Created a _List_impl class and made it
1263 derive from the allocator, instead of the list deriving from the
1264 allocator class, which was not conformant. Changed all references
1265 from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
1266 as above (changed all references to the concerned variables).
1268 2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1270 * include/bits/stl_deque.h: Created a _Deque_impl class and made
1271 it derive from the allocator, instead of the deque deriving from
1272 the allocator class, which was not conformant. Changed all
1273 references to the _M_start, _M_finish, _M_map, and _M_map_size to
1275 (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
1276 qualification in 2 places where it was missing.
1277 (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
1279 * include/bits/deque.tcc: Same as above (changed all references to
1280 the concerned variables).
1282 2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1284 * include/bits/stl_vector.h: Created a _Vector_impl class and made
1285 it derive from the allocator, instead of the _Vector_base class,
1286 deriving from the allocator which was not conformant. Changed all
1287 references to the _M_start, _M_finish, and _M_end_of_storage to
1289 * include/bits/vector.tcc: Same as above (changed all references
1290 to the concerned variables).
1292 2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1294 * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
1295 * testsuite/23_containers/list/cons/clear_allocator.cc: New.
1296 * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
1298 2004-03-24 Dhruv Matani <dhruvbird@gmx.net>
1300 * include/ext/malloc_allocator.h: Fixed the construct function to
1301 call global placement new instead of assignment. Added a check
1302 after the return from malloc to check whether returned pointer is
1303 NULL, and if so, throw std::bad_alloc().
1304 * include/ext/debug_allocator.h: Added a check in the deallocate
1305 function to check whether the user has passed a NULL pointer or
1308 2004-03-24 Benjamin Kosnik <bkoz@redhat.com>
1310 * docs/html/20_util/allocator.html: Add bitmap_allocator links.
1312 2004-03-24 Andreas Schwab <schwab@suse.de>
1314 * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
1315 warning from IA64 assembler.
1317 2004-03-24 Dhruv Matani <dhruvbird@gmx.net>
1319 * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
1320 function call __builtin_ctz instead of the while loop.
1321 (allocate) -> If condition has __builtin_expect.
1322 (deallocate) -> Ditto.
1323 Renamed a few left-over variables and typedefs according to the
1324 C++STYLE mentioned in the documentation.
1325 Protected calls to __gthread* by __gthread_active_p(), whose value
1326 is cached in the local variable __threads_active.
1328 2004-03-24 Felix Yen <fwy@alumni.brown.edu>
1330 * testsuite/performance/20_util/allocator/producer_consumer.cc:
1331 Use linear algorithm for producer.
1333 2004-03-24 Paolo Carlini <pcarlini@suse.de>
1335 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
1336 __mt_alloc<>::deallocate): Avoid redundant conditionals.
1338 2004-03-23 Benjamin Kosnik <bkoz@redhat.com>
1340 * include/bits/locale_facets.h: Tweaks for 80 column.
1341 (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
1342 (__moneypunct_cache::_M_cache): Same.
1343 (num_get): Don't inherit from __num_base.
1345 (money_get): Don't inherit from money_base.
1347 (__timepunct::_M_am_pm_format): New.
1348 (time_get::_M_extract_num): Return iterator, use ios_base as argument.
1349 (time_get::_M_extract_name): Same.
1350 (time_get::_M_extract_via_format): Same.
1351 * include/bits/locale_facets.tcc: Tweaks for 80 column.
1352 Use _M_getloc instead of getloc.
1353 * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
1354 * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
1355 * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
1357 2004-03-22 Paolo Carlini <pcarlini@suse.de>
1359 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
1360 * configure: Regenerate.
1361 * config/allocator/pool_allocator_base.h: New.
1362 * include/ext/pool_allocator.h: Convert to a standard-conforming
1364 * src/allocator.cc: Tweak instantiations.
1365 * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
1366 * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
1367 * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
1368 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
1369 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
1370 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
1372 2004-03-22 Hans-Peter Nilsson <hp@axis.com>
1374 * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
1375 inline" and attribute-unused. Qualify parameter __mem with
1377 (__exchange_and_add): Ditto. Add back memory clobber to asm.
1379 2004-03-20 Paolo Carlini <pcarlini@suse.de>
1381 * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
1383 * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
1385 * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
1387 * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
1389 * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
1391 * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
1393 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1395 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1397 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1399 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1402 2004-03-20 Paolo Carlini <pcarlini@suse.de>
1404 * include/std/std_valarray.h: Document DR389 [Ready].
1405 * docs/html/ext/howto.html: Add an entry for DR389.
1407 2004-03-19 Michael Eager <eager@mvista.com>
1409 * config/cpu/mips/atomicity.h: Prevent reg loads between LL and
1412 2004-03-19 Paolo Carlini <pcarlini@suse.de>
1414 * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
1416 * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
1417 * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
1418 * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
1419 * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
1420 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
1421 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
1422 * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
1423 * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
1424 * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
1426 2004-03-19 Paolo Carlini <pcarlini@suse.de>
1427 Petur Runolfsson <peturr02@ru.is>
1430 * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
1431 no way to find out the conversion used by the underlying FILE*.
1432 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
1433 * testsuite/27_io/objects/char/9.cc: Tweak.
1435 2004-03-19 Paolo Carlini <pcarlini@suse.de>
1438 * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
1439 memory allocation/deallocation calls.
1440 * testsuite/ext/14648.cc: New.
1442 2004-03-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
1445 * include/backward/bvector.h (bit_vector): Allocator is in std
1448 2004-03-19 Phil Edwards <phil@codesourcery.com>
1450 * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV,
1451 not libiconv. SUBST this variable as well.
1452 * testsuite/Makefile.am (site.exp): New target, based on that
1453 created by automake. Also set libiconv.
1455 * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
1456 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
1457 testsuite/Makefile.in: Regenerate.
1459 2004-03-16 Benjamin Kosnik <bkoz@redhat.com>
1461 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
1462 new_allocator for all hosts.
1463 * configure: Regenerate.
1465 2004-03-16 Paolo Carlini <pcarlini@suse.de>
1467 * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
1468 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
1470 2004-03-15 Paolo Carlini <pcarlini@suse.de>
1472 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1473 Adjust the logic underlying the parsing of symbol to deal
1474 correctly with an optional sign component (i.e., when either
1475 negative_sign or positive_sign is empty)
1476 * testsuite/22_locale/money_get/get/char/19.cc: New.
1477 * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
1479 2004-03-15 Paolo Carlini <pcarlini@suse.de>
1481 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1482 Do not accept an incomplete currency symbol.
1483 * testsuite/22_locale/money_get/get/char/18.cc: New.
1484 * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
1486 2004-03-13 Benjamin Kosnik <bkoz@redhat.com>
1488 * config/allocator: New.
1489 * config/allocator/bitmap_allocator_base.h: New.
1490 * config/allocator/malloc_allocator_base.h: New.
1491 * config/allocator/mt_allocator_base.h: New.
1492 * config/allocator/new_allocator_base.h: New.
1493 * include/bits/allocator.h: Include c++allocator.h.
1494 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
1495 * aclocal.m4: Regenerate.
1496 * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
1497 * configure: Regenerate.
1498 * include/Makefile.am (host_headers_extra): Add c++allocator.h.
1499 * include/Makefile.in: Regenerate.
1500 * docs/html/configopts.html: Add enable-libstdcxx-allocator.
1502 2004-03-12 Benjamin Kosnik <bkoz@redhat.com>
1504 * include/bits/allocator.h: Revert.
1506 2004-03-12 Paolo Carlini <pcarlini@suse.de>
1508 * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
1509 * include/bits/gslice_array.h: Add comment about DR 253.
1510 * include/bits/indirect_array.h: Likewise.
1511 * include/bits/mask_array.h: Likewise.
1512 * include/bits/slice_array.h: Likewise.
1514 2004-03-12 Benjamin Kosnik <bkoz@redhat.com>
1516 * testsuite/20_util/allocator/14176.cc: New.
1517 * include/ext/mt_allocator.h: Formatting fixes.
1519 2004-03-11 Dhruv Matani <dhruvbird@HotPOP.com>
1521 * include/Makefile.am (ext_headers): Add
1522 ${ext_srcdir}/bitmap_allocator.h .
1523 * include/Makefile.in: Regenerate.
1524 * docs/html/ext/ballocator_doc.txt: New file.
1525 * include/ext/bitmap_allocator.h: New file.
1526 * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
1528 * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
1529 * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
1530 test for the bitmap_allocator<>.
1531 * testsuite/performance/20_util/allocator/insert.cc: Likewise.
1532 * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
1533 * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
1535 2004-03-11 Paolo Carlini <pcarlini@suse.de>
1537 * include/std/std_complex.h (pow(const complex&, const _Tp&),
1538 pow(const _Tp&, const complex&), pow(const complex&,
1539 const complex&)): Fully qualify with std:: a few calls.
1540 * testsuite/26_numerics/complex/13450.cc: Minor tweak.
1542 2004-03-11 Steven Bosscher <stevenb@suse.de>
1545 * include/c_std/cmath.tcc (__cmath_power): Define inline.
1547 2004-03-10 Kelley Cook <kcook@gcc.gnu.org>
1549 * configure.ac: Bump AC_PREREQ to 2.59.
1551 2004-03-10 Paolo Carlini <pcarlini@suse.de>
1553 * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
1555 2004-03-10 Paul Kienzle <pkienzle@nist.gov>
1556 Paolo Carlini <pcarlini@suse.de>
1559 * include/std/std_complex.h (pow(const complex&, const _Tp&),
1560 pow(const _Tp&, const complex&)): Use cmath pow only when safe.
1561 * testsuite/26_numerics/complex/13450.cc: New.
1563 * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
1564 * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
1566 2004-03-10 Jerry Quinn <jlquinn@optonline.net>
1569 * include/bits/gslice_array.h (gslice_array()): Make public.
1570 (operator=(gslice_array)): Make public. Implement.
1571 * include/bits/indirect_array.h (indirect_array()): Make public.
1572 * include/bits/mask_array.h (mask_array()): Make public.
1573 (operator=(mask_array)): Make public. Implement.
1574 * include/bits/valarray_array.tcc (__valarray_copy):
1575 Comment. Add versions for gslice_array and mask_array.
1576 * testsuite/26_numerics/valarray_subset_assignment.cc: New test.
1578 2004-03-09 Benjamin Kosnik <bkoz@redhat.com>
1580 * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
1582 * testsuite/23_containers/vector/modifiers/swap.cc: Same.
1583 * testsuite/23_containers/set/modifiers/swap.cc: Same.
1584 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
1585 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
1586 * testsuite/23_containers/map/modifiers/swap.cc: Same.
1587 * testsuite/23_containers/list/modifiers/swap.cc: Same.
1589 * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
1591 2004-03-08 Benjamin Kosnik <bkoz@redhat.com>
1594 * testsuite/23_containers/deque/modifiers/swap.cc: New.
1595 * testsuite/23_containers/list/modifiers/swap.cc: New.
1596 * testsuite/23_containers/map/modifiers/swap.cc: New.
1597 * testsuite/23_containers/multimap/modifiers/swap.cc: New.
1598 * testsuite/23_containers/multiset/modifiers/swap.cc: New.
1599 * testsuite/23_containers/set/modifiers/swap.cc: New.
1600 * testsuite/23_containers/vector/modifiers/swap.cc: New.
1602 2004-03-08 Petur Runolfsson <peturr02@ru.is>
1605 * testsuite/22_locale/locale/cons/12658_thread.cc: New.
1607 2004-03-08 Paolo Carlini <pcarlini@suse.de>
1609 * docs/html/ext/howto.html: Add entry for DR 103 [WP].
1610 * include/bits/stl_multiset.h: Add comment about DR 103.
1611 * include/bits/stl_set.h: Likewise.
1613 2004-03-08 Paolo Carlini <pcarlini@suse.de>
1615 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1616 The value _space_ indicates that at least one space is required
1618 * testsuite/22_locale/money_get/get/char/17.cc: New.
1619 * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
1621 * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
1622 * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
1624 * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
1625 Remove redundant conditional on __str.size().
1627 2004-03-08 Benjamin Kosnik <bkoz@redhat.com>
1629 * include/bits/allocator.h: Switch defaults to mt_alloc.
1631 2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
1633 * include/ext/mt_allocator.h (_S_initialize): If
1634 !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
1636 2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
1639 * src/locale_init.cc (locale::locale): Lock critical regions with
1641 (locale::global): Same.
1642 * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
1643 Add in once bits for cases without __GTHREAD_MUTEX_INIT.
1644 (__glibcxx_mutex_lock): Same.
1646 * config/cpu/generic/atomicity.h: Remove
1647 _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
1648 * src/misc-inst.cc: Move all locking bits out of this file.
1650 * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
1651 * src/misc-inst.cc: Same.
1652 * config/cpu/hppa/atomicity.h: Same.
1654 * config/linker-map.gnu: Remove types in the signature of atomic
1655 exports, as they may vary.
1657 2004-03-06 Paolo Carlini <pcarlini@suse.de>
1659 * include/bits/locale_facets.tcc: Tweak the comment preceding
1660 has_facet: doesn't throw.
1662 2004-03-06 Paolo Carlini <pcarlini@suse.de>
1664 * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
1665 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1666 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1667 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1668 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1669 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1670 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1671 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1673 2004-03-06 Paolo Carlini <pcarlini@suse.de>
1675 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1676 num_get<>::_M_extract_int, num_get<>::do_get(bool&),
1677 __pad<>::_S_pad): Prefer plain operator== to traits::eq().
1678 * testsuite/testsuite_character.h (struct __gnu_test::character):
1680 * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
1683 2004-03-05 Paolo Carlini <pcarlini@suse.de>
1685 * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
1687 2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
1689 * testsuite/23_containers/multiset/insert/1.cc: Test result string.
1691 * testsuite/23_containers/bitset/invalidation/1.cc: Main always
1693 * testsuite/23_containers/deque/invalidation/4.cc: Same.
1694 * testsuite/23_containers/list/invalidation/1.cc: Same.
1695 * testsuite/23_containers/list/invalidation/2.cc: Same.
1696 * testsuite/23_containers/list/invalidation/3.cc: Same.
1697 * testsuite/23_containers/list/invalidation/4.cc: Same.
1698 * testsuite/23_containers/map/invalidation/2.cc: Same.
1699 * testsuite/23_containers/multimap/invalidation/1.cc: Same.
1700 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1701 * testsuite/23_containers/multiset/invalidation/1.cc: Same.
1702 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1703 * testsuite/23_containers/set/invalidation/1.cc: Same.
1704 * testsuite/23_containers/set/invalidation/2.cc: Same.
1705 * testsuite/23_containers/vector/invalidation/1.cc: Same.
1706 * testsuite/23_containers/vector/invalidation/2.cc: Same.
1707 * testsuite/23_containers/vector/invalidation/3.cc: Same.
1708 * testsuite/23_containers/vector/invalidation/4.cc: Same.
1710 2004-03-04 Paolo Carlini <pcarlini@suse.de>
1712 * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
1714 * testsuite/lib/libstdc++.exp: Don't add it conditionally to
1716 * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
1717 from the dg-options.
1718 * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
1719 * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
1720 * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
1721 * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
1722 * testsuite/23_containers/vector/resize/1.cc: Likewise.
1723 * testsuite/26_numerics/complex_value.cc: Likewise.
1724 * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1725 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1726 * testsuite/27_io/ios_base/storage/3.cc: Likewise.
1727 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1728 * testsuite/27_io/objects/char/5.cc: Likewise.
1729 * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1730 * testsuite/backward/11460.cc: Likewise.
1731 * testsuite/thread/pthread7-rope.cc: Likewise.
1733 * testsuite/21_strings/basic_string/compare/char/1.cc: Add
1734 missing test variable.
1735 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
1736 missing test variable.
1738 2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
1740 * testsuite/20_util/allocator/1.cc: Provide explicit
1741 instantiations for non-weak systems.
1742 * testsuite/20_util/binders.cc: Same.
1743 * testsuite/20_util/allocator/8230.cc: Same.
1744 * testsuite/20_util/allocator/10378.cc: Same.
1745 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
1746 * testsuite/22_locale/ctype/is/char/2.cc: Same.
1747 * testsuite/thread/pthread7-rope.cc: Same.
1748 * testsuite/thread/pthread6.cc: Same.
1749 * testsuite/thread/pthread5.cc: Same.
1750 * testsuite/thread/pthread4.cc: Same.
1751 * testsuite/thread/pthread1.cc: Same.
1752 * testsuite/ext/rope.cc: Same.
1753 * testsuite/ext/hash_set.cc: Same.
1754 * testsuite/ext/hash_map.cc: Same.
1755 * testsuite/ext/concept_checks.cc: Same.
1756 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
1757 * testsuite/25_algorithms/unique/2.cc: Same.
1758 * testsuite/25_algorithms/unique/1.cc: Same.
1759 * testsuite/25_algorithms/rotate.cc: Same.
1760 * testsuite/25_algorithms/min_max.cc: Same.
1761 * testsuite/25_algorithms/equal.cc: Same.
1762 * testsuite/24_iterators/rel_ops.cc: Same.
1763 * testsuite/24_iterators/iterator.cc: Same.
1764 * testsuite/24_iterators/insert_iterator.cc: Same.
1765 * testsuite/24_iterators/front_insert_iterator.cc: Same.
1766 * testsuite/24_iterators/back_insert_iterator.cc: Same.
1767 * testsuite/23_containers/vector/resize/1.cc: Same.
1768 * testsuite/23_containers/vector/modifiers/2.cc: Same.
1769 * testsuite/23_containers/vector/modifiers/1.cc: Same.
1770 * testsuite/23_containers/vector/invalidation/4.cc: Same.
1771 * testsuite/23_containers/vector/invalidation/3.cc: Same.
1772 * testsuite/23_containers/vector/invalidation/2.cc: Same.
1773 * testsuite/23_containers/vector/invalidation/1.cc: Same.
1774 * testsuite/23_containers/vector/element_access/1.cc: Same.
1775 * testsuite/23_containers/vector/cons/6513.cc: Same.
1776 * testsuite/23_containers/vector/cons/3.cc: Same.
1777 * testsuite/23_containers/vector/cons/2.cc: Same.
1778 * testsuite/23_containers/vector/cons/1.cc: Same.
1779 * testsuite/23_containers/vector/capacity/8230.cc: Same.
1780 * testsuite/23_containers/vector/capacity/1.cc: Same.
1781 * testsuite/23_containers/vector/bool/6886.cc: Same.
1782 * testsuite/23_containers/stack/members/7158.cc: Same.
1783 * testsuite/23_containers/set/invalidation/2.cc: Same.
1784 * testsuite/23_containers/set/invalidation/1.cc: Same.
1785 * testsuite/23_containers/queue/members/7157.cc: Same.
1786 * testsuite/23_containers/priority_queue/members/7161.cc: Same.
1787 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1788 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1789 * testsuite/23_containers/multiset/insert/1.cc: Same.
1790 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1791 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1792 * testsuite/23_containers/map/operators/1.cc: Same.
1793 * testsuite/23_containers/map/invalidation/2.cc: Same.
1794 * testsuite/23_containers/map/invalidation/1.cc: Same.
1795 * testsuite/23_containers/map/insert/1.cc: Same.
1796 * testsuite/23_containers/list/operators/4.cc: Same.
1797 * testsuite/23_containers/list/operators/3.cc: Same.
1798 * testsuite/23_containers/list/operators/2.cc: Same.
1799 * testsuite/23_containers/list/operators/1.cc: Same.
1800 * testsuite/23_containers/list/modifiers/3.cc: Same.
1801 * testsuite/23_containers/list/modifiers/2.cc: Same.
1802 * testsuite/23_containers/list/modifiers/1.cc: Same.
1803 * testsuite/23_containers/list/invalidation/4.cc: Same.
1804 * testsuite/23_containers/list/invalidation/3.cc: Same.
1805 * testsuite/23_containers/list/invalidation/2.cc: Same.
1806 * testsuite/23_containers/list/invalidation/1.cc: Same.
1807 * testsuite/23_containers/list/cons/9.cc: Same.
1808 * testsuite/23_containers/list/cons/8.cc: Same.
1809 * testsuite/23_containers/list/cons/7.cc: Same.
1810 * testsuite/23_containers/list/cons/6.cc: Same.
1811 * testsuite/23_containers/list/cons/5.cc: Same.
1812 * testsuite/23_containers/list/cons/4.cc: Same.
1813 * testsuite/23_containers/list/cons/3.cc: Same.
1814 * testsuite/23_containers/list/cons/2.cc: Same.
1815 * testsuite/23_containers/list/cons/1.cc: Same.
1816 * testsuite/23_containers/list/capacity/1.cc: Same.
1817 * testsuite/23_containers/deque/operators/1.cc: Same.
1818 * testsuite/23_containers/deque/invalidation/4.cc: Same.
1819 * testsuite/23_containers/deque/invalidation/3.cc: Same.
1820 * testsuite/23_containers/deque/invalidation/2.cc: Same.
1821 * testsuite/23_containers/deque/invalidation/1.cc: Same.
1822 * testsuite/23_containers/deque/cons/2.cc: Same.
1823 * testsuite/23_containers/deque/cons/1.cc: Same.
1825 * src/allocator.cc: Add char, wchar_t instantiations
1826 to match extern template declarations in memory.h.
1828 2004-03-03 Paolo Carlini <pcarlini@suse.de>
1830 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1831 Fix warning regression.
1833 2004-03-03 Paolo Carlini <pcarlini@suse.de>
1835 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1836 Deal properly with empty __digits and negative frac_digits,
1839 2004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
1841 * docs/html/documentation.html: Regenerate.
1843 2004-03-02 Paolo Carlini <pcarlini@suse.de>
1846 * include/bits/postypes.h (class streamoff): Remove, now
1847 streamoff is just typedef a 64 bit signed integer type.
1848 (class fpos): Tweak consistently.
1849 * testsuite/27_io/fpos/14320-1.cc: New.
1850 * testsuite/27_io/fpos/14320-2.cc: New.
1851 * testsuite/27_io/fpos/14320-3.cc: New.
1852 * testsuite/27_io/fpos/14320-4.cc: New.
1853 * testsuite/27_io/fpos/14320-5.cc: New.
1854 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
1856 2004-03-02 Paolo Carlini <pcarlini@suse.de>
1858 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1859 Reorganize a bit the main parsing loop, thus early detecting
1860 an empty value component.
1861 * testsuite/22_locale/money_get/get/char/16.cc: New.
1862 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
1864 2004-03-02 Benjamin Kosnik <bkoz@redhat.com>
1866 Support automake 1.8.2
1867 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
1868 * po/Makefile.am (EXTRA_DIST): New.
1869 * po/Makefile.in: Regenerate.
1870 * Makefile.in: Same.
1871 * include/Makefile.in: Same.
1872 * libmath/Makefile.in: Same.
1873 * libsupc++/Makefile.in: Same.
1874 * src/Makefile.in: Same.
1875 * testsuite/Makefile.in: Same.
1877 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
1878 __GXX_WEAK__ instead of SUPPORTS_WEAK.
1879 (${host_builddir}/gthr-default.h): Same.
1880 (${host_builddir}/gthr.h): Same.
1881 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
1882 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
1884 * aclocal.m4: Regenerate.
1885 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
1886 * config.h.in: Regenerate.
1889 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
1891 Support autoconf 2.59
1892 * acinclude.m4: Quote correctly.
1893 * aclocal.m4: Regenerate.
1896 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
1898 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
1900 * docs/html/18_support/howto.html: Add bit about writing to
1901 stderr, mostly by Zack.
1903 2004-03-01 Paolo Carlini <pcarlini@suse.de>
1905 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1906 money_get<>::do_get(string_type&)): ... and two more.
1908 2004-03-01 Paolo Carlini <pcarlini@suse.de>
1910 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1911 Fix thinkos in the switch from string_type& to string& as last
1914 2004-03-01 Paolo Carlini <pcarlini@suse.de>
1916 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1917 Also when parsing exponent sign, first look for thousands_sep
1918 and decimal_point; tweak a bit.
1919 * testsuite/22_locale/num_get/get/char/15.cc: New.
1920 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
1922 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1923 num_get<>::_M_extract_int): Reorder some conditionals.
1925 2004-03-01 Paolo Carlini <pcarlini@suse.de>
1927 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1928 Consistently with numpunct, enforce the requirements in
1929 22.2.6.3, p3 for the thousands separators; tweak a bit.
1930 * testsuite/22_locale/money_get/get/char/15.cc: New.
1931 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
1933 2004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
1935 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
1936 testsuite_files from correct multilib blddir when running
1939 2004-02-29 Phil Edwards <phil@codesourcery.com>
1941 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
1942 the summary file to the logfile.
1943 * testsuite/Makefile.in: Regenerate.
1945 2004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1947 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
1949 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
1950 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
1952 2004-02-28 Paolo Carlini <pcarlini@suse.de>
1954 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1955 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
1956 no 'decimal-point' in the middle: in this case too we must fix
1957 up __found_grouping; slightly tweak.
1958 * testsuite/22_locale/num_get/get/char/14.cc: New.
1959 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
1961 2004-02-27 Eric Christopher <echristo@redhat.com>
1962 Phil Edwards <phil@codesourcery.com>
1964 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
1965 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
1966 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
1967 testsuite/22_locale/collate/hash/wchar_t/2.cc,
1968 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
1969 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
1970 testsuite/22_locale/collate/transform/wchar_t/2.cc,
1971 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
1972 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1973 Use dg-require-iconv.
1974 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
1976 2004-02-27 Phil Edwards <phil@codesourcery.com>
1977 Eric Christopher <echristo@redhat.com>
1979 * testsuite/config/default.exp: Update with comments.
1980 (${tool}_target_compile): New wrapper routine.
1981 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
1982 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
1984 (load_gcc_lib, v3track): New routines.
1985 (v3-init): Rename to libstdc++_init.
1986 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
1987 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
1989 2004-02-27 Benjamin Kosnik <bkoz@redhat.com>
1991 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
1993 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
1995 * config/os/irix/irix5.2/atomicity.h: Merge..
1996 * config/os/irix/irix6.5/atomicity.h: Merge..
1997 * config/os/irix/atomicity.h: ...into this.
1998 * config/os/irix/atomic_word.h: New.
1999 * configure.host: Set atomic_word_dir for irix.
2001 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
2002 * i386/atomicity.h: Same.
2003 * m68k/atomicity.h: Same.
2004 * sparc/atomicity.h: Same.
2006 2004-02-27 David Edelsohn <edelsohn@gnu.org>
2008 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
2009 static, and inline keywords.
2011 2004-02-27 Paolo Carlini <pcarlini@suse.de>
2013 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2014 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
2015 call reserve on the __tmp_gruping string.
2016 (num_get<>::_M_extract_float): Don't append unnecessarily a
2017 char() to the returned string.
2018 * include/bits/locale_facets.tcc: Trivial reformattings.
2020 2004-02-27 Paolo Carlini <pcarlini@suse.de>
2022 * include/bits/locale_facets.h (money_get<>::_M_extract):
2023 Change signature: now takes a plain string&.
2024 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2025 Update consistently the definition; use the moneypunct cache
2026 to parse the value; use swap to change __units.
2027 (money_get<>::do_get(long double&)): Update call of _M_extract,
2028 avoid ctype::narrow, not correct wrt the standard.
2029 (money_get<>::do_get(string_type&)): Likewise, update call
2030 of _M_extract, use ctype::widen.
2031 * src/locale-inst.cc: Tweak instantiations of _M_extract.
2033 2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
2035 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
2036 * testsuite/demangle/abi_examples/02.cc: Likewise.
2037 * testsuite/demangle/regression/cw-11.cc: Likewise.
2038 * testsuite/demangle/regression/cw-16.cc: Change two expected
2039 results to match libiberty demangler output.
2041 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
2044 * libsupc++/Makefile.am: Use libiberty demangler.
2045 (c_sources): Add cp-demangle.c.
2046 * libsupc++/Makefile.in: Regenerate.
2047 * src/Makefile.am (sources): Remove demangle.cc.
2048 * src/Makefile.in: Regenerate.
2049 * include/Makefile.am (bits_headers): Move demangle.h.
2050 (ext_headers): ...here.
2051 * include/Makefile.in: Regenerate.
2052 * include/bits/demangle.h: Move...
2053 * include/ext/demangle.h: ...here.
2054 * src/demangle.cc: Remove.
2056 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
2058 * include/bits/demangle.h: Add type template parameter to all
2059 templates with just an Allocator template parameter.
2061 2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
2063 * include/bits/atomicity.h: New, forward declarations for __atomic_add
2064 and __exchange_and_add.
2065 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
2066 * config/cpu/cris/atomic_word.h: Same.
2067 * config/cpu/sparc/atomic_word.h: Same.
2068 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
2069 Qualifiy with __gnu_cxx.
2070 (_Callback_list::_M_add_reference): Same.
2071 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
2072 (locale::facet::_M_remove_reference): Same.
2073 (locale::_Impl::_M_add_reference): Add.
2074 (locale::_Impl::_M_remove_reference): Same.
2075 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
2076 (basic_string::_Rep::_M_dispose): Same.
2077 * src/ios.cc (ios_base::xalloc): Same.
2078 * src/ios_init.cc (ios_base::Init::Init): Same.
2079 (ios_base::Init::~Init): Same.
2080 * src/locale.cc (locale::id::_M_id): Same.
2081 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
2082 static, and inline keywords.
2083 * config/cpu/alpha/atomicity.h: Same.
2084 * config/cpu/cris/atomicity.h: Same.
2085 * config/cpu/generic/atomicity.h: Same.
2086 * config/cpu/hppa/atomicity.h: Same.
2087 * config/cpu/i386/atomicity.h: Same.
2088 * config/cpu/ia64/atomicity.h: Same.
2089 * config/cpu/m68k/atomicity.h: Same.
2090 * config/cpu/mips/atomicity.h: Same.
2091 * config/cpu/powerpc/atomicity.h: Same.
2092 * config/cpu/s390/atomicity.h: Same.
2093 * config/cpu/sparc/atomicity.h: Same.
2095 * src/Makefile.am (host_sources): Add atomicity.cc.
2096 (atomicity.cc): New rule.
2097 * src/Makefile.in: Regenerate.
2098 * include/Makefile.am (host_headers): Remove host atomicity.h.
2099 (host_headers): Add atomic_word.h.
2100 (bits_headers): Add bits atomicity.h.
2101 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
2102 * include/Makefile.in: Regenerate.
2103 * configure.host (atomic_word_dir): Add.
2104 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
2105 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
2106 * configure: Regenerate.
2107 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
2109 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
2110 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2112 2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
2114 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
2115 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
2116 Fix markup, more <link> tags.
2118 2004-02-25 Carlo Wood <carlo@alinoe.com>
2121 namespace __gnu_cxx::demangler
2122 (session<Allocator>::qualifier_list_Allocator): Add
2123 (session<Allocator>::M_qualifier_list_alloc): Add
2124 (session<Allocator>::decode_type_with_postfix):
2125 Use M_qualifier_list_alloc instead of calling operator new/delete.
2127 2004-02-24 Paolo Carlini <pcarlini@suse.de>
2130 * include/bits/postypes.h (class streamoff): Add operator++(),
2131 operator++(int), operator--() and operator--(int).
2132 * testsuite/27_io/fpos/14252.cc: New.
2134 2004-02-24 Richard Sandiford <rsandifo@redhat.com>
2136 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
2137 error in handling of hex constants.
2139 2004-02-24 Paolo Carlini <pcarlini@suse.de>
2141 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2142 Prefer basic_string::append to operator+= and a temporary.
2144 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
2146 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
2147 Only use fputs, not write.
2149 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
2151 * include/ext/malloc_allocator.h: Add operators ==, !=.
2152 * include/ext/new_allocator.h: Add operators ==, !=.
2153 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
2154 (__mt_alloc::_S_get_options): New.
2155 (__mt_alloc::_S_set_options): New.
2156 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
2157 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
2158 Move functions out of line, simplify, format.
2159 * src/allocator.cc: Simplify explicit instantiations.
2160 * include/bits/allocator.h: Tweak.
2162 2004-02-22 Paolo Carlini <pcarlini@suse.de>
2164 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2165 Restructure formatting of value component, first dealing with
2166 the non-decimal digits; use reserve.
2168 2004-02-22 Paolo Carlini <pcarlini@suse.de>
2170 * include/bits/locale_facets.h (class money_get): Inherit
2171 from money_base too; tweak declaration of _M_extract, now
2172 parameterized on _Intl too.
2173 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2174 Update definition to use the cache; call reserve on __res to
2175 avoid multiple reallocations; fix parsing of sign component
2176 according to 22.2.6.1.2, p3.
2177 (money_get<>::do_get(long double&),
2178 money_get<>::do_get(string_type&)): Update calls of _M_extract.
2179 * src/locale-inst.cc: Add instantiations of
2180 money_get::_M_extract<false> and money_get::_M_extract<true>.
2181 * testsuite/22_locale/money_get/get/char/14.cc: New.
2182 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
2184 2004-02-21 Mark Mitchell <mark@codesourcery.com>
2186 * libsupc++/vterminate.cc
2187 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
2189 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
2191 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
2192 not set RLIMIT_AS on HP-UX.
2194 2004-02-21 Mark Mitchell <mark@codesourcery.com>
2196 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
2197 not set RLIMIT_AS on HP-UX.
2199 2004-02-21 Paolo Carlini <pcarlini@suse.de>
2201 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
2202 _S_zero, _S_end } enum, _S_atoms.
2203 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
2204 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
2205 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
2206 (__moneypunct_cache<>::~__moneypunct_cache): Update.
2207 (__moneypunct_cache<>::_M_cache): Fill the cache.
2208 (class moneypunct): Tweak __cache_type typedef.
2209 (class money_put): Inherit from money_base too; tweak declaration
2210 of _M_insert, now parameterized on _Intl.
2211 * include/bits/locale_facets.tcc
2212 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
2213 (money_put<>::_M_insert): Update definition to use the cache;
2214 call reserve on __res to avoid multiple reallocations.
2215 (money_put<>::do_put(long double),
2216 money_put<>::do_put(const string_type&): Update calls of _M_insert.
2217 * config/locale/generic/monetary_members.cc
2218 (moneypunct<char, true>::_M_initialize_moneypunct,
2219 moneypunct<char, false>::_M_initialize_moneypunct,
2220 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
2221 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
2222 * config/locale/gnu/monetary_members.cc: Likewise.
2223 * config/locale/gnu/monetary_members.cc
2224 (moneypunct<wchar_t, true>::~moneypunct(),
2225 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
2226 * src/globals_locale.cc: Tweak fake_money_cache_c.
2227 * src/locale-inst.cc: Add instantiations for
2228 money_put::_M_insert<false> and money_put::_M_insert<true> and
2229 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
2230 * src/locale_facets.cc: Define money_base::_S_atoms.
2231 * src/locale_init.cc: Update placement new of
2232 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
2233 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
2235 * config/locale/generic/numeric_members.cc: Clean up.
2236 * config/locale/gnu/numeric_members.cc: Likewise.
2237 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2238 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2239 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2240 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2241 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2242 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2244 2004-02-20 Mark Mitchell <mark@codesourcery.com>
2246 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
2247 FIFO for writing with ios_base::in|ios_base::out.
2248 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2249 * testsuite/27_io/objects/char/7.cc: Likewise.
2250 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
2253 2004-02-19 David Edelsohn <edelsohn@gnu.org>
2255 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
2256 from iso-8859-1 to ISO8859-1.
2257 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
2258 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
2259 * 22_locale/collate/hash/wchar_t/2.cc: Same.
2260 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
2261 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
2262 * 22_locale/collate/transform/wchar_t/2.cc: Same.
2263 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
2264 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
2266 2004-02-18 Paolo Carlini <pcarlini@suse.de>
2268 * include/bits/locale_facets.h (money_get<>::_M_extract):
2269 New, helper for do_get.
2270 (money_put<>::_M_insert): Likewise, for do_put.
2271 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
2272 money_put<>::_M_insert): Define.
2273 (money_get<>::do_get(long double&), money_get<>::do_get(
2274 string_type&), money_put::do_put(long double),
2275 money_put::do_put(const string_type&)): Use the helpers.
2277 2004-02-18 Paolo Carlini <pcarlini@suse.de>
2279 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2280 Rewrite, avoiding recursion.
2281 (__gnu_internal::xwrite): Minor tweaks.
2283 2004-02-17 Stefan Olsson <stefan@xapa.se>
2285 * include/ext/mt_allocator.h: Removed the last
2286 pointer. Deallocated blocks are now added to the front of
2287 freelists as proposed by Felix Yen. This gives roughly 10%
2288 performance boost and saves some memory.
2289 * docs/html/ext/mt_allocator.html: Change due to that deallocated
2290 blocks now are added to the front of freelists. The reason to this
2291 approach is also explained.
2293 2004-02-17 Paolo Carlini <pcarlini@suse.de>
2295 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2296 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
2297 grouping fidelity conditional.
2299 2004-02-16 Paolo Carlini <pcarlini@suse.de>
2301 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
2302 Qualify exception with std::.
2303 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
2304 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
2305 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2306 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2307 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2309 2004-02-16 Paolo Carlini <pcarlini@suse.de>
2311 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
2312 for now that the catch block is not reached.
2313 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
2315 2004-02-16 Paolo Carlini <pcarlini@suse.de>
2317 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
2318 Fix parsing of the remaining sign characters.
2319 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
2320 the input is scanned 'til eof.
2321 * 22_locale/money_get/get/char/4.cc: Likewise.
2322 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
2323 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
2324 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
2325 not do_pos_format: the former is the only one that matters during
2327 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
2329 * 22_locale/money_get/get/char/6.cc: Minor tweak.
2330 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
2332 2004-02-15 David Asher <david.asher@cavium.com>
2335 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
2336 access __olds beyond __oldlen.
2338 2004-02-14 Paolo Carlini <pcarlini@suse.de>
2340 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
2341 sure the exception is actually thrown.
2342 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2343 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2344 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2346 2004-02-14 Paolo Carlini <pcarlini@suse.de>
2349 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
2350 In case of conversion errors, throw ios_failure; simplify.
2351 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
2352 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
2353 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
2354 previously we didn't throw in case of conversion errors, instead
2355 just returned eof().
2356 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2357 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2358 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2360 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
2361 Trivial simplification of a conditional.
2363 2004-02-12 Paolo Carlini <pcarlini@suse.de>
2365 PR libstdc++/13731 (final part: writev)
2366 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2367 New, a wrapper around writev() handling partial writes.
2368 (__basic_file<char>::xwrite): Move to __gnu_internal and make
2370 (__basic_file<char>::xsputn): Update call.
2371 (__basic_file<char>::xsputn_2): Likewise.
2372 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2373 Don't declare, now static.
2375 2004-02-11 Stefan Olsson <stefan@xapa.se>
2377 * docs/html/ext/mt_allocator.html: New.
2379 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
2381 * docs/html/20_util/allocator.html: New file, consolidate
2382 allocator information here. Revamp.
2383 * docs/html/documentation.html: Change links.
2384 * docs/html/20_util/howto.html: Same.
2385 * docs/html/ext/howto.html: Same.
2387 2004-02-11 Paolo Carlini <pcarlini@suse.de>
2389 PR libstdc++/13731 (first part: write)
2390 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2392 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
2393 Define it: a wrapper around write() handling partial write.
2394 (__basic_file<char>::xsputn): Use it.
2395 (__basic_file<char>::xsputn_2): Likewise.
2397 2004-02-11 Paolo Carlini <pcarlini@suse.de>
2398 Petur Runolfsson <peturr02@ru.is>
2401 * include/std/std_istream.h (operator>>(__istream_type& (*)
2402 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
2403 operator>>(ios_base& (*)(ios_base&))): Declare inline.
2404 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
2405 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
2406 operator<<(ios_base& (*) (ios_base&))): Likewise.
2407 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
2409 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
2412 * config/linker-map.gnu: Add typeinfo and typeinfo name for
2413 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
2416 * config/linker-map.gnu: Add typeinfo and typeinfo name for
2417 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
2419 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
2421 * include/ext/pool_allocator.h: Include c++config.h.
2423 2004-02-09 Stefan Olsson <stefan@xapa.se>
2425 * include/ext/mt_allocator.h: thread_id is unused in non threaded
2426 applications and now has a ifdef to remove it completely on
2427 compilers without thread support. Include stdlib.h due to a
2428 compiler warning on getenv().
2430 2004-02-09 Paul Brook <paul@codesourcery.com>
2432 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
2434 2004-02-09 Paolo Carlini <pcarlini@suse.de>
2437 * src/locale_init.cc (locale::global(const locale&)): Use
2438 locale::name() in order to decide whether calling setlocale.
2439 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
2441 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
2442 Avoid computing &= unnecessarily.
2444 2004-02-09 James E Wilson <wilson@specifixinc.com>
2447 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
2448 __builtin_extend_pointer.
2450 2004-02-09 Paolo Carlini <pcarlini@suse.de>
2453 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
2454 Don't leave dangling pointers.
2455 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
2456 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
2457 facet is needed in the final test.
2459 2004-02-09 Bernardo Innocenti <bernie@develer.com>
2461 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
2462 * configure: Regenerate.
2464 2004-02-08 Richard Henderson <rth@redhat.com>
2467 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
2468 uncaughtExceptions during nested catch rethrow.
2469 * testsuite/18_support/14026.cc: New.
2471 2004-02-08 Paolo Carlini <pcarlini@suse.de>
2473 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
2474 When working in place remember to set the state to sharable
2475 (otherwise, _M_mutate does it).
2477 2004-02-08 Bernardo Innocenti <bernie@develer.com>
2479 * include/bits/allocator.h, include/bits/basic_ios.h,
2480 include/bits/basic_ios.tcc, include/bits/basic_string.h,
2481 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
2482 include/bits/char_traits.h, include/bits/codecvt.h,
2483 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
2484 include/bits/demangle.h, include/bits/deque.tcc,
2485 include/bits/fstream.tcc, include/bits/functexcept.h,
2486 include/bits/gslice.h, include/bits/gslice_array.h,
2487 include/bits/indirect_array.h, include/bits/ios_base.h,
2488 include/bits/istream.tcc, include/bits/list.tcc,
2489 include/bits/locale_classes.h, include/bits/locale_facets.h,
2490 include/bits/locale_facets.tcc, include/bits/localefwd.h,
2491 include/bits/mask_array.h, include/bits/ostream.tcc,
2492 include/bits/postypes.h, include/bits/slice_array.h,
2493 include/bits/sstream.tcc, include/bits/stl_algo.h,
2494 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
2495 include/bits/stl_construct.h, include/bits/stl_deque.h,
2496 include/bits/stl_function.h, include/bits/stl_heap.h,
2497 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
2498 include/bits/stl_list.h, include/bits/stl_map.h,
2499 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
2500 include/bits/stl_numeric.h, include/bits/stl_pair.h,
2501 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
2502 include/bits/stl_relops.h, include/bits/stl_set.h,
2503 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
2504 include/bits/stl_threads.h, include/bits/stl_tree.h,
2505 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
2506 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
2507 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
2508 include/bits/type_traits.h, include/bits/valarray_after.h,
2509 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
2510 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
2511 trailing whitespace.
2513 2004-02-06 Paolo Carlini <pcarlini@suse.de>
2515 * include/bits/basic_string.h: Fix comment.
2517 2004-02-06 Paolo Carlini <pcarlini@suse.de>
2519 * include/bits/stl_construct.h: Wrap overlong lines, reformat
2520 according to the coding standards.
2521 * include/bits/stl_pair.h: Likewise.
2522 * include/bits/stl_raw_storage_iter.h: Likewise.
2523 * include/bits/stl_stack.h: Likewise.
2524 * include/bits/stl_uninitialized.h: Likewise.
2525 * include/bits/stream_iterator.h: Likewise.
2526 * include/bits/streambuf_iterator.h: Likewise.
2527 * include/bits/type_traits.h: Likewise.
2529 2004-02-06 Paolo Carlini <pcarlini@suse.de>
2531 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2534 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
2536 * scripts/check_performance: Support PCH.
2538 * scripts/check_performance (CXX): Add -DNOTHREAD.
2539 * testsuite/performance/20_util/allocator/insert.cc: Integrate
2540 threaded tests from insert_insert.cc. Tweak iterations,
2541 remove special cases.
2542 * testsuite/performance/20_util/allocator/insert_insert.cc:
2543 Make all tests single-threaded. Tweak iterations.
2544 * testsuite/performance/20_util/allocator/map_thread.cc:
2546 * testsuite/performance/20_util/allocator/producer_consumer.cc:
2549 2004-02-05 Geoffrey Keating <geoffk@apple.com>
2553 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
2554 'gcc-lib'. Add comment about poorly-named variables.
2555 * aclocal.m4: Regenerate.
2556 * configure: Regenerate.
2558 2004-02-05 Paolo Carlini <pcarlini@suse.de>
2560 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
2561 Thousands-sep are always optional; thousands-sep are not allowed
2562 after the decimal_point.
2563 * testsuite/22_locale/money_get/get/char/12.cc: New.
2564 * testsuite/22_locale/money_get/get/char/13.cc: New.
2565 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
2566 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
2568 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
2569 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2570 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2571 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2572 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2573 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2574 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2575 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2577 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
2579 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
2581 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
2583 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
2585 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
2586 it to decide whether FIONREAD should take an off_t or int argument.
2588 2004-02-05 Paolo Carlini <pcarlini@suse.de>
2590 * include/bits/stl_function.h: Minor formatting changes.
2592 2004-02-04 Zack Weinberg <zack@codesourcery.com>
2594 Revert previous change to config/abi/*/baseline_symbols.txt.
2596 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
2597 Zack Weinberg <zack@codesourcery.com>
2599 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
2601 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
2602 (__basic_file<char>::_M_open_mode): Delete.
2603 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
2605 * testsuite/27_io/basic_filebuf/close/char/9964.cc
2606 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2607 Correct flags to filebuf::open calls.
2609 * config/abi/alpha-freebsd5/baseline_symbols.txt
2610 * config/abi/alpha-linux-gnu/baseline_symbols.txt
2611 * config/abi/hppa-linux-gnu/baseline_symbols.txt
2612 * config/abi/i386-freebsd4/baseline_symbols.txt
2613 * config/abi/i386-freebsd5/baseline_symbols.txt
2614 * config/abi/i486-linux-gnu/baseline_symbols.txt
2615 * config/abi/ia64-linux-gnu/baseline_symbols.txt
2616 * config/abi/mips-linux-gnu/baseline_symbols.txt
2617 * config/abi/sparc-freebsd5/baseline_symbols.txt
2618 * config/abi/sparc-linux-gnu/baseline_symbols.txt
2619 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
2620 Remove entry for __basic_file<char>::_M_open_mode.
2622 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
2624 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
2626 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
2628 * testsuite/performance/20_util/producer_consumer.cc: New.
2629 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
2631 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
2633 * testsuite/performance/20_util/allocator.cc: Move to..
2634 * testsuite/performance/20_util/allocator/insert.cc: ...here.
2635 * testsuite/performance/20_util/allocator_thread.cc: Move to...
2636 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
2637 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
2638 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
2640 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
2642 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
2643 * docs/html/faq/index.txt: Regenerate.
2645 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
2647 * include/ext/debug_allocator.h: _M_extra now stands for the
2648 number of extra objects instead of the number of extra bytes.
2649 (debug_allocator::allocate): Adjust.
2650 (debug_allocator::deallocate): Adjust.
2652 * include/ext/pool_allocator.h: Fix typo.
2654 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
2655 Benjamin Kosnik <bkoz@redhat.com>
2657 * testsuite/performance/20_util/allocator.cc: Add map,
2659 * testsuite/performance/20_util/allocator_thread.cc: Same.
2661 2004-02-03 Paolo Carlini <pcarlini@suse.de>
2663 * include/bits/basic_string.h (insert(iterator)): Remove,
2664 non-standard and already scheduled for removal.
2666 2004-02-03 Paolo Carlini <pcarlini@suse.de>
2668 * include/bits/stl_iterator_base_funcs.h: Minor formatting
2669 and indentation tweaks.
2670 * include/bits/stl_iterator_base_types.h: Likewise.
2671 * include/bits/stl_list.h: Likewise.
2672 * include/bits/stl_map.h: Likewise.
2673 * include/bits/stl_tempbuf.h: Likewise.
2675 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
2677 * include/bits/gslice.h, include/bits/gslice_array.h,
2678 include/bits/indirect_array.h, include/bits/mask_array.h,
2679 include/bits/slice_array.h, include/bits/stl_numeric.h,
2680 include/std/std_valarray.h: Update copyright years.
2682 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
2684 * include/bits/gslice.h (gslice): Document.
2685 * include/bits/gslice_array.h (gslice_array): Document.
2686 * include/bits/indirect_array (indirect_array): Document.
2687 * include/bits/mask_array (mask_array): Document.
2688 * include/bits/slice_array.h (slice,slice_array): Document.
2689 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
2690 adjacent_difference): Document
2691 * include/std/std_valarray.h (valarray): Document.
2693 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
2695 * docs/html/19_diagnostics/howto.html: Move verbose terminate
2697 * docs/html/18_support/howto.html: Here.
2698 * docs/html/documentation.html: Add reference here.
2700 2004-02-02 Paolo Carlini <pcarlini@suse.de>
2702 * config/locale/gnu/c++locale_internal.h: Remove prototypes
2703 of no longer used GLIBC thread locale functions.
2705 2004-02-02 Eric Christopher <echristo@redhat.com>
2706 Zack Weinberg <zack@codesourcery.com>
2708 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
2710 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
2711 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
2712 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
2713 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
2714 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
2715 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
2716 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
2717 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
2720 2004-02-02 Paolo Carlini <pcarlini@suse.de>
2722 * include/bits/stl_function.h: Additional minor tweaks.
2723 * include/bits/stl_multiset.h: Likewise.
2725 * include/bits/stl_queue.h: Minor tweaks.
2727 2004-02-02 Paolo Carlini <pcarlini@suse.de>
2729 PR libstdc++/13976 (continued)
2730 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
2731 Make the second parameter unnamed, to void unused parameter
2733 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
2735 2004-02-02 Paolo Carlini <pcarlini@suse.de>
2738 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
2739 Make the second parameter unnamed, to void unused parameter
2741 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
2742 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
2744 2004-02-01 Paolo Carlini <pcarlini@suse.de>
2746 * include/bits/stl_algo.h: Additional minor tweaks.
2747 * include/bits/stl_map.h: Likewise.
2748 * include/bits/stl_multimap.h: Likewise.
2749 * include/bits/stl_multiset.h: Likewise.
2750 * include/bits/stl_set.h: Likewise.
2751 * include/bits/stl_tree.h: Likewise.
2753 2004-02-01 Paolo Carlini <pcarlini@suse.de>
2755 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
2758 2004-02-01 Paolo Carlini <pcarlini@suse.de>
2760 * include/bits/stl_function.h: Additional minor tweaks.
2762 2004-02-01 Paolo Carlini <pcarlini@suse.de>
2764 * include/bits/deque.tcc: Wrap overlong lines, constify
2765 a few variables, reformat according to the coding standards.
2766 * include/bits/list.tcc: Likewise.
2767 * include/bits/stl_deque.h: Likewise.
2768 * include/bits/stl_function.h: Likewise.
2769 * include/bits/stl_iterator.h: Likewise.
2770 * include/bits/stl_iterator_base_funcs.h: Likewise.
2771 * include/bits/stl_iterator_base_types.h: Likewise.
2772 * include/bits/stl_list.h: Likewise.
2773 * include/bits/stl_map.h: Likewise.
2774 * include/bits/stl_multimap.h: Likewise.
2775 * include/bits/stl_multiset.h: Likewise.
2776 * include/bits/stl_relops.h: Likewise.
2777 * include/bits/stl_set.h: Likewise.
2779 2004-02-01 Paolo Carlini <pcarlini@suse.de>
2781 * include/bits/stl_bvector.h: Wrap overlong lines, constify
2782 a few variables, reformat according to the coding standards.
2783 * include/bits/stl_tree.h: Likewise.
2785 2004-01-31 Paolo Carlini <pcarlini@suse.de>
2787 * include/bits/stl_algo.h: Minor additional reformat, add
2789 * include/bits/stl_algobase.h: Add copyright year.
2791 2004-01-31 Paolo Carlini <pcarlini@suse.de>
2793 * include/bits/stl_algo.h: Wrap overlong lines, constify
2794 a few variables, reformat according to the coding standards.
2795 * include/bits/stl_algobase.h: Likewise.
2796 * include/bits/stl_heap.h: Likewise.
2798 2004-01-31 Paolo Carlini <pcarlini@suse.de>
2800 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
2802 * include/bits/basic_string.h: Fix two comments.
2804 2004-01-31 Per Bothner <per@bothner.com>
2806 * include/ext/mt_allocator.h
2807 (__mt_alloc::_S_thread_freelist_mutex): Guard with
2808 __GTHREAD_MUTEX_INIT.
2810 2004-01-31 Paolo Carlini <pcarlini@suse.de>
2812 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
2814 2004-01-30 Paolo Carlini <pcarlini@suse.de>
2816 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
2817 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
2818 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
2820 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
2822 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
2823 Don't use clear, but instead assign. Use insert.
2825 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
2827 * src/demangle.cc: Add instantiations.
2828 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
2829 * src/Makefile.in: Regenerate.
2831 2004-01-30 David Edelsohn <edelsohn@gnu.org>
2833 * src/allocator.cc: Protect _S_get_thread_id() and
2834 _S_thread_key_destr() with #ifdef __GTHREADS.
2836 2004-01-30 Paolo Carlini <pcarlini@suse.de>
2838 Reshuffle performance testsuite.
2839 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
2840 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
2841 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
2842 fstream_seek_write.cc, ifstream_extract_float.cc,
2843 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
2844 list_create_fill_sort.cc, map_create_fill.cc,
2845 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
2846 ofstream_insert_float.cc, ofstream_insert_int.cc,
2847 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
2848 wchar_t_out.cc: Split into...
2849 * testsuite/performance/20_util/allocator.cc: New.
2850 * testsuite/performance/20_util/allocator_map_thread.cc: New.
2851 * testsuite/performance/20_util/allocator_thread.cc: New.
2852 * testsuite/performance/21_strings/string_append: New.
2853 * testsuite/performance/22_locale/is_wchar_t.cc: New.
2854 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
2855 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
2856 * testsuite/performance/22_locale/wchar_t_in.cc: New.
2857 * testsuite/performance/22_locale/wchar_t_length.cc: New.
2858 * testsuite/performance/22_locale/wchar_t_out.cc: New.
2859 * testsuite/performance/23_containers/container_benchmark.cc: New.
2860 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
2861 * testsuite/performance/23_containers/map_create_fill.cc: New.
2862 * testsuite/performance/26_numerics/complex_norm.cc: New.
2863 * testsuite/performance/27_io/cout_insert_int.cc: New.
2864 * testsuite/performance/27_io/filebuf_copy.cc: New.
2865 * testsuite/performance/27_io/filebuf_sputc.cc: New.
2866 * testsuite/performance/27_io/fstream_seek_write.cc: New.
2867 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
2868 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
2869 * testsuite/performance/27_io/ifstream_getline.cc: New.
2870 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
2871 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
2873 2004-01-30 Paolo Carlini <pcarlini@suse.de>
2875 * include/bits/basic_string.tcc (_Rep::_S_create):
2876 Never allocate a string bigger than max_size(); always keep
2877 __capacity and __size in sync to avoid memory leaks at
2880 2004-01-30 Paolo Carlini <pcarlini@suse.de>
2882 * include/bits/basic_string.tcc (_S_construct(_InIterator,
2883 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
2884 the double loop, streamline.
2886 * include/bits/basic_string.tcc: Very minor tweaks.
2888 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
2890 * scripts/check_performance: Only compile with $THREAD_FLAG
2891 when test is marked to require it. Allow multiple
2892 compilations/executions of marked tests.
2893 * testsuite/testsuite_performance.h (report_performance):
2894 Report dynamic thread support status.
2895 (report_header): Likewise.
2896 * testsuite/performance/allocator.cc: Stabilize iteration
2897 count. Support more allocators. Mark each allocator test to
2898 run and report independently.
2899 * testsuite/performance/allocator_map_thread.cc: Likewise.
2900 * testsuite/performance/allocator_thread.cc: Likewise.
2902 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
2904 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
2905 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
2906 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
2907 std::get_temporary_buffer() instead of duplicating its code.
2908 Update to C++STYLE conventions.
2909 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
2910 new() instead of std::malloc().
2911 (return_temporary_buffer): Use ::operator delete() instead of
2914 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
2916 * include/bits/allocator.h: Temporary switch to new_allocator as
2917 the default to unjam bootstraps.
2919 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
2921 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
2922 * include/Makefile.in: Regenerate.
2923 * include/bits/allocator_traits.h: Remove.
2924 * include/bits/allocator.h: Remove allocator_traits.h include, and
2926 (allocator): Empty base class, inherit from the underlying allocator.
2927 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
2928 * src/allocator.cc: ...here. New. For the underlying allocators.
2929 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
2930 * config/linker-map.gnu: Remove __pool_alloc bits.
2931 * src/Makefile.am (sources): Add allocator.cc.
2932 * src/Makefile.in: Regenerate.
2933 * testsuite/20_util/allocator/1.cc: Split second test into...
2934 * testsuite/20_util/allocator/8230.cc: ...this.
2935 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
2936 typedef to use std::allocatore. Format.
2937 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
2939 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
2940 __throw_bad_alloc calls. Don't include <memory>.
2941 * include/ext/malloc_allocator.h: Remove <memory> include.
2942 * include/ext/new_allocator.h (new_allocator): Same.
2943 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
2944 declaration. Switch __alloc to _Alloc.
2945 * include/ext/hashtable.h: Remove __alloc.
2946 * include/backward/alloc.h: Only inject allocator, not
2947 implementation details.
2949 * include/ext/mt_allocator.h: Replace free with delete.
2951 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
2953 * src/globals_io.cc: Change to __gnu_internal namespace.
2954 * src/globals_locale.cc: Same.
2955 * src/locale_init.cc: Same.
2956 * src/ios_init.cc: Same.
2958 2004-01-28 Stefan Olsson <stefan@snon.net>
2960 * include/ext/mt_allocator.h: Replaced all malloc() calls with
2961 operator new(). Added support for the env variable
2962 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
2963 one in allocate() as well). Fix typos.
2965 2004-01-28 Paolo Carlini <pcarlini@suse.de>
2967 * include/bits/basic_string.h (_S_create(size_t,
2968 const _Alloc&): Change signature to take two size_type
2970 * include/bits/basic_string.tcc (_S_construct(_InIterator,
2971 _InIterator, const _Alloc&, input_iterator_tag)): Update
2973 (_S_construct(_InIterator, _InIterator, const _Alloc&,
2974 forward_iterator_tag)): Likewise.
2975 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
2976 (_M_mutate(size_type, size_type, size_type)): Don't
2977 implement the exponential growth policy, demand it to
2978 _S_create, update call and simplify.
2979 (_M_clone(const _Alloc&, size_type)): Likewise.
2980 (_S_create(size_type, size_type, const _Alloc&)): Implement
2981 the growth policy, simplify otherwise.
2983 * include/bits/basic_string.h (_Rep::operator[]): Tweak
2984 signature to take a size_type, consistently with the other
2987 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
2989 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
2990 delete declarations, add include and test variable.
2992 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
2994 * include/bits/codecvt.h, include/bits/locale_facets.h,
2995 include/bits/postypes.h, include/bits/stl_bvector.h,
2996 include/bits/stl_multiset.h, include/bits/stl_set.h,
2997 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
2998 include/std/std_complex.h: Document.
3000 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
3003 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
3004 iword/pword selector.
3005 (ios_base::iword, ios_base::pword): Use it.
3006 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
3007 iword or pword member on alloc failure.
3008 * testsuite/27_io/ios_base/storage/11584.cc: New test.
3010 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
3011 PJ Darcy <darcypj@us.ibm.com>
3013 * configure.host: Add support for *-tpf.
3014 * crossconfig.m4: Likewise.
3015 * configure: Regenerate.
3016 * config/os/tpf: New directory.
3017 * config/os/tpf/os_defines.h: New file.
3018 * config/os/tpf/ctype_base.h: Likewise.
3019 * config/os/tpf/ctype_inline.h: Likewise.
3020 * config/os/tpf/ctype_noninline.h: Likewise.
3022 2004-01-27 Paolo Carlini <pcarlini@suse.de>
3025 * include/bits/sstream.tcc: Guard use of extern template.
3027 2004-01-27 Paolo Carlini <pcarlini@suse.de>
3029 * include/bits/basic_string.tcc
3030 (basic_string(const basic_string&, size_type, size_type),
3031 basic_string(const basic_string&, size_type, size_type,
3032 const _Alloc&)): Avoid unnecessarily constructing iterators.
3034 2004-01-26 Paolo Carlini <pcarlini@suse.de>
3036 * config/locale/generic/c_locale.cc: Fix throw messages
3037 to use the __N marker.
3038 * config/locale/gnu/c_locale.cc: Likewise.
3039 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
3041 * docs/html/17_intro/C++STYLE: Likewise.
3042 * include/bits/basic_ios.tcc: Likewise.
3043 * include/bits/fstream.tcc: Likewise.
3044 * include/bits/vector.tcc: Likewise.
3045 * include/ext/ropeimpl.h: Likewise.
3046 * include/std/std_bitset.h: Likewise.
3047 * src/ios.cc: Likewise.
3048 * src/locale.cc: Likewise.
3049 * src/localename.cc: Likewise.
3051 2004-01-26 Paolo Carlini <pcarlini@suse.de>
3053 * include/bits/basic_string.h (_M_replace_aux): Use the
3054 __N marker in throw message.
3055 * include/bits/basic_string.tcc (assign(const _CharT*,
3056 size_type), insert(size_type, const _CharT*, size_type),
3057 replace(size_type, size_type, const _CharT*, size_type),
3058 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
3061 * include/bits/basic_string.h, include/bits/basic_string.tcc:
3062 Fold overlong lines, minor formatting changes.
3064 2004-01-26 Paolo Carlini <pcarlini@suse.de>
3066 * include/bits/basic_string.h (replace(iterator, iterator,
3067 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
3068 (replace(iterator, iterator, const _CharT*)): Ditto.
3069 (replace(iterator, iterator, const _CharT*, size_type)):
3070 Add missing _GLIBCXX_DEBUG_PEDASSERT.
3072 2004-01-26 Paolo Carlini <pcarlini@suse.de>
3074 * include/bits/basic_string.tcc (replace(size_type,
3075 size_type, const _CharT*, size_type)): Implement optimized
3076 in-place algorithm for non-overlapping ranges.
3077 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
3078 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
3080 * include/bits/basic_string.tcc (insert(size_type,
3081 const _CharT*, size_type)): Tweak slightly.
3083 2004-01-26 Andreas Schwab <schwab@suse.de>
3085 * config/locale/gnu/monetary_members.cc: Restore locale before
3086 rethrowing exception.
3088 2004-01-25 Paolo Carlini <pcarlini@suse.de>
3090 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
3092 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
3095 * include/bits/basic_string.tcc: Very minor tweaks.
3097 2004-01-25 Paolo Carlini <pcarlini@suse.de>
3099 * testsuite/performance/string_append.cc: Increase number
3102 2004-01-25 Paolo Carlini <pcarlini@suse.de>
3104 * include/bits/basic_string.h (erase(size_type, size_type),
3105 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
3106 instead, thus avoiding redundant check for length_error.
3108 * include/bits/basic_string.h: Tweak some comments.
3110 2004-01-24 Paolo Carlini <pcarlini@suse.de>
3112 * include/bits/basic_string.tcc (operator+(const _CharT*,
3113 const basic_string&)): No need to go through the append
3114 taking two iterators.
3116 2004-01-24 Paolo Carlini <pcarlini@suse.de>
3118 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
3119 Revert last change to use std::min: machine language is worse.
3120 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
3121 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
3122 (find_last_not_of(_CharT, size_type)): Ditto.
3124 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
3125 size_type)): Discard the value returned by _M_check.
3126 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
3127 (append(const basic_string&, size_type, size_type)): Ditto.
3128 (copy(_CharT*, size_type, size_type)): Ditto.
3129 (compare(size_type, size_type, const basic_string&)): Ditto.
3130 (compare(size_type, size_type, const basic_string&,
3131 size_type, size_type)): Ditto.
3132 (compare(size_type, size_type, const _CharT*)): Ditto.
3133 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
3135 2004-01-24 Paolo Carlini <pcarlini@suse.de>
3137 * include/bits/basic_string.h (insert(size_type,
3138 const basic_string&, size_type, size_type)): Define inline here.
3139 * include/bits/basic_string.tcc (insert(size_type,
3140 const basic_string&, size_type, size_type)): Move inline.
3142 2004-01-24 Paolo Carlini <pcarlini@suse.de>
3144 * include/bits/basic_string.h (assign(const basic_string&,
3145 size_type, size_type)): Define inline here.
3146 (replace(size_type, size_type, const basic_string&,
3147 size_type, size_type)): Ditto.
3148 (_M_replace_dispatch(iterator, iterator, _InputIterator,
3149 _InputIterator, __false_type)): Only declare.
3150 (_M_replace(iterator, iterator, _InputIterator,
3151 _InputIterator)): Remove.
3152 * include/bits/basic_string.tcc (assign(const basic_string&,
3153 size_type, size_type)): Move inline.
3154 (replace(size_type, size_type, const basic_string&,
3155 size_type, size_type)): Ditto.
3156 (_M_replace_dispatch(iterator, iterator, _InputIterator,
3157 _InputIterator, __false_type)): Define, now does also what
3158 _M_replace did before.
3159 * src/string-inst.cc (_M_replace): Don't instantiate.
3161 * include/bits/basic_string.tcc (find(const _CharT*,
3162 size_type, size_type)): Tidy.
3163 (rfind(_CharT, size_type)): Ditto.
3164 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
3165 (find_first_not_of(_CharT, size_type)): Ditto.
3166 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
3167 (find_last_not_of(_CharT, size_type)): Ditto.
3169 2004-01-23 Paolo Carlini <pcarlini@suse.de>
3172 * include/debug/bitset (operator|=): Fix typo.
3173 * testsuite/23_containers/bitset/operations/13838.cc: New.
3175 2004-01-23 Paolo Carlini <pcarlini@suse.de>
3177 * include/bits/basic_string.tcc (insert(size_type,
3178 const _CharT*, size_type __n)): Fix length_error check.
3179 (replace(size_type, size_type, const _CharT*, size_type):
3180 Ditto; call _M_replace_safe.
3181 (_M_replace_aux(size_type, size_type, size_type, _CharT):
3182 Fix length_error check.
3183 (_M_replace(iterator, iterator, _InputIterator,
3184 _InputIterator)): Ditto, tweak.
3185 (_M_replace_safe(size_type, size_type, const _CharT*,
3186 size_type)): Remove length_error check.
3188 * include/bits/basic_string.tcc (append(const basic_string&),
3189 append(const basic_string&, size_type, size_type)): Tweak
3192 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
3193 size_type)): If __n == 0 don't call traits::copy.
3195 2004-01-23 Stefan Olsson <stefan@snon.net>
3197 * include/ext/mt_allocator.h: Reduce lock contention.
3199 2004-01-23 Paolo Carlini <pcarlini@suse.de>
3202 * include/bits/fstream.tcc (underflow): Remove unused
3204 * include/bits/streambuf_iterator.h (equal): Ditto.
3205 * include/bits/locale_facets.h (_M_convert_from_char):
3208 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3211 * config/linker-map.gnu (nan): Delete.
3212 * libmath/mathconf.h (NAN, nan): Delete.
3213 * linkage.m4 (nan): Don't check for it.
3214 * libmath/nan.c: Delete file.
3216 * config.h.in, configure: Regenerate.
3218 2004-01-23 Paolo Carlini <pcarlini@suse.de>
3220 * include/bits/basic_string.h (push_back(_CharT)):
3221 Call _M_replace_aux.
3222 (insert(size_type, const basic_string&)): Trivial tweak.
3223 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
3224 (insert(iterator, _CharT)): Ditto.
3225 (erase(size_type, size_type)): Ditto.
3226 (erase(iterator)): Ditto.
3227 (erase(iterator, iterator)): Ditto.
3228 (replace(size_type, size_type, size_type, _CharT)): Ditto.
3230 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
3233 * testsuite/performance/allocator_map_thread.cc: New test.
3235 2004-01-22 Paolo Carlini <pcarlini@suse.de>
3237 * include/bits/locale_facets.tcc
3238 (money_put::do_put(..., long double)): Use the basic_string
3239 constructor for char arrays, not that for C-strings, to pass
3240 __digits to do_put(..., const string_type&): __ws isn't
3243 2004-01-22 Paolo Carlini <pcarlini@suse.de>
3245 * include/bits/basic_string.h (_M_replace_safe): Change
3246 signatures to take size_types and const _CharT*.
3247 (_M_replace_aux): Likewise, takes size_types instead of
3249 (append(size_type, _CharT)): Update call.
3250 (assign(size_type, _CharT)): Ditto.
3251 (replace(iterator, iterator, size_type, _CharT)): Ditto.
3252 (_M_replace_dispatch(iterator, iterator, _Integer,
3253 _Integer, __true_type)): Ditto.
3254 * include/bits/basic_string.tcc (assign(const _CharT*,
3256 (insert(size_type, const _CharT*, size_type)): Ditto.
3257 (replace(size_type, size_type, const _CharT*,
3259 (_M_replace(iterator, iterator, _InputIterator,
3260 _InputIterator)): Ditto.
3261 (append(const basic_string&)): Ditto.
3262 (append(const basic_string&, size_type, size_type): Ditto.
3263 (append(const _CharT*, size_type): Ditto.
3264 (_M_replace_safe, _M_replace_safe): Change definitions
3265 accordingly, simplify.
3266 * string-inst.cc (_M_replace_safe): Don't instantiate.
3268 2004-01-21 Paolo Carlini <pcarlini@suse.de>
3270 * include/bits/basic_string.tcc (append(const basic_string&)):
3271 Revert previous change.
3272 (append(const basic_string&, size_type, size_type)): Revert
3273 previous change, use _M_check and _M_limit.
3275 2004-01-21 Paolo Carlini <pcarlini@suse.de>
3277 * include/bits/basic_string.h (_M_check): Change to return
3278 a checked __pos and take an additional const char* argument.
3279 (_M_fold): Rename to _M_limit, change to return a size_type,
3280 corresponding to the __off limited to the actual length.
3281 (insert(size_type, size_type, _CharT)): Update call, call
3283 (insert(iterator, _CharT)): Call replace(iterator, iterator,
3284 size_type, _CharT) instead.
3285 (erase(size_type, size_type)): Update calls.
3286 (replace(size_type, size_type, size_type, _CharT)): Ditto.
3287 (substr(size_type, size_type)): Use _M_check.
3288 * include/bits/basic_string.tcc (basic_string(const basic_string&,
3289 size_type, size_type)): Update calls.
3290 (basic_string(const basic_string&, size_type, size_type,
3291 const _Alloc&)): Ditto.
3292 (assign(const basic_string&, size_type, size_type)): Use the
3293 new _M_check and _M_limit.
3294 (insert(size_type, const basic_string&, size_type, size_type):
3296 (insert(size_type, const _CharT*, size_type)): Ditto.
3297 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
3298 (replace(size_type, size_type, const basic_string&,
3299 size_type, size_type)): Ditto.
3300 (append(const basic_string&)): Ditto.
3301 (append(const basic_string&, size_type, size_type)): Ditto.
3302 (copy(_CharT*, size_type, size_type)): Ditto.
3303 (compare(size_type, size_type, const basic_string&)): Ditto.
3304 (compare(size_type, size_type, const basic_string&,size_type,
3306 (compare(size_type, size_type, const _CharT*)): Ditto.
3307 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
3309 2004-01-19 Stefan Olsson <stefan@snon.net>
3311 * include/ext/mt_allocator.h: If a thread, when it dies, still has
3312 memory on it's freelist this memory is not returned to global
3313 list. Simplification of deallocate so that memory is always
3314 returned to the calling thread id's freelist instead of to
3315 global. Fix typos. Add volatile where appropriate.
3317 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
3319 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
3320 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
3321 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
3323 2004-01-19 Paolo Carlini <pcarlini@suse.de>
3325 * src/debug.cc: Make sure all the names are prefixed with
3326 double (or single) underscore.
3328 2004-01-19 Paolo Carlini <pcarlini@suse.de>
3330 * src/debug.cc: Trivial formatting change.
3332 2004-01-19 Paolo Carlini <pcarlini@suse.de>
3334 * include/bits/basic_string.tcc (_S_construct(size_type,
3335 _CharT, const _Alloc&)): Remove redundant try/catch.
3336 (_M_mutate(size_type, size_type, size_type)): Ditto.
3337 (_M_clone(const _Alloc&, size_type)): Ditto.
3339 2004-01-18 Paolo Carlini <pcarlini@suse.de>
3341 * include/bits/basic_string.h (c_str()): Simplify, due to
3342 21.3.4 the internal representation is always kept null-terminated.
3343 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
3344 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
3345 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
3348 2004-01-18 Paolo Carlini <pcarlini@suse.de>
3350 * include/bits/basic_string.h (append(size_type, _CharT)):
3351 Moved inline, just call _M_replace_aux, no source iterators at
3352 risk of being clobbered.
3353 (assign(size_type, _CharT)): Call directly _M_replace_aux.
3354 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
3355 input_iterator_tag)): Remove fifth unused argument.
3356 (_M_replace_dispatch(iterator, iterator, _InputIterator,
3357 _InputIterator, __false_type)): Update call.
3358 * include/bits/basic_string.tcc (replace(size_type, size_type,
3359 const _CharT*, size_type)): Update call.
3360 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
3361 throw string literal.
3362 (_M_replace_safe(iterator, iterator, _ForwardIterator,
3363 _ForwardIterator)): Likewise.
3364 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
3365 input_iterator_tag)): Remove fifth unused argument.
3366 (append(size_type __n, _CharT __c)): Move inline.
3367 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
3368 const C*, const C*, input_iterator_tag)): Remove fifth unused
3371 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
3373 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
3374 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
3376 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
3378 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
3381 2004-01-15 Stefan Olsson <stefan@snon.net>
3383 * include/ext/mt_allocator.h: Reuse thread id's as soon as
3384 possible by changing the behaviour of thread_freelist to do
3385 push_front when threads die instead of push_back.
3387 2004-01-14 Paolo Carlini <pcarlini@suse.de>
3389 * include/bits/locale_facets.h (struct __numpunct_cache):
3390 Add member _M_grouping_size, caching the length of _M_grouping.
3391 (__numpunct_cache<>::_M_cache): Assign the latter.
3392 (__verify_grouping): Move declaration...
3393 * include/bits/locale_facets.tcc (__verify_grouping):
3394 ... here, change signature to take a const char* and a size_t
3395 for the grouping; not a template anymore.
3396 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
3397 Likewise change signature and tweak consistently.
3398 (num_get::_M_extract_float, num_get::_M_extract_int,
3399 num_put::_M_insert_int, num_put::_M_insert_float,
3400 money_get::do_get(string_type&), money_get::do_put(string_type)):
3402 * config/locale/generic/numeric_members.cc
3403 (numpunct<>::_M_initialize_numpunct): Assign the new member.
3404 * config/locale/gnu/numeric_members.cc
3405 (numpunct<>::_M_initialize_numpunct): Likewise.
3406 * src/locale-inst.cc (__add_grouping): Tweak signature.
3407 (__verify_grouping): Don't instantiate, not a template anymore.
3409 * include/bits/locale_facets.h: Rename _M_truename_len ->
3410 _M_truename_size, _M_falsename_len -> _M_falsename_size.
3411 * include/bits/locale_facets.tcc: Likewise.
3412 * config/locale/generic/numeric_members.cc: Likewise.
3413 * config/locale/gnu/numeric_members.cc: Likewise.
3415 2004-01-14 Stefan Olsson <stefan@snon.net>
3417 * include/ext/mt_allocator.h: Fixups.
3418 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
3419 * testsuite/performance/allocator_thread.cc: Same.
3421 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
3423 * testsuite/performance/ifstream_extract_float.cc: Add higher
3425 * testsuite/performance/ofstream_insert_float.cc: Same.
3427 2004-01-13 Paolo Carlini <pcarlini@suse.de>
3429 * src/locale-misc-inst.cc (__convert_from_v(long),
3430 __convert_from_v(unsigned long), __convert_from_v(long long),
3431 __convert_from_v(unsigned long long)): Remove, unused.
3433 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
3435 * testsuite/performance/ifstream_extract_float.cc: New.
3436 * testsuite/performance/ofstream_insert_float.cc: Float generation
3439 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
3440 * 20_util/auto_ptr/1.cc: ...this.
3441 * 20_util/auto_ptr/2.cc: Same.
3442 * 20_util/auto_ptr/3.cc: Same.
3443 * 20_util/auto_ptr/3946.cc: Same.
3444 * 20_util/auto_ptr/4.cc: Same.
3445 * 20_util/auto_ptr/5.cc: Same.
3446 * 20_util/auto_ptr/6.cc: Same.
3447 * 20_util/auto_ptr/7.cc: Same.
3448 * 20_util/auto_ptr/assign_neg.cc
3449 * 20_util/pairs.cc: Break into...
3450 * 20_util/pair/1.cc: ...this.
3451 * 20_util/pair/2.cc: Same.
3452 * 20_util/pair/3.cc: Same.
3453 * 20_util/pair/4.cc: Same.
3455 2004-01-13 Paolo Carlini <pcarlini@suse.de>
3457 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
3458 Set correctly just basefield, the only group that matters.
3460 2004-01-13 Paolo Carlini <pcarlini@suse.de>
3462 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
3463 (_Rope_rep_base): Inherit directly from the rope allocator;
3464 use rebinding instead of _Alloc_traits; pick up data member
3465 from _Rope_rep_alloc_base.
3466 (_Rope_alloc_base): Eliminate.
3467 (_Rope_base): Inherit directly from the rope allocator; use
3468 rebinding instead of _Alloc_traits; pick up data member from
3470 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
3471 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
3473 2004-01-13 Paolo Carlini <pcarlini@suse.de>
3476 * include/bits/basic_string.tcc (compare(size_type, size_type,
3477 const _CharT*, size_type)): Implement correctly the resolution
3478 of DR 5: basically, s is a char array, -not- a C string.
3479 * include/bits/basic_string.h: Tweak some comments.
3480 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
3481 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
3483 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
3485 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
3488 2004-01-12 Paolo Carlini <pcarlini@suse.de>
3490 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
3492 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
3495 2004-01-12 Paolo Carlini <pcarlini@suse.de>
3497 * include/bits/locale_facets.h (struct __numpunct_cache):
3498 Add members _M_truename_len and _M_falsename_len, caching
3499 the lengths of _M_truename and _M_falsename.
3500 (__numpunct_cache<>::_M_cache): Assign the latter.
3501 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
3502 num_put::do_put(bool)): Use the new members, thus avoiding
3503 computing string lengths again and again.
3504 * config/locale/generic/numeric_members.cc
3505 (numpunct<>::_M_initialize_numpunct): Assign the new members.
3506 * config/locale/gnu/numeric_members.cc
3507 (numpunct<>::_M_initialize_numpunct): Likewise.
3509 2004-01-12 Mark Mitchell <mark@codesourcery.com>
3511 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
3512 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
3514 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
3515 and remove Cygwin XFAIL.
3516 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
3517 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
3518 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
3519 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
3521 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
3522 * testsuite/27_io/objects/char/7.cc: Likewise.
3523 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
3524 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
3525 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
3527 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3529 * include/std/std_complex.h (std::complex<>::real): Return a
3530 reference. Add non-const overload.
3531 (std::complex<>::real): Likewise.
3532 (std::real): Likewise.
3533 (std::imag): Likewise.
3534 (std::operator+): Tidy.
3535 (std::operator-): Likewise.
3536 (std::operator*): Likewise.
3537 (std::operator/): Likewise.
3538 (std::operator>>): Likewise.
3540 2004-01-11 Paolo Carlini <pcarlini@suse.de>
3543 * include/bits/fstream.tcc (imbue): Exploit the external
3544 buffer to imbue 'on the fly' a new locale and convert its
3545 remainder with the new codecvt facet.
3546 (underflow): Tweak slightly to deal with this special case.
3547 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
3548 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
3549 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
3550 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
3551 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
3553 2004-01-10 Paolo Carlini <pcarlini@suse.de>
3555 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
3558 2004-01-10 Paolo Carlini <pcarlini@suse.de>
3561 * include/bits/locale_classes.h (class locale): Fix category
3563 * testsuite/22_locale/locale/13630.cc: Add.
3565 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3567 * include/bits/locale_facets.h: Make a name really dependent. This
3568 will be needed when Core Issue 224 is implemented.
3570 2004-01-09 Paolo Carlini <pcarlini@suse.de>
3572 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
3573 * testsuite/performance/allocator_thread.cc: Likewise.
3575 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
3577 * crossconfig.m4: Add LFS, io bits to linux cross config.
3578 * acconfig.h: Remove obsolete bits, reorder.
3579 * config.h.in: Regenerate.
3583 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
3585 * include/bits/stl_list.h:
3586 * include/bits/list.tc:
3588 Performance enhancements for destructor, push_front(),
3589 push_back(), pop_front(), pop_back(), sort()
3590 Eliminated static_casts where possible.
3591 Moved code out of header files into new src/list.cc
3592 implementation file for library where possible.
3593 Remove inheritance from iterator class and create separate
3594 classes for non-constant and constant iterators.
3595 * include/bits/stl_tree.h (_Rb_tree class):
3597 Only erase contents in destructor.
3598 Eliminate unnecessary initialization in assignment operator.
3599 Optimize for the nominal case by not checking whether
3600 container is empty in clear().
3601 Re-order test in _M_insert() to improve performance.
3602 Move initialization of new node's left & right pointers to
3603 src/tree.cc to where new node's colour is initialized
3604 and to reduce the amount of inline code.
3605 Use _M_leftmost() and _M_end() to improve readability where
3607 Create separate classes for non-constant and constant
3608 iterators to clarify code, avoid extra template parameters and
3609 casting away constness.
3611 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
3613 * src/Makefile.am (sources): Add list.cc, tree.cc.
3614 * src/stl_tree.cc: Move to...
3615 * src/tree.cc: ...here.
3617 * config/linker-map.gnu: Tweaks.
3618 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
3619 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
3621 * bits/stl_vector.h: Column wrap comments.
3623 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
3625 (re-open) PR libstdc++/12658
3626 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
3627 (locale::global): Likewise.
3629 2004-01-07 Paolo Carlini <pcarlini@suse.de>
3631 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
3632 Remove redundant #include.
3633 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
3634 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
3635 re-enable normal testing.
3636 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
3638 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
3639 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
3641 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
3643 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
3645 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
3647 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
3649 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
3651 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
3653 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
3654 More properly, #include <locale>.
3655 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
3656 Remove redundant #include.
3657 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
3658 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
3659 redundant DejaGnu directive.
3660 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
3663 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
3664 Stefan Olsson <stefan@snon.net>
3666 * scripts/check_performance: Use -pthread.
3667 * testsuite/performance/allocator.cc: Tweaks, add list.
3668 * testsuite/performance/allocator_thread.cc: New.
3670 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
3672 * include/bits/locale_facets.h: Document public classes and
3674 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
3677 2004-01-06 Paolo Carlini <pcarlini@suse.de>
3679 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
3680 Remove redundant #includes.
3681 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
3683 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
3685 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
3686 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
3687 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
3688 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
3689 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
3690 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
3691 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
3692 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
3693 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
3694 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
3695 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
3696 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
3697 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
3698 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
3699 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
3701 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
3703 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
3705 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
3707 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
3709 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
3710 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
3711 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
3713 2004-01-04 Paolo Carlini <pcarlini@suse.de>
3715 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
3716 Remove redundant #includes.
3717 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
3719 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
3721 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
3723 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
3725 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
3727 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
3729 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
3731 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
3733 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
3735 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
3737 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
3739 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3742 2004-01-04 Mark Mitchell <mark@codesourcery.com>
3745 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
3747 * testsuite/27_io/basic_fstream/4.cc: Likewise.
3748 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
3749 * testsuite/27_io/basic_ios/4.cc: Likewise.
3750 * testsuite/27_io/basic_iostream/4.cc: Likewise.
3751 * testsuite/27_io/basic_istream/4.cc: Likewise.
3752 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
3753 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
3754 * testsuite/27_io/basic_ostream/4.cc: Likewise.
3755 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
3756 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
3757 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
3759 2004-01-04 Paolo Carlini <pcarlini@suse.de>
3761 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
3762 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
3763 always use double underscored names.
3764 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
3766 * include/bits/locale_facets.h (struct __numpunct_cache):
3767 Dimension _M_atoms_out and _M_atoms_in one position smaller.
3768 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out