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