]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
i386.h (TARGET_NOCONA): New macro.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
354d4c68
PC
12004-04-01 Paolo Carlini <pcarlini@suse.de>
2
3 * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
4 Streamline the second half, wrapping it in a single
5 '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
6 conditionals inside loops.
7
2ae6e982
PC
82004-04-01 Paolo Carlini <pcarlini@suse.de>
9
10 PR libstdc++/14775
11 * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
12 * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
13 GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
14 to _GLIBCXX_RES_LIMITS.
15 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
16 HAVE_LIMIT_*.
17 * testsuite/testsuite_hooks.h: Declare set_file_limit.
18 * testsuite/testsuite_hooks.cc: Define it, using getrlimit
19 and setrlimit(RLIMIT_FSIZE).
20 * testsuite/27_io/fpos/14775.cc: New.
21 * config.h.in: Regenerate.
22 * configure: Likewise.
23
e004c331
PC
242004-03-31 Paolo Carlini <pcarlini@suse.de>
25
26 * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
27 In v3 uses of sscanf, the special floating-point numbers INF,
28 INFINITY, etc., cannot occur in input, therefore, if the latter
29 is too large, ERANGE is always stored in errno, no need of finitel.
30
06ce7726
BK
312004-03-30 Benjamin Kosnik <bkoz@redhat.com>
32
33 PR libstdc++/14783
34 * include/bits/stl_tree.h: Adjust initialization list order.
35
7be1c3fb
LR
362004-03-29 Loren J. Rittle <ljrittle@acm.org>
37
38 * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
39
63041e68
PC
402004-03-29 Paolo Carlini <pcarlini@suse.de>
41
42 * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
43 on allocator behavior, the memory pointed by data2 may well be not
44 trashed.
45
f26e5597
CB
462004-03-28 Chavdar Botev <cbotev@yahoo.com>
47
48 PR libstdc++/14245
49 * include/bits/basic_string.tcc
50 (basic_string::basic_string(const basic_string&)): Pass to
51 _Rep::_M_grab the actual allocator of the string being constructed
52 not the default constructed one.
53
a5f105b5
BK
542004-03-27 Benjamin Kosnik <bkoz@redhat.com>
55
56 libstdc++ PR/13598
57 * config/locale/ieee_1003.1-2001/codecvt_specializations.h
58 (__enc_traits::_M_destroy): New.
59 (__enc_traits::~__enc_traits): Use it.
60 (__enc_traits::operator=): Use _M_destroy, _M_init.
61 (__enc_traits::__enc_traits): Same.
62
632004-03-27 Petur Runolfsson <peturr02@ru.is>
64
65 * testsuite/ext/enc_filebuf/char/13598.cc: New.
66
6f52a889
PC
672004-03-27 Paolo Carlini <pcarlini@suse.de>
68
69 * include/ext/mt_allocator.h: Uglify consistently names of
70 variables, members and classes; tidy.
71
722004-03-27 Dhruv Matani <dhruvbird@gmx.net>
73
74 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
75 Deallocation loop rewrote.
76
dd95381f
PC
772004-03-26 Paolo Carlini <pcarlini@suse.de>
78
79 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
80 __mt_alloc<>::deallocate): Protect two instances of
81 block->thread_id with __GTHREADS.
82
8bd22a3c
BK
832004-03-25 Gawain Bolton <gp.bolton@computer.org>
84
85 * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
86 default argument in constructors.
87 (_Rb_tree::_M_empty_initialize): Remove.
88
892004-03-25 Benjamin Kosnik <bkoz@redhat.com>
90
91 * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
92 * testsuite/23_containers/set/operators/1_neg.cc: Same.
93
942004-03-25 Dhruv Matani <dhruvbird@gmx.net>
95
96 * include/bits/cpp_type_traits.h: Changed __is_pod
97 completely. Now, it does not use any of the previous type_traits
98 to detect the pod types, and it also detects function pointers as
99 POD types.
100
101 * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
102 which encapsulates the internal implementation of an rb_tree. Made
103 the allocator a base class of this class instead of the rb_tree,
104 which was not conforming. This _Rb_tree_impl class is also
105 specialized on whether the _Compare parameter is a POD type or
106 not. If so, then it maintains the comparison function as a data
107 member, otherwise it makes the _Compare parameter a base class of
108 itself. Also, _M_key_compare is now a function instead of a data
109 member, so that the above trick can work properly. Delegated the
110 initialization of the other data members to this newly created
111 class. Also, now other member functions of rb_tree must refer to
112 _M_key_compare as _M_impl._M_key_compare(). The other data members
113 (*) can be referenced to as _M_impl.(*), where
114 (*) includes _M_header, and _M_node_count.
115
90ceccd4
PC
1162004-03-25 Paolo Carlini <pcarlini@suse.de>
117
118 * include/ext/mt_allocator.h (__mt_alloc<>::tune):
119 Add _M_min_bin, the size in bytes of the smallest bin.
120 (__mt_alloc<>::tune()): Tweak accordingly.
121 (__mt_alloc<>::tune(size_t, ...)): Likewise.
122 (__mt_alloc<>::block_record): Change to a union: members next
123 and thread_id are never used at the same time.
124 (__mt_alloc<>::allocate): Update consistently.
125 (__mt_alloc<>::deallocate): Likewise.
126 (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
127 _S_bin_size for the configurable _M_min_size.
128
03f9ea44
DM
1292004-03-25 Dhruv Matani <dhruvbird@gmx.net>
130
131 * include/bits/stl_list.h: Created a _List_impl class and made it
132 derive from the allocator, instead of the list deriving from the
133 allocator class, which was not conformant. Changed all references
134 from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
135 as above (changed all references to the concerned variables).
136
1372004-03-25 Dhruv Matani <dhruvbird@gmx.net>
138
139 * include/bits/stl_deque.h: Created a _Deque_impl class and made
140 it derive from the allocator, instead of the deque deriving from
141 the allocator class, which was not conformant. Changed all
142 references to the _M_start, _M_finish, _M_map, and _M_map_size to
143 _M_impl.*.
144 (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
145 qualification in 2 places where it was missing.
146 (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
147 above.
148 * include/bits/deque.tcc: Same as above (changed all references to
149 the concerned variables).
150
1512004-03-25 Dhruv Matani <dhruvbird@gmx.net>
152
153 * include/bits/stl_vector.h: Created a _Vector_impl class and made
154 it derive from the allocator, instead of the _Vector_base class,
155 deriving from the allocator which was not conformant. Changed all
156 references to the _M_start, _M_finish, and _M_end_of_storage to
157 _M_impl.*.
158 * include/bits/vector.tcc: Same as above (changed all references
159 to the concerned variables).
160
1612004-03-25 Dhruv Matani <dhruvbird@gmx.net>
162
163 * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
164 * testsuite/23_containers/list/cons/clear_allocator.cc: New.
165 * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
166
58c95921
DM
1672004-03-24 Dhruv Matani <dhruvbird@gmx.net>
168
03f9ea44
DM
169 * include/ext/malloc_allocator.h: Fixed the construct function to
170 call global placement new instead of assignment. Added a check
171 after the return from malloc to check whether returned pointer is
172 NULL, and if so, throw std::bad_alloc().
173 * include/ext/debug_allocator.h: Added a check in the deallocate
174 function to check whether the user has passed a NULL pointer or
175 not.
58c95921 176
8367b9c1
BK
1772004-03-24 Benjamin Kosnik <bkoz@redhat.com>
178
179 * docs/html/20_util/allocator.html: Add bitmap_allocator links.
180
d62c1a1f
AS
1812004-03-24 Andreas Schwab <schwab@suse.de>
182
183 * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
184 warning from IA64 assembler.
185
71f9a9d1
DM
1862004-03-24 Dhruv Matani <dhruvbird@gmx.net>
187
188 * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
189 function call __builtin_ctz instead of the while loop.
190 (allocate) -> If condition has __builtin_expect.
191 (deallocate) -> Ditto.
192 Renamed a few left-over variables and typedefs according to the
193 C++STYLE mentioned in the documentation.
194 Protected calls to __gthread* by __gthread_active_p(), whose value
195 is cached in the local variable __threads_active.
196
b4a76c01
FY
1972004-03-24 Felix Yen <fwy@alumni.brown.edu>
198
199 * testsuite/performance/20_util/allocator/producer_consumer.cc:
200 Use linear algorithm for producer.
201
affb18b2
PC
2022004-03-24 Paolo Carlini <pcarlini@suse.de>
203
204 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
205 __mt_alloc<>::deallocate): Avoid redundant conditionals.
206
586b5f20
BK
2072004-03-23 Benjamin Kosnik <bkoz@redhat.com>
208
209 * include/bits/locale_facets.h: Tweaks for 80 column.
210 (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
211 (__moneypunct_cache::_M_cache): Same.
212 (num_get): Don't inherit from __num_base.
213 (num_put): Same.
214 (money_get): Don't inherit from money_base.
215 (money_put): Same.
216 (__timepunct::_M_am_pm_format): New.
217 (time_get::_M_extract_num): Return iterator, use ios_base as argument.
218 (time_get::_M_extract_name): Same.
219 (time_get::_M_extract_via_format): Same.
220 * include/bits/locale_facets.tcc: Tweaks for 80 column.
221 Use _M_getloc instead of getloc.
222 * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
223 * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
224 * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
225
29d4adf4
PC
2262004-03-22 Paolo Carlini <pcarlini@suse.de>
227
228 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
229 * configure: Regenerate.
230 * config/allocator/pool_allocator_base.h: New.
231 * include/ext/pool_allocator.h: Convert to a standard-conforming
232 allocator.
233 * src/allocator.cc: Tweak instantiations.
234 * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
235 * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
236 * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
237 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
238 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
239 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
240
fea41ef9
HPN
2412004-03-22 Hans-Peter Nilsson <hp@axis.com>
242
243 * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
244 inline" and attribute-unused. Qualify parameter __mem with
245 "volatile".
246 (__exchange_and_add): Ditto. Add back memory clobber to asm.
247
9c024d9c
PC
2482004-03-20 Paolo Carlini <pcarlini@suse.de>
249
250 * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
251 Remove junk.
252 * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
253 Likewise.
254 * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
255 Likewise.
256 * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
257 Likewise.
258 * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
259 Likewise.
260 * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
261 Likewise.
262 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
263 Likewise.
264 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
265 Likewise.
266 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
267 Likewise.
268 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
269 Likewise.
270
2787b59a
PC
2712004-03-20 Paolo Carlini <pcarlini@suse.de>
272
273 * include/std/std_valarray.h: Document DR389 [Ready].
274 * docs/html/ext/howto.html: Add an entry for DR389.
275
1b1a632b
ME
2762004-03-19 Michael Eager <eager@mvista.com>
277
278 * config/cpu/mips/atomicity.h: Prevent reg loads between LL and
279 SC instructions.
280
28f2a265
PC
2812004-03-19 Paolo Carlini <pcarlini@suse.de>
282
283 * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
284 static_cast-s.
285 * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
286 * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
287 * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
288 * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
289 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
290 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
291 * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
292 * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
293 * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
294
8268bba6
PC
2952004-03-19 Paolo Carlini <pcarlini@suse.de>
296 Petur Runolfsson <peturr02@ru.is>
297
298 PR libstdc++/12077
299 * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
300 no way to find out the conversion used by the underlying FILE*.
301 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
302 * testsuite/27_io/objects/char/9.cc: Tweak.
303
59d35672
PC
3042004-03-19 Paolo Carlini <pcarlini@suse.de>
305
306 PR libstdc++/14648
307 * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
308 memory allocation/deallocation calls.
309 * testsuite/ext/14648.cc: New.
310
ab7ac222
PS
3112004-03-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
312
313 PR libstdc++/14647
314 * include/backward/bvector.h (bit_vector): Allocator is in std
315 namespace.
316
d54bc1d8
PE
3172004-03-19 Phil Edwards <phil@codesourcery.com>
318
319 * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV,
320 not libiconv. SUBST this variable as well.
321 * testsuite/Makefile.am (site.exp): New target, based on that
322 created by automake. Also set libiconv.
323
324 * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
325 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
326 testsuite/Makefile.in: Regenerate.
327
87599abd
BK
3282004-03-16 Benjamin Kosnik <bkoz@redhat.com>
329
330 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
331 new_allocator for all hosts.
332 * configure: Regenerate.
333
e20036e2
PC
3342004-03-16 Paolo Carlini <pcarlini@suse.de>
335
336 * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
337 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
338
33674f00
PC
3392004-03-15 Paolo Carlini <pcarlini@suse.de>
340
341 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
342 Adjust the logic underlying the parsing of symbol to deal
343 correctly with an optional sign component (i.e., when either
344 negative_sign or positive_sign is empty)
345 * testsuite/22_locale/money_get/get/char/19.cc: New.
346 * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
347
3482004-03-15 Paolo Carlini <pcarlini@suse.de>
349
350 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
351 Do not accept an incomplete currency symbol.
352 * testsuite/22_locale/money_get/get/char/18.cc: New.
353 * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
354
8b0d6051
BK
3552004-03-13 Benjamin Kosnik <bkoz@redhat.com>
356
357 * config/allocator: New.
358 * config/allocator/bitmap_allocator_base.h: New.
359 * config/allocator/malloc_allocator_base.h: New.
360 * config/allocator/mt_allocator_base.h: New.
361 * config/allocator/new_allocator_base.h: New.
362 * include/bits/allocator.h: Include c++allocator.h.
363 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
364 * aclocal.m4: Regenerate.
365 * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
366 * configure: Regenerate.
367 * include/Makefile.am (host_headers_extra): Add c++allocator.h.
368 * include/Makefile.in: Regenerate.
369 * docs/html/configopts.html: Add enable-libstdcxx-allocator.
370
eef56029
BK
3712004-03-12 Benjamin Kosnik <bkoz@redhat.com>
372
373 * include/bits/allocator.h: Revert.
374
d4cd08dd
PC
3752004-03-12 Paolo Carlini <pcarlini@suse.de>
376
377 * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
378 * include/bits/gslice_array.h: Add comment about DR 253.
379 * include/bits/indirect_array.h: Likewise.
380 * include/bits/mask_array.h: Likewise.
381 * include/bits/slice_array.h: Likewise.
382
ce7df2fd
BK
3832004-03-12 Benjamin Kosnik <bkoz@redhat.com>
384
385 * testsuite/20_util/allocator/14176.cc: New.
386 * include/ext/mt_allocator.h: Formatting fixes.
387
009368db
DM
3882004-03-11 Dhruv Matani <dhruvbird@HotPOP.com>
389
390 * include/Makefile.am (ext_headers): Add
391 ${ext_srcdir}/bitmap_allocator.h .
392 * include/Makefile.in: Regenerate.
393 * docs/html/ext/ballocator_doc.txt: New file.
394 * include/ext/bitmap_allocator.h: New file.
ce7df2fd
BK
395 * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
396 test.
009368db
DM
397 * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
398 * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
399 test for the bitmap_allocator<>.
400 * testsuite/performance/20_util/allocator/insert.cc: Likewise.
401 * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
402 * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
403
c6feb697
PC
4042004-03-11 Paolo Carlini <pcarlini@suse.de>
405
406 * include/std/std_complex.h (pow(const complex&, const _Tp&),
407 pow(const _Tp&, const complex&), pow(const complex&,
408 const complex&)): Fully qualify with std:: a few calls.
409 * testsuite/26_numerics/complex/13450.cc: Minor tweak.
410
e3628001 4112004-03-11 Steven Bosscher <stevenb@suse.de>
b7c34954
SB
412
413 PR libstdc++/11706
414 * include/c_std/cmath.tcc (__cmath_power): Define inline.
415
8ab705be
KC
4162004-03-10 Kelley Cook <kcook@gcc.gnu.org>
417
418 * configure.ac: Bump AC_PREREQ to 2.59.
419
f69535d2
PC
4202004-03-10 Paolo Carlini <pcarlini@suse.de>
421
422 * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
423
52ddaf41
PK
4242004-03-10 Paul Kienzle <pkienzle@nist.gov>
425 Paolo Carlini <pcarlini@suse.de>
426
427 PR libstdc++/13450
428 * include/std/std_complex.h (pow(const complex&, const _Tp&),
429 pow(const _Tp&, const complex&)): Use cmath pow only when safe.
430 * testsuite/26_numerics/complex/13450.cc: New.
431
432 * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
433 * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
434
ecc7568d
JQ
4352004-03-10 Jerry Quinn <jlquinn@optonline.net>
436
52ddaf41 437 PR libstdc++/3247
ecc7568d
JQ
438 * include/bits/gslice_array.h (gslice_array()): Make public.
439 (operator=(gslice_array)): Make public. Implement.
440 * include/bits/indirect_array.h (indirect_array()): Make public.
441 * include/bits/mask_array.h (mask_array()): Make public.
442 (operator=(mask_array)): Make public. Implement.
443 * include/bits/valarray_array.tcc (__valarray_copy):
444 Comment. Add versions for gslice_array and mask_array.
445 * testsuite/26_numerics/valarray_subset_assignment.cc: New test.
446
6dde938c
BK
4472004-03-09 Benjamin Kosnik <bkoz@redhat.com>
448
449 * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
450 non-weak systems.
451 * testsuite/23_containers/vector/modifiers/swap.cc: Same.
452 * testsuite/23_containers/set/modifiers/swap.cc: Same.
453 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
454 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
455 * testsuite/23_containers/map/modifiers/swap.cc: Same.
456 * testsuite/23_containers/list/modifiers/swap.cc: Same.
457
458 * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
459
f1c4ca32
BK
4602004-03-08 Benjamin Kosnik <bkoz@redhat.com>
461
462 PR c++/13658
463 * testsuite/23_containers/deque/modifiers/swap.cc: New.
464 * testsuite/23_containers/list/modifiers/swap.cc: New.
465 * testsuite/23_containers/map/modifiers/swap.cc: New.
466 * testsuite/23_containers/multimap/modifiers/swap.cc: New.
467 * testsuite/23_containers/multiset/modifiers/swap.cc: New.
468 * testsuite/23_containers/set/modifiers/swap.cc: New.
469 * testsuite/23_containers/vector/modifiers/swap.cc: New.
470
5a66cfb2
PR
4712004-03-08 Petur Runolfsson <peturr02@ru.is>
472
473 PR libstdc++/12658
474 * testsuite/22_locale/locale/cons/12658_thread.cc: New.
475
1d4eb925
PC
4762004-03-08 Paolo Carlini <pcarlini@suse.de>
477
478 * docs/html/ext/howto.html: Add entry for DR 103 [WP].
479 * include/bits/stl_multiset.h: Add comment about DR 103.
480 * include/bits/stl_set.h: Likewise.
481
f1c89270
PC
4822004-03-08 Paolo Carlini <pcarlini@suse.de>
483
484 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
485 The value _space_ indicates that at least one space is required
486 at that position.
487 * testsuite/22_locale/money_get/get/char/17.cc: New.
488 * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
489
490 * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
491 * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
492
493 * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
494 Remove redundant conditional on __str.size().
495
f5fb3886
BK
4962004-03-08 Benjamin Kosnik <bkoz@redhat.com>
497
498 * include/bits/allocator.h: Switch defaults to mt_alloc.
499
c0bec71b
BK
5002004-03-06 Benjamin Kosnik <bkoz@redhat.com>
501
502 * include/ext/mt_allocator.h (_S_initialize): If
503 !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
504
f83295ba
BK
5052004-03-06 Benjamin Kosnik <bkoz@redhat.com>
506
507 PR libstdc++/12658
508 * src/locale_init.cc (locale::locale): Lock critical regions with
509 external mutexes.
510 (locale::global): Same.
511 * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
512 Add in once bits for cases without __GTHREAD_MUTEX_INIT.
513 (__glibcxx_mutex_lock): Same.
514
515 * config/cpu/generic/atomicity.h: Remove
516 _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
517 * src/misc-inst.cc: Move all locking bits out of this file.
518
519 * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
520 * src/misc-inst.cc: Same.
521 * config/cpu/hppa/atomicity.h: Same.
522
523 * config/linker-map.gnu: Remove types in the signature of atomic
524 exports, as they may vary.
525
0c2cc7b3
PC
5262004-03-06 Paolo Carlini <pcarlini@suse.de>
527
528 * include/bits/locale_facets.tcc: Tweak the comment preceding
529 has_facet: doesn't throw.
530
73da19bb
PC
5312004-03-06 Paolo Carlini <pcarlini@suse.de>
532
533 * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
534 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
535 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
536 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
537 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
538 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
539 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
540 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
541
ce345590
PC
5422004-03-06 Paolo Carlini <pcarlini@suse.de>
543
544 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
545 num_get<>::_M_extract_int, num_get<>::do_get(bool&),
546 __pad<>::_S_pad): Prefer plain operator== to traits::eq().
547 * testsuite/testsuite_character.h (struct __gnu_test::character):
548 Provide operator==.
549 * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
550 Likewise.
551
35bd3c28
PC
5522004-03-05 Paolo Carlini <pcarlini@suse.de>
553
554 * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
555
80e39f4a
BK
5562004-03-04 Benjamin Kosnik <bkoz@redhat.com>
557
558 * testsuite/23_containers/multiset/insert/1.cc: Test result string.
559
560 * testsuite/23_containers/bitset/invalidation/1.cc: Main always
561 returns 0.
562 * testsuite/23_containers/deque/invalidation/4.cc: Same.
563 * testsuite/23_containers/list/invalidation/1.cc: Same.
564 * testsuite/23_containers/list/invalidation/2.cc: Same.
565 * testsuite/23_containers/list/invalidation/3.cc: Same.
566 * testsuite/23_containers/list/invalidation/4.cc: Same.
567 * testsuite/23_containers/map/invalidation/2.cc: Same.
568 * testsuite/23_containers/multimap/invalidation/1.cc: Same.
569 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
570 * testsuite/23_containers/multiset/invalidation/1.cc: Same.
571 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
572 * testsuite/23_containers/set/invalidation/1.cc: Same.
573 * testsuite/23_containers/set/invalidation/2.cc: Same.
574 * testsuite/23_containers/vector/invalidation/1.cc: Same.
575 * testsuite/23_containers/vector/invalidation/2.cc: Same.
576 * testsuite/23_containers/vector/invalidation/3.cc: Same.
577 * testsuite/23_containers/vector/invalidation/4.cc: Same.
578
2aa89cbb
PC
5792004-03-04 Paolo Carlini <pcarlini@suse.de>
580
581 * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
582 CXXFLAGS_save.
583 * testsuite/lib/libstdc++.exp: Don't add it conditionally to
584 DEFAULT_CXXFLAGS.
585 * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
586 from the dg-options.
587 * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
588 * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
589 * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
590 * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
591 * testsuite/23_containers/vector/resize/1.cc: Likewise.
592 * testsuite/26_numerics/complex_value.cc: Likewise.
593 * testsuite/27_io/ios_base/storage/1.cc: Likewise.
594 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
595 * testsuite/27_io/ios_base/storage/3.cc: Likewise.
596 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
597 * testsuite/27_io/objects/char/5.cc: Likewise.
598 * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
599 * testsuite/backward/11460.cc: Likewise.
600 * testsuite/thread/pthread7-rope.cc: Likewise.
601
602 * testsuite/21_strings/basic_string/compare/char/1.cc: Add
603 missing test variable.
604 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
605 missing test variable.
606
f90e600a
BK
6072004-03-04 Benjamin Kosnik <bkoz@redhat.com>
608
609 * testsuite/20_util/allocator/1.cc: Provide explicit
610 instantiations for non-weak systems.
611 * testsuite/20_util/binders.cc: Same.
612 * testsuite/20_util/allocator/8230.cc: Same.
613 * testsuite/20_util/allocator/10378.cc: Same.
614 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
615 * testsuite/22_locale/ctype/is/char/2.cc: Same.
616 * testsuite/thread/pthread7-rope.cc: Same.
617 * testsuite/thread/pthread6.cc: Same.
618 * testsuite/thread/pthread5.cc: Same.
619 * testsuite/thread/pthread4.cc: Same.
620 * testsuite/thread/pthread1.cc: Same.
621 * testsuite/ext/rope.cc: Same.
622 * testsuite/ext/hash_set.cc: Same.
623 * testsuite/ext/hash_map.cc: Same.
624 * testsuite/ext/concept_checks.cc: Same.
625 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
626 * testsuite/25_algorithms/unique/2.cc: Same.
627 * testsuite/25_algorithms/unique/1.cc: Same.
628 * testsuite/25_algorithms/rotate.cc: Same.
629 * testsuite/25_algorithms/min_max.cc: Same.
630 * testsuite/25_algorithms/equal.cc: Same.
631 * testsuite/24_iterators/rel_ops.cc: Same.
632 * testsuite/24_iterators/iterator.cc: Same.
633 * testsuite/24_iterators/insert_iterator.cc: Same.
634 * testsuite/24_iterators/front_insert_iterator.cc: Same.
635 * testsuite/24_iterators/back_insert_iterator.cc: Same.
636 * testsuite/23_containers/vector/resize/1.cc: Same.
637 * testsuite/23_containers/vector/modifiers/2.cc: Same.
638 * testsuite/23_containers/vector/modifiers/1.cc: Same.
639 * testsuite/23_containers/vector/invalidation/4.cc: Same.
640 * testsuite/23_containers/vector/invalidation/3.cc: Same.
641 * testsuite/23_containers/vector/invalidation/2.cc: Same.
642 * testsuite/23_containers/vector/invalidation/1.cc: Same.
643 * testsuite/23_containers/vector/element_access/1.cc: Same.
644 * testsuite/23_containers/vector/cons/6513.cc: Same.
645 * testsuite/23_containers/vector/cons/3.cc: Same.
646 * testsuite/23_containers/vector/cons/2.cc: Same.
647 * testsuite/23_containers/vector/cons/1.cc: Same.
648 * testsuite/23_containers/vector/capacity/8230.cc: Same.
649 * testsuite/23_containers/vector/capacity/1.cc: Same.
650 * testsuite/23_containers/vector/bool/6886.cc: Same.
651 * testsuite/23_containers/stack/members/7158.cc: Same.
652 * testsuite/23_containers/set/invalidation/2.cc: Same.
653 * testsuite/23_containers/set/invalidation/1.cc: Same.
654 * testsuite/23_containers/queue/members/7157.cc: Same.
655 * testsuite/23_containers/priority_queue/members/7161.cc: Same.
656 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
657 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
658 * testsuite/23_containers/multiset/insert/1.cc: Same.
659 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
660 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
661 * testsuite/23_containers/map/operators/1.cc: Same.
662 * testsuite/23_containers/map/invalidation/2.cc: Same.
663 * testsuite/23_containers/map/invalidation/1.cc: Same.
664 * testsuite/23_containers/map/insert/1.cc: Same.
665 * testsuite/23_containers/list/operators/4.cc: Same.
666 * testsuite/23_containers/list/operators/3.cc: Same.
667 * testsuite/23_containers/list/operators/2.cc: Same.
668 * testsuite/23_containers/list/operators/1.cc: Same.
669 * testsuite/23_containers/list/modifiers/3.cc: Same.
670 * testsuite/23_containers/list/modifiers/2.cc: Same.
671 * testsuite/23_containers/list/modifiers/1.cc: Same.
672 * testsuite/23_containers/list/invalidation/4.cc: Same.
673 * testsuite/23_containers/list/invalidation/3.cc: Same.
674 * testsuite/23_containers/list/invalidation/2.cc: Same.
675 * testsuite/23_containers/list/invalidation/1.cc: Same.
676 * testsuite/23_containers/list/cons/9.cc: Same.
677 * testsuite/23_containers/list/cons/8.cc: Same.
678 * testsuite/23_containers/list/cons/7.cc: Same.
679 * testsuite/23_containers/list/cons/6.cc: Same.
680 * testsuite/23_containers/list/cons/5.cc: Same.
681 * testsuite/23_containers/list/cons/4.cc: Same.
682 * testsuite/23_containers/list/cons/3.cc: Same.
683 * testsuite/23_containers/list/cons/2.cc: Same.
684 * testsuite/23_containers/list/cons/1.cc: Same.
685 * testsuite/23_containers/list/capacity/1.cc: Same.
686 * testsuite/23_containers/deque/operators/1.cc: Same.
687 * testsuite/23_containers/deque/invalidation/4.cc: Same.
688 * testsuite/23_containers/deque/invalidation/3.cc: Same.
689 * testsuite/23_containers/deque/invalidation/2.cc: Same.
690 * testsuite/23_containers/deque/invalidation/1.cc: Same.
691 * testsuite/23_containers/deque/cons/2.cc: Same.
692 * testsuite/23_containers/deque/cons/1.cc: Same.
693
694 * src/allocator.cc: Add char, wchar_t instantiations
695 to match extern template declarations in memory.h.
696
ced3ad4d
PC
6972004-03-03 Paolo Carlini <pcarlini@suse.de>
698
699 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
700 Fix warning regression.
701
039e3c5c
PC
7022004-03-03 Paolo Carlini <pcarlini@suse.de>
703
704 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
705 Deal properly with empty __digits and negative frac_digits,
706 clean-up a bit.
707
0d957d26
JW
7082004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
709
710 * docs/html/documentation.html: Regenerate.
711
0b1d67d2
PC
7122004-03-02 Paolo Carlini <pcarlini@suse.de>
713
714 PR libstdc++/14320
715 * include/bits/postypes.h (class streamoff): Remove, now
716 streamoff is just typedef a 64 bit signed integer type.
717 (class fpos): Tweak consistently.
718 * testsuite/27_io/fpos/14320-1.cc: New.
719 * testsuite/27_io/fpos/14320-2.cc: New.
720 * testsuite/27_io/fpos/14320-3.cc: New.
721 * testsuite/27_io/fpos/14320-4.cc: New.
722 * testsuite/27_io/fpos/14320-5.cc: New.
723 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
724
59564c5e
PC
7252004-03-02 Paolo Carlini <pcarlini@suse.de>
726
727 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
728 Reorganize a bit the main parsing loop, thus early detecting
729 an empty value component.
730 * testsuite/22_locale/money_get/get/char/16.cc: New.
731 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
732
ec2075e9
BK
7332004-03-02 Benjamin Kosnik <bkoz@redhat.com>
734
735 Support automake 1.8.2
736 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
737 * po/Makefile.am (EXTRA_DIST): New.
738 * po/Makefile.in: Regenerate.
739 * Makefile.in: Same.
740 * include/Makefile.in: Same.
741 * libmath/Makefile.in: Same.
742 * libsupc++/Makefile.in: Same.
743 * src/Makefile.in: Same.
744 * testsuite/Makefile.in: Same.
745
746 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
747 __GXX_WEAK__ instead of SUPPORTS_WEAK.
748 (${host_builddir}/gthr-default.h): Same.
749 (${host_builddir}/gthr.h): Same.
750 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
751 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
752 -fno-weak.
753 * aclocal.m4: Regenerate.
754 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
755 * config.h.in: Regenerate.
756 * configure: Same.
757
f214923c
BK
7582004-03-01 Benjamin Kosnik <bkoz@redhat.com>
759
ec2075e9 760 Support autoconf 2.59
f214923c
BK
761 * acinclude.m4: Quote correctly.
762 * aclocal.m4: Regenerate.
763 * linkage.m4: Same.
764
67283362
BK
7652004-03-01 Benjamin Kosnik <bkoz@redhat.com>
766
767 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
768
769 * docs/html/18_support/howto.html: Add bit about writing to
770 stderr, mostly by Zack.
771
98e953f5
PC
7722004-03-01 Paolo Carlini <pcarlini@suse.de>
773
774 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
775 money_get<>::do_get(string_type&)): ... and two more.
776
b19fb27d
PC
7772004-03-01 Paolo Carlini <pcarlini@suse.de>
778
779 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
780 Fix thinkos in the switch from string_type& to string& as last
781 argument.
782
08ff96c3
PC
7832004-03-01 Paolo Carlini <pcarlini@suse.de>
784
785 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
786 Also when parsing exponent sign, first look for thousands_sep
787 and decimal_point; tweak a bit.
788 * testsuite/22_locale/num_get/get/char/15.cc: New.
789 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
790
791 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
792 num_get<>::_M_extract_int): Reorder some conditionals.
793
7942004-03-01 Paolo Carlini <pcarlini@suse.de>
795
796 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
797 Consistently with numpunct, enforce the requirements in
798 22.2.6.3, p3 for the thousands separators; tweak a bit.
799 * testsuite/22_locale/money_get/get/char/15.cc: New.
800 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
801
1152b861
DB
8022004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
803
804 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
805 testsuite_files from correct multilib blddir when running
806 testsuite.
807
8b425082
PE
8082004-02-29 Phil Edwards <phil@codesourcery.com>
809
810 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
811 the summary file to the logfile.
812 * testsuite/Makefile.in: Regenerate.
813
3a1a4ed2
JDA
8142004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
815
816 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
817 volatile.
818 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
819 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
820
0e1b98cc
PC
8212004-02-28 Paolo Carlini <pcarlini@suse.de>
822
823 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
824 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
825 no 'decimal-point' in the middle: in this case too we must fix
826 up __found_grouping; slightly tweak.
827 * testsuite/22_locale/num_get/get/char/14.cc: New.
828 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
829
58adf39c
EC
8302004-02-27 Eric Christopher <echristo@redhat.com>
831 Phil Edwards <phil@codesourcery.com>
832
833 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
834 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
835 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
836 testsuite/22_locale/collate/hash/wchar_t/2.cc,
837 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
838 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
839 testsuite/22_locale/collate/transform/wchar_t/2.cc,
840 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
841 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
842 Use dg-require-iconv.
843 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
844
23834577 8452004-02-27 Phil Edwards <phil@codesourcery.com>
58adf39c 846 Eric Christopher <echristo@redhat.com>
23834577
PE
847
848 * testsuite/config/default.exp: Update with comments.
849 (${tool}_target_compile): New wrapper routine.
850 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
851 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
852 fixes.
853 (load_gcc_lib, v3track): New routines.
854 (v3-init): Rename to libstdc++_init.
855 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
856 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
857
00d04db6
BK
8582004-02-27 Benjamin Kosnik <bkoz@redhat.com>
859
860 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
861
862 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
863
864 * config/os/irix/irix5.2/atomicity.h: Merge..
865 * config/os/irix/irix6.5/atomicity.h: Merge..
866 * config/os/irix/atomicity.h: ...into this.
867 * config/os/irix/atomic_word.h: New.
868 * configure.host: Set atomic_word_dir for irix.
869
870 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
871 * i386/atomicity.h: Same.
872 * m68k/atomicity.h: Same.
873 * sparc/atomicity.h: Same.
874
c284a126
DE
8752004-02-27 David Edelsohn <edelsohn@gnu.org>
876
877 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
00d04db6 878 static, and inline keywords.
c284a126 879
a8ea7389
PC
8802004-02-27 Paolo Carlini <pcarlini@suse.de>
881
882 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
883 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
884 call reserve on the __tmp_gruping string.
885 (num_get<>::_M_extract_float): Don't append unnecessarily a
886 char() to the returned string.
887 * include/bits/locale_facets.tcc: Trivial reformattings.
888
f4bdbead
PC
8892004-02-27 Paolo Carlini <pcarlini@suse.de>
890
891 * include/bits/locale_facets.h (money_get<>::_M_extract):
892 Change signature: now takes a plain string&.
893 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
894 Update consistently the definition; use the moneypunct cache
895 to parse the value; use swap to change __units.
896 (money_get<>::do_get(long double&)): Update call of _M_extract,
897 avoid ctype::narrow, not correct wrt the standard.
898 (money_get<>::do_get(string_type&)): Likewise, update call
899 of _M_extract, use ctype::widen.
900 * src/locale-inst.cc: Tweak instantiations of _M_extract.
901
40fcf31b
BK
9022004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
903
904 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
905 * testsuite/demangle/abi_examples/02.cc: Likewise.
906 * testsuite/demangle/regression/cw-11.cc: Likewise.
907 * testsuite/demangle/regression/cw-16.cc: Change two expected
908 results to match libiberty demangler output.
909
9102004-02-26 Benjamin Kosnik <bkoz@redhat.com>
911
912 PR libstdc++/10246
913 * libsupc++/Makefile.am: Use libiberty demangler.
914 (c_sources): Add cp-demangle.c.
915 * libsupc++/Makefile.in: Regenerate.
916 * src/Makefile.am (sources): Remove demangle.cc.
917 * src/Makefile.in: Regenerate.
918 * include/Makefile.am (bits_headers): Move demangle.h.
919 (ext_headers): ...here.
920 * include/Makefile.in: Regenerate.
921 * include/bits/demangle.h: Move...
922 * include/ext/demangle.h: ...here.
923 * src/demangle.cc: Remove.
924
9252004-02-26 Benjamin Kosnik <bkoz@redhat.com>
926
927 * include/bits/demangle.h: Add type template parameter to all
928 templates with just an Allocator template parameter.
929
2c5d0ae8
BK
9302004-02-25 Benjamin Kosnik <bkoz@redhat.com>
931
932 * include/bits/atomicity.h: New, forward declarations for __atomic_add
933 and __exchange_and_add.
934 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
935 * config/cpu/cris/atomic_word.h: Same.
936 * config/cpu/sparc/atomic_word.h: Same.
937 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
938 Qualifiy with __gnu_cxx.
939 (_Callback_list::_M_add_reference): Same.
940 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
941 (locale::facet::_M_remove_reference): Same.
942 (locale::_Impl::_M_add_reference): Add.
943 (locale::_Impl::_M_remove_reference): Same.
944 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
945 (basic_string::_Rep::_M_dispose): Same.
946 * src/ios.cc (ios_base::xalloc): Same.
947 * src/ios_init.cc (ios_base::Init::Init): Same.
948 (ios_base::Init::~Init): Same.
949 * src/locale.cc (locale::id::_M_id): Same.
950 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
00d04db6 951 static, and inline keywords.
2c5d0ae8
BK
952 * config/cpu/alpha/atomicity.h: Same.
953 * config/cpu/cris/atomicity.h: Same.
954 * config/cpu/generic/atomicity.h: Same.
955 * config/cpu/hppa/atomicity.h: Same.
956 * config/cpu/i386/atomicity.h: Same.
957 * config/cpu/ia64/atomicity.h: Same.
958 * config/cpu/m68k/atomicity.h: Same.
959 * config/cpu/mips/atomicity.h: Same.
960 * config/cpu/powerpc/atomicity.h: Same.
961 * config/cpu/s390/atomicity.h: Same.
962 * config/cpu/sparc/atomicity.h: Same.
963
964 * src/Makefile.am (host_sources): Add atomicity.cc.
965 (atomicity.cc): New rule.
966 * src/Makefile.in: Regenerate.
967 * include/Makefile.am (host_headers): Remove host atomicity.h.
968 (host_headers): Add atomic_word.h.
969 (bits_headers): Add bits atomicity.h.
970 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
971 * include/Makefile.in: Regenerate.
972 * configure.host (atomic_word_dir): Add.
973 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
974 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
975 * configure: Regenerate.
976 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
977
978 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
979 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
980
cec0e70b
JW
9812004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
982
983 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
984 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
985 Fix markup, more <link> tags.
986
bb9f8a85
CW
9872004-02-25 Carlo Wood <carlo@alinoe.com>
988
989 * bits/demangle.h
990 namespace __gnu_cxx::demangler
991 (session<Allocator>::qualifier_list_Allocator): Add
992 (session<Allocator>::M_qualifier_list_alloc): Add
993 (session<Allocator>::decode_type_with_postfix):
994 Use M_qualifier_list_alloc instead of calling operator new/delete.
995
b79cef06
PC
9962004-02-24 Paolo Carlini <pcarlini@suse.de>
997
998 PR libstdc++/14252
999 * include/bits/postypes.h (class streamoff): Add operator++(),
1000 operator++(int), operator--() and operator--(int).
1001 * testsuite/27_io/fpos/14252.cc: New.
1002
212063a8
RS
10032004-02-24 Richard Sandiford <rsandifo@redhat.com>
1004
1005 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
1006 error in handling of hex constants.
1007
031e658e
PC
10082004-02-24 Paolo Carlini <pcarlini@suse.de>
1009
1010 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1011 Prefer basic_string::append to operator+= and a temporary.
1012
6f94dea7
BK
10132004-02-23 Benjamin Kosnik <bkoz@redhat.com>
1014
1015 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
1016 Only use fputs, not write.
1017
20d0a40e 10182004-02-23 Benjamin Kosnik <bkoz@redhat.com>
f263b26e
BK
1019
1020 * include/ext/malloc_allocator.h: Add operators ==, !=.
1021 * include/ext/new_allocator.h: Add operators ==, !=.
1022 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
1023 (__mt_alloc::_S_get_options): New.
1024 (__mt_alloc::_S_set_options): New.
1025 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
1026 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
1027 Move functions out of line, simplify, format.
1028 * src/allocator.cc: Simplify explicit instantiations.
1029 * include/bits/allocator.h: Tweak.
1030
20da06ef
PC
10312004-02-22 Paolo Carlini <pcarlini@suse.de>
1032
1033 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1034 Restructure formatting of value component, first dealing with
1035 the non-decimal digits; use reserve.
1036
10372004-02-22 Paolo Carlini <pcarlini@suse.de>
1038
1039 * include/bits/locale_facets.h (class money_get): Inherit
1040 from money_base too; tweak declaration of _M_extract, now
1041 parameterized on _Intl too.
1042 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1043 Update definition to use the cache; call reserve on __res to
1044 avoid multiple reallocations; fix parsing of sign component
1045 according to 22.2.6.1.2, p3.
1046 (money_get<>::do_get(long double&),
1047 money_get<>::do_get(string_type&)): Update calls of _M_extract.
1048 * src/locale-inst.cc: Add instantiations of
1049 money_get::_M_extract<false> and money_get::_M_extract<true>.
1050 * testsuite/22_locale/money_get/get/char/14.cc: New.
1051 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
1052
afc3bb58
MM
10532004-02-21 Mark Mitchell <mark@codesourcery.com>
1054
1055 * libsupc++/vterminate.cc
1056 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
1057 calls to terminate.
1058 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
1059
1060 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1061 not set RLIMIT_AS on HP-UX.
1062
e1efc7a0
MM
10632004-02-21 Mark Mitchell <mark@codesourcery.com>
1064
1065 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1066 not set RLIMIT_AS on HP-UX.
1067
fe932e50
PC
10682004-02-21 Paolo Carlini <pcarlini@suse.de>
1069
1070 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
1071 _S_zero, _S_end } enum, _S_atoms.
1072 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
1073 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
1074 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
1075 (__moneypunct_cache<>::~__moneypunct_cache): Update.
1076 (__moneypunct_cache<>::_M_cache): Fill the cache.
1077 (class moneypunct): Tweak __cache_type typedef.
1078 (class money_put): Inherit from money_base too; tweak declaration
1079 of _M_insert, now parameterized on _Intl.
1080 * include/bits/locale_facets.tcc
1081 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
1082 (money_put<>::_M_insert): Update definition to use the cache;
1083 call reserve on __res to avoid multiple reallocations.
1084 (money_put<>::do_put(long double),
1085 money_put<>::do_put(const string_type&): Update calls of _M_insert.
1086 * config/locale/generic/monetary_members.cc
1087 (moneypunct<char, true>::_M_initialize_moneypunct,
1088 moneypunct<char, false>::_M_initialize_moneypunct,
1089 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
1090 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
1091 * config/locale/gnu/monetary_members.cc: Likewise.
1092 * config/locale/gnu/monetary_members.cc
1093 (moneypunct<wchar_t, true>::~moneypunct(),
1094 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
1095 * src/globals_locale.cc: Tweak fake_money_cache_c.
1096 * src/locale-inst.cc: Add instantiations for
1097 money_put::_M_insert<false> and money_put::_M_insert<true> and
1098 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
1099 * src/locale_facets.cc: Define money_base::_S_atoms.
1100 * src/locale_init.cc: Update placement new of
1101 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
1102 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
1103
1104 * config/locale/generic/numeric_members.cc: Clean up.
1105 * config/locale/gnu/numeric_members.cc: Likewise.
1106 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
1107 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
1108 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
1109 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
1110 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
1111 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
1112
f196bdc4
MM
11132004-02-20 Mark Mitchell <mark@codesourcery.com>
1114
1115 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
1116 FIFO for writing with ios_base::in|ios_base::out.
1117 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1118 * testsuite/27_io/objects/char/7.cc: Likewise.
1119 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
1120 with "r+".
1121
2df93cf3
DE
11222004-02-19 David Edelsohn <edelsohn@gnu.org>
1123
1124 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
1125 from iso-8859-1 to ISO8859-1.
1126 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
1127 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
1128 * 22_locale/collate/hash/wchar_t/2.cc: Same.
1129 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
1130 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
1131 * 22_locale/collate/transform/wchar_t/2.cc: Same.
1132 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
1133 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
1134
2ddf25f2
PC
11352004-02-18 Paolo Carlini <pcarlini@suse.de>
1136
1137 * include/bits/locale_facets.h (money_get<>::_M_extract):
1138 New, helper for do_get.
1139 (money_put<>::_M_insert): Likewise, for do_put.
1140 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1141 money_put<>::_M_insert): Define.
1142 (money_get<>::do_get(long double&), money_get<>::do_get(
1143 string_type&), money_put::do_put(long double),
1144 money_put::do_put(const string_type&)): Use the helpers.
1145
94b8de97
PC
11462004-02-18 Paolo Carlini <pcarlini@suse.de>
1147
1148 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1149 Rewrite, avoiding recursion.
1150 (__gnu_internal::xwrite): Minor tweaks.
1151
4d0bdcd6
SO
11522004-02-17 Stefan Olsson <stefan@xapa.se>
1153
1154 * include/ext/mt_allocator.h: Removed the last
1155 pointer. Deallocated blocks are now added to the front of
1156 freelists as proposed by Felix Yen. This gives roughly 10%
1157 performance boost and saves some memory.
1158 * docs/html/ext/mt_allocator.html: Change due to that deallocated
1159 blocks now are added to the front of freelists. The reason to this
1160 approach is also explained.
bb9f8a85 1161
6d4925e3
PC
11622004-02-17 Paolo Carlini <pcarlini@suse.de>
1163
1164 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1165 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
1166 grouping fidelity conditional.
1167
3e9b6cf4
PC
11682004-02-16 Paolo Carlini <pcarlini@suse.de>
1169
1170 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
1171 Qualify exception with std::.
1172 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
1173 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1174 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1175 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1176 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1177
835abbf7
PC
11782004-02-16 Paolo Carlini <pcarlini@suse.de>
1179
1180 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
1181 for now that the catch block is not reached.
1182 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
1183
b7e64db2
PC
11842004-02-16 Paolo Carlini <pcarlini@suse.de>
1185
1186 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1187 Fix parsing of the remaining sign characters.
1188 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
1189 the input is scanned 'til eof.
1190 * 22_locale/money_get/get/char/4.cc: Likewise.
1191 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
1192 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
1193 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
1194 not do_pos_format: the former is the only one that matters during
1195 input.
1196 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
1197
1198 * 22_locale/money_get/get/char/6.cc: Minor tweak.
1199 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
1200
230377dc
DA
12012004-02-15 David Asher <david.asher@cavium.com>
1202
1203 PR libstdc++/11352
1204 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
1205 access __olds beyond __oldlen.
1206
45cbe93c
PC
12072004-02-14 Paolo Carlini <pcarlini@suse.de>
1208
1209 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
1210 sure the exception is actually thrown.
1211 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1212 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1213 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1214
ac3cadf0
PC
12152004-02-14 Paolo Carlini <pcarlini@suse.de>
1216
1217 PR libstdc++/13858
1218 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
1219 In case of conversion errors, throw ios_failure; simplify.
1220 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
1221 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1222 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
1223 previously we didn't throw in case of conversion errors, instead
1224 just returned eof().
1225 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1226 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1227 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1228
1229 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
1230 Trivial simplification of a conditional.
1231
2e9a1f6b
PC
12322004-02-12 Paolo Carlini <pcarlini@suse.de>
1233
1234 PR libstdc++/13731 (final part: writev)
20da06ef 1235 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2e9a1f6b
PC
1236 New, a wrapper around writev() handling partial writes.
1237 (__basic_file<char>::xwrite): Move to __gnu_internal and make
1238 static.
1239 (__basic_file<char>::xsputn): Update call.
1240 (__basic_file<char>::xsputn_2): Likewise.
20da06ef 1241 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2e9a1f6b
PC
1242 Don't declare, now static.
1243
1c86f39d
BK
12442004-02-11 Stefan Olsson <stefan@xapa.se>
1245
1246 * docs/html/ext/mt_allocator.html: New.
1247
12482004-02-11 Benjamin Kosnik <bkoz@redhat.com>
1249
1250 * docs/html/20_util/allocator.html: New file, consolidate
1251 allocator information here. Revamp.
1252 * docs/html/documentation.html: Change links.
1253 * docs/html/20_util/howto.html: Same.
1254 * docs/html/ext/howto.html: Same.
1255
98e96784
PC
12562004-02-11 Paolo Carlini <pcarlini@suse.de>
1257
1258 PR libstdc++/13731 (first part: write)
1259 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1260 New, declare.
1261 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
1262 Define it: a wrapper around write() handling partial write.
1263 (__basic_file<char>::xsputn): Use it.
1264 (__basic_file<char>::xsputn_2): Likewise.
1265
a2af66c1
PC
12662004-02-11 Paolo Carlini <pcarlini@suse.de>
1267 Petur Runolfsson <peturr02@ru.is>
1268
1269 PR libstdc++/14078
1270 * include/std/std_istream.h (operator>>(__istream_type& (*)
1271 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
1272 operator>>(ios_base& (*)(ios_base&))): Declare inline.
1273 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
1274 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
1275 operator<<(ios_base& (*) (ios_base&))): Likewise.
1276 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
1277
64bd39cc
LR
12782004-02-10 Loren J. Rittle <ljrittle@acm.org>
1279
1280 PR libstdc++/14098
1281 * config/linker-map.gnu: Add typeinfo and typeinfo name for
1282 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
1283
d318a8ba
LR
1284 PR libstdc++/14097
1285 * config/linker-map.gnu: Add typeinfo and typeinfo name for
1286 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
1287
a39c16dd
LR
12882004-02-09 Loren J. Rittle <ljrittle@acm.org>
1289
1290 * include/ext/pool_allocator.h: Include c++config.h.
1291
1ef00312
SO
12922004-02-09 Stefan Olsson <stefan@xapa.se>
1293
1294 * include/ext/mt_allocator.h: thread_id is unused in non threaded
1295 applications and now has a ifdef to remove it completely on
1296 compilers without thread support. Include stdlib.h due to a
1297 compiler warning on getenv().
1298
1b81e1b5
PB
12992004-02-09 Paul Brook <paul@codesourcery.com>
1300
1301 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
1302
cf0d2c40
PC
13032004-02-09 Paolo Carlini <pcarlini@suse.de>
1304
1305 PR libstdc++/14071
1306 * src/locale_init.cc (locale::global(const locale&)): Use
1307 locale::name() in order to decide whether calling setlocale.
1308 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
1309
1310 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
1311 Avoid computing &= unnecessarily.
1312
664fc5df
JW
13132004-02-09 James E Wilson <wilson@specifixinc.com>
1314
1315 PR libstdc++/5625
1316 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
1317 __builtin_extend_pointer.
1318
86fd2b51
PC
13192004-02-09 Paolo Carlini <pcarlini@suse.de>
1320
1321 PR libstdc++/14072
1322 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
1323 Don't leave dangling pointers.
1324 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
1325 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
1326 facet is needed in the final test.
1327
f19e9e4d
BI
13282004-02-09 Bernardo Innocenti <bernie@develer.com>
1329
1330 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
1331 * configure: Regenerate.
1332
c3862806
RH
13332004-02-08 Richard Henderson <rth@redhat.com>
1334
1335 PR libstdc++/14026
1336 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
1337 uncaughtExceptions during nested catch rethrow.
1338 * testsuite/18_support/14026.cc: New.
1339
fd95f498
PC
13402004-02-08 Paolo Carlini <pcarlini@suse.de>
1341
1342 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
1343 When working in place remember to set the state to sharable
1344 (otherwise, _M_mutate does it).
1345
ed6814f7
BI
13462004-02-08 Bernardo Innocenti <bernie@develer.com>
1347
1348 * include/bits/allocator.h, include/bits/basic_ios.h,
1349 include/bits/basic_ios.tcc, include/bits/basic_string.h,
1350 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
1351 include/bits/char_traits.h, include/bits/codecvt.h,
1352 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
1353 include/bits/demangle.h, include/bits/deque.tcc,
1354 include/bits/fstream.tcc, include/bits/functexcept.h,
1355 include/bits/gslice.h, include/bits/gslice_array.h,
1356 include/bits/indirect_array.h, include/bits/ios_base.h,
1357 include/bits/istream.tcc, include/bits/list.tcc,
1358 include/bits/locale_classes.h, include/bits/locale_facets.h,
1359 include/bits/locale_facets.tcc, include/bits/localefwd.h,
1360 include/bits/mask_array.h, include/bits/ostream.tcc,
1361 include/bits/postypes.h, include/bits/slice_array.h,
1362 include/bits/sstream.tcc, include/bits/stl_algo.h,
1363 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
1364 include/bits/stl_construct.h, include/bits/stl_deque.h,
1365 include/bits/stl_function.h, include/bits/stl_heap.h,
1366 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
1367 include/bits/stl_list.h, include/bits/stl_map.h,
1368 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
1369 include/bits/stl_numeric.h, include/bits/stl_pair.h,
1370 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
1371 include/bits/stl_relops.h, include/bits/stl_set.h,
1372 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
1373 include/bits/stl_threads.h, include/bits/stl_tree.h,
1374 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
1375 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
1376 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
1377 include/bits/type_traits.h, include/bits/valarray_after.h,
1378 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
1379 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
1380 trailing whitespace.
1381
eee54836
PC
13822004-02-06 Paolo Carlini <pcarlini@suse.de>
1383
1384 * include/bits/basic_string.h: Fix comment.
1385
15d72060
PC
13862004-02-06 Paolo Carlini <pcarlini@suse.de>
1387
1388 * include/bits/stl_construct.h: Wrap overlong lines, reformat
1389 according to the coding standards.
1390 * include/bits/stl_pair.h: Likewise.
1391 * include/bits/stl_raw_storage_iter.h: Likewise.
1392 * include/bits/stl_stack.h: Likewise.
1393 * include/bits/stl_uninitialized.h: Likewise.
1394 * include/bits/stream_iterator.h: Likewise.
1395 * include/bits/streambuf_iterator.h: Likewise.
1396 * include/bits/type_traits.h: Likewise.
1397
c5dd98f3
PC
13982004-02-06 Paolo Carlini <pcarlini@suse.de>
1399
1400 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1401 Adjust timings.
1402
462f4a81
LR
14032004-02-05 Loren J. Rittle <ljrittle@acm.org>
1404
1405 * scripts/check_performance: Support PCH.
1406
fbdf188d
LR
1407 * scripts/check_performance (CXX): Add -DNOTHREAD.
1408 * testsuite/performance/20_util/allocator/insert.cc: Integrate
1409 threaded tests from insert_insert.cc. Tweak iterations,
1410 remove special cases.
1411 * testsuite/performance/20_util/allocator/insert_insert.cc:
1412 Make all tests single-threaded. Tweak iterations.
1413 * testsuite/performance/20_util/allocator/map_thread.cc:
1414 Tweak iterations.
1415 * testsuite/performance/20_util/allocator/producer_consumer.cc:
1416 Likewise.
1417
0314451d
GK
14182004-02-05 Geoffrey Keating <geoffk@apple.com>
1419
1420 PR 12179
1421 * .cvsignore: New.
1422 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
1423 'gcc-lib'. Add comment about poorly-named variables.
1424 * aclocal.m4: Regenerate.
1425 * configure: Regenerate.
1426
d9010fca
PC
14272004-02-05 Paolo Carlini <pcarlini@suse.de>
1428
1429 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1430 Thousands-sep are always optional; thousands-sep are not allowed
1431 after the decimal_point.
1432 * testsuite/22_locale/money_get/get/char/12.cc: New.
1433 * testsuite/22_locale/money_get/get/char/13.cc: New.
1434 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
1435 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
1436
1437 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
1438 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1439 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1440 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1441 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1442 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1443 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1444 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1445
1446 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
1447 the standard.
1448 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
1449
d232925f
RS
14502004-02-05 Richard Sandiford <rsandifo@redhat.com>
1451
1452 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
1453 Define.
1454 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
1455 it to decide whether FIONREAD should take an off_t or int argument.
1456
92ff3e43
PC
14572004-02-05 Paolo Carlini <pcarlini@suse.de>
1458
1459 * include/bits/stl_function.h: Minor formatting changes.
1460
9fe7e2b7
ZW
14612004-02-04 Zack Weinberg <zack@codesourcery.com>
1462
1463 Revert previous change to config/abi/*/baseline_symbols.txt.
1464
6a734d61
BK
14652004-02-04 Benjamin Kosnik <bkoz@redhat.com>
1466 Zack Weinberg <zack@codesourcery.com>
1467
1468 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
1469 New function.
1470 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
1471 (__basic_file<char>::_M_open_mode): Delete.
1472 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
1473
1474 * testsuite/27_io/basic_filebuf/close/char/9964.cc
1475 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1476 Correct flags to filebuf::open calls.
1477
1478 * config/abi/alpha-freebsd5/baseline_symbols.txt
1479 * config/abi/alpha-linux-gnu/baseline_symbols.txt
1480 * config/abi/hppa-linux-gnu/baseline_symbols.txt
1481 * config/abi/i386-freebsd4/baseline_symbols.txt
1482 * config/abi/i386-freebsd5/baseline_symbols.txt
1483 * config/abi/i486-linux-gnu/baseline_symbols.txt
1484 * config/abi/ia64-linux-gnu/baseline_symbols.txt
1485 * config/abi/mips-linux-gnu/baseline_symbols.txt
1486 * config/abi/sparc-freebsd5/baseline_symbols.txt
1487 * config/abi/sparc-linux-gnu/baseline_symbols.txt
1488 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
1489 Remove entry for __basic_file<char>::_M_open_mode.
1490
f63fd68b
LR
14912004-02-04 Loren J. Rittle <ljrittle@acm.org>
1492
1493 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
1494
de8a2f87
BK
14952004-02-04 Felix Yen <fwy@alumni.brown.edu>
1496
1497 * testsuite/performance/20_util/producer_consumer.cc: New.
1498 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
6a734d61 1499
de8a2f87 15002004-02-04 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 1501
de8a2f87 1502 * testsuite/performance/20_util/allocator.cc: Move to..
6a734d61 1503 * testsuite/performance/20_util/allocator/insert.cc: ...here.
de8a2f87
BK
1504 * testsuite/performance/20_util/allocator_thread.cc: Move to...
1505 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
1506 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
1507 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
6a734d61 1508
772fec9a
JW
15092004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
1510
1511 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
1512 * docs/html/faq/index.txt: Regenerate.
1513
56766e0d
DM
15142004-02-04 Dhruv Matani <dhruvbird@gmx.net>
1515
1516 * include/ext/debug_allocator.h: _M_extra now stands for the
1517 number of extra objects instead of the number of extra bytes.
1518 (debug_allocator::allocate): Adjust.
1519 (debug_allocator::deallocate): Adjust.
1520
1521 * include/ext/pool_allocator.h: Fix typo.
1522
22269632
FY
15232004-02-03 Felix Yen <fwy@alumni.brown.edu>
1524 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 1525
22269632
FY
1526 * testsuite/performance/20_util/allocator.cc: Add map,
1527 deque, set tests.
1528 * testsuite/performance/20_util/allocator_thread.cc: Same.
6a734d61 1529
129e9210
PC
15302004-02-03 Paolo Carlini <pcarlini@suse.de>
1531
1532 * include/bits/basic_string.h (insert(iterator)): Remove,
1533 non-standard and already scheduled for removal.
1534
83042fca
PC
15352004-02-03 Paolo Carlini <pcarlini@suse.de>
1536
1537 * include/bits/stl_iterator_base_funcs.h: Minor formatting
1538 and indentation tweaks.
1539 * include/bits/stl_iterator_base_types.h: Likewise.
1540 * include/bits/stl_list.h: Likewise.
1541 * include/bits/stl_map.h: Likewise.
1542 * include/bits/stl_tempbuf.h: Likewise.
1543
06a81b60
JQ
15442004-02-02 Jerry Quinn <jlquinn@optonline.net>
1545
1546 * include/bits/gslice.h, include/bits/gslice_array.h,
1547 include/bits/indirect_array.h, include/bits/mask_array.h,
1548 include/bits/slice_array.h, include/bits/stl_numeric.h,
1549 include/std/std_valarray.h: Update copyright years.
1550
7fb397a4
JQ
15512004-02-02 Jerry Quinn <jlquinn@optonline.net>
1552
1553 * include/bits/gslice.h (gslice): Document.
1554 * include/bits/gslice_array.h (gslice_array): Document.
1555 * include/bits/indirect_array (indirect_array): Document.
1556 * include/bits/mask_array (mask_array): Document.
1557 * include/bits/slice_array.h (slice,slice_array): Document.
1558 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
1559 adjacent_difference): Document
1560 * include/std/std_valarray.h (valarray): Document.
1561
7f7fb4ef
BK
15622004-02-02 Benjamin Kosnik <bkoz@redhat.com>
1563
6a734d61
BK
1564 * docs/html/19_diagnostics/howto.html: Move verbose terminate
1565 documentation...
1566 * docs/html/18_support/howto.html: Here.
1567 * docs/html/documentation.html: Add reference here.
1568
9924f721
PC
15692004-02-02 Paolo Carlini <pcarlini@suse.de>
1570
1571 * config/locale/gnu/c++locale_internal.h: Remove prototypes
1572 of no longer used GLIBC thread locale functions.
1573
2ba43229 15742004-02-02 Eric Christopher <echristo@redhat.com>
6a734d61 1575 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
1576
1577 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
6a734d61
BK
1578 -finput-charset.
1579 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
1580 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
16dd5cfe 1581 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
6a734d61
BK
1582 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
1583 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
1584 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
1585 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
1586 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
16dd5cfe
EC
1587 Ditto.
1588
7c920151
PC
15892004-02-02 Paolo Carlini <pcarlini@suse.de>
1590
1591 * include/bits/stl_function.h: Additional minor tweaks.
1592 * include/bits/stl_multiset.h: Likewise.
1593
1594 * include/bits/stl_queue.h: Minor tweaks.
1595
dcec0389
PC
15962004-02-02 Paolo Carlini <pcarlini@suse.de>
1597
1598 PR libstdc++/13976 (continued)
1599 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
1600 Make the second parameter unnamed, to void unused parameter
1601 warnings.
1602 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
1603
90f8b692
PC
16042004-02-02 Paolo Carlini <pcarlini@suse.de>
1605
1606 PR libstdc++/13976
1607 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
1608 Make the second parameter unnamed, to void unused parameter
1609 warnings.
1610 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
1611 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
1612
737ab798
PC
16132004-02-01 Paolo Carlini <pcarlini@suse.de>
1614
1615 * include/bits/stl_algo.h: Additional minor tweaks.
1616 * include/bits/stl_map.h: Likewise.
1617 * include/bits/stl_multimap.h: Likewise.
1618 * include/bits/stl_multiset.h: Likewise.
1619 * include/bits/stl_set.h: Likewise.
1620 * include/bits/stl_tree.h: Likewise.
1621
64ebadac
PC
16222004-02-01 Paolo Carlini <pcarlini@suse.de>
1623
1624 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
1625 Remove, unused.
1626
afd4cbbb
PC
16272004-02-01 Paolo Carlini <pcarlini@suse.de>
1628
1629 * include/bits/stl_function.h: Additional minor tweaks.
1630
f6592a9e
PC
16312004-02-01 Paolo Carlini <pcarlini@suse.de>
1632
1633 * include/bits/deque.tcc: Wrap overlong lines, constify
1634 a few variables, reformat according to the coding standards.
1635 * include/bits/list.tcc: Likewise.
1636 * include/bits/stl_deque.h: Likewise.
1637 * include/bits/stl_function.h: Likewise.
1638 * include/bits/stl_iterator.h: Likewise.
1639 * include/bits/stl_iterator_base_funcs.h: Likewise.
1640 * include/bits/stl_iterator_base_types.h: Likewise.
1641 * include/bits/stl_list.h: Likewise.
1642 * include/bits/stl_map.h: Likewise.
1643 * include/bits/stl_multimap.h: Likewise.
1644 * include/bits/stl_multiset.h: Likewise.
1645 * include/bits/stl_relops.h: Likewise.
1646 * include/bits/stl_set.h: Likewise.
1647
62e67651
PC
16482004-02-01 Paolo Carlini <pcarlini@suse.de>
1649
1650 * include/bits/stl_bvector.h: Wrap overlong lines, constify
1651 a few variables, reformat according to the coding standards.
1652 * include/bits/stl_tree.h: Likewise.
1653
8f7ca398
PC
16542004-01-31 Paolo Carlini <pcarlini@suse.de>
1655
1656 * include/bits/stl_algo.h: Minor additional reformat, add
1657 copyright year.
1658 * include/bits/stl_algobase.h: Add copyright year.
1659
ffa67767
PC
16602004-01-31 Paolo Carlini <pcarlini@suse.de>
1661
1662 * include/bits/stl_algo.h: Wrap overlong lines, constify
1663 a few variables, reformat according to the coding standards.
1664 * include/bits/stl_algobase.h: Likewise.
1665 * include/bits/stl_heap.h: Likewise.
1666
8de63ee0
PC
16672004-01-31 Paolo Carlini <pcarlini@suse.de>
1668
1669 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
1670
1671 * include/bits/basic_string.h: Fix two comments.
1672
af3fb3d6
PB
16732004-01-31 Per Bothner <per@bothner.com>
1674
1675 * include/ext/mt_allocator.h
1676 (__mt_alloc::_S_thread_freelist_mutex): Guard with
1677 __GTHREAD_MUTEX_INIT.
1678
24f33069
PC
16792004-01-31 Paolo Carlini <pcarlini@suse.de>
1680
1681 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
1682
7c960b3d
PC
16832004-01-30 Paolo Carlini <pcarlini@suse.de>
1684
1685 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
1686 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
1687 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
16dd5cfe 1688
7b1d1edf
FY
16892004-01-30 Felix Yen <fwy@alumni.brown.edu>
1690
1691 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
1692 Don't use clear, but instead assign. Use insert.
1693
c9732ce7
BK
16942004-01-30 Benjamin Kosnik <bkoz@redhat.com>
1695
1696 * src/demangle.cc: Add instantiations.
1697 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
1698 * src/Makefile.in: Regenerate.
16dd5cfe 1699
25d24447
DE
17002004-01-30 David Edelsohn <edelsohn@gnu.org>
1701
1702 * src/allocator.cc: Protect _S_get_thread_id() and
1703 _S_thread_key_destr() with #ifdef __GTHREADS.
1704
33e95e9d
PC
17052004-01-30 Paolo Carlini <pcarlini@suse.de>
1706
1707 Reshuffle performance testsuite.
1708 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
1709 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
1710 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
1711 fstream_seek_write.cc, ifstream_extract_float.cc,
1712 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
1713 list_create_fill_sort.cc, map_create_fill.cc,
1714 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
1715 ofstream_insert_float.cc, ofstream_insert_int.cc,
1716 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
1717 wchar_t_out.cc: Split into...
1718 * testsuite/performance/20_util/allocator.cc: New.
1719 * testsuite/performance/20_util/allocator_map_thread.cc: New.
1720 * testsuite/performance/20_util/allocator_thread.cc: New.
1721 * testsuite/performance/21_strings/string_append: New.
1722 * testsuite/performance/22_locale/is_wchar_t.cc: New.
1723 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
1724 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
1725 * testsuite/performance/22_locale/wchar_t_in.cc: New.
1726 * testsuite/performance/22_locale/wchar_t_length.cc: New.
1727 * testsuite/performance/22_locale/wchar_t_out.cc: New.
1728 * testsuite/performance/23_containers/container_benchmark.cc: New.
1729 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
1730 * testsuite/performance/23_containers/map_create_fill.cc: New.
1731 * testsuite/performance/26_numerics/complex_norm.cc: New.
1732 * testsuite/performance/27_io/cout_insert_int.cc: New.
1733 * testsuite/performance/27_io/filebuf_copy.cc: New.
1734 * testsuite/performance/27_io/filebuf_sputc.cc: New.
1735 * testsuite/performance/27_io/fstream_seek_write.cc: New.
1736 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
1737 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
1738 * testsuite/performance/27_io/ifstream_getline.cc: New.
1739 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
1740 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
1741
d1615643
PC
17422004-01-30 Paolo Carlini <pcarlini@suse.de>
1743
1744 * include/bits/basic_string.tcc (_Rep::_S_create):
1745 Never allocate a string bigger than max_size(); always keep
1746 __capacity and __size in sync to avoid memory leaks at
1747 deallocation time.
1748
690495b0
PC
17492004-01-30 Paolo Carlini <pcarlini@suse.de>
1750
1751 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1752 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
1753 the double loop, streamline.
1754
1755 * include/bits/basic_string.tcc: Very minor tweaks.
1756
f64f4406
LR
17572004-01-30 Loren J. Rittle <ljrittle@acm.org>
1758
1759 * scripts/check_performance: Only compile with $THREAD_FLAG
1760 when test is marked to require it. Allow multiple
1761 compilations/executions of marked tests.
1762 * testsuite/testsuite_performance.h (report_performance):
1763 Report dynamic thread support status.
1764 (report_header): Likewise.
1765 * testsuite/performance/allocator.cc: Stabilize iteration
1766 count. Support more allocators. Mark each allocator test to
1767 run and report independently.
1768 * testsuite/performance/allocator_map_thread.cc: Likewise.
1769 * testsuite/performance/allocator_thread.cc: Likewise.
1770
917a9fd4
SW
17712004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
1772
1773 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
bb9f8a85
CW
1774 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
1775 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
917a9fd4
SW
1776 std::get_temporary_buffer() instead of duplicating its code.
1777 Update to C++STYLE conventions.
bb9f8a85 1778 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
917a9fd4
SW
1779 new() instead of std::malloc().
1780 (return_temporary_buffer): Use ::operator delete() instead of
1781 std::free().
1782
6efc84f4
BK
17832004-01-29 Benjamin Kosnik <bkoz@redhat.com>
1784
1785 * include/bits/allocator.h: Temporary switch to new_allocator as
1786 the default to unjam bootstraps.
16dd5cfe 1787
ba9d552e
BK
17882004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1789
1790 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
1791 * include/Makefile.in: Regenerate.
1792 * include/bits/allocator_traits.h: Remove.
1793 * include/bits/allocator.h: Remove allocator_traits.h include, and
1794 relevant comments.
1795 (allocator): Empty base class, inherit from the underlying allocator.
1796 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
1797 * src/allocator.cc: ...here. New. For the underlying allocators.
1798 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
1799 * config/linker-map.gnu: Remove __pool_alloc bits.
1800 * src/Makefile.am (sources): Add allocator.cc.
1801 * src/Makefile.in: Regenerate.
1802 * testsuite/20_util/allocator/1.cc: Split second test into...
16dd5cfe 1803 * testsuite/20_util/allocator/8230.cc: ...this.
ba9d552e
BK
1804 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
1805 typedef to use std::allocatore. Format.
1806 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
1807 _Alloc_traits.
1808 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
1809 __throw_bad_alloc calls. Don't include <memory>.
1810 * include/ext/malloc_allocator.h: Remove <memory> include.
1811 * include/ext/new_allocator.h (new_allocator): Same.
1812 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
1813 declaration. Switch __alloc to _Alloc.
1814 * include/ext/hashtable.h: Remove __alloc.
1815 * include/backward/alloc.h: Only inject allocator, not
1816 implementation details.
1817
1818 * include/ext/mt_allocator.h: Replace free with delete.
16dd5cfe 1819
ff4cf05b
BK
18202004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1821
1822 * src/globals_io.cc: Change to __gnu_internal namespace.
1823 * src/globals_locale.cc: Same.
1824 * src/locale_init.cc: Same.
1825 * src/ios_init.cc: Same.
16dd5cfe 1826
f15f99a1
SO
18272004-01-28 Stefan Olsson <stefan@snon.net>
1828
8de63ee0 1829 * include/ext/mt_allocator.h: Replaced all malloc() calls with
f15f99a1
SO
1830 operator new(). Added support for the env variable
1831 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
1832 one in allocate() as well). Fix typos.
1833
234e0d31
PC
18342004-01-28 Paolo Carlini <pcarlini@suse.de>
1835
1836 * include/bits/basic_string.h (_S_create(size_t,
1837 const _Alloc&): Change signature to take two size_type
1838 arguments.
1839 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1840 _InIterator, const _Alloc&, input_iterator_tag)): Update
1841 call, tweak a bit.
1842 (_S_construct(_InIterator, _InIterator, const _Alloc&,
1843 forward_iterator_tag)): Likewise.
1844 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
1845 (_M_mutate(size_type, size_type, size_type)): Don't
1846 implement the exponential growth policy, demand it to
1847 _S_create, update call and simplify.
1848 (_M_clone(const _Alloc&, size_type)): Likewise.
1849 (_S_create(size_type, size_type, const _Alloc&)): Implement
1850 the growth policy, simplify otherwise.
1851
1852 * include/bits/basic_string.h (_Rep::operator[]): Tweak
1853 signature to take a size_type, consistently with the other
1854 members.
16dd5cfe 1855
62b21ea0
BK
18562004-01-27 Benjamin Kosnik <bkoz@redhat.com>
1857
1858 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
1859 delete declarations, add include and test variable.
1860
0b563420
JQ
18612003-01-27 Jerry Quinn <jlquinn@optonline.net>
1862
1863 * include/bits/codecvt.h, include/bits/locale_facets.h,
1864 include/bits/postypes.h, include/bits/stl_bvector.h,
1865 include/bits/stl_multiset.h, include/bits/stl_set.h,
1866 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
1867 include/std/std_complex.h: Document.
1868
2a837cf8
JQ
18692004-01-27 Jerry Quinn <jlquinn@optonline.net>
1870
1871 PR libstdc++/11584
1872 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
6a734d61 1873 iword/pword selector.
2a837cf8
JQ
1874 (ios_base::iword, ios_base::pword): Use it.
1875 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
6a734d61 1876 iword or pword member on alloc failure.
2a837cf8
JQ
1877 * testsuite/27_io/ios_base/storage/11584.cc: New test.
1878
6e198ee0
UW
18792004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
1880 PJ Darcy <darcypj@us.ibm.com>
1881
1882 * configure.host: Add support for *-tpf.
1883 * crossconfig.m4: Likewise.
1884 * configure: Regenerate.
1885 * config/os/tpf: New directory.
1886 * config/os/tpf/os_defines.h: New file.
1887 * config/os/tpf/ctype_base.h: Likewise.
1888 * config/os/tpf/ctype_inline.h: Likewise.
1889 * config/os/tpf/ctype_noninline.h: Likewise.
1890
51b6facb
PC
18912004-01-27 Paolo Carlini <pcarlini@suse.de>
1892
1893 PR libstdc++/13884
1894 * include/bits/sstream.tcc: Guard use of extern template.
16dd5cfe 1895
a3af79ea
PC
18962004-01-27 Paolo Carlini <pcarlini@suse.de>
1897
1898 * include/bits/basic_string.tcc
1899 (basic_string(const basic_string&, size_type, size_type),
1900 basic_string(const basic_string&, size_type, size_type,
1901 const _Alloc&)): Avoid unnecessarily constructing iterators.
1902
ba9119ec
PC
19032004-01-26 Paolo Carlini <pcarlini@suse.de>
1904
1905 * config/locale/generic/c_locale.cc: Fix throw messages
1906 to use the __N marker.
1907 * config/locale/gnu/c_locale.cc: Likewise.
1908 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1909 Likewise.
1910 * docs/html/17_intro/C++STYLE: Likewise.
1911 * include/bits/basic_ios.tcc: Likewise.
1912 * include/bits/fstream.tcc: Likewise.
1913 * include/bits/vector.tcc: Likewise.
1914 * include/ext/ropeimpl.h: Likewise.
1915 * include/std/std_bitset.h: Likewise.
1916 * src/ios.cc: Likewise.
1917 * src/locale.cc: Likewise.
1918 * src/localename.cc: Likewise.
1919
0e50667c
PC
19202004-01-26 Paolo Carlini <pcarlini@suse.de>
1921
1922 * include/bits/basic_string.h (_M_replace_aux): Use the
1923 __N marker in throw message.
1924 * include/bits/basic_string.tcc (assign(const _CharT*,
1925 size_type), insert(size_type, const _CharT*, size_type),
1926 replace(size_type, size_type, const _CharT*, size_type),
1927 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1928 Likewise.
1929
1930 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1931 Fold overlong lines, minor formatting changes.
1932
4d39d873
PC
19332004-01-26 Paolo Carlini <pcarlini@suse.de>
1934
1935 * include/bits/basic_string.h (replace(iterator, iterator,
1936 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1937 (replace(iterator, iterator, const _CharT*)): Ditto.
1938 (replace(iterator, iterator, const _CharT*, size_type)):
1939 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1940
2cb612d1
PC
19412004-01-26 Paolo Carlini <pcarlini@suse.de>
1942
1943 * include/bits/basic_string.tcc (replace(size_type,
1944 size_type, const _CharT*, size_type)): Implement optimized
1945 in-place algorithm for non-overlapping ranges.
1946 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1947 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1948
1949 * include/bits/basic_string.tcc (insert(size_type,
1950 const _CharT*, size_type)): Tweak slightly.
1951
f942e78d
AS
19522004-01-26 Andreas Schwab <schwab@suse.de>
1953
1954 * config/locale/gnu/monetary_members.cc: Restore locale before
1955 rethrowing exception.
1956
91eab378
PC
19572004-01-25 Paolo Carlini <pcarlini@suse.de>
1958
1959 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1960 Define inline here.
1961 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1962 Move inline.
1963
1964 * include/bits/basic_string.tcc: Very minor tweaks.
1965
9c519c93
PC
19662004-01-25 Paolo Carlini <pcarlini@suse.de>
1967
1968 * testsuite/performance/string_append.cc: Increase number
1969 of iterations.
1970
30f315cd
PC
19712004-01-25 Paolo Carlini <pcarlini@suse.de>
1972
1973 * include/bits/basic_string.h (erase(size_type, size_type),
1974 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1975 instead, thus avoiding redundant check for length_error.
1976
1977 * include/bits/basic_string.h: Tweak some comments.
1978
bb9909b0
PC
19792004-01-24 Paolo Carlini <pcarlini@suse.de>
1980
1981 * include/bits/basic_string.tcc (operator+(const _CharT*,
1982 const basic_string&)): No need to go through the append
1983 taking two iterators.
1984
04cc8aef
PC
19852004-01-24 Paolo Carlini <pcarlini@suse.de>
1986
1987 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1988 Revert last change to use std::min: machine language is worse.
1989 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1990 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1991 (find_last_not_of(_CharT, size_type)): Ditto.
1992
1993 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1994 size_type)): Discard the value returned by _M_check.
1995 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1996 (append(const basic_string&, size_type, size_type)): Ditto.
1997 (copy(_CharT*, size_type, size_type)): Ditto.
1998 (compare(size_type, size_type, const basic_string&)): Ditto.
1999 (compare(size_type, size_type, const basic_string&,
2000 size_type, size_type)): Ditto.
2001 (compare(size_type, size_type, const _CharT*)): Ditto.
2002 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2003
8865bf80
PC
20042004-01-24 Paolo Carlini <pcarlini@suse.de>
2005
2006 * include/bits/basic_string.h (insert(size_type,
2007 const basic_string&, size_type, size_type)): Define inline here.
2008 * include/bits/basic_string.tcc (insert(size_type,
2009 const basic_string&, size_type, size_type)): Move inline.
2010
fefe561e
PC
20112004-01-24 Paolo Carlini <pcarlini@suse.de>
2012
2013 * include/bits/basic_string.h (assign(const basic_string&,
2014 size_type, size_type)): Define inline here.
2015 (replace(size_type, size_type, const basic_string&,
2016 size_type, size_type)): Ditto.
2017 (_M_replace_dispatch(iterator, iterator, _InputIterator,
2018 _InputIterator, __false_type)): Only declare.
2019 (_M_replace(iterator, iterator, _InputIterator,
2020 _InputIterator)): Remove.
2021 * include/bits/basic_string.tcc (assign(const basic_string&,
2022 size_type, size_type)): Move inline.
2023 (replace(size_type, size_type, const basic_string&,
2024 size_type, size_type)): Ditto.
2025 (_M_replace_dispatch(iterator, iterator, _InputIterator,
2026 _InputIterator, __false_type)): Define, now does also what
2027 _M_replace did before.
2028 * src/string-inst.cc (_M_replace): Don't instantiate.
2029
2030 * include/bits/basic_string.tcc (find(const _CharT*,
2031 size_type, size_type)): Tidy.
2032 (rfind(_CharT, size_type)): Ditto.
2033 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
2034 (find_first_not_of(_CharT, size_type)): Ditto.
2035 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2036 (find_last_not_of(_CharT, size_type)): Ditto.
2037
72afd981
PC
20382004-01-23 Paolo Carlini <pcarlini@suse.de>
2039
2040 PR libstdc++/13838
2041 * include/debug/bitset (operator|=): Fix typo.
2042 * testsuite/23_containers/bitset/operations/13838.cc: New.
2043
251804e6
PC
20442004-01-23 Paolo Carlini <pcarlini@suse.de>
2045
2046 * include/bits/basic_string.tcc (insert(size_type,
2047 const _CharT*, size_type __n)): Fix length_error check.
2048 (replace(size_type, size_type, const _CharT*, size_type):
2049 Ditto; call _M_replace_safe.
2050 (_M_replace_aux(size_type, size_type, size_type, _CharT):
2051 Fix length_error check.
2052 (_M_replace(iterator, iterator, _InputIterator,
2053 _InputIterator)): Ditto, tweak.
2054 (_M_replace_safe(size_type, size_type, const _CharT*,
2055 size_type)): Remove length_error check.
2056
2057 * include/bits/basic_string.tcc (append(const basic_string&),
2058 append(const basic_string&, size_type, size_type)): Tweak
2059 comment.
2060
2061 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
2062 size_type)): If __n == 0 don't call traits::copy.
2063
3cfb44c2
SO
20642004-01-23 Stefan Olsson <stefan@snon.net>
2065
2066 * include/ext/mt_allocator.h: Reduce lock contention.
2067
22352844
PC
20682004-01-23 Paolo Carlini <pcarlini@suse.de>
2069
2070 PR libstdc++/13831
2071 * include/bits/fstream.tcc (underflow): Remove unused
2072 variable.
2073 * include/bits/streambuf_iterator.h (equal): Ditto.
2074 * include/bits/locale_facets.h (_M_convert_from_char):
2075 Ditto.
2076
129057c1
KG
20772004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2078
2079 PR c/13814
2080 * config/linker-map.gnu (nan): Delete.
2081 * libmath/mathconf.h (NAN, nan): Delete.
2082 * linkage.m4 (nan): Don't check for it.
2083 * libmath/nan.c: Delete file.
2084
2085 * config.h.in, configure: Regenerate.
2086
0e707673
PC
20872004-01-23 Paolo Carlini <pcarlini@suse.de>
2088
2089 * include/bits/basic_string.h (push_back(_CharT)):
2090 Call _M_replace_aux.
2091 (insert(size_type, const basic_string&)): Trivial tweak.
2092 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
2093 (insert(iterator, _CharT)): Ditto.
2094 (erase(size_type, size_type)): Ditto.
2095 (erase(iterator)): Ditto.
2096 (erase(iterator, iterator)): Ditto.
2097 (replace(size_type, size_type, size_type, _CharT)): Ditto.
2098
402b0954
LR
20992004-01-23 Loren J. Rittle <ljrittle@acm.org>
2100
2101 libstdc++/13823
2102 * testsuite/performance/allocator_map_thread.cc: New test.
2103
ba46e66a
PC
21042004-01-22 Paolo Carlini <pcarlini@suse.de>
2105
2106 * include/bits/locale_facets.tcc
2107 (money_put::do_put(..., long double)): Use the basic_string
2108 constructor for char arrays, not that for C-strings, to pass
2109 __digits to do_put(..., const string_type&): __ws isn't
2110 null-terminated.
2111
7bb9b33b
PC
21122004-01-22 Paolo Carlini <pcarlini@suse.de>
2113
2114 * include/bits/basic_string.h (_M_replace_safe): Change
2115 signatures to take size_types and const _CharT*.
2116 (_M_replace_aux): Likewise, takes size_types instead of
2117 iterators.
2118 (append(size_type, _CharT)): Update call.
2119 (assign(size_type, _CharT)): Ditto.
2120 (replace(iterator, iterator, size_type, _CharT)): Ditto.
2121 (_M_replace_dispatch(iterator, iterator, _Integer,
2122 _Integer, __true_type)): Ditto.
2123 * include/bits/basic_string.tcc (assign(const _CharT*,
2124 size_type)): Ditto.
2125 (insert(size_type, const _CharT*, size_type)): Ditto.
2126 (replace(size_type, size_type, const _CharT*,
2127 size_type)): Ditto.
2128 (_M_replace(iterator, iterator, _InputIterator,
2129 _InputIterator)): Ditto.
2130 (append(const basic_string&)): Ditto.
2131 (append(const basic_string&, size_type, size_type): Ditto.
2132 (append(const _CharT*, size_type): Ditto.
2133 (_M_replace_safe, _M_replace_safe): Change definitions
2134 accordingly, simplify.
2135 * string-inst.cc (_M_replace_safe): Don't instantiate.
2136
3e7782b2
PC
21372004-01-21 Paolo Carlini <pcarlini@suse.de>
2138
2139 * include/bits/basic_string.tcc (append(const basic_string&)):
2140 Revert previous change.
2141 (append(const basic_string&, size_type, size_type)): Revert
2142 previous change, use _M_check and _M_limit.
2143
e03a6fb7
PC
21442004-01-21 Paolo Carlini <pcarlini@suse.de>
2145
2146 * include/bits/basic_string.h (_M_check): Change to return
2147 a checked __pos and take an additional const char* argument.
2148 (_M_fold): Rename to _M_limit, change to return a size_type,
2149 corresponding to the __off limited to the actual length.
2150 (insert(size_type, size_type, _CharT)): Update call, call
2151 replace.
2152 (insert(iterator, _CharT)): Call replace(iterator, iterator,
2153 size_type, _CharT) instead.
2154 (erase(size_type, size_type)): Update calls.
2155 (replace(size_type, size_type, size_type, _CharT)): Ditto.
2156 (substr(size_type, size_type)): Use _M_check.
2157 * include/bits/basic_string.tcc (basic_string(const basic_string&,
2158 size_type, size_type)): Update calls.
2159 (basic_string(const basic_string&, size_type, size_type,
2160 const _Alloc&)): Ditto.
2161 (assign(const basic_string&, size_type, size_type)): Use the
2162 new _M_check and _M_limit.
2163 (insert(size_type, const basic_string&, size_type, size_type):
2164 Ditto.
2165 (insert(size_type, const _CharT*, size_type)): Ditto.
2166 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
2167 (replace(size_type, size_type, const basic_string&,
2168 size_type, size_type)): Ditto.
2169 (append(const basic_string&)): Ditto.
2170 (append(const basic_string&, size_type, size_type)): Ditto.
2171 (copy(_CharT*, size_type, size_type)): Ditto.
2172 (compare(size_type, size_type, const basic_string&)): Ditto.
2173 (compare(size_type, size_type, const basic_string&,size_type,
2174 size_type)): Ditto.
2175 (compare(size_type, size_type, const _CharT*)): Ditto.
2176 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2177
cec73eb5
SO
21782004-01-19 Stefan Olsson <stefan@snon.net>
2179
2180 * include/ext/mt_allocator.h: If a thread, when it dies, still has
2181 memory on it's freelist this memory is not returned to global
2182 list. Simplification of deallocate so that memory is always
2183 returned to the calling thread id's freelist instead of to
2184 global. Fix typos. Add volatile where appropriate.
2185
87d11ccc
LR
21862004-01-19 Loren J. Rittle <ljrittle@acm.org>
2187
2188 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
2189 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
2190 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
2191
f18be892
PC
21922004-01-19 Paolo Carlini <pcarlini@suse.de>
2193
2194 * src/debug.cc: Make sure all the names are prefixed with
2195 double (or single) underscore.
2196
33d4e9b2
PC
21972004-01-19 Paolo Carlini <pcarlini@suse.de>
2198
2199 * src/debug.cc: Trivial formatting change.
2200
954b12d2
PC
22012004-01-19 Paolo Carlini <pcarlini@suse.de>
2202
2203 * include/bits/basic_string.tcc (_S_construct(size_type,
2204 _CharT, const _Alloc&)): Remove redundant try/catch.
2205 (_M_mutate(size_type, size_type, size_type)): Ditto.
2206 (_M_clone(const _Alloc&, size_type)): Ditto.
16dd5cfe 2207
acbab5bf
PC
22082004-01-18 Paolo Carlini <pcarlini@suse.de>
2209
2210 * include/bits/basic_string.h (c_str()): Simplify, due to
2211 21.3.4 the internal representation is always kept null-terminated.
2212 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
2213 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
2214 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
2215 Ditto.
2216
9c96a689
PC
22172004-01-18 Paolo Carlini <pcarlini@suse.de>
2218
2219 * include/bits/basic_string.h (append(size_type, _CharT)):
2220 Moved inline, just call _M_replace_aux, no source iterators at
2221 risk of being clobbered.
2222 (assign(size_type, _CharT)): Call directly _M_replace_aux.
2223 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2224 input_iterator_tag)): Remove fifth unused argument.
2225 (_M_replace_dispatch(iterator, iterator, _InputIterator,
2226 _InputIterator, __false_type)): Update call.
2227 * include/bits/basic_string.tcc (replace(size_type, size_type,
2228 const _CharT*, size_type)): Update call.
2229 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
2230 throw string literal.
2231 (_M_replace_safe(iterator, iterator, _ForwardIterator,
2232 _ForwardIterator)): Likewise.
2233 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2234 input_iterator_tag)): Remove fifth unused argument.
2235 (append(size_type __n, _CharT __c)): Move inline.
2236 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
2237 const C*, const C*, input_iterator_tag)): Remove fifth unused
2238 argument.
2239
d517f626
BK
22402004-01-16 Benjamin Kosnik <bkoz@redhat.com>
2241
2242 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
16dd5cfe 2243 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
d517f626 2244
701b701b
DS
22452004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
2246
2247 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
2248 mkfifo for mingw32.
2249
2913770f
SO
22502004-01-15 Stefan Olsson <stefan@snon.net>
2251
2252 * include/ext/mt_allocator.h: Reuse thread id's as soon as
2253 possible by changing the behaviour of thread_freelist to do
2254 push_front when threads die instead of push_back.
2255
47f62b27
PC
22562004-01-14 Paolo Carlini <pcarlini@suse.de>
2257
2258 * include/bits/locale_facets.h (struct __numpunct_cache):
2259 Add member _M_grouping_size, caching the length of _M_grouping.
2260 (__numpunct_cache<>::_M_cache): Assign the latter.
2261 (__verify_grouping): Move declaration...
2262 * include/bits/locale_facets.tcc (__verify_grouping):
2263 ... here, change signature to take a const char* and a size_t
2264 for the grouping; not a template anymore.
2265 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
16dd5cfe 2266 Likewise change signature and tweak consistently.
47f62b27
PC
2267 (num_get::_M_extract_float, num_get::_M_extract_int,
2268 num_put::_M_insert_int, num_put::_M_insert_float,
2269 money_get::do_get(string_type&), money_get::do_put(string_type)):
16dd5cfe 2270 Update callers.
47f62b27 2271 * config/locale/generic/numeric_members.cc
16dd5cfe 2272 (numpunct<>::_M_initialize_numpunct): Assign the new member.
47f62b27 2273 * config/locale/gnu/numeric_members.cc
16dd5cfe 2274 (numpunct<>::_M_initialize_numpunct): Likewise.
47f62b27
PC
2275 * src/locale-inst.cc (__add_grouping): Tweak signature.
2276 (__verify_grouping): Don't instantiate, not a template anymore.
2277
2278 * include/bits/locale_facets.h: Rename _M_truename_len ->
2279 _M_truename_size, _M_falsename_len -> _M_falsename_size.
2280 * include/bits/locale_facets.tcc: Likewise.
2281 * config/locale/generic/numeric_members.cc: Likewise.
2282 * config/locale/gnu/numeric_members.cc: Likewise.
2283
41f24725
SO
22842004-01-14 Stefan Olsson <stefan@snon.net>
2285
2286 * include/ext/mt_allocator.h: Fixups.
2287 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
2288 * testsuite/performance/allocator_thread.cc: Same.
16dd5cfe 2289
070ce57b
BK
22902004-01-13 Benjamin Kosnik <bkoz@redhat.com>
2291
2292 * testsuite/performance/ifstream_extract_float.cc: Add higher
2293 precision tests.
2294 * testsuite/performance/ofstream_insert_float.cc: Same.
16dd5cfe 2295
c9513590
PC
22962004-01-13 Paolo Carlini <pcarlini@suse.de>
2297
2298 * src/locale-misc-inst.cc (__convert_from_v(long),
2299 __convert_from_v(unsigned long), __convert_from_v(long long),
2300 __convert_from_v(unsigned long long)): Remove, unused.
2301
60af005f
BK
23022004-01-13 Benjamin Kosnik <bkoz@redhat.com>
2303
2304 * testsuite/performance/ifstream_extract_float.cc: New.
2305 * testsuite/performance/ofstream_insert_float.cc: Float generation
2306 matches above.
2307
2308 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
2309 * 20_util/auto_ptr/1.cc: ...this.
2310 * 20_util/auto_ptr/2.cc: Same.
2311 * 20_util/auto_ptr/3.cc: Same.
2312 * 20_util/auto_ptr/3946.cc: Same.
2313 * 20_util/auto_ptr/4.cc: Same.
2314 * 20_util/auto_ptr/5.cc: Same.
2315 * 20_util/auto_ptr/6.cc: Same.
2316 * 20_util/auto_ptr/7.cc: Same.
2317 * 20_util/auto_ptr/assign_neg.cc
2318 * 20_util/pairs.cc: Break into...
2319 * 20_util/pair/1.cc: ...this.
2320 * 20_util/pair/2.cc: Same.
2321 * 20_util/pair/3.cc: Same.
2322 * 20_util/pair/4.cc: Same.
2323
d8ef7dec
PC
23242004-01-13 Paolo Carlini <pcarlini@suse.de>
2325
2326 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
2327 Set correctly just basefield, the only group that matters.
2328
5640461d
PC
23292004-01-13 Paolo Carlini <pcarlini@suse.de>
2330
2331 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
2332 (_Rope_rep_base): Inherit directly from the rope allocator;
2333 use rebinding instead of _Alloc_traits; pick up data member
2334 from _Rope_rep_alloc_base.
2335 (_Rope_alloc_base): Eliminate.
2336 (_Rope_base): Inherit directly from the rope allocator; use
2337 rebinding instead of _Alloc_traits; pick up data member from
2338 _Rope_alloc_base.
2339 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
2340 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
2341
95c9624f
PC
23422004-01-13 Paolo Carlini <pcarlini@suse.de>
2343
2344 PR libstdc++/13650
2345 * include/bits/basic_string.tcc (compare(size_type, size_type,
2346 const _CharT*, size_type)): Implement correctly the resolution
2347 of DR 5: basically, s is a char array, -not- a C string.
2348 * include/bits/basic_string.h: Tweak some comments.
2349 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
2350 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
2351
c91de77a
AT
23522004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
2353
2354 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
2355 Solaris.
2356
300b3317
PC
23572004-01-12 Paolo Carlini <pcarlini@suse.de>
2358
2359 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
2360 Use try_mkfifo.
2361 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
2362 Likewise.
2363
dc6798f8
PC
23642004-01-12 Paolo Carlini <pcarlini@suse.de>
2365
2366 * include/bits/locale_facets.h (struct __numpunct_cache):
2367 Add members _M_truename_len and _M_falsename_len, caching
2368 the lengths of _M_truename and _M_falsename.
2369 (__numpunct_cache<>::_M_cache): Assign the latter.
2370 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
2371 num_put::do_put(bool)): Use the new members, thus avoiding
2372 computing string lengths again and again.
2373 * config/locale/generic/numeric_members.cc
2374 (numpunct<>::_M_initialize_numpunct): Assign the new members.
2375 * config/locale/gnu/numeric_members.cc
2376 (numpunct<>::_M_initialize_numpunct): Likewise.
2377
ea1ea21a
MM
23782004-01-12 Mark Mitchell <mark@codesourcery.com>
2379
2380 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
2381 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
2382 it.
2383 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
2384 and remove Cygwin XFAIL.
2385 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
2386 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
2387 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
2388 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
2389 Likewise.
2390 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2391 * testsuite/27_io/objects/char/7.cc: Likewise.
2392 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
2393 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
2394 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
2395
3b3bfc0e
GDR
23962004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
2397
2398 * include/std/std_complex.h (std::complex<>::real): Return a
2399 reference. Add non-const overload.
2400 (std::complex<>::real): Likewise.
2401 (std::real): Likewise.
2402 (std::imag): Likewise.
2403 (std::operator+): Tidy.
2404 (std::operator-): Likewise.
2405 (std::operator*): Likewise.
2406 (std::operator/): Likewise.
2407 (std::operator>>): Likewise.
2408
09625c16
PC
24092004-01-11 Paolo Carlini <pcarlini@suse.de>
2410
2411 PR libstdc++/13582
2412 * include/bits/fstream.tcc (imbue): Exploit the external
2413 buffer to imbue 'on the fly' a new locale and convert its
2414 remainder with the new codecvt facet.
2415 (underflow): Tweak slightly to deal with this special case.
2416 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
2417 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
2418 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
2419 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
2420 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
16dd5cfe 2421
a8d65349
PC
24222004-01-10 Paolo Carlini <pcarlini@suse.de>
2423
2424 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
2425 Import Revision 28.
2426
b656faa8
PC
24272004-01-10 Paolo Carlini <pcarlini@suse.de>
2428
2429 PR libstdc++/13630
2430 * include/bits/locale_classes.h (class locale): Fix category
2431 typedef.
2432 * testsuite/22_locale/locale/13630.cc: Add.
2433
f88e4715
GB
24342004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2435
2436 * include/bits/locale_facets.h: Make a name really dependent. This
2437 will be needed when Core Issue 224 is implemented.
2438
64cb2c4a
PC
24392004-01-09 Paolo Carlini <pcarlini@suse.de>
2440
2441 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
2442 * testsuite/performance/allocator_thread.cc: Likewise.
2443
158960ba
BK
24442004-01-07 Benjamin Kosnik <bkoz@redhat.com>
2445
2446 * crossconfig.m4: Add LFS, io bits to linux cross config.
2447 * acconfig.h: Remove obsolete bits, reorder.
2448 * config.h.in: Regenerate.
2449 * aclocal.m4: Same.
2450 * configure: Same.
16dd5cfe 2451
e135a038
BK
24522004-01-07 Gawain Bolton <gp.bolton@computer.org>
2453
2454 * include/bits/stl_list.h:
2455 * include/bits/list.tc:
2456 * src/list.cc:
6a734d61
BK
2457 Performance enhancements for destructor, push_front(),
2458 push_back(), pop_front(), pop_back(), sort()
2459 Eliminated static_casts where possible.
2460 Moved code out of header files into new src/list.cc
2461 implementation file for library where possible.
2462 Remove inheritance from iterator class and create separate
2463 classes for non-constant and constant iterators.
e135a038 2464 * include/bits/stl_tree.h (_Rb_tree class):
16dd5cfe 2465 * src/tree.cc:
6a734d61
BK
2466 Only erase contents in destructor.
2467 Eliminate unnecessary initialization in assignment operator.
2468 Optimize for the nominal case by not checking whether
2469 container is empty in clear().
2470 Re-order test in _M_insert() to improve performance.
2471 Move initialization of new node's left & right pointers to
2472 src/tree.cc to where new node's colour is initialized
2473 and to reduce the amount of inline code.
2474 Use _M_leftmost() and _M_end() to improve readability where
2475 appropriate.
2476 Create separate classes for non-constant and constant
2477 iterators to clarify code, avoid extra template parameters and
2478 casting away constness.
16dd5cfe 2479
e135a038
BK
24802004-01-07 Benjamin Kosnik <bkoz@redhat.com>
2481
2482 * src/Makefile.am (sources): Add list.cc, tree.cc.
2483 * src/stl_tree.cc: Move to...
2484 * src/tree.cc: ...here.
2485 * src/list.cc: Add.
2486 * config/linker-map.gnu: Tweaks.
2487 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
2488 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
2489
2490 * bits/stl_vector.h: Column wrap comments.
16dd5cfe 2491
677e7ddc
LR
24922004-01-07 Loren J. Rittle <ljrittle@acm.org>
2493
2494 (re-open) PR libstdc++/12658
2495 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
2496 (locale::global): Likewise.
2497
d8f5bd50
PC
24982004-01-07 Paolo Carlini <pcarlini@suse.de>
2499
2500 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
2501 Remove redundant #include.
2502 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
2503 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
2504 re-enable normal testing.
2505 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
2506 #include.
2507 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
2508 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
2509 Likewise.
2510 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
2511 Likewise.
2512 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
2513 Likewise.
2514 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
2515 Likewise.
2516 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
2517 Likewise.
2518 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
2519 Likewise.
2520 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
2521 Likewise.
2522 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
2523 More properly, #include <locale>.
2524 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
2525 Remove redundant #include.
2526 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
2527 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
2528 redundant DejaGnu directive.
2529 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
2530 redundant #include.
2531
b61f9bf0 25322004-01-06 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 2533 Stefan Olsson <stefan@snon.net>
b61f9bf0
BK
2534
2535 * scripts/check_performance: Use -pthread.
2536 * testsuite/performance/allocator.cc: Tweaks, add list.
2537 * testsuite/performance/allocator_thread.cc: New.
2538
b74a6851 25392004-01-06 Jerry Quinn <jlquinn@optonline.net>
9a01c9b0
JQ
2540
2541 * include/bits/locale_facets.h: Document public classes and
2542 functions.
2543 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
2544 Add comment.
2545
b80115c4
PC
25462004-01-06 Paolo Carlini <pcarlini@suse.de>
2547
2548 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
2549 Remove redundant #includes.
2550 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
2551 Likewise.
2552 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
2553 Likewise.
2554 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
2555 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
2556 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
2557 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
2558 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
2559 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
2560 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
2561 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
2562 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
2563 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
2564 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
2565 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
2566 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
2567 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
2568 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
2569 Likewise.
2570 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
2571 Likewise.
2572 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
2573 Likewise.
2574 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
2575 Likewise.
2576 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
2577 Likewise.
2578 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
2579 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
2580 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
2581
22ed0590 25822004-01-04 Paolo Carlini <pcarlini@suse.de>
223b5084
PC
2583
2584 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
2585 Remove redundant #includes.
2586 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
2587 Likewise.
2588 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
2589 Likewise.
2590 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
2591 Likewise.
2592 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
2593 Likewise.
2594 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
2595 Likewise.
2596 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
2597 Likewise.
2598 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2599 Likewise.
2600 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
2601 Likewise.
2602 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
2603 Likewise.
2604 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
2605 Likewise.
2606 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
2607 Likewise.
2608 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
2609 Likewise.
2610
4f8163b1
MM
26112004-01-04 Mark Mitchell <mark@codesourcery.com>
2612
2613 PR c++/12226
2614 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
2615 constructor.
2616 * testsuite/27_io/basic_fstream/4.cc: Likewise.
2617 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
2618 * testsuite/27_io/basic_ios/4.cc: Likewise.
2619 * testsuite/27_io/basic_iostream/4.cc: Likewise.
2620 * testsuite/27_io/basic_istream/4.cc: Likewise.
2621 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
2622 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
2623 * testsuite/27_io/basic_ostream/4.cc: Likewise.
2624 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
2625 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
2626 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
2627
17fa5560
PC
26282004-01-04 Paolo Carlini <pcarlini@suse.de>
2629
2630 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
2631 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
2632 always use double underscored names.
2633 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
2634 Likewise.
2635 * include/bits/locale_facets.h (struct __numpunct_cache):
2636 Dimension _M_atoms_out and _M_atoms_in one position smaller.
2637 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
2638 and _M_atoms_in.