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