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