]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
bitmap_allocator.h (allocate): Throw std::bad_alloc when n > max_size().
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2004-10-20 Paolo Carlini <pcarlini@suse.de>
2
3 * include/ext/bitmap_allocator.h (allocate): Throw std::bad_alloc
4 when n > max_size().
5 * include/ext/malloc_allocator.h (allocate): Likewise.
6 * include/ext/mt_allocator.h (allocate): Likewise.
7 * include/ext/new_allocator.h (allocate): Likewise.
8 * include/ext/array_allocator.h: Use __throw_bad_alloc().
9 * include/ext/pool_allocator.h: Use __builtin_expect.
10 * testsuite/ext/array_allocator/check_allocate_max_size.cc: New.
11 * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: Likewise.
12 * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: Likewise.
13 * testsuite/ext/mt_allocator/check_allocate_max_size.cc: Likewise.
14 * testsuite/ext/new_allocator/check_allocate_max_size.cc: Likewise.
15 * testsuite/ext/pool_allocator/check_allocate_max_size.cc: Likewise.
16 * testsuite/testsuite_allocator.h (check_allocate_max_size): New test.
17
18 2004-10-19 Paolo Carlini <pcarlini@suse.de>
19
20 * testsuite/performance/20_util/allocator/list_sort_search.cc:
21 Include <ext/new_allocator.h>.
22 * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
23
24 2004-10-18 Paolo Carlini <pcarlini@suse.de>
25
26 * include/bits/basic_string.tcc (_M_mutate): Do not reallocate
27 unnecessarily when _M_rep() == &_S_empty_rep() and __new_size
28 == capacity() (== 0): is ok to just leave everything unchanged.
29
30 * include/bits/basic_string.h: Minor formatting fixes.
31 * include/bits/basic_string.tcc: Likewise.
32
33 2004-10-17 Benjamin Kosnik <bkoz@redhat.com>
34
35 * include/ext/mt_allocator.h (__pool::_M_get_align): New.
36 (__mt_alloc::allocate): Use it.
37 * src/mt_allocator.cc (__pool::_M_reclaim_block): Use it.
38 (__pool::_M_reserve_block): Simplify block allocation.
39
40 2004-10-17 Dhruv Matani <dhruvbird@gmx.net>
41 Paolo Carlini <pcarlini@suse.de>
42
43 * include/ext/bitmap_allocator.h: Change unsigned int -> size_t: this
44 makes the code 64-bit correct and also fixes (together with using at
45 the beginning a bitmap 2 * size_t bytes wide) alignment issues: now
46 8 is guaranteed, easily tunable to 16 via _BALLOC_ALIGN_BYTES.
47 Fix pthread-rope7.cc fail by nulling out __mini_vector<> destructor.
48 * src/bitmap_allocator.cc: Change to size_t.
49 * config/linker-map.gnu: Adjust.
50
51 2004-10-16 Benjamin Kosnik <bkoz@redhat.com>
52
53 * include/tr1/array: Don't use layout_type.
54
55 2004-10-16 Sashan Govender <sashang@gmail.com>
56
57 * include/tr1/array (array::end const): Fix casting from iterator
58 to const_iterator.
59
60 2004-10-15 Paolo Carlini <pcarlini@suse.de>
61
62 * include/ext/bitmap_allocator.h: Qualify ::operator delete.
63 * src/bitmap_allocator.cc: Likewise.
64 * src/mt_allocator.cc: Use ::operator delete, not delete,
65 consistently with ::operator new.
66
67 * include/ext/bitmap_allocator.h (deallocate): Check for null
68 pointer.
69 * testsuite/ext/bitmap_allocator/check_deallocate_null.cc: New.
70 * testsuite/testsuite_allocator.h (check_deallocate_null): Add test.
71
72 2004-10-14 Benjamin Kosnik <bkoz@redhat.com>
73
74 * include/ext/mt_allocator.h (__mt_alloc::deallocate): Check for
75 null pointer.
76 * include/ext/pool_allocator.h (debug_allocator::deallocate):
77 Check pointer value.
78 * include/ext/debug_allocator.h (debug_allocator::deallocate):
79 Throw exceptions, don't abort.
80 * include/ext/array_allocator.h
81 (array_allocator_base::deallocate): Remove unused parameters.
82 * testsuite/testsuite_allocator.h (check_deallocate_null): New.
83 * testsuite/ext/mt_allocator/check_deallocate_null.cc: New.
84 * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: New.
85 * testsuite/ext/array_allocator/check_deallocate_null.cc: New.
86 * testsuite/ext/debug_allocator/check_deallocate_null.cc: New.
87 * testsuite/ext/malloc_allocator/check_deallocate_null.cc: New.
88 * testsuite/ext/new_allocator/check_deallocate_null.cc: New.
89 * testsuite/ext/pool_allocator/check_deallocate_null.cc: New.
90
91 * testsuite/testsuite_allocator.h (check_new): Add instance argument.
92 * testsuite/ext/array_allocator/check_new.cc: New.
93
94 2004-10-14 Paolo Carlini <pcarlini@suse.de>
95
96 * include/ext/bitmap_allocator.h (bitmap_allocator::_Alloc_block):
97 Rename __unused to __M_unused.
98
99 2004-10-14 Benjamin Kosnik <bkoz@redhat.com>
100
101 * testsuite/ext/headers.cc: Add includes, compile only.
102 * testsuite/ext/hash_map.cc: Move to...
103 * testsuite/ext/hash_map/1.cc: ...here.
104 * testsuite/ext/14648.cc: Move to...
105 * testsuite/ext/hash_map/14648.cc: ...here.
106 * testsuite/ext/hash_map/instantiate.cc: Add.
107 * testsuite/ext/hash_set.cc: Move to...
108 * testsuite/ext/hash_set/1.cc: ...here.
109 * testsuite/ext/hash_set_explicit_instantiation.cc: Move to...
110 * testsuite/ext/hash_set/instantiate.cc: ...here.
111 * testsuite/ext/hash_check_construct_destroy.cc: Move to...
112 * testsuite/ext/hash_set/check_construct_destroy.cc: ...here.
113 * testsuite/ext/slist_check_construct_destroy.cc: Move to...
114 * testsuite/ext/slist/check_construct_destroy.cc: ...here.
115 * testsuite/ext/slist_explicit_instantiation.cc: Move to...
116 * testsuite/ext/slist/instantiate.cc: ...here.
117
118 2004-10-14 Benjamin Kosnik <bkoz@redhat.com>
119
120 * include/ext/mt_allocator.h: Tweaks.
121 * src/mt_allocator.cc: Same.
122
123 2004-10-14 Dhruv Matani <dhruvbird@gmx.net>
124
125 * ext/bitmap_allocator.h: Clean-up add/remove functions.
126 * src/bitmap_allocator.cc: New file. Contains the out-of-line
127 function definitions, static initialization of variables, and
128 explicit instantiations needed for the allocator.
129 * src/Makefile.am: Add.
130 * src/Makefile.in: Regenerate.
131 * config/linker.map.gnu: Add the necessary symbols.
132
133 2004-10-13 Paolo Carlini <pcarlini@suse.de>
134
135 * include/bits/basic_string.tcc (_S_create): Use consistently
136 the exponential policy, simplify.
137 * testsuite/performance/21_strings/string_append_2.cc: New.
138
139 * include/ext/array_allocator.h (allocate): Fix bad_alloc check.
140 * testsuite/ext/array_allocator/2.cc: Fix wrt 64-bit archs (in
141 that case sizeof(_Rep) == 24).
142
143 2004-10-12 Paolo Carlini <pcarlini@suse.de>
144
145 PR libstdc++/17948
146 * include/bits/stl_tree.h (erase(iterator, iterator)): Revert
147 wrong commit of 2004-10-07.
148
149 2004-10-12 Scott Snyder <snyder@fnal.gov>
150
151 PR libstdc++/17948
152 * testsuite/23_containers/set/modifiers/17948.cc: New.
153
154 2004-10-11 Benjamin Kosnik <bkoz@redhat.com>
155
156 * include/bits/stl_deque.h: Correct for over-long lines.
157
158 2004-10-11 Benjamin Kosnik <bkoz@redhat.com>
159
160 PR libstdc++/17937
161 * include/ext/mt_allocator.h (__pool::_M_destroy): New.
162 * src/mt_allocator.cc (__pool::~__pool): Change definitions to
163 _M_destroy.
164 * acconfig.h: Remove _GLIBCXX_USE___CXA_ATEXIT.
165 * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): Remove.
166 * configure.ac: Remove call to GLIBCXX_ENABLE_CXA_EXIT.
167 * configure: Regenerate.
168 * config/linker-map.gnu: Tweak exports.
169 * docs/html/ext/mt_allocator.html: Update docs.
170 * testsuite/ext/mt_allocator/deallocate_global-2.cc: Fix.
171 * testsuite/ext/mt_allocator/deallocate_global-4.cc: Fix.
172 * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Fix.
173 * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Fix.
174 * testsuite/ext/mt_allocator/deallocate_local-2.cc: Fix.
175 * testsuite/ext/mt_allocator/deallocate_local-4.cc: Fix.
176 * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Fix.
177 * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Fix.
178
179 2004-10-11 Benjamin Kosnik <bkoz@redhat.com>
180
181 PR libstdc++/16614 continued.
182 * include/ext/mt_allocator.h
183 (__per_type_pool_policy::_S_get_pool): Use saner defaults based on
184 specific type characteristics.
185 (__pool_base): Add constructor that takes a _Tune argument.
186 (__pool): Same.
187 * testsuite/ext/mt_allocator/tune-2.cc: Adjust default.
188 * testsuite/ext/mt_allocator/tune-4.cc: Same.
189 * testsuite/ext/mt_allocator/tune-3.cc: Same.
190
191 2004-10-11 Joachim Kuebart <kuebart@mathematik.uni-ulm.de>
192 Paolo Carlini <pcarlini@suse.de>
193
194 * src/pool_allocator.cc (__pool_alloc_base::_M_allocate_chunk):
195 Deal properly with exceptions thrown by ::operator new(size_t).
196 * testsuite/ext/pool_allocator/allocate_chunk.cc: New.
197
198 * include/ext/pool_allocator.h: Include <cstdlib>.
199
200 2004-10-10 Benjamin Kosnik <bkoz@redhat.com>
201
202 * include/bits/functexcept.h: Add guards.
203
204 * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Tweak test.
205 * configure: Regenerate.
206
207 2004-10-10 Paolo Carlini <pcarlini@suse.de>
208
209 * config/locale/gnu/monetary_members.cc (_S_construct_pattern):
210 Give __ret a default value, thus avoiding spurious warnings.
211
212 * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
213 words or linux.words, otherwise exit.
214 * testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.
215
216 2004-10-09 Paolo Carlini <pcarlini@suse.de>
217
218 * include/std/std_memory.h (__get_temporary_buffer): Don't use
219 INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
220 platforms too.
221 * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
222 line numbers.
223
224 2004-10-08 Benjamin Kosnik <bkoz@redhat.com>
225
226 * acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
227 * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New.
228 * configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT.
229 * configure: Regenerate.
230 * src/mt_allocator.cc (__pool::~__pool): Make conditional on
231 _GLIBCXX_USE___CXA_ATEXIT macro.
232 * docs/html/ext/mt_allocator.html: Add note about deallocation.
233 * testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks
234 with _GLIBCXX_USE___CXA_ATEXIT.
235 * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
236 * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
237 * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
238 * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
239 * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
240 * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
241 * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
242
243 2004-10-07 Phil Edwards <phil@codesourcery.com>
244
245 * testsuite/lib/libstdc++.exp: Update list of undefined functions.
246
247 2004-10-07 Paolo Carlini <pcarlini@suse.de>
248
249 * include/bits/list.tcc (operator=): Avoid iterator postincrement.
250 * include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.
251
252 2004-10-07 Benjamin Kosnik <bkoz@redhat.com>
253
254 * include/tr1: New.
255 * include/tr1/array: New.
256 * include/Makefile.am (tr1_headers): New.
257 (stamp-tr1): New.
258 (install-headers): New.
259 (allstamped): Add stamp-tr1.
260
261 * include/ext/array_allocator.h: New.
262 * include/Makefile.am: Add.
263 * include/Makefile.in: Regenerate.
264 * testsuite/ext/array_allocator/1.cc: New.
265 * testsuite/ext/array_allocator/2.cc: New.
266
267 2004-10-07 Richard Earnshaw <rearnsha@arm.com>
268
269 * testsuite/lib/libstdc++.exp (libstdc++_exit): New proc.
270
271 2004-10-07 Roger Sayle <roger@eyesopen.com>
272
273 PR libstdc++/17850
274 * configure.ac: Newlib does not provide strtold.
275 * configure: Regenerate.
276
277 2004-10-06 Benjamin Kosnik <bkoz@redhat.com>
278
279 * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
280 (GLIBCXX_CONFIGURE_TESTSUITE): Use it.
281 * configure: Regenerated.
282 * testsuite/Makefile.am (CLEANFILES): Add TEST for
283 check-performance executables.
284 (stamp_thread): New.
285 (all-local): Use it.
286 * testsuite/Makefile.in: Regenerate.
287 * scripts/create_testsuite_files: Filter thread tests.
288
289 * testsuite/thread/pthread1.cc: Remove macro conditionals: this
290 file will only be run by thread enabled configurations.
291 * testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
292 * testsuite/thread/pthread6.cc: Same.
293 * testsuite/thread/pthread5.cc: Same.
294 * testsuite/thread/pthread4.cc: Same.
295 * testsuite/thread/pthread3.cc: Same.
296 * testsuite/thread/pthread2.cc: Same.
297
298 * testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
299 * testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
300 * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
301 * testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
302 * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here.
303 * testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
304 * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
305 * testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
306 * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.
307
308 2004-10-06 Benjamin Kosnik <bkoz@redhat.com>
309 Paolo Carlini <pcarlini@suse.de>
310
311 PR libstdc++/17780
312 * src/mt_allocator.cc (__pool<true>::_M_reserve_block): Revert
313 to old locking order.
314
315 2004-10-06 Paolo Carlini <pcarlini@suse.de>
316
317 * include/std/std_sstream.h (_M_sync): When the caller is
318 setbuf, don't trust _M_string.capacity() to be the size of
319 the buffer area, use _M_string.size() in this case.
320 * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: New.
321 * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
322
323 * include/bits/sstream.tcc (overflow): Avoid calling string::assign
324 unnecessarily when the current _M_string is empty.
325
326 2004-10-06 Paolo Carlini <pcarlini@suse.de>
327
328 * include/bits/stl_algo.h (__reverse(bidirectional_iterator_tag)):
329 Avoid iterator postincrement.
330 (__rotate): Likewise.
331
332 * include/bits/stl_algo.h: Minor formatting tweaks.
333
334 2004-10-06 Christopher Jefferson <caj@cs.york.ac.uk>
335
336 * include/bits/stl_algo.h (__reverse(random_access_iterator_tag)):
337 Avoid iterator postincrement; fix swapping middle element with
338 itself on odd-length inputs.
339
340 2004-10-05 Benjamin Kosnik <bkoz@redhat.com>
341
342 PR libstdc++/17780
343 * include/ext/mt_allocator.h (__pool_base::_Tune): Add default
344 options as compile-time constant enums.
345 (__pool_base::_Tune::is_default): New.
346 (__pool_base::_Block_address): New.
347 (__pool_base): Rearrange data members.
348 (__pool::_M_reserve_memory): To _M_reserve_block.
349 (__pool::_M_reclaim_memory): To _M_reclaim_block.
350 (__pool::_Bin_record): Add _Block_address data member.
351 (__pool<false>): Add _M_thread_freelist_initial.
352 (__pool::~__pool): Declare.
353 (__common_pool_policy): Move static data member to...
354 (__common_pool_policy::_S_get_pool): ...here, make static local.
355 (__per_type_pool_policy): Move static data member to...
356 (__per_type_pool_policy::_S_get_pool): ...here, make static local.
357 (__mt_alloc::__mt_alloc): Call __policy_type::_S_get_pool.
358 Remove static member definitions. Use define for __default_policy.
359 * src/mt_allocator.cc: Same.
360 * config/linker-map.gnu: Don't export _S_get_pool. Renames.
361 * testsuite/ext/new_allocator: New.
362 * testsuite/ext/new_allocator/instantiate.cc: New.
363 * testsuite/ext/new_allocator/check_new.cc: New.
364 * testsuite/ext/new_allocator/deallocate_global.cc: New.
365 * testsuite/ext/new_allocator/deallocate_local.cc: New.
366 * testsuite/ext/mt_allocator/instantiate.cc: Instantiate all
367 template arguments.
368 * testsuite/ext/mt_allocator/deallocate_global-1.cc: New.
369 * testsuite/ext/mt_allocator/deallocate_global-2.cc: New.
370 * testsuite/ext/mt_allocator/deallocate_global-3.cc: New.
371 * testsuite/ext/mt_allocator/deallocate_global-4.cc: New.
372 * testsuite/ext/mt_allocator/deallocate_local-1.cc: New.
373 * testsuite/ext/mt_allocator/deallocate_local-2.cc: New.
374 * testsuite/ext/mt_allocator/deallocate_local-3.cc: New.
375 * testsuite/ext/mt_allocator/deallocate_local-4.cc: New.
376 * testsuite/ext/mt_allocator/deallocate.cc: New.
377 * testsuite/ext/malloc_allocator/deallocate.cc: New.
378 * testsuite/ext/malloc_allocator/deallocate_global.cc: New.
379 * testsuite/ext/malloc_allocator/deallocate_local.cc: New.
380
381 2004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
382
383 * configure.host (abi_baseline_pair): Define for s390-*-linux* and
384 s390x-*-linux*.
385 * config/abi/s390-linux-gnu/baseline_symbols.txt: Add missing symbols.
386 * config/abi/s390x-linux-gnu/baseline_symbols.txt: New file.
387
388 2004-10-05 Christopher Jefferson <caj@cs.york.ac.uk>
389
390 * include/bits/stl_algobase.h (iter_swap): delegate to swap via
391 __iter_swap when iterator's value_types are equal.
392 (struct __iter_swap): New.
393
394 2004-10-04 Benjamin Kosnik <bkoz@redhat.com>
395
396 * configure.ac (libtool_VERSION): To 6:3:0.
397 * configure: Regnerate.
398 * testsuite/testsuite_abi.cc (check_version): Add 3.4.3.
399
400 2004-10-04 Roger Sayle <roger@eyesopen.com>
401 Eric Botcazou <ebotcazou@libertysurf.fr>
402
403 PR libstdc++/17505
404 * config/linker-map.gnu: Synchronize the current list of stub
405 functions from libmath.
406
407 2004-10-03 Roger Sayle <roger@eyesopen.com>
408
409 * config/locale/generic/c_locale.cc (__convert_to_v): Use
410 _GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
411 Likewise, use _GLIBCXX_HAVE_STRTOLD instead of _GLIBCXX_USE_C99
412 to check for presence of strtold.
413
414 2004-10-03 Paolo Carlini <pcarlini@suse.de>
415
416 * include/bits/stl_list.h: Trivial formatting fixes.
417 * include/bits/stl_tree.h: Likewise.
418
419 2004-10-03 Paolo Carlini <pcarlini@suse.de>
420
421 * include/bits/sstream.tcc (seekpos): In case of success, just
422 return __sp.
423
424 2004-10-01 Paolo Carlini <pcarlini@suse.de>
425
426 * include/bits/sstream.tcc (pbackfail): Implement correctly
427 27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
428 write in the buffer.
429 * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
430 * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
431 * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
432 * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
433 * testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.
434
435 2004-10-01 Paolo Carlini <pcarlini@suse.de>
436
437 * include/bits/sstream.tcc (seekpos): Minor rearrangement of two
438 conditionals consistently with seekoff.
439 * include/std/std_sstream.h (setbuf): Avoid a string temporary.
440 (_M_sync): Simplify a bit, clean-up comment.
441
442 2004-09-30 Paolo Carlini <pcarlini@suse.de>
443
444 PR libstdc++/10975 (DR 453)
445 * include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
446 and __off == 0.
447 * docs/html/ext/howto.html: Add an entry for DR 453.
448 * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
449 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
450 * testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
451 * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
452 * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
453 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
454 move to...
455 * testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
456 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
457 move to...
458 * testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.
459
460 2004-09-29 Paolo Carlini <pcarlini@suse.de>
461
462 * include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
463 Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
464 (str()): Slightly tweak, protect from pptr() == 0.
465 (_M_update_egptr()): Likewise.
466 * include/bits/sstream.tcc (ssekoff, seekpos): In order to check
467 for an empty buffer use __beg instead of _M_string.capacity().
468 * testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
469 * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
470
471 * testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
472 * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
473 * testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
474 * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
475
476 2004-09-29 Paolo Carlini <pcarlini@suse.de>
477 Benjamin Kosnik <bkoz@redhat.com>
478
479 * testsuite/testsuite_io.h (class constraint_buf): New, extended
480 and templatized version of constraint_filebuf; add typedefs for
481 streambuf/stringbuf/filebuf and wchar_t counterparts.
482
483 2004-09-28 Paolo Carlini <pcarlini@suse.de>
484
485 PR libstdc++/16612
486 * include/bits/basic_string.h (_M_dispose, _M_refcopy,
487 basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
488 don't deal with _S_empty_rep.
489 * include/bits/basic_string.tcc (_S_construct, _M_destroy,
490 _M_leak_hard, _M_mutate): Likewise.
491 * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
492 * acconfig.h: Add corresponding undef.
493 * configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
494 * docs/html/configopts.html: Document --enable-fully-dynamic-string.
495 * configure: Regenerate.
496 * config.h.in: Likewise.
497
498 2004-09-28 Benjamin Kosnik <bkoz@redhat.com>
499 Paolo Carlini <pcarlini@suse.de>
500
501 * testsuite/21_strings/basic_string/operations/char/1.cc: New.
502 * testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
503 * testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
504 * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
505 New.
506
507 2004-09-28 Paolo Carlini <pcarlini@suse.de>
508
509 * README: Remove obsolete entry about include/c_shadow.
510
511 2004-09-24 H.J. Lu <hongjiu.lu@intel.com>
512
513 PR libstdc++/17469
514 * testsuite/lib/libstdc++.exp: Don't use global ld_library_path.
515
516 2004-09-24 Paolo Carlini <pcarlini@suse.de>
517
518 * src/localename.cc (locale::locale(const char*)): Minor tweaks:
519 rename a variable, move an assignment.
520 (locale::_Impl::_Impl(const char*, size_t)): Likewise, minor tweak.
521
522 2004-09-24 Paul Brook <paul@codesourcery.com>
523
524 * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL more arm
525 simulator targets.
526 * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
527 * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Ditto.
528 * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Ditto.
529 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Ditto.
530 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Ditto.
531 * testsuite/ext/stdio_filebuf/char/10063-3.cc: Ditto.
532
533 2004-09-23 Zack Weinberg <zack@codesourcery.com>
534
535 * testsuite/20_util/memory/auto_ptr/assign_neg.cc
536 * testsuite/23_containers/map/operators/1_neg.cc
537 * testsuite/23_containers/set/operators/1_neg.cc:
538 Update locations and/or regexps of dg-error markers.
539
540 2004-09-23 P.J. Darcy <darcypj@us.ibm.com>
541
542 * include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
543 Add rule to build ${host_builddir}/gthr-tpf.h.
544 * include/Makefile.in: Regenerate.
545
546 2004-09-23 Paolo Carlini <pcarlini@suse.de>
547 Magnus Fromreide <magfr@lysator.liu.se>
548
549 * include/bits/boost_concept_check.h (struct _SequenceConcept):
550 Remove wrong requirement, i.e., not present in Table 67.
551
552 2004-09-21 Paolo Carlini <pcarlini@suse.de>
553
554 PR libstdc++/12882 (cont)
555 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
556 * configure: Regenerate.
557 * config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
558 _GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
559 trivial showmanyc for large files too.
560
561 2004-09-17 Jonathan Wakely <redi@gcc.gnu.org>
562
563 * include/bits/stl_algo.h (remove): Remove too restrictive
564 concept-check.
565
566 2004-09-17 Paolo Carlini <pcarlini@suse.de>
567
568 * include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
569 as per Nathan's original suggestion.
570
571 2004-09-17 Paolo Carlini <pcarlini@suse.de>
572
573 * testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
574 up a bit.
575 * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
576 * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
577 * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
578
579 2004-09-17 Paolo Carlini <pcarlini@suse.de>
580 Andrea Arcangeli <andrea@suse.de>
581
582 * config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
583 call unnecessarily sync, that is fflush: the library, since 3.4.0
584 does not use buffered fread/fwrite.
585 * include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.
586
587 2004-09-15 Mark Mitchell <mark@codesourcery.com>
588
589 * config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
590 Define.
591 * config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
592 Define.
593 * libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
594 (__cxa_vec_new): Use it.
595 (__cxa_vec_new2): Likewise.
596 (__cxa_vec_new3): Likewise.
597 (__cxa_vec_cdtor): Likewise.
598 (__cxa_vec_cctor): Likeiwse.
599 (__cxa_vec_dtor): Likewise.
600 (__cxa_vec_cleanup): Likewise.
601 (__cxa_vec_delete2): Likewise.
602 (__cxa_vec_delete3): Likewise.
603 * libsupc++/vec.cc (__cxa_vec_new): Likewise.
604 (__cxa_vec_new2): Likewise.
605 (__cxa_vec_new3): Likewise.
606 (__cxa_vec_cdtor): Likewise.
607 (__cxa_vec_cctor): Likeiwse.
608 (__cxa_vec_dtor): Likewise.
609 (__cxa_vec_cleanup): Likewise.
610 (__cxa_vec_delete2): Likewise.
611 (__cxa_vec_delete3): Likewise.
612 (__aeabi_vec_ctor_nocookie_nodtor): New function.
613 (__aeabi_vec_ctor_cookie_nodtor): Likewise.
614 (__aeabi_vec_cctor_nocookie_nodtor): Likewise.
615 (__aeabi_vec_new_cookie_noctor): Likewise.
616 (__aeabi_vec_new_nocookie): Likewise.
617 (__aeabi_vec_new_cookie_nodtor): Likewise.
618 (__aeabi_vec_new_cookie): Likewise.
619 (__aeabi_vec_dtor): Likewise.
620 (__aeabi_vec_dtor_cookie): Likewise.
621 (__aeabi_vec_delete): Likewise.
622 (__aeabi_vec_delete3): Likewise.
623 (__aeabi_vec_delete3_nodtor): Likewise.
624 (__aeabi_atexit): Likewise.
625
626 2004-09-14 Nathan Myers <ncm@cantrip.org>
627
628 * include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
629 for 11722: copy can replace move; the common case is __avail == 0.
630
631 2004-09-14 Paolo Carlini <pcarlini@suse.de>
632
633 * include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
634 to __is_scalar, more clear and consistent with "tr1" naming.
635 * include/bits/stl_algobase.h: Update consistently throughout.
636
637 2004-09-13 Paolo Carlini <pcarlini@suse.de>
638
639 PR libstdc++/11722
640 * include/std/std_fstream.h (xsgetn): Declare only.
641 * include/bits/fstream.tcc (xsgetn): Define, optimize for the
642 always_noconv() case: when __n > __buflen, copy the available
643 buffer and issue a direct read.
644 * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.
645
646 * include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
647 conditional.
648
649 2004-09-13 Hans-Peter Nilsson <hp@bitrange.com>
650
651 * testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
652 libstdc++_maybe_build_wrapper instead of using local code.
653
654 2004-09-08 Benjamin Kosnik <bkoz@redhat.com>
655
656 * config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
657
658 2004-09-03 Jan Beulich <jbeulich@novell.com>
659
660 * crossconfig.m4: Add NetWare as a target.
661 * configure: Regenerate.
662
663 2004-09-02 Mark Mitchell <mark@codesourcery.com>
664
665 * libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
666 defined.
667
668 2004-09-02 Benjamin Kosnik <bkoz@redhat.com>
669 Simon Richter <Simon.Richter@hogyros.de>
670
671 PR libstdc++/16715
672 * include/bits/istream.tcc: Add extern template for iostream
673 char and wchar_t instantiations.
674
675 2004-09-02 Benjamin Kosnik <bkoz@redhat.com>
676 Leland Wang <llwang@infor.org>
677
678 PR libstdc++/17259
679 * include/ext/ropeimpl.h (rope::_S_compare): Use
680 _Rope_constants::_S_leaf.
681
682 2004-09-02 Benjamin Kosnik <bkoz@redhat.com>
683
684 PR libstdc++/16848
685 * include/Makefile.am (ext_headers): Remove demangle.h.
686 * include/Makefile.in: Regenerate.
687 * include/ext/demangle.h: Remove.
688
689 2004-09-01 Benjamin Kosnik <bkoz@redhat.com>
690
691 PR libstdc++/16614
692 * include/ext/mt_allocator.h (__mt_base): Not type dependent,
693 split into..
694 (__pool): New, specialize.
695 (__common_pool): New, static bits here.
696 (__per_type_pool): New, and here.
697 (__mt_alloc_base): New.
698 (__mt_alloc): Add template parameter, inherit from it.
699 * src/allocator.cc: Split this...
700 * src/allocator-inst.cc: And this...
701 * src/pool_allocator.cc: ...into this.
702 * src/mt_allocator.cc: ... and this. Add definitions for
703 __mt_base.
704 * src/Makefile.am (sources): Split allocator.cc to
705 pool_allocator.cc and mt_allocator.cc.
706 * src/Makefile.in: Regenerate.
707 * config/linker-map.gnu: Add symbols.
708 * docs/html/ext/mt_allocator.html: Document new design.
709 * testsuite/ext/mt_allocator/tune-1.cc: New.
710 * testsuite/ext/mt_allocator/tune-2.cc: New.
711 * testsuite/ext/mt_allocator/tune-3.cc: New.
712 * testsuite/ext/mt_allocator/tune-4.cc: New.
713
714 * testsuite/testsuite_allocator.h (__gnu_test::check_new): New.
715 * testsuite/ext/allocators.cc: Use check_new, split into...
716 * testsuite/ext/mt_allocator/check_new.cc: this.
717 * testsuite/ext/pool_allocator/check_new.cc: this.
718 * testsuite/ext/malloc_allocator/check_new.cc: this.
719 * testsuite/ext/debug_allocator/check_new.cc: this.
720 * testsuite/ext/mt_allocator/instantiate.cc: this.
721 * testsuite/ext/pool_allocator/instantiate.cc: this.
722 * testsuite/ext/malloc_allocator/instantiate.cc: this.
723 * testsuite/ext/debug_allocator/instantiate.cc: this.
724
725 2004-08-30 Phil Edwards <phil@codesourcery.com>
726
727 * docs/html/install.html: Update locales list (from Paolo).
728 Remove other redundant information and point to the GCC install
729 documentation.
730
731 2004-08-30 Benjamin Kosnik <bkoz@redhat.com>
732
733 * include/ext/pool_allocator.h: Rename __pool_base to
734 __pool_alloc_base.
735 * src/allocator.cc: Same.
736 * config/linker-map.gnu: Same.
737
738 2004-08-30 Paolo Carlini <pcarlini@suse.de>
739 Kenneth C. Schalk <ken@xorian.net>
740
741 PR libstdc++/17215
742 * config/io/basic_file_stdio.cc (__basic_file<char>::close()):
743 Check the return value of fclose/sync, loop on EINTR.
744 (__basic_file<char>::sys_open): Likewise, for sync.
745
746 2004-08-29 Paolo Carlini <pcarlini@suse.de>
747
748 * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
749 case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
750 and 7.23.3.5), two if !_GLIBCXX_USE_C99.
751 * testsuite/22_locale/time_get/get_time/char/4.cc: New.
752 * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
753
754 2004-08-27 Jason Merrill <jason@redhat.com>
755
756 PR c++/13684
757 * libsupc++/guard.cc (static_mutex): Internal class implementing a
758 recursive mutex which controls initialization of local statics.
759 (__gnu_cxx::recursive_init): New exception class.
760 (__cxa_guard_acquire): Deal with locking and recursion detection.
761 (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
762
763 2004-08-27 Matthias Klose <doko@debian.org>
764
765 * configure.host: For mips*-*-linux* update cpu_include_dir
766 after atomicity_dir is set.
767
768 2004-08-27 Matthias Klose <doko@debian.org>
769
770 * config/abi/arm-linux-gnu/baseline_symbols.txt: New.
771 * config/abi/mips-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
772 * configure.host: Set abi_baseline_pair for arm*-*-linux* and
773 mips*-*-linux*.
774
775 2004-08-27 Paolo Carlini <pcarlini@suse.de>
776
777 * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: New.
778 * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
779 * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
780 * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
781 * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
782
783 * testsuite/27_io/manipulators/adjustfield/char/1.cc: Minor
784 formatting fixes.
785 * testsuite/27_io/manipulators/adjustfield/char/2.cc: Likewise.
786 * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
787 * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
788 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
789
790 2004-08-25 Paolo Carlini <pcarlini@suse.de>
791
792 PR libstdc++/17038 (partial)
793 * include/bits/locale_facets.tcc (time_put<>::do_put): Increase
794 __maxlen to 128.
795 * include/bits/locale_facets.h (class __timepunct): Add FIXME
796 comment about _M_put.
797 * config/locale/generic/time_members.cc (_M_put): Always null
798 terminate __s.
799 * config/locale/gnu/time_members.cc (_M_put): Likewise.
800 * testsuite/22_locale/time_put/put/char/17038.cc: New.
801 * testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
802
803 2004-08-24 Paolo Carlini <pcarlini@suse.de>
804
805 * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: New.
806 * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
807 * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
808 * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
809 * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
810 * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
811
812 * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Trim excess
813 newlines.
814 * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
815
816 2004-08-22 Matthias Klose <doko@debian.org>
817
818 * config/abi/m68k-linux-gnu/baseline_symbols.txt: New.
819 * config/abi/sparc-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
820
821 2004-08-23 Paolo Carlini <pcarlini@suse.de>
822
823 * configure.ac: Specify version 1.9.1 in AM_INIT_AUTOMAKE.
824 * aclocal.m4: Regenerate with automake-1.9.1.
825 * configure: Regenerate.
826 * Makefile.in: Likewise.
827 * include/Makefile.in: Likewise.
828 * libmath/Makefile.in: Likewise.
829 * libsupc++/Makefile.in: Likewise.
830 * po/Makefile.in: Likewise.
831 * src/Makefile.in: Likewise.
832 * testsuite/Makefile.in: Likewise.
833
834 2004-08-22 Paolo Carlini <pcarlini@suse.de>
835
836 * include/bits/locale_facets.tcc (num_put<>::do_put(bool)): Cast
837 to a signed type, long according to the resolution of DR 359.
838 * testsuite/22_locale/num_put/put/char/9.cc: New.
839 * testsuite/22_locale/num_put/put/wchar_t/9.cc: New.
840
841 * include/bits/locale_facets.tcc (num_put<>::do_put(const void*)):
842 Simplify a bit: no need to clear showpos.
843
844 2004-08-21 Paolo Carlini <pcarlini@suse.de>
845
846 * include/bits/char_traits.h (struct _Char_traits_match): Remove,
847 unused.
848
849 2004-08-21 Paolo Carlini <pcarlini@suse.de>
850
851 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Use proper
852 wchar_t type for the fill argument; minor formatting tweaks.
853 * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
854 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
855 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
856 * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
857 * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
858 * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
859
860 2004-08-21 Paolo Carlini <pcarlini@suse.de>
861
862 * include/bits/basic_ios.tcc (basic_ios<>::copyfmt): Don't deal
863 with _M_word != _M_local_word two times, redundantly.
864
865 2004-08-20 Jason Merrill <jason@redhat.com>
866
867 * include/Makefile.am (${host_builddir}/gthr.h): Don't add
868 _GLIBCXX_ to #pragma lines.
869 * include/Makefile.in: Update.
870
871 2004-08-20 Paolo Carlini <pcarlini@suse.de>
872
873 PR libstdc++/7219 (continued)
874 * include/bits/ios_base.h (class ios_base): Expose Annex D.6
875 typedefs by default.
876 * testsuite/27_io/types/1.cc: Remove #if _GLIBCXX_DEPRECATED.
877 * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak dg-error
878 line number.
879 * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
880
881 2004-08-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
882
883 * cpu/hppa/atomicity.h (__exchange_and_add, __atomic_add): Add memory
884 barrier to locking asm.
885
886 2004-08-20 Paolo Carlini <pcarlini@suse.de>
887
888 * include/c_std/cmath.tcc (__cmath_power): Revert previous commit:
889 actually the warning is a front-end bug (c++/17120).
890
891 2004-08-20 Matthias Klose <doko@debian.org>
892
893 * config/abi/s390-linux-gnu/baseline_symbols.txt: New.
894
895 2004-08-20 Paolo Carlini <pcarlini@suse.de>
896
897 * include/c_std/cmath.tcc (__cmath_power): Suppress assignment
898 used as truth value warning.
899
900 2004-08-20 Paolo Carlini <pcarlini@suse.de>
901
902 * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Add 32 bit
903 baseline.
904
905 2004-08-20 Paolo Carlini <pcarlini@suse.de>
906
907 * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Fix it.
908
909 2004-08-19 Benjamin Kosnik <bkoz@redhat.com>
910
911 * testsuite/22_locale/time_put/put/char/3.cc (test03): Don't check
912 timezone.
913 * testsuite/22_locale/time_put/put/wchar_t/3.cc (test03): Same.
914
915 2004-08-19 Paolo Carlini <pcarlini@suse.de>
916
917 * testsuite/performance/20_util/allocator/insert.cc: For std::map
918 instantiate the allocator for a correct pair type.
919 * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
920 * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
921 * testsuite/performance/20_util/allocator/producer_consumer.cc:
922 Likewise.
923
924 * testsuite/performance/20_util/allocator/list_sort_search.cc: Very
925 minor formatting fixes.
926 * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
927
928 2004-08-19 Paolo Carlini <pcarlini@suse.de>
929
930 * testsuite/22_locale/time_put/put/char/1.cc: Add VERIFY on the
931 results.
932 * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
933 * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
934 * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
935 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
936 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
937 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
938 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
939
940 2004-08-19 Paolo Carlini <pcarlini@suse.de>
941
942 * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
943
944 2004-08-18 Matthias Klose <doko@debian.org>
945
946 * config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
947 * config/abi/i386-linux-gnu/baseline_symbols.txt: New.
948 * config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
949
950 2004-08-17 Paolo Carlini <pcarlini@suse.de>
951
952 * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
953
954 2004-08-17 Paolo Carlini <pcarlini@suse.de>
955
956 * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
957
958 2004-08-17 Benjamin Kosnik <bkoz@redhat.com>
959
960 * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
961
962 2004-08-16 Paolo Carlini <pcarlini@suse.de>
963
964 * include/bits/indirect_array.h: Trivial formatting fixes.
965 * include/bits/valarray_after.h: Likewise.
966 * include/bits/valarray_array.h: Likewise.
967 * src/valarray-inst.cc: Likewise.
968
969 2004-08-15 Paolo Carlini <pcarlini@suse.de>
970
971 * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Remove junk.
972 * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
973 * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
974
975 * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: New.
976 * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
977 * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
978 * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
979 * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
980
981 2004-08-15 Paolo Carlini <pcarlini@suse.de>
982
983 * include/bits/deque.tcc: Trivial formatting fixes.
984
985 2004-08-15 Paolo Carlini <pcarlini@suse.de>
986
987 * include/bits/deque.tcc: Trivial formatting fixes.
988
989 * include/bits/locale_facets.tcc (num_get<>::do_get(&bool)):
990 Remove unneded typedef.
991
992 * include/bits/locale_facets.tcc: Very minor tweaks.
993
994 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Use proper
995 type for the fill argument.
996 * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
997 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
998 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
999 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
1000 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
1001 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
1002 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
1003 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
1004
1005 2004-08-13 Paolo Carlini <pcarlini@suse.de>
1006
1007 * src/debug.cc (_Error_formatter::_M_print_string): Fix thinko,
1008 memmove is not needed, memcpy suffices.
1009
1010 2004-08-13 Paolo Carlini <pcarlini@suse.de>
1011
1012 * include/std/std_fstream.h (class basic_ifstream,
1013 class basic_ofstream, class basic_fstream): Add const overloads
1014 of is_open, as per DR 365 [WP].
1015 * docs/html/ext/howto.html: Add an entry for DR 365.
1016
1017 2004-08-12 Paolo Carlini <pcarlini@suse.de>
1018
1019 * configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.
1020
1021 2004-08-12 Paolo Carlini <pcarlini@suse.de>
1022
1023 PR libstdc++/16956
1024 * include/bits/sstream.tcc (basic_stringbuf<>::seekoff): Add __off
1025 to the returned value, reorganize a bit.
1026 * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: New.
1027 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: New.
1028
1029 * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Remove junk.
1030 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1031 * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1032 * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1033
1034 2004-08-12 Paul Brook <paul@codesourcery.com>
1035
1036 * config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
1037 _GLIBCXX_CXA_VEC_CTOR_RETURN.
1038 * config/cpu/generic/cxxabi_tweaks.h: Ditto.
1039 * libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
1040 __cxa_vec_ctor_return.
1041 * libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
1042 Use _GLIBCXX_CXA_VEC_CTOR_RETURN.
1043
1044 2004-08-12 Kelley Cook <kcook@gcc.gnu.org>
1045
1046 * Makefile.in, aclocal.m4, configure, include/Makefile.in,
1047 libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
1048 src/Makefile.in, testsuite/Makefile.in: Regenerate
1049
1050 2004-08-12 Jan Beulich <jbeulich@novell.com>
1051
1052 * config/locale/generic/ctype_members.cc
1053 (ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
1054 initializer for return value, as that is invalid for enumerated types.
1055 * config/locale/gnu/ctype_members.cc
1056 (ctype<wchar_t>::_M_convert_to_wmask): Likewise.
1057
1058 2004-08-11 Paolo Carlini <pcarlini@suse.de>
1059
1060 * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.
1061
1062 2004-08-11 Paolo Carlini <pcarlini@suse.de>
1063
1064 * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
1065 variable.
1066 * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
1067 * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
1068 * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
1069 * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
1070 * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
1071 * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
1072 * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
1073 * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
1074 * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
1075 * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
1076 * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
1077 * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
1078 * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
1079 * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
1080 * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
1081 * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
1082 * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
1083 * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
1084 * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
1085 * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
1086 * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.
1087
1088 2004-08-11 Paolo Carlini <pcarlini@suse.de>
1089 Petur Runolfsson <peturr02@ru.is>
1090
1091 PR libstdc++/16959
1092 * src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
1093 standard streams are constructed.
1094 * testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.
1095
1096 2004-08-09 Paolo Carlini <pcarlini@suse.de>
1097
1098 * include/bits/stl_bvector.h: Trivial formatting fixes.
1099
1100 2004-08-09 Paolo Carlini <pcarlini@suse.de>
1101
1102 * src/ios.cc (ios_base::_M_grow_words): Uglify the names.
1103
1104 2004-08-07 Jonathan Wakely <redi@gcc.gnu.org>
1105 Paolo Carlini <pcarlini@suse.de>
1106
1107 * src/debug.cc (_Error_formatter::_M_print_string): In order
1108 to print individual words from __string, _M_format_word can't
1109 be called since may be just sprintf, thus ignoring completely
1110 __n: instead, use memmove and append '\0' by hand.
1111
1112 2004-08-07 Paolo Carlini <pcarlini@suse.de>
1113
1114 * config/locale/generic/c_locale.h (__convert_from_v): Don't
1115 use a default for __prec, assume __prec >= 0 and simplify.
1116 * config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
1117 * include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
1118 Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
1119
1120 2004-08-04 Phil Edwards <phil@codesourcery.com>
1121
1122 * docs/html/configopts.html: Emphasize that options change.
1123 * docs/html/17_intro/configury.html: Update links.
1124
1125 2004-08-03 Paolo Carlini <pcarlini@suse.de>
1126
1127 * include/bits/list.tcc: Trivial formatting fixes.
1128
1129 2004-08-03 Mark Mitchell <mark@codesourcery.com>
1130
1131 * libsupc++/new_op.cc: Update comments.
1132 * libsupc++/del_op.cc: Likewise.
1133
1134 2004-08-02 Mark Mitchell <mark@codesourcery.com>
1135
1136 * libsupc++/cxxabi.h: Make all declarations have default
1137 visibility.
1138 * libsupc++/exception: Likewise.
1139 * libsupc++/new: Likewise.
1140 * libsupc++/typeinfo: Likewise.
1141 * libsupc++/unwind-cxx.h: Likewise.
1142 * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
1143 the __cxxabiv1 namespace.
1144 (__cxa_free_exception): Likewise.
1145 * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
1146 (__cxa_bad_typeid): Likewise.
1147 * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
1148 (__cxa_end_catch): Likewise.
1149 * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
1150 (__cxa_get_globals): Likewise.
1151 * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
1152 (__cxa_rethrow): Likewise.
1153 * libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
1154 * libsupc++/eh_type.cc: Include <cxxabi.h>.
1155
1156 * Makefile.am (hosted_source): Add libmath and testsuite.
1157 (SUBDIRS): Remove them.
1158 * acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
1159 on arm*-*-symbianelf*.
1160 * crossconfig.m4: Add arm*-*-symbianelf* support.
1161 * include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
1162 when freestanding. Do not bring names into std:: namespace with
1163 "using" when freestanding. Declare required functions and macros
1164 when freestanding.
1165 * libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
1166 when freestanding.
1167 * libsupc++/del_op.cc: Declare "free" only when freestanding.
1168 * libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
1169 (malloc): Declare when freestanding.
1170 (free): Likewise.
1171 (memset): Likewise.
1172 (__cxa_allocate_exception): Call malloc, not std::malloc. Likewise
1173 for memset.
1174 (__cxa_free_exception): Likewise for free.
1175 * libsupc++/new_op.cc: Declare "malloc" when freestanding.
1176 * libsupc++/pure.cc (writestr): Define to nothing when
1177 freestanding.
1178 * libsupc++/vterminate.cc: Do not define anything when
1179 freestanding.
1180 * Makefile.in: Regenerated.
1181 * aclocal.m4: Likewise.
1182 * configure: Likewise.
1183 * include/Makefile.in: Likewise.
1184 * libmath/Makefile.in: Likewise.
1185 * libsupc++/Makefile.in: Likewise.
1186 * po/Makefile.in: Likewise.
1187 * src/Makefile.in: Likewise.
1188 * testsuite/Makefile.in: Likewise.
1189
1190 2004-08-01 Matt Austern <austern@apple.com>
1191
1192 PR libstdc++/16844
1193 * include/bits/stl_list.h (_M_create_node): Remove unused
1194 zero-argument version.
1195 * include/ext/slist (_M_create_node): Pass two arguments to
1196 allocator's construct() member function.
1197 * testsuite/23_containers/deque/explicit_instantiation.cc: New.
1198 * testsuite/23_containers/list/explicit_instantiation.cc: New.
1199 * testsuite/23_containers/vector/explicit_instantiation.cc: New.
1200 * testsuite/23_containers/map/explicit_instantiation.cc: New.
1201 * testsuite/23_containers/set/explicit_instantiation.cc: New.
1202 * testsuite/23_containers/multimap/explicit_instantiation.cc: New.
1203 * testsuite/23_containers/multiset/explicit_instantiation.cc: New.
1204 * testsuite/ext/hash_set_explicit_instantiation.cc: New.
1205 * testsuite/ext/slist_explicit_instantiation.cc: New.
1206
1207 2004-07-30 Paolo Carlini <pcarlini@suse.de>
1208
1209 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1210 num_get<>::_M_extract_int): In the main parsing loop delay the
1211 life of __q to the actual use point.
1212
1213 2004-07-29 Paolo Carlini <pcarlini@suse.de>
1214
1215 PR libstdc++/14220
1216 * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
1217 Don't clip the precision passed down to __convert_from_v:
1218 22.2.2.2.2 nowhere says so.
1219 * testsuite/22_locale/num_put/put/char/14220.cc: New.
1220 * testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
1221
1222 2004-07-29 Paolo Carlini <pcarlini@suse.de>
1223
1224 * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 31.
1225
1226 2004-07-29 Paolo Carlini <pcarlini@suse.de>
1227 Petur Runolfsson <peturr02@ru.is>
1228
1229 PR libstdc++/12658 (continued)
1230 * src/locale_init.cc (locale::locale, locale::global): Use
1231 a single locale_mutex instead of two separate mutexes.
1232
1233 2004-07-29 Paolo Carlini <pcarlini@suse.de>
1234
1235 PR libstdc++/16813
1236 * include/debug/map.h (insert(_InputIterator, _InputIterator)):
1237 Fix typo.
1238 * testsuite/23_containers/map/insert/16813.cc: New.
1239
1240 2004-07-29 Phil Edwards <phil@codesourcery.com>
1241
1242 * docs/html/faq/index.html: Update version references. Make
1243 clear that code from SGI has diverged greatly. Remove references
1244 to library snapshots and what's-new sections.
1245 * docs/html/faq/index.txt: Regenerate.
1246
1247 2004-07-28 Matt Austern <austern@apple.com>
1248
1249 * include/bits/stl_construct.h (_Destroy): New three-argument
1250 overload that takes an allocator argument. Another inline
1251 three-argument overload that takes std::allocator and dispatches
1252 to the two-argument version.
1253 * include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
1254 Change return type to void to match uninitialized_fill_n.
1255 (__uninitialized_copy_a_): New function. Like uninitialized_copy
1256 except that it takes an allocator and uses it for construct and
1257 destroy. If the allocator is std::allocator, dispatches to
1258 uninitialized_copy.
1259 (__uninitialized_fill_a): Likewise.
1260 (__uninitialized_fill_n_a): Likewise.
1261 (__uninitialized_copy_copy): Give it an allocator argument.
1262 (__uninitialized_fill_copy): Likewise.
1263 (__uninitialized_copy_fill): Likewise.
1264 * include/bits/deque.tcc: Use new forms defined in stl_construct.h
1265 and stl_uninitialized.h. Replace use of single-argument _Construct
1266 and _Destroy with use of allocator's construct and destroy methods.
1267 * include/bits/list.tcc: Likewise.
1268 * include/bits/stl_deque.h: Likewise.
1269 * include/bits/stl_list.h: Likewise.
1270 * include/bits/stl_tree.h: Likewise.
1271 * include/bits/stl_vector.h: Likewise.
1272 * include/bits/vector.tcc: Likewise.
1273 * include/ext/hashtable.h: Use rebind so that allocator_type
1274 has correct type for a container's allocator. Replace use of
1275 single-argument _Construct and _Destroy with use of allocator's
1276 construct and destroy methods.
1277 * include/ext/memory (__uninitialized_copy_n_a): New function.
1278 Like uninitialized_copy_n except that it takes an extra parameter,
1279 an allocator, and uses it for construct and destroy operations.
1280 * include/ext/rope: Use new forms defined in stl_construct.h,
1281 stl_uninitialized.h, and ext/memory. Replace use of single-argument
1282 _Construct and _Destroy with allocator construct and destroy methods.
1283 * include/ext/ropeimpl.h: Likewise.
1284 * include/ext/slist.h: Likewise.
1285 * testsuite/testsuite_allocator.h (check_construct_destroy): New.
1286 * testsuite/testsuite_allocator.cc (check_construct_destroy): New.
1287 * testsuite/23_containers/deque/check_construct_destroy.cc: New.
1288 * testsuite/23_containers/list/check_construct_destroy.cc: New.
1289 * testsuite/23_containers/set/check_construct_destroy.cc: New.
1290 * testsuite/23_containers/vector/check_construct_destroy.cc: New.
1291 * testsuite/ext/hash_check_construct_destroy.cc: New.
1292 * testsuite/ext/slist_check_construct_destroy.cc: New.
1293
1294 2004-07-28 Alexandre Oliva <aoliva@redhat.com>
1295
1296 2003-10-01 Eric Christopher <echristo@redhat.com>
1297 * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
1298 constraint.
1299 2003-07-09 Alexandre Oliva <aoliva@redhat.com>
1300 * config/cpu/sh/atomicity.h: New. Use movli and movco on SH4a.
1301
1302 2004-07-23 Benjamin Kosnik <bkoz@redhat.com>
1303
1304 PR libstdc++/16678
1305 * include/bits/locale_facets.tcc: Fix for -Werror.
1306
1307 2004-07-23 Jonathan Wakely <redi@gcc.gnu.org>
1308
1309 * docs/html/debug.html: Say debug mode only available since 3.4.0.
1310
1311 2004-07-21 Benjamin Kosnik <bkoz@redhat.com>
1312
1313 * docs/doxygen/mainpage.html: Clarify links.
1314 * docs/doxygen/stdheader.cc: Add files.
1315 * docs/doxygen/style.css: Remove bolds, add h2, h3 styles.
1316 * docs/doxygen/user.cfg.in: New options, wrap.
1317
1318 2004-07-20 Danny Smith <dannysmith@users.sourceforge.net>
1319
1320 * include/c_std/std_cwchar.h (wcsstr): Correct signature.
1321
1322 2004-07-19 Benjamin Kosnik <bkoz@redhat.com>
1323
1324 PR libstdc++/15488
1325 * testsuite/lib/libstdc++.exp (v3-copy-files): Revert.
1326
1327 2004-07-17 Richard Sandiford <rsandifo@redhat.com>
1328
1329 PR bootstrap/16469
1330 * scripts/create_testsuite_files: Pass -print to find.
1331
1332 2004-07-15 Paolo Carlini <pcarlini@suse.de>
1333
1334 * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 30.
1335 * docs/html/ext/howto.html: Tweak entries for DRs 167/253/389/402.
1336
1337 2004-07-15 Jakub Jelinek <jakub@redhat.com>
1338
1339 PR libstdc++/14697
1340 * acinclude.m4 (glibcxx_shared_libgcc): Correct
1341 glibcxx_shared_libgcc test for multilibs.
1342 * configure: Rebuilt.
1343
1344 2004-07-14 Paolo Carlini <pcarlini@suse.de>
1345
1346 PR libstdc++/16505
1347 * include/bits/stl_uninitialized.h (uninitialized_fill_n): Fix
1348 the signature to return void, as per 20.4.4.3.
1349 * include/bits/stl_vector.h (vector::vector(size_type,
1350 const value_type&, const allocator_type&), vector::vector(size_type),
1351 vector::_M_initialize_dispatch): Adjust callers.
1352 * include/bits/vector.tcc (vector<>::_M_fill_assign,
1353 vector<>::_M_fill_insert): Likewise.
1354 * testsuite/20_util/memory/16505.cc: New.
1355
1356 2004-07-14 Paolo Carlini <pcarlini@suse.de>
1357
1358 * testsuite/22_locale/locale/cons/12658_thread-1.cc,
1359 12658_thread-2.cc: Use __gnu_test::try_named_locale.
1360
1361 2004-07-13 Benjamin Kosnik <bkoz@redhat.com>
1362
1363 * docs/html/ext/mt_allocator.html: Add docs for _Tune.
1364 * include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
1365 (__mt_alloc::_S_set_options): Same.
1366 Add to comments.
1367
1368 2004-07-13 Benjamin Kosnik <bkoz@redhat.com>
1369
1370 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
1371 for linux.
1372 * configure: Regenerated.
1373
1374 2004-07-13 Paolo Carlini <pcarlini@suse.de>
1375
1376 * testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
1377 to 12658_thread-1.cc and xfail.
1378 * testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
1379 simpler version of 12658_thread-1.cc, still failing on 3_3 and
1380 not failing on 3_4/mainline - both on single processor and
1381 multiprocessor machines.
1382
1383 2004-07-12 Benjamin Kosnik <bkoz@redhat.com>
1384
1385 * docs/html/abi.html: Remove non-public qualification.
1386
1387 * include/bits/concurrence.h: Tweak comments.
1388
1389 2004-07-11 Paolo Carlini <pcarlini@suse.de>
1390
1391 Add wchar_t counterparts of the basic_streambbuf<char> tests.
1392 * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: New.
1393 * testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc, 9322.cc:
1394 Likewise.
1395 * testsuite/27_io/basic_streambuf/in_avail/wchar_t/9701-3.cc: Likewise.
1396 * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc, 2.cc,
1397 3599.cc: Likewise.
1398 * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1399 * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1400 * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1401 * testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
1402 * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc, 1057.cc:
1403 Likewise.
1404 * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1405
1406 * testsuite/27_io/basic_streambuf/imbue/char/1.cc, 9322.cc: Minor
1407 tweaks.
1408 * testsuite/27_io/basic_streambuf/overflow/char/2.cc, 3599.cc:
1409 Likewise.
1410 * testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
1411 * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1412
1413 2004-07-11 Phil Edwards <phil@codesourcery.com>
1414
1415 * acinclude.m4: Cosmetic shell syntax fixes.
1416 * configure.ac: Bring comment inline with reality.
1417 * configure.host: Both of the above. Move 'arm' case to right
1418 place in host_cpu switch.
1419 * aclocal.m4, configure: Regenerate.
1420
1421 2004-07-09 Paolo Carlini <pcarlini@suse.de>
1422
1423 Add wchar_t counterparts of the basic_stringbuf<char> tests.
1424 * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
1425 * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1426 * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
1427 3599.cc, 9988.cc: Likewise.
1428 * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
1429 Likewise.
1430 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
1431 Likewise.
1432 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
1433 Likewise.
1434 * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
1435 Likewise.
1436 * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1437 * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1438 * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1439 * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
1440 Likewise.
1441 * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
1442 9404-1.cc: Likewise.
1443 * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
1444 9404-2.cc: Likewise.
1445 * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
1446 3955.cc: Likewise.
1447 * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1448 * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1449
1450 2004-07-08 Paolo Carlini <pcarlini@suse.de>
1451
1452 * include/bits/gslice.h: Trivial formatting fixes.
1453 * include/bits/gslice_array.h: Likewise.
1454 * include/bits/indirect_array.h: Likewise.
1455 * include/bits/mask_array.h: Likewise.
1456 * include/bits/slice_array.h: Likewise.
1457 * include/bits/valarray_after.h: Likewise.
1458 * include/bits/valarray_array.h: Likewise.
1459 * include/bits/valarray_before.h: Likewise.
1460 * include/std/std_valarray.h: Likewise.
1461
1462 2004-07-08 Benjamin Kosnik <bkoz@redhat.com>
1463
1464 PR c++/16169
1465 * include/bits/basic_string.h (basic_string::operator=): Revert.
1466
1467 2004-07-07 Benjamin Kosnik <bkoz@redhat.com>
1468
1469 * configure.ac (libtool_VERSION): To 6:2:0.
1470 * configure: Regenerated.
1471
1472 * testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
1473
1474 2004-07-07 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
1475
1476 PR libstdc++/16411
1477 * config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
1478
1479 2004-07-07 Benjamin Kosnik <bkoz@redhat.com>
1480
1481 * docs/html/abi.html: Updates for 3.4.1 release. Add summary of
1482 -Weffc++ issues.
1483
1484 2004-07-07 Paolo Carlini <pcarlini@suse.de>
1485
1486 PR libstdc++/16401
1487 * include/bits/sstream.tcc (overflow): When reallocating _M_string
1488 use an exponential grow policy.
1489 * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
1490 * testsuite/performance/27_io/stringbuf_overflow.cc: New.
1491
1492 2004-07-06 Anssi Hannula <anssi.hannula@mbnet.fi>
1493
1494 PR libstdc++/15928
1495 * crossconfig.m4: Add in bits for djgpp.
1496 * configure: Regenerate.
1497
1498 2004-07-05 Jonathan Wakely <redi@gcc.gnu.org>
1499
1500 * testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
1501 instantiation of set and multiset (functor param given as int).
1502
1503 2004-07-04 Paolo Carlini <pcarlini@suse.de>
1504
1505 * include/bits/basic_string.h: Trivial formatting fixes and/or
1506 const-ification of some variables.
1507 * include/bits/deque.tcc: Likewise.
1508 * include/bits/stl_algobase.h: Likewise.
1509 * include/bits/stl_bvector.h: Likewise.
1510 * include/bits/stl_construct.h: Likewise.
1511 * include/bits/stl_deque.h: Likewise.
1512 * include/bits/stl_pair.h: Likewise.
1513 * include/bits/stl_vector.h: Likewise.
1514 * include/bits/vector.tcc: Likewise.
1515
1516 2004-07-04 Paolo Carlini <pcarlini@suse.de>
1517
1518 * testsuite/25_algorithms/copy/1.cc: Add instantiations for
1519 systems with no COMDAT or weak support.
1520 * testsuite/25_algorithms/copy/2.cc: Likewise.
1521 * testsuite/25_algorithms/copy/3.cc: Likewise.
1522 * testsuite/25_algorithms/copy/4.cc: Likewise.
1523
1524 2004-07-03 Paul Brook <paul@codesourcery.com>
1525
1526 * configure.ac: Set ABI_TWEAKS_SRCDIR.
1527 * configure.host: Set abi_tweaks_dir. Check for atomicity.h when
1528 setting atomicity_dir. Override type_cpu for arm based targets.
1529 * include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
1530 * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
1531 * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
1532 * libsupc++/vec.cc: Ditto.
1533 * config/cpu/arm/cxxabi_tweaks.h: New file.
1534 * config/cpu/generic/cxxabi_tweaks.h: New file.
1535 * */Makefile.in: Regenerate.
1536 * configure: Regenerate.
1537
1538 2004-07-02 Paolo Carlini <pcarlini@suse.de>
1539
1540 * include/bits/type_traits.h (_Is_normal_iterator): Move...
1541 * include/bits/cpp_type_traits.h: ... here, renamed to
1542 __is_normal_iterator and consistent with the other traits.
1543 * include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
1544 to the struct __copy_normal and three specializations.
1545 (__copy_backward_output_normal_iterator,
1546 __copy_backward_input_normal_iterator): Likewise, convert to
1547 the struct __copy_backward_normal and three specializations.
1548 (copy, copy_backward): Use the latter.
1549 (__copy_aux, __copy_backward_aux): Very minor tweaks.
1550
1551 2004-07-01 Paolo Carlini <pcarlini@suse.de>
1552
1553 * include/bits/stl_algobase.h (__copy_trivial): Remove.
1554 (__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
1555 __is_trivially_copyable, __are_same and __copy::copy.
1556 (__copy): Rewrite as a class template and two specializations.
1557 (__copy_ni2): Simplify, just call __copy_aux.
1558
1559 * include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
1560 check.
1561 * testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
1562 for destination value type != source value type.
1563
1564 2004-07-01 Benjamin Kosnik <bkoz@redhat.com>
1565 Per Bothner <per@bothner.com>
1566 Mohan Embar <gnustuff@thisiscool.com>
1567
1568 PR libstdc++/16248
1569 * include/bits/concurrence.h (__glibcxx_mutex_type): New.
1570 (__glibcxx_mutex): Encapsulate mutex init function into type for
1571 threaded configurations without __GTHREAD_MUTEX_INIT.
1572 (lock::lock): Make device member a reference.
1573 (lock::~lock): Same.
1574 * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
1575 to mutex_type.
1576 * src/allocator.cc: Same.
1577
1578 2004-06-30 Brad Spencer <spencer@infointeractive.com>
1579
1580 * include/ext/mt_allocator.h: Handle allocations at static
1581 initialization that happen before _S_options is (automatically)
1582 constructed; set _S_init even if _M_force_new is true.
1583
1584 2004-06-30 Benjamin Kosnik <bkoz@redhat.com>
1585
1586 * config/linker-map.gnu: Revert new exports.
1587
1588 2004-06-30 Benjamin Kosnik <bkoz@redhat.com>
1589 Stuart Anderson <anderson@netsweng.com>
1590
1591 * config/linker-map.gnu: Add destructor exports for abstract base
1592 classes to conform to LSB.
1593
1594 2004-06-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1595 Paolo Carlini <pcarlini@suse.de>
1596
1597 * include/bits/cpp_type_traits.h: Add __is_pointer and
1598 __is_trivially_copyable.
1599 * include/bits/stl_algobase.h (fill, fill_n): Slightly
1600 tweak to use the latter.
1601 (__copy_backward_dispatch): Remove.
1602 (__copy_backward_aux): Rewrite to use __is_pointer and
1603 __is_trivially_copyable and __copy_backward::copy_b.
1604 (__copy_backward): Rewrite as a class template and two
1605 specializations.
1606
1607 2004-06-30 Paolo Carlini <pcarlini@suse.de>
1608
1609 * testsuite/25_algorithms/copy.cc: Move to...
1610 * testsuite/25_algorithms/copy/1.cc: ... here, extend.
1611 * testsuite/25_algorithms/copy/2.cc: New.
1612 * testsuite/25_algorithms/copy/3.cc: New.
1613 * testsuite/25_algorithms/copy/4.cc: New.
1614
1615 2004-06-29 Paul Brook <paul@codesourcery.com>
1616
1617 * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
1618 element size in the cookie.
1619
1620 2004-06-28 Paolo Carlini <pcarlini@suse.de>
1621
1622 * include/bits/cpp_type_traits.h: Move the additions to
1623 namespace __gnu_internal outside of namespace std; trivial
1624 formatting fixes.
1625
1626 2004-06-28 Benjamin Kosnik <bkoz@redhat.com>
1627
1628 * include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
1629 Revert -Weffc++ changes that defined copy ctory and or assignment
1630 operator.
1631 * libsupc++/tinfo.cc (__upcast_result): Same.
1632
1633 2004-06-28 Paolo Carlini <pcarlini@suse.de>
1634
1635 * src/localename.cc (locale::_Impl::_Impl): Slightly improve
1636 the algorithm used to name the categories.
1637
1638 2004-06-28 Paolo Bonzini <bonzini@gnu.org>
1639
1640 * include/Makefile.am: Give a .gch extension to
1641 the PCH files, not only to the directory.
1642 * include/Makefile.in: Regenerate.
1643
1644 2004-06-28 Paolo Carlini <pcarlini@suse.de>
1645
1646 * config/locale/gnu/monetary_members.cc
1647 (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
1648 assignments of _M_decimal_point and _M_thousands_sep.
1649
1650 2004-06-27 Paolo Carlini <pcarlini@suse.de>
1651
1652 * docs/html/17_intro/contribute.html: Update some links.
1653 * docs/html/17_intro/porting-howto.html: Likewise.
1654 * docs/html/17_intro/porting-howto.xml: Likewise.
1655 * docs/html/18_support/howto.html: Likewise.
1656 * docs/html/21_strings/howto.html: Likewise.
1657 * docs/html/27_io/howto.html: Likewise.
1658 * docs/html/configopts.html: Likewise.
1659 * docs/html/ext/howto.html: Likewise.
1660 * docs/html/faq/index.html: Likewise.
1661 * docs/html/install.html: Don't mention 2.x compilers.
1662
1663 2004-06-27 Paolo Carlini <pcarlini@suse.de>
1664
1665 * include/ext/rope: Trivial formatting fixes.
1666 * include/ext/ropeimpl.h: Likewise.
1667
1668 2004-06-26 Paolo Carlini <pcarlini@suse.de>
1669
1670 PR libstdc++/16210
1671 * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
1672 availability of strto(u)ll, not used anymore in the iostreams.
1673 * configure: Regenerate.
1674
1675 2004-06-25 Benjamin Kosnik <bkoz@redhat.com>
1676
1677 PR libstdc++/16182
1678 * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
1679 AC_DEFINE_UNQUOTED.
1680 * configure: Regenerate.
1681
1682 2004-06-25 Paul Brook <paul@codesourcery.com>
1683
1684 * libsupc++/cxxabi.h: Define __ARM_EABI__
1685 (__guard): Use it.
1686 * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
1687
1688 2004-06-25 Paul Brook <paul@codesourcery.com>
1689
1690 * include/bits/concurrence.h: Still create mutex object when
1691 single-threaded.
1692
1693 2004-06-25 Paolo Carlini <pcarlini@suse.de>
1694
1695 * include/bits/stl_algobase.h (fill, fill_n): Revert last
1696 change: actually we need to copy construct an object of type
1697 _Tp, not of type iterator_traits<>::value_type, therefore the
1698 code is ok.
1699
1700 2004-06-25 Paolo Carlini <pcarlini@suse.de>
1701
1702 * include/bits/stl_algobase.h (fill, fill_n): Tighten the
1703 dispatch: use iterator_traits<>::value_type, not _Tp.
1704
1705 2004-06-25 Paolo Carlini <pcarlini@suse.de>
1706
1707 * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
1708 * testsuite/25_algorithms/fill/2.cc: Likewise.
1709
1710 2004-06-25 Dan Nicolaescu <dann@ics.uci.edu>
1711 Paolo Carlini <pcarlini@suse.de>
1712
1713 * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
1714 for fill and fill_n, respectively: when copying is cheap, use a
1715 temporary to avoid a memory read in each iteration.
1716
1717 2004-06-25 Paolo Carlini <pcarlini@suse.de>
1718
1719 * testsuite/25_algorithms/fill/1.cc: New.
1720 * testsuite/25_algorithms/fill/2.cc: Likewise.
1721
1722 2004-06-25 Benjamin Kosnik <bkoz@redhat.com>
1723
1724 * include/debug/formatter.h (__gnu_debug::_Error_formatter):
1725 Remove copy constructor and assignment operator.
1726
1727 2004-06-24 Benjamin Kosnik <bkoz@redhat.com>
1728
1729 * include/bits/concurrence.h (__gnu_cxx::lock): New.
1730 * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
1731 (__pool_base::_M_get_mutex): New.
1732 * include/bits/allocator.h: Tweak.
1733 * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
1734 * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
1735 * include/bits/stl_threads.h: Remove.
1736 * include/Makefile.am: Also here.
1737 * include/Makefile.in: Regenerate.
1738
1739 * src/locale_init.cc: Use __gnu_cxx::lock.
1740
1741 * src/allocator.cc: Move all instantiations...
1742 * src/allocator-inst.cc: ...here.
1743
1744 2004-06-23 Andrew Pinski <apinski@apple.com>
1745
1746 * linkage.m4: Remove check for libmx.
1747 * configure: Regenerate.
1748
1749 2004-06-23 Paolo Carlini <pcarlini@suse.de>
1750
1751 PR libstdc++/16154
1752 * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
1753 Don't require the _DefaultConstructibleConcept.
1754 (struct _ForwardIteratorConcept): Require it here.
1755
1756 2004-06-22 Alexandre Oliva <aoliva@redhat.com>
1757
1758 * include/bits/istream.tcc (getline): Make sure arguments passed
1759 to min/max have the same type.
1760 * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
1761 * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
1762
1763 2004-06-22 Benjamin Kosnik <bkoz@redhat.com>
1764
1765 * docs/html/abi.html: Update links.
1766
1767 2004-06-22 Paolo Carlini <pcarlini@suse.de>
1768
1769 * testsuite/26_numerics/complex_inserters_extractors.cc,
1770 complex_value.cc, buggy_complex.cc: Move to...
1771 * testsuite/26_numerics/complex/: ... here.
1772 * testsuite/26_numerics/c99_classification_macros_c++.cc,
1773 c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
1774 fabs_inline.cc: Move to...
1775 * testsuite/26_numerics/cmath/: ... here.
1776 * testsuite/26_numerics/binary_closure.cc, slice.cc,
1777 slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
1778 valarray_name_lookup.cc, valarray_operators.cc,
1779 valarray_subset_assignment.cc: Move to...
1780 * testsuite/26_numerics/valarray/: ... here (new dir).
1781 * testsuite/26_numerics/sum_diff.cc: Move to...
1782 * testsuite/26_numerics/numeric/: ... here (new dir).
1783
1784 2004-06-22 Paolo Carlini <pcarlini@suse.de>
1785
1786 * include/std/std_istream.h (ignore(streamsize __n = 1,
1787 int_type __delim = traits_type::eof())): Split into...
1788 (ignore(), ignore(streamsize __n), ignore(streamsize __n,
1789 int_type __delim)): The first two can be much more simpler
1790 and efficient than the fully general case; also, the last
1791 two can take advantage of the same mechanism already used
1792 for getline.
1793 * include/bits/istream.tcc (ignore(streamsize __n = 1,
1794 int_type __delim = traits_type::eof()): Remove.
1795 (ignore(), ignore(streamsize __n), ignore(streamsize __n,
1796 int_type __delim)): New.
1797
1798 2004-06-21 Loren J. Rittle <ljrittle@acm.org>
1799
1800 * config/linker-map.gnu: Use wildcards for
1801 __basic_file::sys_open(FILE*, _Ios_Openmode).
1802
1803 2004-06-20 Paolo Carlini <pcarlini@suse.de>
1804
1805 * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
1806
1807 2004-06-18 Paolo Carlini <pcarlini@suse.de>
1808
1809 * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
1810 the alignment requested.
1811 (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
1812 (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
1813 (__mt_alloc<>::deallocate): Likewise.
1814
1815 2004-06-18 Paolo Carlini <pcarlini@suse.de>
1816
1817 PR libstdc++/16020
1818 * include/debug/safe_base.h
1819 (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
1820 _Safe_sequence_base::operator=): Provide definitions.
1821 * testsuite/23_containers/bitset/cons/16020.cc: New.
1822
1823 2004-06-18 Benjamin Kosnik <bkoz@redhat.com>
1824
1825 * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
1826 (__pool_base): Remove unused template parameter. Add
1827 protected. Move lock data into __pool_base::_Lock. Remove static
1828 on member functions.
1829 (__pool_base::_M_get_free_list): New.
1830 (__pool_alloc): Move _S_force new here.
1831 * src/allocator.cc: Move out of line __pool_base definitions here.
1832 * config/linker-map.gnu: Export bits from __pool_base.
1833
1834 2004-06-18 Paolo Carlini <pcarlini@suse.de>
1835
1836 * config/locale/gnu/numeric_members.cc
1837 (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
1838 assignments of _M_decimal_point and _M_thousands_sep.
1839 * config/locale/gnu/time_members.cc
1840 (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
1841 and reformat assignments of date and time fields.
1842
1843 2004-06-16 Paolo Carlini <pcarlini@suse.de>
1844
1845 * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
1846 to use _Data_allocate.
1847 * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
1848 (rope<>::_S_substring): Likewise.
1849 (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
1850 (rope<>::c_str()): Likewise.
1851 (rope<>::replace_with_c_str()): Likewise.
1852
1853 * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
1854 Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
1855 not _RopeRep.
1856 (_Rope_iterator_base<>::_S_setcache): Likewise.
1857 (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
1858 (rope<>::_S_substring): Likewise.
1859 (rope<>::_S_dump): Likewise.
1860 (rope<>::_S_fetch_ptr): Likewise.
1861 (rope<>::_S_compare): Likewise.
1862 (rope<>::replace_with_c_str()): Likewise.
1863
1864 * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
1865 * testsuite/ext/rope/2.cc: New.
1866
1867 2004-06-16 Paolo Carlini <pcarlini@suse.de>
1868 Matt Austern <austern@apple.com>
1869
1870 * testsuite/ext/rope/3.cc: New.
1871
1872 2004-06-15 Paolo Bonzini <bonzini@gnu.org>
1873
1874 * acinclude.m4: Remove useless multilib configury.
1875 * Makefile.am: Remove useless multilib rules.
1876 * aclocal.m4: Regenerate.
1877 * Makefile.in: Regenerate.
1878 * configure: Regenerate.
1879
1880 2004-06-15 Paolo Carlini <pcarlini@suse.de>
1881
1882 * include/ext/hashtable.h: Trivial formatting fixes.
1883 * include/ext/rb_tree: Likewise.
1884
1885 2004-06-14 Paolo Carlini <pcarlini@suse.de>
1886
1887 * include/ext/hash_map: Trivial formatting fixes.
1888 * include/ext/hash_set: Likewise.
1889 * include/ext/memory: Likewise.
1890 * include/ext/numeric: Likewise.
1891
1892 2004-06-14 Benjamin Kosnik <bkoz@redhat.com>
1893
1894 * Makefile.in: Regenerate with automake 1.8.5.
1895 * aclocal.m4: Same.
1896 * include/Makefile.in: Same.
1897 * libmath/Makefile.in: Same.
1898 * libsupc++/Makefile.in: Same.
1899 * po/Makefile.in: Same.
1900 * src/Makefile.in: Same.
1901 * testsuite/Makefile.in: Same.
1902
1903 2004-06-14 Paolo Carlini <pcarlini@suse.de>
1904
1905 * include/ext/slist: Trivial formatting fixes.
1906
1907 2004-06-14 Paolo Carlini <pcarlini@suse.de>
1908
1909 * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
1910 Don't use the 'magic number' 10 in the computation of __minlen;
1911 never access __name past __minlen; in the loop over __i3, don't
1912 decrease __nmatches and increase __i3 at once, only either of
1913 the two; tidy.
1914
1915 2004-06-13 Paolo Carlini <pcarlini@suse.de>
1916
1917 * include/bits/locale_facets.tcc (time_get<>::do_get_time,
1918 time_get<>::do_get_date): Use only once _M_extract_via_format,
1919 instead of going through "%X"/"%x" and calling it two times
1920 (+ using widen).
1921
1922 2004-06-12 Paolo Carlini <pcarlini@suse.de>
1923
1924 * include/ext/algorithm: Trivial formatting fixes.
1925 * include/ext/functional: Likewise.
1926 * include/ext/hash_fun.h: Likewise.
1927 * include/ext/iterator: Likewise.
1928
1929 2004-06-12 Paolo Carlini <pcarlini@suse.de>
1930
1931 * include/bits/basic_string.tcc (find(const _CharT*, size_type,
1932 size_type)): Reimplement using std::search.
1933 * src/string-inst.cc: Instantiate std::search for char/wchar_t.
1934
1935 2004-06-12 Dhruv Matani <dhruvbird@gmx.net>
1936
1937 * testsuite/performance/21_strings/string_find.cc: New.
1938
1939 2004-06-10 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
1940
1941 * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
1942
1943 2004-06-10 Jan van Dijk <jan@etpmod.phys.tue.nl>
1944
1945 * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
1946 this function return a value.
1947
1948 2004-06-09 Paolo Carlini <pcarlini@suse.de>
1949
1950 PR libstdc++/15775
1951 * include/bits/stl_deque.h: Consistently with stl_set.h, define
1952 pointer as allocator's pointer, likewise for reference,
1953 const_pointer, and const_reference.
1954 * include/bits/stl_list.h: Likewise.
1955 * include/bits/stl_map.h: Likewise.
1956 * include/bits/stl_multimap.h: Likewise.
1957 * include/bits/stl_vector.h: Likewise.
1958
1959 2004-06-09 Benjamin Kosnik <bkoz@redhat.com>
1960
1961 * crossconfig.m4: Remove signbit, signbitf, signbitl.
1962 * linkage.m4: Comment LIBMATHOBJS, tweak others. AC_DEFINES for
1963 builtin math functions instead of AC_DEFINE_UNQUOTED.
1964 * configure: Regenerate.
1965
1966 2004-06-08 Benjamin Kosnik <bkoz@redhat.com>
1967
1968 * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
1969 * docs/doxygen/mainpage.html: Remove links.
1970
1971 2004-06-08 Jason Merrill <jason@redhat.com>
1972
1973 * config/linker-map.gnu: Use wildcards for
1974 __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
1975
1976 2004-06-08 Paolo Carlini <pcarlini@suse.de>
1977
1978 * include/ext/pool_allocator.h: Convert to a global free-list,
1979 as per the original SGI/HP design: move the implementation
1980 details to struct __pool_base, from which __pool_alloc derives.
1981 * src/allocator.cc: Instantiate __pool_base.
1982
1983 2004-06-07 Dhruv Matani <dhruvbird@gmx.net>
1984 Paolo Carlini <pcarlini@suse.de>
1985
1986 * testsuite/testsuite_performance.h
1987 (resource_counter::allocated_memory): Make it return the right
1988 number of bytes requested by the allocators/application. This is
1989 the sbrk+mmaped memory.
1990
1991 2004-06-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
1992
1993 * include/std/std_complex.h (log): Tidy.
1994
1995 2004-05-31 Benjamin Kosnik <bkoz@redhat.com>
1996
1997 * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
1998 * testsuite/testsuite_abi.cc: Same.
1999 * configure.ac (libtool_VERSION): Bump to 6:1:0.
2000 * configure: Regenerate.
2001 * aclocal.m4: Regenerate.
2002
2003 2004-05-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2004
2005 * include/std/std_complex.h (complex<_Tp>): Properly indent
2006 to follow C++STYLE.
2007 (complex<>::__rep): New.
2008 (__complex_abs): New. Dispatch to built-ins.
2009 (abs): Use them.
2010 (__complex_arg): New. Dispatch to built-ins.
2011 (arg): Use it.
2012 (__complex_cos): New. Dispatch to built-ins.
2013 (cos): Use it.
2014 (__complex_cosh): New. Dispatch to built-ins.
2015 (cosh): Use it.
2016 (__complex_exp): New. Dispatch to built-ins.
2017 (exp): Use it.
2018 (__complex_log): New. Dispatch to built-ins.
2019 (log): Use it.
2020 (__complex_sin): New. Dispatch to built-ins.
2021 (sin): Use it.
2022 (__complex_sinh): New. Dispatch to built-ins.
2023 (sinh): Use it.
2024 (__complex_sqrt): New. Dispatch to built-ins.
2025 (sqrt): Use it.
2026 (__complex_tan): New. Dispatch to built-ins.
2027 (tan): Use it.
2028 (__complex_tanh): New. Dispatch to built-ins.
2029 (tanh): Use it.
2030 (__complex_pow): New. Dispatch to built-ins.
2031 (pow): Use it.
2032
2033 2004-05-29 Richard B. Kreckel <Richard.Kreckel@Framatome-ANP.com>
2034 Benjamin Kosnik <bkoz@redhat.com>
2035
2036 PR libstdc++/14600
2037 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
2038 * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
2039 * config/io/basic_file_stdio.cc (__basic_file::file): New.
2040 * config/io/basic_file_stdio.h: Define.
2041
2042 2004-05-27 Benjamin Kosnik <bkoz@redhat.com>
2043
2044 PR libstdc++/15675
2045 * docs/html/documentation.html: Update doxygen links for 3.4.0.
2046
2047 2004-05-27 Jan Beulich <jbeulich@novell.com>
2048
2049 * scripts/create_testsuite_files: Tweak.
2050
2051 2004-05-25 Benjamin Kosnik <bkoz@redhat.com>
2052
2053 PR libstdc++/15489
2054 * scripts/create_testsuite_files: Revert xtype change, add non-GNU
2055 bits to do the same thing.
2056
2057 2004-05-24 Paolo Carlini <pcarlini@suse.de>
2058
2059 * include/bits/istream.tcc (ignore): Correctly deal with
2060 n == numeric_limits<streamsize>::max().
2061 * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
2062
2063 * include/bits/istream.tcc (basic_istream<>::getline): Prefer
2064 '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
2065 __n == numeric_limits<>::min().
2066
2067 * include/bits/istream.tcc: Minor tweaks.
2068
2069 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
2070 Tighten.
2071 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
2072 Likewise.
2073 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
2074 Likewise.
2075 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
2076 Likewise.
2077 * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
2078
2079 2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
2080
2081 PR libstdc++/12854
2082 Fixups for -Weffc++.
2083 * include/bits/basic_string.h (basic_string::operator=): Return
2084 pointer to this instead of result of assign. Although redundant,
2085 this doesn't impact resultant codegen.
2086
2087 * include/bits/locale_facets.h (__numpunct_cache): Declare
2088 assignment opxserator and copy constructor private.
2089 (__timepunct_cache): Same.
2090 (__moneypunct_cache): Same.
2091 (collate): Use member initialization list for _M_c_locale_collate.
2092 * config/locale/gnu/messages_members.h: Same.
2093 * config/locale/gnu/time_members.h (__timepunct): Same.
2094 * src/codecvt.cc: Use member initialization list to initialize
2095 _M_c_locale_codecvt.
2096 * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
2097 * config/os/gnu-linux/ctype_noninline.h: Same.
2098 * src/locale.cc (_Impl): Same.
2099 * src/locale_init.cc: Same.
2100 * src/localename.cc: Same.
2101
2102 * include/bits/basic_ios.h (basic_ios): Complete member
2103 initialization list.
2104 * include/bits/istream.tcc (basic_istream::sentry): Same.
2105 * include/bits/ostream.tcc (basic_ostream::sentry): Same.
2106 * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
2107 _M_pback to member initialization list.
2108 * include/std/std_streambuf.h: Same.
2109 * include/std/std_sstream.h: Same, for _M_mode.
2110 * src/ios.cc (ios_base): Same.
2111
2112 * include/ext/rope: Make derived classes match exception
2113
2114 specifications. Add copy constructors and assignment operators.
2115
2116 * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
2117 constructor and assignment operator protected.
2118 (_Safe_iterator_base): Same.
2119 * include/debug/formatter.h (_Error_formatter): Define copy
2120 constructor and assignment operator.
2121
2122 * include/backward/strstream: Declare assignment operator and copy
2123 constructor private.
2124
2125 2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
2126
2127 * testsuite/testsuite_hooks.h (func_callback): Declare copy
2128 constructor and assignment operator private.
2129 * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
2130 exception specifications of base class.
2131 * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
2132 * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
2133 * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
2134
2135 2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
2136
2137 * libsupc++/cxxabi.h: Remove duplicated and useless public and
2138 private keywords in class declarations. Format. Use
2139 stddef.h. Expose declarations to "C" compilation.
2140 * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
2141 assignment operator.
2142 (__dyncast_result): Same.
2143 * libsupc++/vec.cc (uncatch_exception): Same, use member
2144 initialization list.
2145
2146 2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
2147
2148 * testsuite/abi_check.cc: Add unistd.h.
2149
2150 2004-05-22 Paolo Carlini <pcarlini@suse.de>
2151
2152 PR libstdc++/15565
2153 * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
2154 __int_to_char(unsigned long long)): Showpos is not relevant
2155 for unsigned types.
2156 * testsuite/22_locale/num_put/put/char/15565.cc: New.
2157 * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
2158
2159 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
2160 char.
2161 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2162 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2163 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2164 * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2165 * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2166 * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2167
2168 2004-05-21 Matthias Klose <doko@debian.org>
2169
2170 * docs/doxygen/run_doxygen: Bump required version.
2171
2172 2004-05-21 Benjamin Kosnik <bkoz@redhat.com>
2173
2174 * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
2175 * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
2176
2177 2004-05-21 Paolo Carlini <pcarlini@suse.de>
2178
2179 * include/bits/istream.tcc (ignore): Remove redundant line.
2180 (readsome): Tidy, closely following 27.6.1.3, p30.
2181
2182 2004-05-20 Paolo Carlini <pcarlini@suse.de>
2183
2184 * include/bits/istream.tcc (operator>>(basic_istream<>&,
2185 basic_string<>&)): Use a temporary buffer, thus avoiding
2186 reallocation for common case.
2187 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
2188 New.
2189 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
2190 Likewise.
2191
2192 * include/bits/istream.tcc: Const-ification of a few variables.
2193
2194 * include/bits/ostream.tcc: Trivial formatting fixes and
2195 const-ification of some variables.
2196
2197 2004-05-20 Benjamin Kosnik <bkoz@redhat.com>
2198
2199 PR libstdc++/15123
2200 PR libstdc++/13928
2201 * docs/doxygen/Intro.3: Remove Allocators.3.
2202 Add new extension headers, extension namespace list.
2203 * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
2204 Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
2205 __gnu_debug::. Remove __policy_ renames.
2206 * docs/doxygen/guide.html: Add dot note.
2207 * docs/doxygen/stdheader.cc: Edit, add files.
2208 * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
2209
2210 2004-05-18 Jonathan Wakely <redi@gcc.gnu.org>
2211
2212 * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
2213
2214 2004-05-18 Jan Beulich <jbeulich@novell.com>
2215
2216 PR libstdc++/15489
2217 * scripts/create_testsuite_files: Also find source files through
2218 symbolic links.
2219
2220 2004-05-18 Jan Beulich <jbeulich@novell.com>
2221
2222 PR libstdc++/15488
2223 * testsuite/lib/libstdc++.exp: Make test files writable.
2224
2225 2004-05-18 Paolo Carlini <pcarlini@suse.de>
2226
2227 * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
2228 tweaks.
2229
2230 2004-05-18 Dhruv Matani <dhruvbird@gmx.net>
2231
2232 * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
2233 allocation loop which removes blocks from the global free list
2234 from O(N) to O(1) when the required blocks are <= the number
2235 available.
2236
2237 2004-05-18 Jonathan Wakely <redi@gcc.gnu.org>
2238
2239 * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
2240
2241 2004-05-17 Benjamin Kosnik <bkoz@redhat.com>
2242
2243 * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
2244 * testsuite/23_containers/deque/14340.cc: New.
2245 * testsuite/23_containers/list/14340.cc: New.
2246 * testsuite/23_containers/map/14340.cc: New.
2247 * testsuite/23_containers/multimap/14340.cc: New.
2248 * testsuite/23_containers/multiset/14340.cc: New.
2249 * testsuite/23_containers/set/14340.cc: New.
2250 * testsuite/23_containers/vector/14340.cc: New.
2251
2252 2004-05-17 Douglas Gregor <gregod@cs.rpi.edu>
2253
2254 PR libstdc++/14340
2255 * include/debug/safe_iterator.h (_Safe_iterator converting
2256 constructor): Only allow declaration to instantiate when the
2257 incoming _Safe_iterator has exactly the right iterator type.
2258
2259 2004-05-17 Jonathan Wakely <redi@gcc.gnu.org>
2260
2261 * include/bits/boost_concept_check.h: Fix old attribute syntax.
2262 * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
2263 to pass concept-checks.
2264 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
2265 * testsuite/23_containers/set/modifiers/swap.cc: Same.
2266 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
2267
2268 2004-05-16 Paolo Carlini <pcarlini@suse.de>
2269
2270 * include/std/std_bitset.h: Minor formatting fixes.
2271
2272 2004-05-16 Paolo Carlini <pcarlini@suse.de>
2273
2274 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
2275 Consistently update __bin._M_free[0].
2276 (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
2277 __bin._M_free[0] to simplify the while loop (i.e., the number
2278 of iterations becomes known at the outset).
2279
2280 2004-05-15 Paolo Carlini <pcarlini@suse.de>
2281
2282 * include/std/std_bitset.h: Trivial formatting fixes.
2283
2284 2004-05-14 Paolo Carlini <pcarlini@suse.de>
2285 Ivan Godard <igodard@pacbell.net>
2286
2287 PR libstdc++/15361
2288 * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
2289 * testsuite/23_containers/bitset/ext/15361.cc: New.
2290
2291 2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
2292
2293 PR libstdc++/15046
2294 * crossconfig.m4: Add C99 math bits for linux crosses.
2295 * configure: Regenerate.
2296
2297 2004-05-13 Simon Marshall <simon.marshall@misys.com>
2298 Benjamin Kosnik <bkoz@redhat.com>
2299
2300 PR libstdc++/15090
2301 * include/bits/locale_facets.h: Fix for -fno-for-scope.
2302 * include/debug/safe_sequence.h: Same.
2303 * include/debug/safe_iterator.tcc: Same.
2304 * src/debug.cc: Same.
2305 * src/locale.cc: Same.
2306 * src/locale_init.cc: Same.
2307 * src/localename.cc: Same.
2308 * config/locale/gnu/ctype_members.cc: Same.
2309 * config/locale/gnu/numeric_members.cc: Same.
2310 * testsuite/testsuite_abi.cc: Same.
2311 * testsuite/testsuite_hooks.cc: Same.
2312
2313 2004-05-13 Jonathan Wakely <redi@gcc.gnu.org>
2314
2315 * docs/html/abi.html: Document effect of -fabi-version on value
2316 of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
2317 Fix markup.
2318
2319 2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
2320
2321 PR libstdc++/15074
2322 * docs/html/faq/index.html: Update docs for libsupc++ usage.
2323
2324 2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
2325
2326 PR libstdc++/15412
2327 * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
2328 __gnu_internal.
2329 (_GLIBCXX_mutex_address): Same.
2330 (_GLIBCXX_once): Same.
2331 (_GLIBCXX_mutex_init): Same.
2332 (_GLIBCXX_mutex_address_init): Same.
2333
2334 2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
2335
2336 * docs/html/abi.html: New.
2337 * docs/html/abi.txt: Remove.
2338 * docs/html/documentation.html: Add link.
2339 * testsuite/Makefile.am: Add files.
2340 * testsuite/Makefile.in: Regenerated.
2341 * testsuite/abi_check.cc: Move and modify code into...
2342 * testsuite/testsuite_abi.cc: Add.
2343 * testsuite/testsuite_abi.h: Add.
2344
2345 * docs/html/17_intro/TODO: Update.
2346 * include/bits/stl_pair.h: Format.
2347
2348 2004-05-06 Matthias Klose <doko@debian.org>
2349
2350 * include/backward/iterator.h: Add GPL copyright info,
2351 with exception clause.
2352 * include/bits/boost_concept_check.h: Likewise.
2353 * include
2354 * libsupc++/tinfo.h: Likewise.
2355 * po/string_literals.cc: Likewise.
2356
2357 2004-05-03 Andreas Tobler <a.tobler@schweiz.ch>
2358
2359 * acinclude.m4: Replace -W with more speaking -Wextra.
2360 * configure: Rebuilt.
2361
2362 2004-05-03 Paolo Carlini <pcarlini@suse.de>
2363
2364 Optimize locale::_M_impl->_M_names for the most common cases:
2365 !_M_names[0] means unnamed; !_M_names[1] means all the categories
2366 the same name (_M_names[0] && _M_names[1] means that the full set
2367 of _M_names must be processed, the general case).
2368 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
2369 Tweak, saving work when !_M_names[1].
2370 (locale::locale(const locale&, _Facet*): Simplify: now just setting
2371 _M_names[0] = 0 means unnamed.
2372 * src/locale.cc (locale::operator==): Deal first with the common,
2373 easy cases, otherwise fall back to locale::name().
2374 (locale::name()): Tweak, if !_M_names[0] just return "*".
2375 (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
2376 copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
2377 * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
2378 * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
2379 Simplify when !std::strchr, just updating _M_names[0]; clean up.
2380 (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
2381 for the general case (full set of names), then do the usual work;
2382 clean up.
2383
2384 * src/locale.cc (locale::name()): Reserve space in __ret.
2385 * src/locale_init.cc (locale::global(const locale&)): Save
2386 the name in a temporary.
2387 * src/localename.cc (locale::locale(const char*)): Reserve space
2388 in __str.
2389
2390 2004-04-29 Paolo Carlini <pcarlini@suse.de>
2391
2392 * src/locale.cc (locale::operator==): Always avoid constructing
2393 locale::name(), directly compare pairs of _M_names.
2394
2395 2004-04-26 Paolo Carlini <pcarlini@suse.de>
2396
2397 * include/bits/istream.tcc: Fix comment.
2398
2399 2004-04-26 Paolo Carlini <pcarlini@suse.de>
2400
2401 * include/bits/stl_vector.h: Trivial formatting fixes.
2402 * include/bits/vector.tcc: Likewise.
2403
2404 2004-04-25 Paolo Carlini <pcarlini@suse.de>
2405
2406 PR libstdc++/15002 (continued again)
2407 * include/bits/istream.tcc (getline(basic_istream<>&,
2408 basic_string<>&, _CharT)): Use a temporary buffer, thus
2409 avoiding reallocation for common case.
2410
2411 * include/bits/basic_string.tcc (_S_construct(_InIterator,
2412 _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
2413 of temporary buffer to a power of two.
2414
2415 * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
2416
2417 2004-04-25 Paolo Carlini <pcarlini@suse.de>
2418
2419 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
2420 New.
2421 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
2422 Likewise.
2423 * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
2424
2425 2004-04-24 Paolo Carlini <pcarlini@suse.de>
2426 Petur Runolfsson <peturr02@ru.is>
2427
2428 PR libstdc++/15002 (continued)
2429 * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
2430 streamsize, char_type)): Use traits::find/copy in a loop to speed
2431 up greatly the function in the common case (I/O buffer size >> 1).
2432
2433 2004-04-24 Paolo Carlini <pcarlini@suse.de>
2434
2435 * testsuite/27_io/basic_istream/getline/char/4.cc: New.
2436
2437 * include/bits/istream.tcc (getline(basic_istream<>&,
2438 basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
2439 of sbumpc(), consistently with the other functions, thus also
2440 dealing correctly with the case of exceeded string::max_size().
2441
2442 2004-04-24 Matthias Klose <doko@debian.org>
2443
2444 Jonathan Wakely <cow@compsoc.man.ac.uk>
2445 * docs/html/configopts.html: Fix reference to allocator config option.
2446
2447 2004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
2448
2449 * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
2450 * configure: Regenerate.
2451
2452 2004-04-23 Daniel Jacobowitz <drow@mvista.com>
2453
2454 PR libstdc++/15047, libstdc++/11610
2455 * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
2456 (libstdc++_init): Don't pass outdir to v3-copy-files.
2457
2458 2004-04-21 Paolo Carlini <pcarlini@suse.de>
2459
2460 * include/bits/deque.tcc: Trivial formatting fixes.
2461 * include/bits/stl_deque.h: Likewise.
2462 * include/bits/stl_list.h: Likewise.
2463 * include/bits/stl_tree.h: Likewise.
2464
2465 2004-04-21 Paolo Carlini <pcarlini@suse.de>
2466 Andrew Pinski <pinskia@physics.uc.edu>
2467
2468 * include/bits/basic_string.tcc (_M_mutate): Don't compute
2469 __src unnecessarily.
2470
2471 2004-04-19 Benjamin Kosnik <bkoz@redhat.com>
2472
2473 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
2474 Clarify assertion, set test variable to false before assert.
2475 * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
2476 * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
2477 * testsuite/27_io/ios_base/storage/2.cc: Same.
2478
2479 * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
2480 function returns.
2481 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
2482 * testsuite/27_io/fpos/14320-3.cc: Same.
2483
2484 * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
2485 * testsuite/27_io/fpos/1.cc: Same.
2486 * testsuite/27_io/basic_stringstream/2.cc: Same.
2487 * testsuite/27_io/basic_stringbuf/4.cc: Same.
2488 * testsuite/27_io/basic_stringbuf/1.cc: Same.
2489 * testsuite/27_io/basic_stringbuf/2.cc: Same.
2490 * testsuite/27_io/basic_streambuf/2.cc: Same.
2491 * testsuite/27_io/basic_ostringstream/2.cc: Same.
2492 * testsuite/27_io/basic_ostream/2.cc: Same.
2493 * testsuite/27_io/basic_ofstream/2.cc: Same.
2494 * testsuite/27_io/basic_istringstream/2.cc: Same.
2495 * testsuite/27_io/basic_istream/2.cc: Same.
2496 * testsuite/27_io/basic_iostream/2.cc: Same.
2497 * testsuite/27_io/basic_ios/2.cc: Same.
2498 * testsuite/27_io/basic_ifstream/2.cc: Same.
2499 * testsuite/27_io/basic_fstream/2.cc: Same.
2500 * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
2501
2502 * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
2503 unsigned against zero.
2504 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
2505 * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
2506
2507 * testsuite/18_support/new_delete_placement.cc: Initialize
2508 variables before first use.
2509 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
2510 * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
2511 * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
2512 * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
2513 Same.
2514 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
2515 * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
2516 Same.
2517 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
2518 * testsuite/27_io/types/2.cc: Same.
2519
2520 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
2521 file name.
2522 * testsuite/27_io/fpos/14775.cc: Same.
2523
2524 2004-04-19 Paolo Carlini <pcarlini@suse.de>
2525
2526 PR libstdc++/15002 (partial)
2527 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
2528 Special case __n2 == 1, not calling traits_type::assign/copy.
2529
2530 2004-04-17 Benjamin Kosnik <bkoz@redhat.com>
2531
2532 * include/bits/stl_bvector.h: Use _M_impl._M_start.
2533
2534 2004-04-16 Benjamin Kosnik <bkoz@redhat.com>
2535
2536 * include/bits/c++config (_GLIBCXX_STD): New.
2537 * src/list.cc: Use it.
2538 * include/std/std_bitset.h: Same.
2539 * include/bits/vector.tcc: Same.
2540 * include/bits/stl_set.h: Same.
2541 * include/bits/stl_multiset.h: Same.
2542 * include/bits/stl_multimap.h: Same.
2543 * include/bits/stl_map.h: Same.
2544 * include/bits/stl_list.h: Same.
2545 * include/bits/stl_vector.h: Same.
2546 * include/bits/stl_bvector.h: Same.
2547 * include/bits/stl_deque.h: Same.
2548 * include/bits/deque.tcc: Same.
2549 * include/bits/list.tcc: Same.
2550 * include/debug/vector: Same.
2551 * include/debug/set.h: Same.
2552 * include/debug/multiset.h: Same.
2553 * include/debug/multimap.h: Same.
2554 * include/debug/map.h: Same.
2555 * include/debug/list: Same.
2556 * include/debug/deque: Same.
2557 * include/debug/bitset: Same.
2558 * include/debug/formatter.h (__gnu_debug): Remove using directive.
2559 Add using declaration for std::type_info.
2560 * include/debug/safe_iterator.h: Add using declaration for
2561 std::iterator_traits and std::pair.
2562 * src/debug_list.cc: New.
2563 * src/Makefile.am: Add debug_list.cc.
2564 * src/Makefile.in: Regenerate.
2565 * config/linker-map.gnu: Add _List_node_base exports for std and
2566 __gnu_norm.
2567
2568 * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
2569 idiom that other containers use.
2570 * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
2571
2572 2004-04-16 Paolo Carlini <pcarlini@suse.de>
2573
2574 PR libstdc++/14975
2575 * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
2576 in case of error.
2577 * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
2578 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
2579
2580 2004-04-16 Paolo Carlini <pcarlini@suse.de>
2581
2582 * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
2583 used anymore.
2584 * config.h.in: Regenerate.
2585
2586 2004-04-16 Paolo Carlini <pcarlini@suse.de>
2587
2588 * config/locale/generic/monetary_members.cc
2589 (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
2590 btowc unnecessarily, just cast to wchar_t (the concerned chars
2591 all belong to the basic character set).
2592 * config/locale/generic/numeric_members.cc
2593 (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
2594 * config/locale/gnu/monetary_members.cc
2595 (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
2596 * config/locale/gnu/numeric_members.cc
2597 (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
2598
2599 2004-04-15 Paolo Carlini <pcarlini@suse.de>
2600
2601 * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
2602 avoid constructing unnecessarily this->name().
2603
2604 2004-04-14 Zack Weinberg <zack@codesourcery.com>
2605
2606 * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
2607 Change definition of CXX to use $(shell) instead of backticks.
2608 * testsuite/Makefile.in: Regenerate.
2609
2610 2004-04-12 Dhruv Matani <dhruvbird@gmx.net>
2611
2612 * testsuite/performance/20_util/allocator/list_sort_search.cc:
2613 Minor formatting fixes.
2614 * testsuite/performance/20_util/allocator/map_mt_find.cc:
2615 Likewise.
2616
2617 2004-04-12 Paolo Carlini <pcarlini@suse.de>
2618
2619 * config/locale/gnu/numeric_members.cc
2620 (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
2621 in __uselocale, since btowc is called for chars belonging to
2622 the basic character set.
2623
2624 2004-04-09 Paolo Carlini <pcarlini@suse.de>
2625
2626 * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
2627 * testsuite/22_locale/messages/members/char/2.cc: Ditto.
2628 * testsuite/22_locale/messages/members/char/3.cc: Ditto.
2629 * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
2630 * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
2631 * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
2632 * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
2633 * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
2634 * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
2635 * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
2636 * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
2637 * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
2638 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
2639 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
2640 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
2641 * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
2642 * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
2643
2644 2004-04-07 Paolo Carlini <pcarlini@suse.de>
2645
2646 * config/locale/generic/time_members.cc
2647 (__timepunct<char>::_M_initialize_timepunct,
2648 __timepunct<wchar_t>::_M_initialize_timepunct): the correct
2649 _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
2650 * config/locale/gnu/time_members.cc
2651 (__timepunct<char>::_M_initialize_timepunct,
2652 __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
2653 * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
2654 * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
2655
2656 * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
2657 * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
2658 * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
2659 * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
2660 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
2661 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
2662 * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
2663 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
2664 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
2665 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
2666 * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
2667 * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
2668 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
2669 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
2670 * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
2671 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
2672 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
2673 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
2674 * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
2675 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
2676 * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
2677 * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
2678 * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
2679 * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
2680 * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
2681 * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
2682 * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
2683 * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
2684 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
2685 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
2686 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
2687 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
2688 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
2689 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
2690 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
2691 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
2692
2693 * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
2694
2695 2004-04-07 Paolo Carlini <pcarlini@suse.de>
2696
2697 * config/locale/gnu/monetary_members.cc
2698 (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
2699 _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
2700 and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
2701 _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
2702 * config/locale/gnu/numeric_members.cc
2703 (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
2704 and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
2705
2706 2004-04-06 Benjamin Kosnik <bkoz@redhat.com>
2707
2708 Fixups for EDG front end.
2709 * include/ext/rope: Instead of non-existent function
2710 _Data_allocate, use allocator's allocate. Use this.
2711 (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
2712 enumerations from _Rope_RopeRep here.
2713 * include/ext/ropeimpl.h: Same.
2714 * src/ext-inst.cc (_S_min_len): Fix up definition.
2715
2716 * config/locale/gnu/ctype_members.cc: Qualify base class members
2717 with this.
2718 * config/locale/generic/ctype_members.cc: Same.
2719 * config/locale/gnu/messages_members.h: Same.
2720 * config/locale/generic/messages_members.h: Same.
2721 * src/ctype.cc: Same.
2722 * include/bits/codecvt.h: Same.
2723
2724 * include/bits/boost_concept_check.h: Declare.
2725 (__error_type_must_be_an_unsigned_integer_type): Remove this.
2726 (__error_type_must_be_an_integer_type): Remove this.
2727 (__error_type_must_be_a_signed_integer_type): Remove this.
2728
2729 * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
2730
2731 * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
2732 specification to definition.
2733 (__cxa_allocate_exception): Same.
2734 * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
2735 * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
2736 (__cxa_get_globals): Same.
2737
2738 * libsupc++/del_op.cc: Add comment about freestanding.
2739
2740 2004-04-05 Paolo Carlini <pcarlini@suse.de>
2741
2742 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
2743 The critical section is actually very small, only two assignments.
2744
2745 2004-04-04 Paolo Carlini <pcarlini@suse.de>
2746 Petur Runolfsson <peturr02@ru.is>
2747
2748 * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
2749 adapted from libstdc++/11378.
2750
2751 2004-04-03 Paolo Carlini <pcarlini@suse.de>
2752
2753 * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
2754 some duplicated code.
2755 (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
2756 in the single threaded case.
2757 * testsuite/performance/20_util/allocator/list_sort_search.cc:
2758 Reorder and renumber the tests consistently with the other testfiles.
2759 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
2760 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
2761 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
2762
2763 2004-04-02 Paolo Carlini <pcarlini@suse.de>
2764
2765 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
2766 Rearrange arithmetic to avoid computing two divisions at
2767 each deallocation.
2768
2769 2004-04-01 Paolo Carlini <pcarlini@suse.de>
2770
2771 * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
2772 Streamline the second half, wrapping it in a single
2773 '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
2774 conditionals inside loops.
2775
2776 2004-04-01 Paolo Carlini <pcarlini@suse.de>
2777
2778 PR libstdc++/14775
2779 * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
2780 * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
2781 GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
2782 to _GLIBCXX_RES_LIMITS.
2783 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
2784 HAVE_LIMIT_*.
2785 * testsuite/testsuite_hooks.h: Declare set_file_limit.
2786 * testsuite/testsuite_hooks.cc: Define it, using getrlimit
2787 and setrlimit(RLIMIT_FSIZE).
2788 * testsuite/27_io/fpos/14775.cc: New.
2789 * config.h.in: Regenerate.
2790 * configure: Likewise.
2791
2792 2004-03-31 Paolo Carlini <pcarlini@suse.de>
2793
2794 * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
2795 In v3 uses of sscanf, the special floating-point numbers INF,
2796 INFINITY, etc., cannot occur in input, therefore, if the latter
2797 is too large, ERANGE is always stored in errno, no need of finitel.
2798
2799 2004-03-30 Benjamin Kosnik <bkoz@redhat.com>
2800
2801 PR libstdc++/14783
2802 * include/bits/stl_tree.h: Adjust initialization list order.
2803
2804 2004-03-29 Loren J. Rittle <ljrittle@acm.org>
2805
2806 * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
2807
2808 2004-03-29 Paolo Carlini <pcarlini@suse.de>
2809
2810 * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
2811 on allocator behavior, the memory pointed by data2 may well be not
2812 trashed.
2813
2814 2004-03-28 Chavdar Botev <cbotev@yahoo.com>
2815
2816 PR libstdc++/14245
2817 * include/bits/basic_string.tcc
2818 (basic_string::basic_string(const basic_string&)): Pass to
2819 _Rep::_M_grab the actual allocator of the string being constructed
2820 not the default constructed one.
2821
2822 2004-03-27 Benjamin Kosnik <bkoz@redhat.com>
2823
2824 libstdc++ PR/13598
2825 * config/locale/ieee_1003.1-2001/codecvt_specializations.h
2826 (__enc_traits::_M_destroy): New.
2827 (__enc_traits::~__enc_traits): Use it.
2828 (__enc_traits::operator=): Use _M_destroy, _M_init.
2829 (__enc_traits::__enc_traits): Same.
2830
2831 2004-03-27 Petur Runolfsson <peturr02@ru.is>
2832
2833 * testsuite/ext/enc_filebuf/char/13598.cc: New.
2834
2835 2004-03-27 Paolo Carlini <pcarlini@suse.de>
2836
2837 * include/ext/mt_allocator.h: Uglify consistently names of
2838 variables, members and classes; tidy.
2839
2840 2004-03-27 Dhruv Matani <dhruvbird@gmx.net>
2841
2842 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
2843 Deallocation loop rewrote.
2844
2845 2004-03-26 Paolo Carlini <pcarlini@suse.de>
2846
2847 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
2848 __mt_alloc<>::deallocate): Protect two instances of
2849 block->thread_id with __GTHREADS.
2850
2851 2004-03-25 Gawain Bolton <gp.bolton@computer.org>
2852
2853 * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
2854 default argument in constructors.
2855 (_Rb_tree::_M_empty_initialize): Remove.
2856
2857 2004-03-25 Benjamin Kosnik <bkoz@redhat.com>
2858
2859 * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
2860 * testsuite/23_containers/set/operators/1_neg.cc: Same.
2861
2862 2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
2863
2864 * include/bits/cpp_type_traits.h: Changed __is_pod
2865 completely. Now, it does not use any of the previous type_traits
2866 to detect the pod types, and it also detects function pointers as
2867 POD types.
2868
2869 * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
2870 which encapsulates the internal implementation of an rb_tree. Made
2871 the allocator a base class of this class instead of the rb_tree,
2872 which was not conforming. This _Rb_tree_impl class is also
2873 specialized on whether the _Compare parameter is a POD type or
2874 not. If so, then it maintains the comparison function as a data
2875 member, otherwise it makes the _Compare parameter a base class of
2876 itself. Also, _M_key_compare is now a function instead of a data
2877 member, so that the above trick can work properly. Delegated the
2878 initialization of the other data members to this newly created
2879 class. Also, now other member functions of rb_tree must refer to
2880 _M_key_compare as _M_impl._M_key_compare(). The other data members
2881 (*) can be referenced to as _M_impl.(*), where
2882 (*) includes _M_header, and _M_node_count.
2883
2884 2004-03-25 Paolo Carlini <pcarlini@suse.de>
2885
2886 * include/ext/mt_allocator.h (__mt_alloc<>::tune):
2887 Add _M_min_bin, the size in bytes of the smallest bin.
2888 (__mt_alloc<>::tune()): Tweak accordingly.
2889 (__mt_alloc<>::tune(size_t, ...)): Likewise.
2890 (__mt_alloc<>::block_record): Change to a union: members next
2891 and thread_id are never used at the same time.
2892 (__mt_alloc<>::allocate): Update consistently.
2893 (__mt_alloc<>::deallocate): Likewise.
2894 (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
2895 _S_bin_size for the configurable _M_min_size.
2896
2897 2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
2898
2899 * include/bits/stl_list.h: Created a _List_impl class and made it
2900 derive from the allocator, instead of the list deriving from the
2901 allocator class, which was not conformant. Changed all references
2902 from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
2903 as above (changed all references to the concerned variables).
2904
2905 2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
2906
2907 * include/bits/stl_deque.h: Created a _Deque_impl class and made
2908 it derive from the allocator, instead of the deque deriving from
2909 the allocator class, which was not conformant. Changed all
2910 references to the _M_start, _M_finish, _M_map, and _M_map_size to
2911 _M_impl.*.
2912 (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
2913 qualification in 2 places where it was missing.
2914 (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
2915 above.
2916 * include/bits/deque.tcc: Same as above (changed all references to
2917 the concerned variables).
2918
2919 2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
2920
2921 * include/bits/stl_vector.h: Created a _Vector_impl class and made
2922 it derive from the allocator, instead of the _Vector_base class,
2923 deriving from the allocator which was not conformant. Changed all
2924 references to the _M_start, _M_finish, and _M_end_of_storage to
2925 _M_impl.*.
2926 * include/bits/vector.tcc: Same as above (changed all references
2927 to the concerned variables).
2928
2929 2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
2930
2931 * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
2932 * testsuite/23_containers/list/cons/clear_allocator.cc: New.
2933 * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
2934
2935 2004-03-24 Dhruv Matani <dhruvbird@gmx.net>
2936
2937 * include/ext/malloc_allocator.h: Fixed the construct function to
2938 call global placement new instead of assignment. Added a check
2939 after the return from malloc to check whether returned pointer is
2940 NULL, and if so, throw std::bad_alloc().
2941 * include/ext/debug_allocator.h: Added a check in the deallocate
2942 function to check whether the user has passed a NULL pointer or
2943 not.
2944
2945 2004-03-24 Benjamin Kosnik <bkoz@redhat.com>
2946
2947 * docs/html/20_util/allocator.html: Add bitmap_allocator links.
2948
2949 2004-03-24 Andreas Schwab <schwab@suse.de>
2950
2951 * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
2952 warning from IA64 assembler.
2953
2954 2004-03-24 Dhruv Matani <dhruvbird@gmx.net>
2955
2956 * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
2957 function call __builtin_ctz instead of the while loop.
2958 (allocate) -> If condition has __builtin_expect.
2959 (deallocate) -> Ditto.
2960 Renamed a few left-over variables and typedefs according to the
2961 C++STYLE mentioned in the documentation.
2962 Protected calls to __gthread* by __gthread_active_p(), whose value
2963 is cached in the local variable __threads_active.
2964
2965 2004-03-24 Felix Yen <fwy@alumni.brown.edu>
2966
2967 * testsuite/performance/20_util/allocator/producer_consumer.cc:
2968 Use linear algorithm for producer.
2969
2970 2004-03-24 Paolo Carlini <pcarlini@suse.de>
2971
2972 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
2973 __mt_alloc<>::deallocate): Avoid redundant conditionals.
2974
2975 2004-03-23 Benjamin Kosnik <bkoz@redhat.com>
2976
2977 * include/bits/locale_facets.h: Tweaks for 80 column.
2978 (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
2979 (__moneypunct_cache::_M_cache): Same.
2980 (num_get): Don't inherit from __num_base.
2981 (num_put): Same.
2982 (money_get): Don't inherit from money_base.
2983 (money_put): Same.
2984 (__timepunct::_M_am_pm_format): New.
2985 (time_get::_M_extract_num): Return iterator, use ios_base as argument.
2986 (time_get::_M_extract_name): Same.
2987 (time_get::_M_extract_via_format): Same.
2988 * include/bits/locale_facets.tcc: Tweaks for 80 column.
2989 Use _M_getloc instead of getloc.
2990 * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
2991 * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
2992 * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
2993
2994 2004-03-22 Paolo Carlini <pcarlini@suse.de>
2995
2996 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
2997 * configure: Regenerate.
2998 * config/allocator/pool_allocator_base.h: New.
2999 * include/ext/pool_allocator.h: Convert to a standard-conforming
3000 allocator.
3001 * src/allocator.cc: Tweak instantiations.
3002 * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
3003 * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
3004 * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
3005 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
3006 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
3007 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
3008
3009 2004-03-22 Hans-Peter Nilsson <hp@axis.com>
3010
3011 * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
3012 inline" and attribute-unused. Qualify parameter __mem with
3013 "volatile".
3014 (__exchange_and_add): Ditto. Add back memory clobber to asm.
3015
3016 2004-03-20 Paolo Carlini <pcarlini@suse.de>
3017
3018 * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
3019 Remove junk.
3020 * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
3021 Likewise.
3022 * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
3023 Likewise.
3024 * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
3025 Likewise.
3026 * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
3027 Likewise.
3028 * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
3029 Likewise.
3030 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
3031 Likewise.
3032 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
3033 Likewise.
3034 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
3035 Likewise.
3036 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
3037 Likewise.
3038
3039 2004-03-20 Paolo Carlini <pcarlini@suse.de>
3040
3041 * include/std/std_valarray.h: Document DR389 [Ready].
3042 * docs/html/ext/howto.html: Add an entry for DR389.
3043
3044 2004-03-19 Michael Eager <eager@mvista.com>
3045
3046 * config/cpu/mips/atomicity.h: Prevent reg loads between LL and
3047 SC instructions.
3048
3049 2004-03-19 Paolo Carlini <pcarlini@suse.de>
3050
3051 * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
3052 static_cast-s.
3053 * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
3054 * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
3055 * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
3056 * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
3057 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
3058 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
3059 * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
3060 * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
3061 * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
3062
3063 2004-03-19 Paolo Carlini <pcarlini@suse.de>
3064 Petur Runolfsson <peturr02@ru.is>
3065
3066 PR libstdc++/12077
3067 * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
3068 no way to find out the conversion used by the underlying FILE*.
3069 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
3070 * testsuite/27_io/objects/char/9.cc: Tweak.
3071
3072 2004-03-19 Paolo Carlini <pcarlini@suse.de>
3073
3074 PR libstdc++/14648
3075 * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
3076 memory allocation/deallocation calls.
3077 * testsuite/ext/14648.cc: New.
3078
3079 2004-03-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
3080
3081 PR libstdc++/14647
3082 * include/backward/bvector.h (bit_vector): Allocator is in std
3083 namespace.
3084
3085 2004-03-19 Phil Edwards <phil@codesourcery.com>
3086
3087 * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV,
3088 not libiconv. SUBST this variable as well.
3089 * testsuite/Makefile.am (site.exp): New target, based on that
3090 created by automake. Also set libiconv.
3091
3092 * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
3093 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
3094 testsuite/Makefile.in: Regenerate.
3095
3096 2004-03-16 Benjamin Kosnik <bkoz@redhat.com>
3097
3098 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
3099 new_allocator for all hosts.
3100 * configure: Regenerate.
3101
3102 2004-03-16 Paolo Carlini <pcarlini@suse.de>
3103
3104 * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
3105 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
3106
3107 2004-03-15 Paolo Carlini <pcarlini@suse.de>
3108
3109 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3110 Adjust the logic underlying the parsing of symbol to deal
3111 correctly with an optional sign component (i.e., when either
3112 negative_sign or positive_sign is empty)
3113 * testsuite/22_locale/money_get/get/char/19.cc: New.
3114 * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
3115
3116 2004-03-15 Paolo Carlini <pcarlini@suse.de>
3117
3118 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3119 Do not accept an incomplete currency symbol.
3120 * testsuite/22_locale/money_get/get/char/18.cc: New.
3121 * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
3122
3123 2004-03-13 Benjamin Kosnik <bkoz@redhat.com>
3124
3125 * config/allocator: New.
3126 * config/allocator/bitmap_allocator_base.h: New.
3127 * config/allocator/malloc_allocator_base.h: New.
3128 * config/allocator/mt_allocator_base.h: New.
3129 * config/allocator/new_allocator_base.h: New.
3130 * include/bits/allocator.h: Include c++allocator.h.
3131 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
3132 * aclocal.m4: Regenerate.
3133 * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
3134 * configure: Regenerate.
3135 * include/Makefile.am (host_headers_extra): Add c++allocator.h.
3136 * include/Makefile.in: Regenerate.
3137 * docs/html/configopts.html: Add enable-libstdcxx-allocator.
3138
3139 2004-03-12 Benjamin Kosnik <bkoz@redhat.com>
3140
3141 * include/bits/allocator.h: Revert.
3142
3143 2004-03-12 Paolo Carlini <pcarlini@suse.de>
3144
3145 * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
3146 * include/bits/gslice_array.h: Add comment about DR 253.
3147 * include/bits/indirect_array.h: Likewise.
3148 * include/bits/mask_array.h: Likewise.
3149 * include/bits/slice_array.h: Likewise.
3150
3151 2004-03-12 Benjamin Kosnik <bkoz@redhat.com>
3152
3153 * testsuite/20_util/allocator/14176.cc: New.
3154 * include/ext/mt_allocator.h: Formatting fixes.
3155
3156 2004-03-11 Dhruv Matani <dhruvbird@HotPOP.com>
3157
3158 * include/Makefile.am (ext_headers): Add
3159 ${ext_srcdir}/bitmap_allocator.h .
3160 * include/Makefile.in: Regenerate.
3161 * docs/html/ext/ballocator_doc.txt: New file.
3162 * include/ext/bitmap_allocator.h: New file.
3163 * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
3164 test.
3165 * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
3166 * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
3167 test for the bitmap_allocator<>.
3168 * testsuite/performance/20_util/allocator/insert.cc: Likewise.
3169 * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
3170 * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
3171
3172 2004-03-11 Paolo Carlini <pcarlini@suse.de>
3173
3174 * include/std/std_complex.h (pow(const complex&, const _Tp&),
3175 pow(const _Tp&, const complex&), pow(const complex&,
3176 const complex&)): Fully qualify with std:: a few calls.
3177 * testsuite/26_numerics/complex/13450.cc: Minor tweak.
3178
3179 2004-03-11 Steven Bosscher <stevenb@suse.de>
3180
3181 PR libstdc++/11706
3182 * include/c_std/cmath.tcc (__cmath_power): Define inline.
3183
3184 2004-03-10 Kelley Cook <kcook@gcc.gnu.org>
3185
3186 * configure.ac: Bump AC_PREREQ to 2.59.
3187
3188 2004-03-10 Paolo Carlini <pcarlini@suse.de>
3189
3190 * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
3191
3192 2004-03-10 Paul Kienzle <pkienzle@nist.gov>
3193 Paolo Carlini <pcarlini@suse.de>
3194
3195 PR libstdc++/13450
3196 * include/std/std_complex.h (pow(const complex&, const _Tp&),
3197 pow(const _Tp&, const complex&)): Use cmath pow only when safe.
3198 * testsuite/26_numerics/complex/13450.cc: New.
3199
3200 * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
3201 * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
3202
3203 2004-03-10 Jerry Quinn <jlquinn@optonline.net>
3204
3205 PR libstdc++/3247
3206 * include/bits/gslice_array.h (gslice_array()): Make public.
3207 (operator=(gslice_array)): Make public. Implement.
3208 * include/bits/indirect_array.h (indirect_array()): Make public.
3209 * include/bits/mask_array.h (mask_array()): Make public.
3210 (operator=(mask_array)): Make public. Implement.
3211 * include/bits/valarray_array.tcc (__valarray_copy):
3212 Comment. Add versions for gslice_array and mask_array.
3213 * testsuite/26_numerics/valarray_subset_assignment.cc: New test.
3214
3215 2004-03-09 Benjamin Kosnik <bkoz@redhat.com>
3216
3217 * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
3218 non-weak systems.
3219 * testsuite/23_containers/vector/modifiers/swap.cc: Same.
3220 * testsuite/23_containers/set/modifiers/swap.cc: Same.
3221 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
3222 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
3223 * testsuite/23_containers/map/modifiers/swap.cc: Same.
3224 * testsuite/23_containers/list/modifiers/swap.cc: Same.
3225
3226 * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
3227
3228 2004-03-08 Benjamin Kosnik <bkoz@redhat.com>
3229
3230 PR c++/13658
3231 * testsuite/23_containers/deque/modifiers/swap.cc: New.
3232 * testsuite/23_containers/list/modifiers/swap.cc: New.
3233 * testsuite/23_containers/map/modifiers/swap.cc: New.
3234 * testsuite/23_containers/multimap/modifiers/swap.cc: New.
3235 * testsuite/23_containers/multiset/modifiers/swap.cc: New.
3236 * testsuite/23_containers/set/modifiers/swap.cc: New.
3237 * testsuite/23_containers/vector/modifiers/swap.cc: New.
3238
3239 2004-03-08 Petur Runolfsson <peturr02@ru.is>
3240
3241 PR libstdc++/12658
3242 * testsuite/22_locale/locale/cons/12658_thread.cc: New.
3243
3244 2004-03-08 Paolo Carlini <pcarlini@suse.de>
3245
3246 * docs/html/ext/howto.html: Add entry for DR 103 [WP].
3247 * include/bits/stl_multiset.h: Add comment about DR 103.
3248 * include/bits/stl_set.h: Likewise.
3249
3250 2004-03-08 Paolo Carlini <pcarlini@suse.de>
3251
3252 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3253 The value _space_ indicates that at least one space is required
3254 at that position.
3255 * testsuite/22_locale/money_get/get/char/17.cc: New.
3256 * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
3257
3258 * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
3259 * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
3260
3261 * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
3262 Remove redundant conditional on __str.size().
3263
3264 2004-03-08 Benjamin Kosnik <bkoz@redhat.com>
3265
3266 * include/bits/allocator.h: Switch defaults to mt_alloc.
3267
3268 2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
3269
3270 * include/ext/mt_allocator.h (_S_initialize): If
3271 !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
3272
3273 2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
3274
3275 PR libstdc++/12658
3276 * src/locale_init.cc (locale::locale): Lock critical regions with
3277 external mutexes.
3278 (locale::global): Same.
3279 * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
3280 Add in once bits for cases without __GTHREAD_MUTEX_INIT.
3281 (__glibcxx_mutex_lock): Same.
3282
3283 * config/cpu/generic/atomicity.h: Remove
3284 _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
3285 * src/misc-inst.cc: Move all locking bits out of this file.
3286
3287 * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
3288 * src/misc-inst.cc: Same.
3289 * config/cpu/hppa/atomicity.h: Same.
3290
3291 * config/linker-map.gnu: Remove types in the signature of atomic
3292 exports, as they may vary.
3293
3294 2004-03-06 Paolo Carlini <pcarlini@suse.de>
3295
3296 * include/bits/locale_facets.tcc: Tweak the comment preceding
3297 has_facet: doesn't throw.
3298
3299 2004-03-06 Paolo Carlini <pcarlini@suse.de>
3300
3301 * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
3302 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
3303 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
3304 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
3305 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
3306 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
3307 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
3308 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
3309
3310 2004-03-06 Paolo Carlini <pcarlini@suse.de>
3311
3312 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
3313 num_get<>::_M_extract_int, num_get<>::do_get(bool&),
3314 __pad<>::_S_pad): Prefer plain operator== to traits::eq().
3315 * testsuite/testsuite_character.h (struct __gnu_test::character):
3316 Provide operator==.
3317 * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
3318 Likewise.
3319
3320 2004-03-05 Paolo Carlini <pcarlini@suse.de>
3321
3322 * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
3323
3324 2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
3325
3326 * testsuite/23_containers/multiset/insert/1.cc: Test result string.
3327
3328 * testsuite/23_containers/bitset/invalidation/1.cc: Main always
3329 returns 0.
3330 * testsuite/23_containers/deque/invalidation/4.cc: Same.
3331 * testsuite/23_containers/list/invalidation/1.cc: Same.
3332 * testsuite/23_containers/list/invalidation/2.cc: Same.
3333 * testsuite/23_containers/list/invalidation/3.cc: Same.
3334 * testsuite/23_containers/list/invalidation/4.cc: Same.
3335 * testsuite/23_containers/map/invalidation/2.cc: Same.
3336 * testsuite/23_containers/multimap/invalidation/1.cc: Same.
3337 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
3338 * testsuite/23_containers/multiset/invalidation/1.cc: Same.
3339 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
3340 * testsuite/23_containers/set/invalidation/1.cc: Same.
3341 * testsuite/23_containers/set/invalidation/2.cc: Same.
3342 * testsuite/23_containers/vector/invalidation/1.cc: Same.
3343 * testsuite/23_containers/vector/invalidation/2.cc: Same.
3344 * testsuite/23_containers/vector/invalidation/3.cc: Same.
3345 * testsuite/23_containers/vector/invalidation/4.cc: Same.
3346
3347 2004-03-04 Paolo Carlini <pcarlini@suse.de>
3348
3349 * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
3350 CXXFLAGS_save.
3351 * testsuite/lib/libstdc++.exp: Don't add it conditionally to
3352 DEFAULT_CXXFLAGS.
3353 * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
3354 from the dg-options.
3355 * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
3356 * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
3357 * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
3358 * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
3359 * testsuite/23_containers/vector/resize/1.cc: Likewise.
3360 * testsuite/26_numerics/complex_value.cc: Likewise.
3361 * testsuite/27_io/ios_base/storage/1.cc: Likewise.
3362 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
3363 * testsuite/27_io/ios_base/storage/3.cc: Likewise.
3364 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
3365 * testsuite/27_io/objects/char/5.cc: Likewise.
3366 * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
3367 * testsuite/backward/11460.cc: Likewise.
3368 * testsuite/thread/pthread7-rope.cc: Likewise.
3369
3370 * testsuite/21_strings/basic_string/compare/char/1.cc: Add
3371 missing test variable.
3372 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
3373 missing test variable.
3374
3375 2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
3376
3377 * testsuite/20_util/allocator/1.cc: Provide explicit
3378 instantiations for non-weak systems.
3379 * testsuite/20_util/binders.cc: Same.
3380 * testsuite/20_util/allocator/8230.cc: Same.
3381 * testsuite/20_util/allocator/10378.cc: Same.
3382 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
3383 * testsuite/22_locale/ctype/is/char/2.cc: Same.
3384 * testsuite/thread/pthread7-rope.cc: Same.
3385 * testsuite/thread/pthread6.cc: Same.
3386 * testsuite/thread/pthread5.cc: Same.
3387 * testsuite/thread/pthread4.cc: Same.
3388 * testsuite/thread/pthread1.cc: Same.
3389 * testsuite/ext/rope.cc: Same.
3390 * testsuite/ext/hash_set.cc: Same.
3391 * testsuite/ext/hash_map.cc: Same.
3392 * testsuite/ext/concept_checks.cc: Same.
3393 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
3394 * testsuite/25_algorithms/unique/2.cc: Same.
3395 * testsuite/25_algorithms/unique/1.cc: Same.
3396 * testsuite/25_algorithms/rotate.cc: Same.
3397 * testsuite/25_algorithms/min_max.cc: Same.
3398 * testsuite/25_algorithms/equal.cc: Same.
3399 * testsuite/24_iterators/rel_ops.cc: Same.
3400 * testsuite/24_iterators/iterator.cc: Same.
3401 * testsuite/24_iterators/insert_iterator.cc: Same.
3402 * testsuite/24_iterators/front_insert_iterator.cc: Same.
3403 * testsuite/24_iterators/back_insert_iterator.cc: Same.
3404 * testsuite/23_containers/vector/resize/1.cc: Same.
3405 * testsuite/23_containers/vector/modifiers/2.cc: Same.
3406 * testsuite/23_containers/vector/modifiers/1.cc: Same.
3407 * testsuite/23_containers/vector/invalidation/4.cc: Same.
3408 * testsuite/23_containers/vector/invalidation/3.cc: Same.
3409 * testsuite/23_containers/vector/invalidation/2.cc: Same.
3410 * testsuite/23_containers/vector/invalidation/1.cc: Same.
3411 * testsuite/23_containers/vector/element_access/1.cc: Same.
3412 * testsuite/23_containers/vector/cons/6513.cc: Same.
3413 * testsuite/23_containers/vector/cons/3.cc: Same.
3414 * testsuite/23_containers/vector/cons/2.cc: Same.
3415 * testsuite/23_containers/vector/cons/1.cc: Same.
3416 * testsuite/23_containers/vector/capacity/8230.cc: Same.
3417 * testsuite/23_containers/vector/capacity/1.cc: Same.
3418 * testsuite/23_containers/vector/bool/6886.cc: Same.
3419 * testsuite/23_containers/stack/members/7158.cc: Same.
3420 * testsuite/23_containers/set/invalidation/2.cc: Same.
3421 * testsuite/23_containers/set/invalidation/1.cc: Same.
3422 * testsuite/23_containers/queue/members/7157.cc: Same.
3423 * testsuite/23_containers/priority_queue/members/7161.cc: Same.
3424 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
3425 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
3426 * testsuite/23_containers/multiset/insert/1.cc: Same.
3427 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
3428 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
3429 * testsuite/23_containers/map/operators/1.cc: Same.
3430 * testsuite/23_containers/map/invalidation/2.cc: Same.
3431 * testsuite/23_containers/map/invalidation/1.cc: Same.
3432 * testsuite/23_containers/map/insert/1.cc: Same.
3433 * testsuite/23_containers/list/operators/4.cc: Same.
3434 * testsuite/23_containers/list/operators/3.cc: Same.
3435 * testsuite/23_containers/list/operators/2.cc: Same.
3436 * testsuite/23_containers/list/operators/1.cc: Same.
3437 * testsuite/23_containers/list/modifiers/3.cc: Same.
3438 * testsuite/23_containers/list/modifiers/2.cc: Same.
3439 * testsuite/23_containers/list/modifiers/1.cc: Same.
3440 * testsuite/23_containers/list/invalidation/4.cc: Same.
3441 * testsuite/23_containers/list/invalidation/3.cc: Same.
3442 * testsuite/23_containers/list/invalidation/2.cc: Same.
3443 * testsuite/23_containers/list/invalidation/1.cc: Same.
3444 * testsuite/23_containers/list/cons/9.cc: Same.
3445 * testsuite/23_containers/list/cons/8.cc: Same.
3446 * testsuite/23_containers/list/cons/7.cc: Same.
3447 * testsuite/23_containers/list/cons/6.cc: Same.
3448 * testsuite/23_containers/list/cons/5.cc: Same.
3449 * testsuite/23_containers/list/cons/4.cc: Same.
3450 * testsuite/23_containers/list/cons/3.cc: Same.
3451 * testsuite/23_containers/list/cons/2.cc: Same.
3452 * testsuite/23_containers/list/cons/1.cc: Same.
3453 * testsuite/23_containers/list/capacity/1.cc: Same.
3454 * testsuite/23_containers/deque/operators/1.cc: Same.
3455 * testsuite/23_containers/deque/invalidation/4.cc: Same.
3456 * testsuite/23_containers/deque/invalidation/3.cc: Same.
3457 * testsuite/23_containers/deque/invalidation/2.cc: Same.
3458 * testsuite/23_containers/deque/invalidation/1.cc: Same.
3459 * testsuite/23_containers/deque/cons/2.cc: Same.
3460 * testsuite/23_containers/deque/cons/1.cc: Same.
3461
3462 * src/allocator.cc: Add char, wchar_t instantiations
3463 to match extern template declarations in memory.h.
3464
3465 2004-03-03 Paolo Carlini <pcarlini@suse.de>
3466
3467 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
3468 Fix warning regression.
3469
3470 2004-03-03 Paolo Carlini <pcarlini@suse.de>
3471
3472 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
3473 Deal properly with empty __digits and negative frac_digits,
3474 clean-up a bit.
3475
3476 2004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
3477
3478 * docs/html/documentation.html: Regenerate.
3479
3480 2004-03-02 Paolo Carlini <pcarlini@suse.de>
3481
3482 PR libstdc++/14320
3483 * include/bits/postypes.h (class streamoff): Remove, now
3484 streamoff is just typedef a 64 bit signed integer type.
3485 (class fpos): Tweak consistently.
3486 * testsuite/27_io/fpos/14320-1.cc: New.
3487 * testsuite/27_io/fpos/14320-2.cc: New.
3488 * testsuite/27_io/fpos/14320-3.cc: New.
3489 * testsuite/27_io/fpos/14320-4.cc: New.
3490 * testsuite/27_io/fpos/14320-5.cc: New.
3491 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
3492
3493 2004-03-02 Paolo Carlini <pcarlini@suse.de>
3494
3495 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3496 Reorganize a bit the main parsing loop, thus early detecting
3497 an empty value component.
3498 * testsuite/22_locale/money_get/get/char/16.cc: New.
3499 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
3500
3501 2004-03-02 Benjamin Kosnik <bkoz@redhat.com>
3502
3503 Support automake 1.8.2
3504 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
3505 * po/Makefile.am (EXTRA_DIST): New.
3506 * po/Makefile.in: Regenerate.
3507 * Makefile.in: Same.
3508 * include/Makefile.in: Same.
3509 * libmath/Makefile.in: Same.
3510 * libsupc++/Makefile.in: Same.
3511 * src/Makefile.in: Same.
3512 * testsuite/Makefile.in: Same.
3513
3514 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
3515 __GXX_WEAK__ instead of SUPPORTS_WEAK.
3516 (${host_builddir}/gthr-default.h): Same.
3517 (${host_builddir}/gthr.h): Same.
3518 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
3519 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
3520 -fno-weak.
3521 * aclocal.m4: Regenerate.
3522 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
3523 * config.h.in: Regenerate.
3524 * configure: Same.
3525
3526 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
3527
3528 Support autoconf 2.59
3529 * acinclude.m4: Quote correctly.
3530 * aclocal.m4: Regenerate.
3531 * linkage.m4: Same.
3532
3533 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
3534
3535 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
3536
3537 * docs/html/18_support/howto.html: Add bit about writing to
3538 stderr, mostly by Zack.
3539
3540 2004-03-01 Paolo Carlini <pcarlini@suse.de>
3541
3542 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
3543 money_get<>::do_get(string_type&)): ... and two more.
3544
3545 2004-03-01 Paolo Carlini <pcarlini@suse.de>
3546
3547 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3548 Fix thinkos in the switch from string_type& to string& as last
3549 argument.
3550
3551 2004-03-01 Paolo Carlini <pcarlini@suse.de>
3552
3553 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
3554 Also when parsing exponent sign, first look for thousands_sep
3555 and decimal_point; tweak a bit.
3556 * testsuite/22_locale/num_get/get/char/15.cc: New.
3557 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
3558
3559 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
3560 num_get<>::_M_extract_int): Reorder some conditionals.
3561
3562 2004-03-01 Paolo Carlini <pcarlini@suse.de>
3563
3564 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3565 Consistently with numpunct, enforce the requirements in
3566 22.2.6.3, p3 for the thousands separators; tweak a bit.
3567 * testsuite/22_locale/money_get/get/char/15.cc: New.
3568 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
3569
3570 2004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
3571
3572 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
3573 testsuite_files from correct multilib blddir when running
3574 testsuite.
3575
3576 2004-02-29 Phil Edwards <phil@codesourcery.com>
3577
3578 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
3579 the summary file to the logfile.
3580 * testsuite/Makefile.in: Regenerate.
3581
3582 2004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3583
3584 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
3585 volatile.
3586 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
3587 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
3588
3589 2004-02-28 Paolo Carlini <pcarlini@suse.de>
3590
3591 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
3592 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
3593 no 'decimal-point' in the middle: in this case too we must fix
3594 up __found_grouping; slightly tweak.
3595 * testsuite/22_locale/num_get/get/char/14.cc: New.
3596 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
3597
3598 2004-02-27 Eric Christopher <echristo@redhat.com>
3599 Phil Edwards <phil@codesourcery.com>
3600
3601 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
3602 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
3603 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
3604 testsuite/22_locale/collate/hash/wchar_t/2.cc,
3605 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
3606 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
3607 testsuite/22_locale/collate/transform/wchar_t/2.cc,
3608 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
3609 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
3610 Use dg-require-iconv.
3611 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
3612
3613 2004-02-27 Phil Edwards <phil@codesourcery.com>
3614 Eric Christopher <echristo@redhat.com>
3615
3616 * testsuite/config/default.exp: Update with comments.
3617 (${tool}_target_compile): New wrapper routine.
3618 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
3619 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
3620 fixes.
3621 (load_gcc_lib, v3track): New routines.
3622 (v3-init): Rename to libstdc++_init.
3623 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
3624 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
3625
3626 2004-02-27 Benjamin Kosnik <bkoz@redhat.com>
3627
3628 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
3629
3630 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
3631
3632 * config/os/irix/irix5.2/atomicity.h: Merge..
3633 * config/os/irix/irix6.5/atomicity.h: Merge..
3634 * config/os/irix/atomicity.h: ...into this.
3635 * config/os/irix/atomic_word.h: New.
3636 * configure.host: Set atomic_word_dir for irix.
3637
3638 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
3639 * i386/atomicity.h: Same.
3640 * m68k/atomicity.h: Same.
3641 * sparc/atomicity.h: Same.
3642
3643 2004-02-27 David Edelsohn <edelsohn@gnu.org>
3644
3645 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
3646 static, and inline keywords.
3647
3648 2004-02-27 Paolo Carlini <pcarlini@suse.de>
3649
3650 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
3651 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
3652 call reserve on the __tmp_gruping string.
3653 (num_get<>::_M_extract_float): Don't append unnecessarily a
3654 char() to the returned string.
3655 * include/bits/locale_facets.tcc: Trivial reformattings.
3656
3657 2004-02-27 Paolo Carlini <pcarlini@suse.de>
3658
3659 * include/bits/locale_facets.h (money_get<>::_M_extract):
3660 Change signature: now takes a plain string&.
3661 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3662 Update consistently the definition; use the moneypunct cache
3663 to parse the value; use swap to change __units.
3664 (money_get<>::do_get(long double&)): Update call of _M_extract,
3665 avoid ctype::narrow, not correct wrt the standard.
3666 (money_get<>::do_get(string_type&)): Likewise, update call
3667 of _M_extract, use ctype::widen.
3668 * src/locale-inst.cc: Tweak instantiations of _M_extract.
3669
3670 2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
3671
3672 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
3673 * testsuite/demangle/abi_examples/02.cc: Likewise.
3674 * testsuite/demangle/regression/cw-11.cc: Likewise.
3675 * testsuite/demangle/regression/cw-16.cc: Change two expected
3676 results to match libiberty demangler output.
3677
3678 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
3679
3680 PR libstdc++/10246
3681 * libsupc++/Makefile.am: Use libiberty demangler.
3682 (c_sources): Add cp-demangle.c.
3683 * libsupc++/Makefile.in: Regenerate.
3684 * src/Makefile.am (sources): Remove demangle.cc.
3685 * src/Makefile.in: Regenerate.
3686 * include/Makefile.am (bits_headers): Move demangle.h.
3687 (ext_headers): ...here.
3688 * include/Makefile.in: Regenerate.
3689 * include/bits/demangle.h: Move...
3690 * include/ext/demangle.h: ...here.
3691 * src/demangle.cc: Remove.
3692
3693 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
3694
3695 * include/bits/demangle.h: Add type template parameter to all
3696 templates with just an Allocator template parameter.
3697
3698 2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
3699
3700 * include/bits/atomicity.h: New, forward declarations for __atomic_add
3701 and __exchange_and_add.
3702 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
3703 * config/cpu/cris/atomic_word.h: Same.
3704 * config/cpu/sparc/atomic_word.h: Same.
3705 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
3706 Qualifiy with __gnu_cxx.
3707 (_Callback_list::_M_add_reference): Same.
3708 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
3709 (locale::facet::_M_remove_reference): Same.
3710 (locale::_Impl::_M_add_reference): Add.
3711 (locale::_Impl::_M_remove_reference): Same.
3712 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
3713 (basic_string::_Rep::_M_dispose): Same.
3714 * src/ios.cc (ios_base::xalloc): Same.
3715 * src/ios_init.cc (ios_base::Init::Init): Same.
3716 (ios_base::Init::~Init): Same.
3717 * src/locale.cc (locale::id::_M_id): Same.
3718 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
3719 static, and inline keywords.
3720 * config/cpu/alpha/atomicity.h: Same.
3721 * config/cpu/cris/atomicity.h: Same.
3722 * config/cpu/generic/atomicity.h: Same.
3723 * config/cpu/hppa/atomicity.h: Same.
3724 * config/cpu/i386/atomicity.h: Same.
3725 * config/cpu/ia64/atomicity.h: Same.
3726 * config/cpu/m68k/atomicity.h: Same.
3727 * config/cpu/mips/atomicity.h: Same.
3728 * config/cpu/powerpc/atomicity.h: Same.
3729 * config/cpu/s390/atomicity.h: Same.
3730 * config/cpu/sparc/atomicity.h: Same.
3731
3732 * src/Makefile.am (host_sources): Add atomicity.cc.
3733 (atomicity.cc): New rule.
3734 * src/Makefile.in: Regenerate.
3735 * include/Makefile.am (host_headers): Remove host atomicity.h.
3736 (host_headers): Add atomic_word.h.
3737 (bits_headers): Add bits atomicity.h.
3738 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
3739 * include/Makefile.in: Regenerate.
3740 * configure.host (atomic_word_dir): Add.
3741 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
3742 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
3743 * configure: Regenerate.
3744 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
3745
3746 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
3747 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
3748
3749 2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
3750
3751 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
3752 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
3753 Fix markup, more <link> tags.
3754
3755 2004-02-25 Carlo Wood <carlo@alinoe.com>
3756
3757 * bits/demangle.h
3758 namespace __gnu_cxx::demangler
3759 (session<Allocator>::qualifier_list_Allocator): Add
3760 (session<Allocator>::M_qualifier_list_alloc): Add
3761 (session<Allocator>::decode_type_with_postfix):
3762 Use M_qualifier_list_alloc instead of calling operator new/delete.
3763
3764 2004-02-24 Paolo Carlini <pcarlini@suse.de>
3765
3766 PR libstdc++/14252
3767 * include/bits/postypes.h (class streamoff): Add operator++(),
3768 operator++(int), operator--() and operator--(int).
3769 * testsuite/27_io/fpos/14252.cc: New.
3770
3771 2004-02-24 Richard Sandiford <rsandifo@redhat.com>
3772
3773 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
3774 error in handling of hex constants.
3775
3776 2004-02-24 Paolo Carlini <pcarlini@suse.de>
3777
3778 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
3779 Prefer basic_string::append to operator+= and a temporary.
3780
3781 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
3782
3783 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
3784 Only use fputs, not write.
3785
3786 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
3787
3788 * include/ext/malloc_allocator.h: Add operators ==, !=.
3789 * include/ext/new_allocator.h: Add operators ==, !=.
3790 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
3791 (__mt_alloc::_S_get_options): New.
3792 (__mt_alloc::_S_set_options): New.
3793 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
3794 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
3795 Move functions out of line, simplify, format.
3796 * src/allocator.cc: Simplify explicit instantiations.
3797 * include/bits/allocator.h: Tweak.
3798
3799 2004-02-22 Paolo Carlini <pcarlini@suse.de>
3800
3801 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
3802 Restructure formatting of value component, first dealing with
3803 the non-decimal digits; use reserve.
3804
3805 2004-02-22 Paolo Carlini <pcarlini@suse.de>
3806
3807 * include/bits/locale_facets.h (class money_get): Inherit
3808 from money_base too; tweak declaration of _M_extract, now
3809 parameterized on _Intl too.
3810 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3811 Update definition to use the cache; call reserve on __res to
3812 avoid multiple reallocations; fix parsing of sign component
3813 according to 22.2.6.1.2, p3.
3814 (money_get<>::do_get(long double&),
3815 money_get<>::do_get(string_type&)): Update calls of _M_extract.
3816 * src/locale-inst.cc: Add instantiations of
3817 money_get::_M_extract<false> and money_get::_M_extract<true>.
3818 * testsuite/22_locale/money_get/get/char/14.cc: New.
3819 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
3820
3821 2004-02-21 Mark Mitchell <mark@codesourcery.com>
3822
3823 * libsupc++/vterminate.cc
3824 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
3825 calls to terminate.
3826 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
3827
3828 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
3829 not set RLIMIT_AS on HP-UX.
3830
3831 2004-02-21 Mark Mitchell <mark@codesourcery.com>
3832
3833 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
3834 not set RLIMIT_AS on HP-UX.
3835
3836 2004-02-21 Paolo Carlini <pcarlini@suse.de>
3837
3838 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
3839 _S_zero, _S_end } enum, _S_atoms.
3840 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
3841 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
3842 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
3843 (__moneypunct_cache<>::~__moneypunct_cache): Update.
3844 (__moneypunct_cache<>::_M_cache): Fill the cache.
3845 (class moneypunct): Tweak __cache_type typedef.
3846 (class money_put): Inherit from money_base too; tweak declaration
3847 of _M_insert, now parameterized on _Intl.
3848 * include/bits/locale_facets.tcc
3849 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
3850 (money_put<>::_M_insert): Update definition to use the cache;
3851 call reserve on __res to avoid multiple reallocations.
3852 (money_put<>::do_put(long double),
3853 money_put<>::do_put(const string_type&): Update calls of _M_insert.
3854 * config/locale/generic/monetary_members.cc
3855 (moneypunct<char, true>::_M_initialize_moneypunct,
3856 moneypunct<char, false>::_M_initialize_moneypunct,
3857 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
3858 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
3859 * config/locale/gnu/monetary_members.cc: Likewise.
3860 * config/locale/gnu/monetary_members.cc
3861 (moneypunct<wchar_t, true>::~moneypunct(),
3862 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
3863 * src/globals_locale.cc: Tweak fake_money_cache_c.
3864 * src/locale-inst.cc: Add instantiations for
3865 money_put::_M_insert<false> and money_put::_M_insert<true> and
3866 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
3867 * src/locale_facets.cc: Define money_base::_S_atoms.
3868 * src/locale_init.cc: Update placement new of
3869 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
3870 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
3871
3872 * config/locale/generic/numeric_members.cc: Clean up.
3873 * config/locale/gnu/numeric_members.cc: Likewise.
3874 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
3875 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
3876 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
3877 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
3878 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
3879 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
3880
3881 2004-02-20 Mark Mitchell <mark@codesourcery.com>
3882
3883 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
3884 FIFO for writing with ios_base::in|ios_base::out.
3885 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
3886 * testsuite/27_io/objects/char/7.cc: Likewise.
3887 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
3888 with "r+".
3889
3890 2004-02-19 David Edelsohn <edelsohn@gnu.org>
3891
3892 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
3893 from iso-8859-1 to ISO8859-1.
3894 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
3895 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
3896 * 22_locale/collate/hash/wchar_t/2.cc: Same.
3897 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
3898 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
3899 * 22_locale/collate/transform/wchar_t/2.cc: Same.
3900 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
3901 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
3902
3903 2004-02-18 Paolo Carlini <pcarlini@suse.de>
3904
3905 * include/bits/locale_facets.h (money_get<>::_M_extract):
3906 New, helper for do_get.
3907 (money_put<>::_M_insert): Likewise, for do_put.
3908 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
3909 money_put<>::_M_insert): Define.
3910 (money_get<>::do_get(long double&), money_get<>::do_get(
3911 string_type&), money_put::do_put(long double),
3912 money_put::do_put(const string_type&)): Use the helpers.
3913
3914 2004-02-18 Paolo Carlini <pcarlini@suse.de>
3915
3916 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
3917 Rewrite, avoiding recursion.
3918 (__gnu_internal::xwrite): Minor tweaks.
3919
3920 2004-02-17 Stefan Olsson <stefan@xapa.se>
3921
3922 * include/ext/mt_allocator.h: Removed the last
3923 pointer. Deallocated blocks are now added to the front of
3924 freelists as proposed by Felix Yen. This gives roughly 10%
3925 performance boost and saves some memory.
3926 * docs/html/ext/mt_allocator.html: Change due to that deallocated
3927 blocks now are added to the front of freelists. The reason to this
3928 approach is also explained.
3929
3930 2004-02-17 Paolo Carlini <pcarlini@suse.de>
3931
3932 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
3933 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
3934 grouping fidelity conditional.
3935
3936 2004-02-16 Paolo Carlini <pcarlini@suse.de>
3937
3938 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
3939 Qualify exception with std::.
3940 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
3941 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
3942 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
3943 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
3944 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
3945
3946 2004-02-16 Paolo Carlini <pcarlini@suse.de>
3947
3948 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
3949 for now that the catch block is not reached.
3950 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3951
3952 2004-02-16 Paolo Carlini <pcarlini@suse.de>
3953
3954 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
3955 Fix parsing of the remaining sign characters.
3956 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
3957 the input is scanned 'til eof.
3958 * 22_locale/money_get/get/char/4.cc: Likewise.
3959 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
3960 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
3961 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
3962 not do_pos_format: the former is the only one that matters during
3963 input.
3964 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
3965
3966 * 22_locale/money_get/get/char/6.cc: Minor tweak.
3967 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
3968
3969 2004-02-15 David Asher <david.asher@cavium.com>
3970
3971 PR libstdc++/11352
3972 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
3973 access __olds beyond __oldlen.
3974
3975 2004-02-14 Paolo Carlini <pcarlini@suse.de>
3976
3977 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
3978 sure the exception is actually thrown.
3979 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
3980 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
3981 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
3982
3983 2004-02-14 Paolo Carlini <pcarlini@suse.de>
3984
3985 PR libstdc++/13858
3986 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
3987 In case of conversion errors, throw ios_failure; simplify.
3988 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
3989 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
3990 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
3991 previously we didn't throw in case of conversion errors, instead
3992 just returned eof().
3993 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
3994 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
3995 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
3996
3997 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
3998 Trivial simplification of a conditional.
3999
4000 2004-02-12 Paolo Carlini <pcarlini@suse.de>
4001
4002 PR libstdc++/13731 (final part: writev)
4003 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
4004 New, a wrapper around writev() handling partial writes.
4005 (__basic_file<char>::xwrite): Move to __gnu_internal and make
4006 static.
4007 (__basic_file<char>::xsputn): Update call.
4008 (__basic_file<char>::xsputn_2): Likewise.
4009 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
4010 Don't declare, now static.
4011
4012 2004-02-11 Stefan Olsson <stefan@xapa.se>
4013
4014 * docs/html/ext/mt_allocator.html: New.
4015
4016 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
4017
4018 * docs/html/20_util/allocator.html: New file, consolidate
4019 allocator information here. Revamp.
4020 * docs/html/documentation.html: Change links.
4021 * docs/html/20_util/howto.html: Same.
4022 * docs/html/ext/howto.html: Same.
4023
4024 2004-02-11 Paolo Carlini <pcarlini@suse.de>
4025
4026 PR libstdc++/13731 (first part: write)
4027 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
4028 New, declare.
4029 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
4030 Define it: a wrapper around write() handling partial write.
4031 (__basic_file<char>::xsputn): Use it.
4032 (__basic_file<char>::xsputn_2): Likewise.
4033
4034 2004-02-11 Paolo Carlini <pcarlini@suse.de>
4035 Petur Runolfsson <peturr02@ru.is>
4036
4037 PR libstdc++/14078
4038 * include/std/std_istream.h (operator>>(__istream_type& (*)
4039 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
4040 operator>>(ios_base& (*)(ios_base&))): Declare inline.
4041 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
4042 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
4043 operator<<(ios_base& (*) (ios_base&))): Likewise.
4044 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
4045
4046 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
4047
4048 PR libstdc++/14098
4049 * config/linker-map.gnu: Add typeinfo and typeinfo name for
4050 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
4051
4052 PR libstdc++/14097
4053 * config/linker-map.gnu: Add typeinfo and typeinfo name for
4054 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
4055
4056 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
4057
4058 * include/ext/pool_allocator.h: Include c++config.h.
4059
4060 2004-02-09 Stefan Olsson <stefan@xapa.se>
4061
4062 * include/ext/mt_allocator.h: thread_id is unused in non threaded
4063 applications and now has a ifdef to remove it completely on
4064 compilers without thread support. Include stdlib.h due to a
4065 compiler warning on getenv().
4066
4067 2004-02-09 Paul Brook <paul@codesourcery.com>
4068
4069 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
4070
4071 2004-02-09 Paolo Carlini <pcarlini@suse.de>
4072
4073 PR libstdc++/14071
4074 * src/locale_init.cc (locale::global(const locale&)): Use
4075 locale::name() in order to decide whether calling setlocale.
4076 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
4077
4078 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
4079 Avoid computing &= unnecessarily.
4080
4081 2004-02-09 James E Wilson <wilson@specifixinc.com>
4082
4083 PR libstdc++/5625
4084 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
4085 __builtin_extend_pointer.
4086
4087 2004-02-09 Paolo Carlini <pcarlini@suse.de>
4088
4089 PR libstdc++/14072
4090 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
4091 Don't leave dangling pointers.
4092 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
4093 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
4094 facet is needed in the final test.
4095
4096 2004-02-09 Bernardo Innocenti <bernie@develer.com>
4097
4098 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
4099 * configure: Regenerate.
4100
4101 2004-02-08 Richard Henderson <rth@redhat.com>
4102
4103 PR libstdc++/14026
4104 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
4105 uncaughtExceptions during nested catch rethrow.
4106 * testsuite/18_support/14026.cc: New.
4107
4108 2004-02-08 Paolo Carlini <pcarlini@suse.de>
4109
4110 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
4111 When working in place remember to set the state to sharable
4112 (otherwise, _M_mutate does it).
4113
4114 2004-02-08 Bernardo Innocenti <bernie@develer.com>
4115
4116 * include/bits/allocator.h, include/bits/basic_ios.h,
4117 include/bits/basic_ios.tcc, include/bits/basic_string.h,
4118 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
4119 include/bits/char_traits.h, include/bits/codecvt.h,
4120 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
4121 include/bits/demangle.h, include/bits/deque.tcc,
4122 include/bits/fstream.tcc, include/bits/functexcept.h,
4123 include/bits/gslice.h, include/bits/gslice_array.h,
4124 include/bits/indirect_array.h, include/bits/ios_base.h,
4125 include/bits/istream.tcc, include/bits/list.tcc,
4126 include/bits/locale_classes.h, include/bits/locale_facets.h,
4127 include/bits/locale_facets.tcc, include/bits/localefwd.h,
4128 include/bits/mask_array.h, include/bits/ostream.tcc,
4129 include/bits/postypes.h, include/bits/slice_array.h,
4130 include/bits/sstream.tcc, include/bits/stl_algo.h,
4131 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
4132 include/bits/stl_construct.h, include/bits/stl_deque.h,
4133 include/bits/stl_function.h, include/bits/stl_heap.h,
4134 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
4135 include/bits/stl_list.h, include/bits/stl_map.h,
4136 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
4137 include/bits/stl_numeric.h, include/bits/stl_pair.h,
4138 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
4139 include/bits/stl_relops.h, include/bits/stl_set.h,
4140 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
4141 include/bits/stl_threads.h, include/bits/stl_tree.h,
4142 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
4143 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
4144 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
4145 include/bits/type_traits.h, include/bits/valarray_after.h,
4146 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
4147 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
4148 trailing whitespace.
4149
4150 2004-02-06 Paolo Carlini <pcarlini@suse.de>
4151
4152 * include/bits/basic_string.h: Fix comment.
4153
4154 2004-02-06 Paolo Carlini <pcarlini@suse.de>
4155
4156 * include/bits/stl_construct.h: Wrap overlong lines, reformat
4157 according to the coding standards.
4158 * include/bits/stl_pair.h: Likewise.
4159 * include/bits/stl_raw_storage_iter.h: Likewise.
4160 * include/bits/stl_stack.h: Likewise.
4161 * include/bits/stl_uninitialized.h: Likewise.
4162 * include/bits/stream_iterator.h: Likewise.
4163 * include/bits/streambuf_iterator.h: Likewise.
4164 * include/bits/type_traits.h: Likewise.
4165
4166 2004-02-06 Paolo Carlini <pcarlini@suse.de>
4167
4168 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
4169 Adjust timings.
4170
4171 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
4172
4173 * scripts/check_performance: Support PCH.
4174
4175 * scripts/check_performance (CXX): Add -DNOTHREAD.
4176 * testsuite/performance/20_util/allocator/insert.cc: Integrate
4177 threaded tests from insert_insert.cc. Tweak iterations,
4178 remove special cases.
4179 * testsuite/performance/20_util/allocator/insert_insert.cc:
4180 Make all tests single-threaded. Tweak iterations.
4181 * testsuite/performance/20_util/allocator/map_thread.cc:
4182 Tweak iterations.
4183 * testsuite/performance/20_util/allocator/producer_consumer.cc:
4184 Likewise.
4185
4186 2004-02-05 Geoffrey Keating <geoffk@apple.com>
4187
4188 PR 12179
4189 * .cvsignore: New.
4190 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
4191 'gcc-lib'. Add comment about poorly-named variables.
4192 * aclocal.m4: Regenerate.
4193 * configure: Regenerate.
4194
4195 2004-02-05 Paolo Carlini <pcarlini@suse.de>
4196
4197 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
4198 Thousands-sep are always optional; thousands-sep are not allowed
4199 after the decimal_point.
4200 * testsuite/22_locale/money_get/get/char/12.cc: New.
4201 * testsuite/22_locale/money_get/get/char/13.cc: New.
4202 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
4203 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
4204
4205 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
4206 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
4207 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
4208 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
4209 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
4210 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
4211 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
4212 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
4213
4214 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
4215 the standard.
4216 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
4217
4218 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
4219
4220 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
4221 Define.
4222 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
4223 it to decide whether FIONREAD should take an off_t or int argument.
4224
4225 2004-02-05 Paolo Carlini <pcarlini@suse.de>
4226
4227 * include/bits/stl_function.h: Minor formatting changes.
4228
4229 2004-02-04 Zack Weinberg <zack@codesourcery.com>
4230
4231 Revert previous change to config/abi/*/baseline_symbols.txt.
4232
4233 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
4234 Zack Weinberg <zack@codesourcery.com>
4235
4236 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
4237 New function.
4238 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
4239 (__basic_file<char>::_M_open_mode): Delete.
4240 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
4241
4242 * testsuite/27_io/basic_filebuf/close/char/9964.cc
4243 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
4244 Correct flags to filebuf::open calls.
4245
4246 * config/abi/alpha-freebsd5/baseline_symbols.txt
4247 * config/abi/alpha-linux-gnu/baseline_symbols.txt
4248 * config/abi/hppa-linux-gnu/baseline_symbols.txt
4249 * config/abi/i386-freebsd4/baseline_symbols.txt
4250 * config/abi/i386-freebsd5/baseline_symbols.txt
4251 * config/abi/i486-linux-gnu/baseline_symbols.txt
4252 * config/abi/ia64-linux-gnu/baseline_symbols.txt
4253 * config/abi/mips-linux-gnu/baseline_symbols.txt
4254 * config/abi/sparc-freebsd5/baseline_symbols.txt
4255 * config/abi/sparc-linux-gnu/baseline_symbols.txt
4256 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
4257 Remove entry for __basic_file<char>::_M_open_mode.
4258
4259 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
4260
4261 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
4262
4263 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
4264
4265 * testsuite/performance/20_util/producer_consumer.cc: New.
4266 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
4267
4268 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
4269
4270 * testsuite/performance/20_util/allocator.cc: Move to..
4271 * testsuite/performance/20_util/allocator/insert.cc: ...here.
4272 * testsuite/performance/20_util/allocator_thread.cc: Move to...
4273 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
4274 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
4275 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
4276
4277 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
4278
4279 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
4280 * docs/html/faq/index.txt: Regenerate.
4281
4282 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
4283
4284 * include/ext/debug_allocator.h: _M_extra now stands for the
4285 number of extra objects instead of the number of extra bytes.
4286 (debug_allocator::allocate): Adjust.
4287 (debug_allocator::deallocate): Adjust.
4288
4289 * include/ext/pool_allocator.h: Fix typo.
4290
4291 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
4292 Benjamin Kosnik <bkoz@redhat.com>
4293
4294 * testsuite/performance/20_util/allocator.cc: Add map,
4295 deque, set tests.
4296 * testsuite/performance/20_util/allocator_thread.cc: Same.
4297
4298 2004-02-03 Paolo Carlini <pcarlini@suse.de>
4299
4300 * include/bits/basic_string.h (insert(iterator)): Remove,
4301 non-standard and already scheduled for removal.
4302
4303 2004-02-03 Paolo Carlini <pcarlini@suse.de>
4304
4305 * include/bits/stl_iterator_base_funcs.h: Minor formatting
4306 and indentation tweaks.
4307 * include/bits/stl_iterator_base_types.h: Likewise.
4308 * include/bits/stl_list.h: Likewise.
4309 * include/bits/stl_map.h: Likewise.
4310 * include/bits/stl_tempbuf.h: Likewise.
4311
4312 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
4313
4314 * include/bits/gslice.h, include/bits/gslice_array.h,
4315 include/bits/indirect_array.h, include/bits/mask_array.h,
4316 include/bits/slice_array.h, include/bits/stl_numeric.h,
4317 include/std/std_valarray.h: Update copyright years.
4318
4319 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
4320
4321 * include/bits/gslice.h (gslice): Document.
4322 * include/bits/gslice_array.h (gslice_array): Document.
4323 * include/bits/indirect_array (indirect_array): Document.
4324 * include/bits/mask_array (mask_array): Document.
4325 * include/bits/slice_array.h (slice,slice_array): Document.
4326 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
4327 adjacent_difference): Document
4328 * include/std/std_valarray.h (valarray): Document.
4329
4330 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
4331
4332 * docs/html/19_diagnostics/howto.html: Move verbose terminate
4333 documentation...
4334 * docs/html/18_support/howto.html: Here.
4335 * docs/html/documentation.html: Add reference here.
4336
4337 2004-02-02 Paolo Carlini <pcarlini@suse.de>
4338
4339 * config/locale/gnu/c++locale_internal.h: Remove prototypes
4340 of no longer used GLIBC thread locale functions.
4341
4342 2004-02-02 Eric Christopher <echristo@redhat.com>
4343 Zack Weinberg <zack@codesourcery.com>
4344
4345 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
4346 -finput-charset.
4347 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
4348 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
4349 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
4350 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
4351 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
4352 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
4353 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
4354 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
4355 Ditto.
4356
4357 2004-02-02 Paolo Carlini <pcarlini@suse.de>
4358
4359 * include/bits/stl_function.h: Additional minor tweaks.
4360 * include/bits/stl_multiset.h: Likewise.
4361
4362 * include/bits/stl_queue.h: Minor tweaks.
4363
4364 2004-02-02 Paolo Carlini <pcarlini@suse.de>
4365
4366 PR libstdc++/13976 (continued)
4367 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
4368 Make the second parameter unnamed, to void unused parameter
4369 warnings.
4370 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
4371
4372 2004-02-02 Paolo Carlini <pcarlini@suse.de>
4373
4374 PR libstdc++/13976
4375 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
4376 Make the second parameter unnamed, to void unused parameter
4377 warnings.
4378 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
4379 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
4380
4381 2004-02-01 Paolo Carlini <pcarlini@suse.de>
4382
4383 * include/bits/stl_algo.h: Additional minor tweaks.
4384 * include/bits/stl_map.h: Likewise.
4385 * include/bits/stl_multimap.h: Likewise.
4386 * include/bits/stl_multiset.h: Likewise.
4387 * include/bits/stl_set.h: Likewise.
4388 * include/bits/stl_tree.h: Likewise.
4389
4390 2004-02-01 Paolo Carlini <pcarlini@suse.de>
4391
4392 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
4393 Remove, unused.
4394
4395 2004-02-01 Paolo Carlini <pcarlini@suse.de>
4396
4397 * include/bits/stl_function.h: Additional minor tweaks.
4398
4399 2004-02-01 Paolo Carlini <pcarlini@suse.de>
4400
4401 * include/bits/deque.tcc: Wrap overlong lines, constify
4402 a few variables, reformat according to the coding standards.
4403 * include/bits/list.tcc: Likewise.
4404 * include/bits/stl_deque.h: Likewise.
4405 * include/bits/stl_function.h: Likewise.
4406 * include/bits/stl_iterator.h: Likewise.
4407 * include/bits/stl_iterator_base_funcs.h: Likewise.
4408 * include/bits/stl_iterator_base_types.h: Likewise.
4409 * include/bits/stl_list.h: Likewise.
4410 * include/bits/stl_map.h: Likewise.
4411 * include/bits/stl_multimap.h: Likewise.
4412 * include/bits/stl_multiset.h: Likewise.
4413 * include/bits/stl_relops.h: Likewise.
4414 * include/bits/stl_set.h: Likewise.
4415
4416 2004-02-01 Paolo Carlini <pcarlini@suse.de>
4417
4418 * include/bits/stl_bvector.h: Wrap overlong lines, constify
4419 a few variables, reformat according to the coding standards.
4420 * include/bits/stl_tree.h: Likewise.
4421
4422 2004-01-31 Paolo Carlini <pcarlini@suse.de>
4423
4424 * include/bits/stl_algo.h: Minor additional reformat, add
4425 copyright year.
4426 * include/bits/stl_algobase.h: Add copyright year.
4427
4428 2004-01-31 Paolo Carlini <pcarlini@suse.de>
4429
4430 * include/bits/stl_algo.h: Wrap overlong lines, constify
4431 a few variables, reformat according to the coding standards.
4432 * include/bits/stl_algobase.h: Likewise.
4433 * include/bits/stl_heap.h: Likewise.
4434
4435 2004-01-31 Paolo Carlini <pcarlini@suse.de>
4436
4437 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
4438
4439 * include/bits/basic_string.h: Fix two comments.
4440
4441 2004-01-31 Per Bothner <per@bothner.com>
4442
4443 * include/ext/mt_allocator.h
4444 (__mt_alloc::_S_thread_freelist_mutex): Guard with
4445 __GTHREAD_MUTEX_INIT.
4446
4447 2004-01-31 Paolo Carlini <pcarlini@suse.de>
4448
4449 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
4450
4451 2004-01-30 Paolo Carlini <pcarlini@suse.de>
4452
4453 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
4454 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
4455 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
4456
4457 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
4458
4459 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
4460 Don't use clear, but instead assign. Use insert.
4461
4462 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
4463
4464 * src/demangle.cc: Add instantiations.
4465 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
4466 * src/Makefile.in: Regenerate.
4467
4468 2004-01-30 David Edelsohn <edelsohn@gnu.org>
4469
4470 * src/allocator.cc: Protect _S_get_thread_id() and
4471 _S_thread_key_destr() with #ifdef __GTHREADS.
4472
4473 2004-01-30 Paolo Carlini <pcarlini@suse.de>
4474
4475 Reshuffle performance testsuite.
4476 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
4477 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
4478 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
4479 fstream_seek_write.cc, ifstream_extract_float.cc,
4480 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
4481 list_create_fill_sort.cc, map_create_fill.cc,
4482 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
4483 ofstream_insert_float.cc, ofstream_insert_int.cc,
4484 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
4485 wchar_t_out.cc: Split into...
4486 * testsuite/performance/20_util/allocator.cc: New.
4487 * testsuite/performance/20_util/allocator_map_thread.cc: New.
4488 * testsuite/performance/20_util/allocator_thread.cc: New.
4489 * testsuite/performance/21_strings/string_append: New.
4490 * testsuite/performance/22_locale/is_wchar_t.cc: New.
4491 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
4492 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
4493 * testsuite/performance/22_locale/wchar_t_in.cc: New.
4494 * testsuite/performance/22_locale/wchar_t_length.cc: New.
4495 * testsuite/performance/22_locale/wchar_t_out.cc: New.
4496 * testsuite/performance/23_containers/container_benchmark.cc: New.
4497 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
4498 * testsuite/performance/23_containers/map_create_fill.cc: New.
4499 * testsuite/performance/26_numerics/complex_norm.cc: New.
4500 * testsuite/performance/27_io/cout_insert_int.cc: New.
4501 * testsuite/performance/27_io/filebuf_copy.cc: New.
4502 * testsuite/performance/27_io/filebuf_sputc.cc: New.
4503 * testsuite/performance/27_io/fstream_seek_write.cc: New.
4504 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
4505 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
4506 * testsuite/performance/27_io/ifstream_getline.cc: New.
4507 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
4508 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
4509
4510 2004-01-30 Paolo Carlini <pcarlini@suse.de>
4511
4512 * include/bits/basic_string.tcc (_Rep::_S_create):
4513 Never allocate a string bigger than max_size(); always keep
4514 __capacity and __size in sync to avoid memory leaks at
4515 deallocation time.
4516
4517 2004-01-30 Paolo Carlini <pcarlini@suse.de>
4518
4519 * include/bits/basic_string.tcc (_S_construct(_InIterator,
4520 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
4521 the double loop, streamline.
4522
4523 * include/bits/basic_string.tcc: Very minor tweaks.
4524
4525 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
4526
4527 * scripts/check_performance: Only compile with $THREAD_FLAG
4528 when test is marked to require it. Allow multiple
4529 compilations/executions of marked tests.
4530 * testsuite/testsuite_performance.h (report_performance):
4531 Report dynamic thread support status.
4532 (report_header): Likewise.
4533 * testsuite/performance/allocator.cc: Stabilize iteration
4534 count. Support more allocators. Mark each allocator test to
4535 run and report independently.
4536 * testsuite/performance/allocator_map_thread.cc: Likewise.
4537 * testsuite/performance/allocator_thread.cc: Likewise.
4538
4539 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
4540
4541 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
4542 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
4543 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
4544 std::get_temporary_buffer() instead of duplicating its code.
4545 Update to C++STYLE conventions.
4546 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
4547 new() instead of std::malloc().
4548 (return_temporary_buffer): Use ::operator delete() instead of
4549 std::free().
4550
4551 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
4552
4553 * include/bits/allocator.h: Temporary switch to new_allocator as
4554 the default to unjam bootstraps.
4555
4556 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
4557
4558 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
4559 * include/Makefile.in: Regenerate.
4560 * include/bits/allocator_traits.h: Remove.
4561 * include/bits/allocator.h: Remove allocator_traits.h include, and
4562 relevant comments.
4563 (allocator): Empty base class, inherit from the underlying allocator.
4564 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
4565 * src/allocator.cc: ...here. New. For the underlying allocators.
4566 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
4567 * config/linker-map.gnu: Remove __pool_alloc bits.
4568 * src/Makefile.am (sources): Add allocator.cc.
4569 * src/Makefile.in: Regenerate.
4570 * testsuite/20_util/allocator/1.cc: Split second test into...
4571 * testsuite/20_util/allocator/8230.cc: ...this.
4572 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
4573 typedef to use std::allocatore. Format.
4574 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
4575 _Alloc_traits.
4576 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
4577 __throw_bad_alloc calls. Don't include <memory>.
4578 * include/ext/malloc_allocator.h: Remove <memory> include.
4579 * include/ext/new_allocator.h (new_allocator): Same.
4580 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
4581 declaration. Switch __alloc to _Alloc.
4582 * include/ext/hashtable.h: Remove __alloc.
4583 * include/backward/alloc.h: Only inject allocator, not
4584 implementation details.
4585
4586 * include/ext/mt_allocator.h: Replace free with delete.
4587
4588 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
4589
4590 * src/globals_io.cc: Change to __gnu_internal namespace.
4591 * src/globals_locale.cc: Same.
4592 * src/locale_init.cc: Same.
4593 * src/ios_init.cc: Same.
4594
4595 2004-01-28 Stefan Olsson <stefan@snon.net>
4596
4597 * include/ext/mt_allocator.h: Replaced all malloc() calls with
4598 operator new(). Added support for the env variable
4599 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
4600 one in allocate() as well). Fix typos.
4601
4602 2004-01-28 Paolo Carlini <pcarlini@suse.de>
4603
4604 * include/bits/basic_string.h (_S_create(size_t,
4605 const _Alloc&): Change signature to take two size_type
4606 arguments.
4607 * include/bits/basic_string.tcc (_S_construct(_InIterator,
4608 _InIterator, const _Alloc&, input_iterator_tag)): Update
4609 call, tweak a bit.
4610 (_S_construct(_InIterator, _InIterator, const _Alloc&,
4611 forward_iterator_tag)): Likewise.
4612 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
4613 (_M_mutate(size_type, size_type, size_type)): Don't
4614 implement the exponential growth policy, demand it to
4615 _S_create, update call and simplify.
4616 (_M_clone(const _Alloc&, size_type)): Likewise.
4617 (_S_create(size_type, size_type, const _Alloc&)): Implement
4618 the growth policy, simplify otherwise.
4619
4620 * include/bits/basic_string.h (_Rep::operator[]): Tweak
4621 signature to take a size_type, consistently with the other
4622 members.
4623
4624 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
4625
4626 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
4627 delete declarations, add include and test variable.
4628
4629 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
4630
4631 * include/bits/codecvt.h, include/bits/locale_facets.h,
4632 include/bits/postypes.h, include/bits/stl_bvector.h,
4633 include/bits/stl_multiset.h, include/bits/stl_set.h,
4634 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
4635 include/std/std_complex.h: Document.
4636
4637 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
4638
4639 PR libstdc++/11584
4640 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
4641 iword/pword selector.
4642 (ios_base::iword, ios_base::pword): Use it.
4643 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
4644 iword or pword member on alloc failure.
4645 * testsuite/27_io/ios_base/storage/11584.cc: New test.
4646
4647 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
4648 PJ Darcy <darcypj@us.ibm.com>
4649
4650 * configure.host: Add support for *-tpf.
4651 * crossconfig.m4: Likewise.
4652 * configure: Regenerate.
4653 * config/os/tpf: New directory.
4654 * config/os/tpf/os_defines.h: New file.
4655 * config/os/tpf/ctype_base.h: Likewise.
4656 * config/os/tpf/ctype_inline.h: Likewise.
4657 * config/os/tpf/ctype_noninline.h: Likewise.
4658
4659 2004-01-27 Paolo Carlini <pcarlini@suse.de>
4660
4661 PR libstdc++/13884
4662 * include/bits/sstream.tcc: Guard use of extern template.
4663
4664 2004-01-27 Paolo Carlini <pcarlini@suse.de>
4665
4666 * include/bits/basic_string.tcc
4667 (basic_string(const basic_string&, size_type, size_type),
4668 basic_string(const basic_string&, size_type, size_type,
4669 const _Alloc&)): Avoid unnecessarily constructing iterators.
4670
4671 2004-01-26 Paolo Carlini <pcarlini@suse.de>
4672
4673 * config/locale/generic/c_locale.cc: Fix throw messages
4674 to use the __N marker.
4675 * config/locale/gnu/c_locale.cc: Likewise.
4676 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
4677 Likewise.
4678 * docs/html/17_intro/C++STYLE: Likewise.
4679 * include/bits/basic_ios.tcc: Likewise.
4680 * include/bits/fstream.tcc: Likewise.
4681 * include/bits/vector.tcc: Likewise.
4682 * include/ext/ropeimpl.h: Likewise.
4683 * include/std/std_bitset.h: Likewise.
4684 * src/ios.cc: Likewise.
4685 * src/locale.cc: Likewise.
4686 * src/localename.cc: Likewise.
4687
4688 2004-01-26 Paolo Carlini <pcarlini@suse.de>
4689
4690 * include/bits/basic_string.h (_M_replace_aux): Use the
4691 __N marker in throw message.
4692 * include/bits/basic_string.tcc (assign(const _CharT*,
4693 size_type), insert(size_type, const _CharT*, size_type),
4694 replace(size_type, size_type, const _CharT*, size_type),
4695 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
4696 Likewise.
4697
4698 * include/bits/basic_string.h, include/bits/basic_string.tcc:
4699 Fold overlong lines, minor formatting changes.
4700
4701 2004-01-26 Paolo Carlini <pcarlini@suse.de>
4702
4703 * include/bits/basic_string.h (replace(iterator, iterator,
4704 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
4705 (replace(iterator, iterator, const _CharT*)): Ditto.
4706 (replace(iterator, iterator, const _CharT*, size_type)):
4707 Add missing _GLIBCXX_DEBUG_PEDASSERT.
4708
4709 2004-01-26 Paolo Carlini <pcarlini@suse.de>
4710
4711 * include/bits/basic_string.tcc (replace(size_type,
4712 size_type, const _CharT*, size_type)): Implement optimized
4713 in-place algorithm for non-overlapping ranges.
4714 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
4715 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
4716
4717 * include/bits/basic_string.tcc (insert(size_type,
4718 const _CharT*, size_type)): Tweak slightly.
4719
4720 2004-01-26 Andreas Schwab <schwab@suse.de>
4721
4722 * config/locale/gnu/monetary_members.cc: Restore locale before
4723 rethrowing exception.
4724
4725 2004-01-25 Paolo Carlini <pcarlini@suse.de>
4726
4727 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
4728 Define inline here.
4729 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
4730 Move inline.
4731
4732 * include/bits/basic_string.tcc: Very minor tweaks.
4733
4734 2004-01-25 Paolo Carlini <pcarlini@suse.de>
4735
4736 * testsuite/performance/string_append.cc: Increase number
4737 of iterations.
4738
4739 2004-01-25 Paolo Carlini <pcarlini@suse.de>
4740
4741 * include/bits/basic_string.h (erase(size_type, size_type),
4742 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
4743 instead, thus avoiding redundant check for length_error.
4744
4745 * include/bits/basic_string.h: Tweak some comments.
4746
4747 2004-01-24 Paolo Carlini <pcarlini@suse.de>
4748
4749 * include/bits/basic_string.tcc (operator+(const _CharT*,
4750 const basic_string&)): No need to go through the append
4751 taking two iterators.
4752
4753 2004-01-24 Paolo Carlini <pcarlini@suse.de>
4754
4755 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
4756 Revert last change to use std::min: machine language is worse.
4757 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
4758 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
4759 (find_last_not_of(_CharT, size_type)): Ditto.
4760
4761 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
4762 size_type)): Discard the value returned by _M_check.
4763 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
4764 (append(const basic_string&, size_type, size_type)): Ditto.
4765 (copy(_CharT*, size_type, size_type)): Ditto.
4766 (compare(size_type, size_type, const basic_string&)): Ditto.
4767 (compare(size_type, size_type, const basic_string&,
4768 size_type, size_type)): Ditto.
4769 (compare(size_type, size_type, const _CharT*)): Ditto.
4770 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
4771
4772 2004-01-24 Paolo Carlini <pcarlini@suse.de>
4773
4774 * include/bits/basic_string.h (insert(size_type,
4775 const basic_string&, size_type, size_type)): Define inline here.
4776 * include/bits/basic_string.tcc (insert(size_type,
4777 const basic_string&, size_type, size_type)): Move inline.
4778
4779 2004-01-24 Paolo Carlini <pcarlini@suse.de>
4780
4781 * include/bits/basic_string.h (assign(const basic_string&,
4782 size_type, size_type)): Define inline here.
4783 (replace(size_type, size_type, const basic_string&,
4784 size_type, size_type)): Ditto.
4785 (_M_replace_dispatch(iterator, iterator, _InputIterator,
4786 _InputIterator, __false_type)): Only declare.
4787 (_M_replace(iterator, iterator, _InputIterator,
4788 _InputIterator)): Remove.
4789 * include/bits/basic_string.tcc (assign(const basic_string&,
4790 size_type, size_type)): Move inline.
4791 (replace(size_type, size_type, const basic_string&,
4792 size_type, size_type)): Ditto.
4793 (_M_replace_dispatch(iterator, iterator, _InputIterator,
4794 _InputIterator, __false_type)): Define, now does also what
4795 _M_replace did before.
4796 * src/string-inst.cc (_M_replace): Don't instantiate.
4797
4798 * include/bits/basic_string.tcc (find(const _CharT*,
4799 size_type, size_type)): Tidy.
4800 (rfind(_CharT, size_type)): Ditto.
4801 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
4802 (find_first_not_of(_CharT, size_type)): Ditto.
4803 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
4804 (find_last_not_of(_CharT, size_type)): Ditto.
4805
4806 2004-01-23 Paolo Carlini <pcarlini@suse.de>
4807
4808 PR libstdc++/13838
4809 * include/debug/bitset (operator|=): Fix typo.
4810 * testsuite/23_containers/bitset/operations/13838.cc: New.
4811
4812 2004-01-23 Paolo Carlini <pcarlini@suse.de>
4813
4814 * include/bits/basic_string.tcc (insert(size_type,
4815 const _CharT*, size_type __n)): Fix length_error check.
4816 (replace(size_type, size_type, const _CharT*, size_type):
4817 Ditto; call _M_replace_safe.
4818 (_M_replace_aux(size_type, size_type, size_type, _CharT):
4819 Fix length_error check.
4820 (_M_replace(iterator, iterator, _InputIterator,
4821 _InputIterator)): Ditto, tweak.
4822 (_M_replace_safe(size_type, size_type, const _CharT*,
4823 size_type)): Remove length_error check.
4824
4825 * include/bits/basic_string.tcc (append(const basic_string&),
4826 append(const basic_string&, size_type, size_type)): Tweak
4827 comment.
4828
4829 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
4830 size_type)): If __n == 0 don't call traits::copy.
4831
4832 2004-01-23 Stefan Olsson <stefan@snon.net>
4833
4834 * include/ext/mt_allocator.h: Reduce lock contention.
4835
4836 2004-01-23 Paolo Carlini <pcarlini@suse.de>
4837
4838 PR libstdc++/13831
4839 * include/bits/fstream.tcc (underflow): Remove unused
4840 variable.
4841 * include/bits/streambuf_iterator.h (equal): Ditto.
4842 * include/bits/locale_facets.h (_M_convert_from_char):
4843 Ditto.
4844
4845 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4846
4847 PR c/13814
4848 * config/linker-map.gnu (nan): Delete.
4849 * libmath/mathconf.h (NAN, nan): Delete.
4850 * linkage.m4 (nan): Don't check for it.
4851 * libmath/nan.c: Delete file.
4852
4853 * config.h.in, configure: Regenerate.
4854
4855 2004-01-23 Paolo Carlini <pcarlini@suse.de>
4856
4857 * include/bits/basic_string.h (push_back(_CharT)):
4858 Call _M_replace_aux.
4859 (insert(size_type, const basic_string&)): Trivial tweak.
4860 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
4861 (insert(iterator, _CharT)): Ditto.
4862 (erase(size_type, size_type)): Ditto.
4863 (erase(iterator)): Ditto.
4864 (erase(iterator, iterator)): Ditto.
4865 (replace(size_type, size_type, size_type, _CharT)): Ditto.
4866
4867 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
4868
4869 libstdc++/13823
4870 * testsuite/performance/allocator_map_thread.cc: New test.
4871
4872 2004-01-22 Paolo Carlini <pcarlini@suse.de>
4873
4874 * include/bits/locale_facets.tcc
4875 (money_put::do_put(..., long double)): Use the basic_string
4876 constructor for char arrays, not that for C-strings, to pass
4877 __digits to do_put(..., const string_type&): __ws isn't
4878 null-terminated.
4879
4880 2004-01-22 Paolo Carlini <pcarlini@suse.de>
4881
4882 * include/bits/basic_string.h (_M_replace_safe): Change
4883 signatures to take size_types and const _CharT*.
4884 (_M_replace_aux): Likewise, takes size_types instead of
4885 iterators.
4886 (append(size_type, _CharT)): Update call.
4887 (assign(size_type, _CharT)): Ditto.
4888 (replace(iterator, iterator, size_type, _CharT)): Ditto.
4889 (_M_replace_dispatch(iterator, iterator, _Integer,
4890 _Integer, __true_type)): Ditto.
4891 * include/bits/basic_string.tcc (assign(const _CharT*,
4892 size_type)): Ditto.
4893 (insert(size_type, const _CharT*, size_type)): Ditto.
4894 (replace(size_type, size_type, const _CharT*,
4895 size_type)): Ditto.
4896 (_M_replace(iterator, iterator, _InputIterator,
4897 _InputIterator)): Ditto.
4898 (append(const basic_string&)): Ditto.
4899 (append(const basic_string&, size_type, size_type): Ditto.
4900 (append(const _CharT*, size_type): Ditto.
4901 (_M_replace_safe, _M_replace_safe): Change definitions
4902 accordingly, simplify.
4903 * string-inst.cc (_M_replace_safe): Don't instantiate.
4904
4905 2004-01-21 Paolo Carlini <pcarlini@suse.de>
4906
4907 * include/bits/basic_string.tcc (append(const basic_string&)):
4908 Revert previous change.
4909 (append(const basic_string&, size_type, size_type)): Revert
4910 previous change, use _M_check and _M_limit.
4911
4912 2004-01-21 Paolo Carlini <pcarlini@suse.de>
4913
4914 * include/bits/basic_string.h (_M_check): Change to return
4915 a checked __pos and take an additional const char* argument.
4916 (_M_fold): Rename to _M_limit, change to return a size_type,
4917 corresponding to the __off limited to the actual length.
4918 (insert(size_type, size_type, _CharT)): Update call, call
4919 replace.
4920 (insert(iterator, _CharT)): Call replace(iterator, iterator,
4921 size_type, _CharT) instead.
4922 (erase(size_type, size_type)): Update calls.
4923 (replace(size_type, size_type, size_type, _CharT)): Ditto.
4924 (substr(size_type, size_type)): Use _M_check.
4925 * include/bits/basic_string.tcc (basic_string(const basic_string&,
4926 size_type, size_type)): Update calls.
4927 (basic_string(const basic_string&, size_type, size_type,
4928 const _Alloc&)): Ditto.
4929 (assign(const basic_string&, size_type, size_type)): Use the
4930 new _M_check and _M_limit.
4931 (insert(size_type, const basic_string&, size_type, size_type):
4932 Ditto.
4933 (insert(size_type, const _CharT*, size_type)): Ditto.
4934 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
4935 (replace(size_type, size_type, const basic_string&,
4936 size_type, size_type)): Ditto.
4937 (append(const basic_string&)): Ditto.
4938 (append(const basic_string&, size_type, size_type)): Ditto.
4939 (copy(_CharT*, size_type, size_type)): Ditto.
4940 (compare(size_type, size_type, const basic_string&)): Ditto.
4941 (compare(size_type, size_type, const basic_string&,size_type,
4942 size_type)): Ditto.
4943 (compare(size_type, size_type, const _CharT*)): Ditto.
4944 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
4945
4946 2004-01-19 Stefan Olsson <stefan@snon.net>
4947
4948 * include/ext/mt_allocator.h: If a thread, when it dies, still has
4949 memory on it's freelist this memory is not returned to global
4950 list. Simplification of deallocate so that memory is always
4951 returned to the calling thread id's freelist instead of to
4952 global. Fix typos. Add volatile where appropriate.
4953
4954 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
4955
4956 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
4957 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
4958 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
4959
4960 2004-01-19 Paolo Carlini <pcarlini@suse.de>
4961
4962 * src/debug.cc: Make sure all the names are prefixed with
4963 double (or single) underscore.
4964
4965 2004-01-19 Paolo Carlini <pcarlini@suse.de>
4966
4967 * src/debug.cc: Trivial formatting change.
4968
4969 2004-01-19 Paolo Carlini <pcarlini@suse.de>
4970
4971 * include/bits/basic_string.tcc (_S_construct(size_type,
4972 _CharT, const _Alloc&)): Remove redundant try/catch.
4973 (_M_mutate(size_type, size_type, size_type)): Ditto.
4974 (_M_clone(const _Alloc&, size_type)): Ditto.
4975
4976 2004-01-18 Paolo Carlini <pcarlini@suse.de>
4977
4978 * include/bits/basic_string.h (c_str()): Simplify, due to
4979 21.3.4 the internal representation is always kept null-terminated.
4980 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
4981 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
4982 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4983 Ditto.
4984
4985 2004-01-18 Paolo Carlini <pcarlini@suse.de>
4986
4987 * include/bits/basic_string.h (append(size_type, _CharT)):
4988 Moved inline, just call _M_replace_aux, no source iterators at
4989 risk of being clobbered.
4990 (assign(size_type, _CharT)): Call directly _M_replace_aux.
4991 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
4992 input_iterator_tag)): Remove fifth unused argument.
4993 (_M_replace_dispatch(iterator, iterator, _InputIterator,
4994 _InputIterator, __false_type)): Update call.
4995 * include/bits/basic_string.tcc (replace(size_type, size_type,
4996 const _CharT*, size_type)): Update call.
4997 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
4998 throw string literal.
4999 (_M_replace_safe(iterator, iterator, _ForwardIterator,
5000 _ForwardIterator)): Likewise.
5001 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
5002 input_iterator_tag)): Remove fifth unused argument.
5003 (append(size_type __n, _CharT __c)): Move inline.
5004 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
5005 const C*, const C*, input_iterator_tag)): Remove fifth unused
5006 argument.
5007
5008 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
5009
5010 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
5011 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
5012
5013 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
5014
5015 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
5016 mkfifo for mingw32.
5017
5018 2004-01-15 Stefan Olsson <stefan@snon.net>
5019
5020 * include/ext/mt_allocator.h: Reuse thread id's as soon as
5021 possible by changing the behaviour of thread_freelist to do
5022 push_front when threads die instead of push_back.
5023
5024 2004-01-14 Paolo Carlini <pcarlini@suse.de>
5025
5026 * include/bits/locale_facets.h (struct __numpunct_cache):
5027 Add member _M_grouping_size, caching the length of _M_grouping.
5028 (__numpunct_cache<>::_M_cache): Assign the latter.
5029 (__verify_grouping): Move declaration...
5030 * include/bits/locale_facets.tcc (__verify_grouping):
5031 ... here, change signature to take a const char* and a size_t
5032 for the grouping; not a template anymore.
5033 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
5034 Likewise change signature and tweak consistently.
5035 (num_get::_M_extract_float, num_get::_M_extract_int,
5036 num_put::_M_insert_int, num_put::_M_insert_float,
5037 money_get::do_get(string_type&), money_get::do_put(string_type)):
5038 Update callers.
5039 * config/locale/generic/numeric_members.cc
5040 (numpunct<>::_M_initialize_numpunct): Assign the new member.
5041 * config/locale/gnu/numeric_members.cc
5042 (numpunct<>::_M_initialize_numpunct): Likewise.
5043 * src/locale-inst.cc (__add_grouping): Tweak signature.
5044 (__verify_grouping): Don't instantiate, not a template anymore.
5045
5046 * include/bits/locale_facets.h: Rename _M_truename_len ->
5047 _M_truename_size, _M_falsename_len -> _M_falsename_size.
5048 * include/bits/locale_facets.tcc: Likewise.
5049 * config/locale/generic/numeric_members.cc: Likewise.
5050 * config/locale/gnu/numeric_members.cc: Likewise.
5051
5052 2004-01-14 Stefan Olsson <stefan@snon.net>
5053
5054 * include/ext/mt_allocator.h: Fixups.
5055 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
5056 * testsuite/performance/allocator_thread.cc: Same.
5057
5058 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
5059
5060 * testsuite/performance/ifstream_extract_float.cc: Add higher
5061 precision tests.
5062 * testsuite/performance/ofstream_insert_float.cc: Same.
5063
5064 2004-01-13 Paolo Carlini <pcarlini@suse.de>
5065
5066 * src/locale-misc-inst.cc (__convert_from_v(long),
5067 __convert_from_v(unsigned long), __convert_from_v(long long),
5068 __convert_from_v(unsigned long long)): Remove, unused.
5069
5070 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
5071
5072 * testsuite/performance/ifstream_extract_float.cc: New.
5073 * testsuite/performance/ofstream_insert_float.cc: Float generation
5074 matches above.
5075
5076 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
5077 * 20_util/auto_ptr/1.cc: ...this.
5078 * 20_util/auto_ptr/2.cc: Same.
5079 * 20_util/auto_ptr/3.cc: Same.
5080 * 20_util/auto_ptr/3946.cc: Same.
5081 * 20_util/auto_ptr/4.cc: Same.
5082 * 20_util/auto_ptr/5.cc: Same.
5083 * 20_util/auto_ptr/6.cc: Same.
5084 * 20_util/auto_ptr/7.cc: Same.
5085 * 20_util/auto_ptr/assign_neg.cc
5086 * 20_util/pairs.cc: Break into...
5087 * 20_util/pair/1.cc: ...this.
5088 * 20_util/pair/2.cc: Same.
5089 * 20_util/pair/3.cc: Same.
5090 * 20_util/pair/4.cc: Same.
5091
5092 2004-01-13 Paolo Carlini <pcarlini@suse.de>
5093
5094 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
5095 Set correctly just basefield, the only group that matters.
5096
5097 2004-01-13 Paolo Carlini <pcarlini@suse.de>
5098
5099 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
5100 (_Rope_rep_base): Inherit directly from the rope allocator;
5101 use rebinding instead of _Alloc_traits; pick up data member
5102 from _Rope_rep_alloc_base.
5103 (_Rope_alloc_base): Eliminate.
5104 (_Rope_base): Inherit directly from the rope allocator; use
5105 rebinding instead of _Alloc_traits; pick up data member from
5106 _Rope_alloc_base.
5107 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
5108 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
5109
5110 2004-01-13 Paolo Carlini <pcarlini@suse.de>
5111
5112 PR libstdc++/13650
5113 * include/bits/basic_string.tcc (compare(size_type, size_type,
5114 const _CharT*, size_type)): Implement correctly the resolution
5115 of DR 5: basically, s is a char array, -not- a C string.
5116 * include/bits/basic_string.h: Tweak some comments.
5117 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
5118 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
5119
5120 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
5121
5122 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
5123 Solaris.
5124
5125 2004-01-12 Paolo Carlini <pcarlini@suse.de>
5126
5127 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
5128 Use try_mkfifo.
5129 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
5130 Likewise.
5131
5132 2004-01-12 Paolo Carlini <pcarlini@suse.de>
5133
5134 * include/bits/locale_facets.h (struct __numpunct_cache):
5135 Add members _M_truename_len and _M_falsename_len, caching
5136 the lengths of _M_truename and _M_falsename.
5137 (__numpunct_cache<>::_M_cache): Assign the latter.
5138 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
5139 num_put::do_put(bool)): Use the new members, thus avoiding
5140 computing string lengths again and again.
5141 * config/locale/generic/numeric_members.cc
5142 (numpunct<>::_M_initialize_numpunct): Assign the new members.
5143 * config/locale/gnu/numeric_members.cc
5144 (numpunct<>::_M_initialize_numpunct): Likewise.
5145
5146 2004-01-12 Mark Mitchell <mark@codesourcery.com>
5147
5148 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
5149 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
5150 it.
5151 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
5152 and remove Cygwin XFAIL.
5153 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
5154 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
5155 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
5156 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
5157 Likewise.
5158 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
5159 * testsuite/27_io/objects/char/7.cc: Likewise.
5160 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
5161 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
5162 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
5163
5164 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
5165
5166 * include/std/std_complex.h (std::complex<>::real): Return a
5167 reference. Add non-const overload.
5168 (std::complex<>::real): Likewise.
5169 (std::real): Likewise.
5170 (std::imag): Likewise.
5171 (std::operator+): Tidy.
5172 (std::operator-): Likewise.
5173 (std::operator*): Likewise.
5174 (std::operator/): Likewise.
5175 (std::operator>>): Likewise.
5176
5177 2004-01-11 Paolo Carlini <pcarlini@suse.de>
5178
5179 PR libstdc++/13582
5180 * include/bits/fstream.tcc (imbue): Exploit the external
5181 buffer to imbue 'on the fly' a new locale and convert its
5182 remainder with the new codecvt facet.
5183 (underflow): Tweak slightly to deal with this special case.
5184 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
5185 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
5186 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
5187 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
5188 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
5189
5190 2004-01-10 Paolo Carlini <pcarlini@suse.de>
5191
5192 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
5193 Import Revision 28.
5194
5195 2004-01-10 Paolo Carlini <pcarlini@suse.de>
5196
5197 PR libstdc++/13630
5198 * include/bits/locale_classes.h (class locale): Fix category
5199 typedef.
5200 * testsuite/22_locale/locale/13630.cc: Add.
5201
5202 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
5203
5204 * include/bits/locale_facets.h: Make a name really dependent. This
5205 will be needed when Core Issue 224 is implemented.
5206
5207 2004-01-09 Paolo Carlini <pcarlini@suse.de>
5208
5209 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
5210 * testsuite/performance/allocator_thread.cc: Likewise.
5211
5212 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
5213
5214 * crossconfig.m4: Add LFS, io bits to linux cross config.
5215 * acconfig.h: Remove obsolete bits, reorder.
5216 * config.h.in: Regenerate.
5217 * aclocal.m4: Same.
5218 * configure: Same.
5219
5220 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
5221
5222 * include/bits/stl_list.h:
5223 * include/bits/list.tc:
5224 * src/list.cc:
5225 Performance enhancements for destructor, push_front(),
5226 push_back(), pop_front(), pop_back(), sort()
5227 Eliminated static_casts where possible.
5228 Moved code out of header files into new src/list.cc
5229 implementation file for library where possible.
5230 Remove inheritance from iterator class and create separate
5231 classes for non-constant and constant iterators.
5232 * include/bits/stl_tree.h (_Rb_tree class):
5233 * src/tree.cc:
5234 Only erase contents in destructor.
5235 Eliminate unnecessary initialization in assignment operator.
5236 Optimize for the nominal case by not checking whether
5237 container is empty in clear().
5238 Re-order test in _M_insert() to improve performance.
5239 Move initialization of new node's left & right pointers to
5240 src/tree.cc to where new node's colour is initialized
5241 and to reduce the amount of inline code.
5242 Use _M_leftmost() and _M_end() to improve readability where
5243 appropriate.
5244 Create separate classes for non-constant and constant
5245 iterators to clarify code, avoid extra template parameters and
5246 casting away constness.
5247
5248 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
5249
5250 * src/Makefile.am (sources): Add list.cc, tree.cc.
5251 * src/stl_tree.cc: Move to...
5252 * src/tree.cc: ...here.
5253 * src/list.cc: Add.
5254 * config/linker-map.gnu: Tweaks.
5255 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
5256 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
5257
5258 * bits/stl_vector.h: Column wrap comments.
5259
5260 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
5261
5262 (re-open) PR libstdc++/12658
5263 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
5264 (locale::global): Likewise.
5265
5266 2004-01-07 Paolo Carlini <pcarlini@suse.de>
5267
5268 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
5269 Remove redundant #include.
5270 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
5271 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
5272 re-enable normal testing.
5273 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
5274 #include.
5275 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
5276 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
5277 Likewise.
5278 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
5279 Likewise.
5280 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
5281 Likewise.
5282 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
5283 Likewise.
5284 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
5285 Likewise.
5286 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
5287 Likewise.
5288 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
5289 Likewise.
5290 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
5291 More properly, #include <locale>.
5292 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
5293 Remove redundant #include.
5294 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
5295 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
5296 redundant DejaGnu directive.
5297 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
5298 redundant #include.
5299
5300 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
5301 Stefan Olsson <stefan@snon.net>
5302
5303 * scripts/check_performance: Use -pthread.
5304 * testsuite/performance/allocator.cc: Tweaks, add list.
5305 * testsuite/performance/allocator_thread.cc: New.
5306
5307 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
5308
5309 * include/bits/locale_facets.h: Document public classes and
5310 functions.
5311 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
5312 Add comment.
5313
5314 2004-01-06 Paolo Carlini <pcarlini@suse.de>
5315
5316 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
5317 Remove redundant #includes.
5318 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
5319 Likewise.
5320 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
5321 Likewise.
5322 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
5323 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
5324 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
5325 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
5326 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
5327 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
5328 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
5329 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
5330 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
5331 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
5332 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
5333 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
5334 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
5335 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
5336 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
5337 Likewise.
5338 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
5339 Likewise.
5340 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
5341 Likewise.
5342 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
5343 Likewise.
5344 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
5345 Likewise.
5346 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
5347 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
5348 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
5349
5350 2004-01-04 Paolo Carlini <pcarlini@suse.de>
5351
5352 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
5353 Remove redundant #includes.
5354 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
5355 Likewise.
5356 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
5357 Likewise.
5358 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
5359 Likewise.
5360 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
5361 Likewise.
5362 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
5363 Likewise.
5364 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
5365 Likewise.
5366 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
5367 Likewise.
5368 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
5369 Likewise.
5370 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
5371 Likewise.
5372 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
5373 Likewise.
5374 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
5375 Likewise.
5376 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
5377 Likewise.
5378
5379 2004-01-04 Mark Mitchell <mark@codesourcery.com>
5380
5381 PR c++/12226
5382 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
5383 constructor.
5384 * testsuite/27_io/basic_fstream/4.cc: Likewise.
5385 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
5386 * testsuite/27_io/basic_ios/4.cc: Likewise.
5387 * testsuite/27_io/basic_iostream/4.cc: Likewise.
5388 * testsuite/27_io/basic_istream/4.cc: Likewise.
5389 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
5390 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
5391 * testsuite/27_io/basic_ostream/4.cc: Likewise.
5392 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
5393 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
5394 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
5395
5396 2004-01-04 Paolo Carlini <pcarlini@suse.de>
5397
5398 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
5399 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
5400 always use double underscored names.
5401 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
5402 Likewise.
5403 * include/bits/locale_facets.h (struct __numpunct_cache):
5404 Dimension _M_atoms_out and _M_atoms_in one position smaller.
5405 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
5406 and _M_atoms_in.