]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
expr.c (build_field_ref): Move variable definition up.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
6efc84f4
BK
12004-01-29 Benjamin Kosnik <bkoz@redhat.com>
2
3 * include/bits/allocator.h: Temporary switch to new_allocator as
4 the default to unjam bootstraps.
5
ba9d552e
BK
62004-01-28 Benjamin Kosnik <bkoz@redhat.com>
7
8 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
9 * include/Makefile.in: Regenerate.
10 * include/bits/allocator_traits.h: Remove.
11 * include/bits/allocator.h: Remove allocator_traits.h include, and
12 relevant comments.
13 (allocator): Empty base class, inherit from the underlying allocator.
14 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
15 * src/allocator.cc: ...here. New. For the underlying allocators.
16 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
17 * config/linker-map.gnu: Remove __pool_alloc bits.
18 * src/Makefile.am (sources): Add allocator.cc.
19 * src/Makefile.in: Regenerate.
20 * testsuite/20_util/allocator/1.cc: Split second test into...
21 * testsuite/20_util/allocator/8230.cc: ...this.
22 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
23 typedef to use std::allocatore. Format.
24 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
25 _Alloc_traits.
26 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
27 __throw_bad_alloc calls. Don't include <memory>.
28 * include/ext/malloc_allocator.h: Remove <memory> include.
29 * include/ext/new_allocator.h (new_allocator): Same.
30 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
31 declaration. Switch __alloc to _Alloc.
32 * include/ext/hashtable.h: Remove __alloc.
33 * include/backward/alloc.h: Only inject allocator, not
34 implementation details.
35
36 * include/ext/mt_allocator.h: Replace free with delete.
37
ff4cf05b
BK
382004-01-28 Benjamin Kosnik <bkoz@redhat.com>
39
40 * src/globals_io.cc: Change to __gnu_internal namespace.
41 * src/globals_locale.cc: Same.
42 * src/locale_init.cc: Same.
43 * src/ios_init.cc: Same.
44
f15f99a1
SO
452004-01-28 Stefan Olsson <stefan@snon.net>
46
47 * include/ext/mt_allocator.h: Replaced all malloc() calls with
48 operator new(). Added support for the env variable
49 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
50 one in allocate() as well). Fix typos.
51
234e0d31
PC
522004-01-28 Paolo Carlini <pcarlini@suse.de>
53
54 * include/bits/basic_string.h (_S_create(size_t,
55 const _Alloc&): Change signature to take two size_type
56 arguments.
57 * include/bits/basic_string.tcc (_S_construct(_InIterator,
58 _InIterator, const _Alloc&, input_iterator_tag)): Update
59 call, tweak a bit.
60 (_S_construct(_InIterator, _InIterator, const _Alloc&,
61 forward_iterator_tag)): Likewise.
62 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
63 (_M_mutate(size_type, size_type, size_type)): Don't
64 implement the exponential growth policy, demand it to
65 _S_create, update call and simplify.
66 (_M_clone(const _Alloc&, size_type)): Likewise.
67 (_S_create(size_type, size_type, const _Alloc&)): Implement
68 the growth policy, simplify otherwise.
69
70 * include/bits/basic_string.h (_Rep::operator[]): Tweak
71 signature to take a size_type, consistently with the other
72 members.
73
62b21ea0
BK
742004-01-27 Benjamin Kosnik <bkoz@redhat.com>
75
76 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
77 delete declarations, add include and test variable.
78
0b563420
JQ
792003-01-27 Jerry Quinn <jlquinn@optonline.net>
80
81 * include/bits/codecvt.h, include/bits/locale_facets.h,
82 include/bits/postypes.h, include/bits/stl_bvector.h,
83 include/bits/stl_multiset.h, include/bits/stl_set.h,
84 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
85 include/std/std_complex.h: Document.
86
2a837cf8
JQ
872004-01-27 Jerry Quinn <jlquinn@optonline.net>
88
89 PR libstdc++/11584
90 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
91 iword/pword selector.
92 (ios_base::iword, ios_base::pword): Use it.
93 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
94 iword or pword member on alloc failure.
95 * testsuite/27_io/ios_base/storage/11584.cc: New test.
96
6e198ee0
UW
972004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
98 PJ Darcy <darcypj@us.ibm.com>
99
100 * configure.host: Add support for *-tpf.
101 * crossconfig.m4: Likewise.
102 * configure: Regenerate.
103 * config/os/tpf: New directory.
104 * config/os/tpf/os_defines.h: New file.
105 * config/os/tpf/ctype_base.h: Likewise.
106 * config/os/tpf/ctype_inline.h: Likewise.
107 * config/os/tpf/ctype_noninline.h: Likewise.
108
51b6facb
PC
1092004-01-27 Paolo Carlini <pcarlini@suse.de>
110
111 PR libstdc++/13884
112 * include/bits/sstream.tcc: Guard use of extern template.
113
a3af79ea
PC
1142004-01-27 Paolo Carlini <pcarlini@suse.de>
115
116 * include/bits/basic_string.tcc
117 (basic_string(const basic_string&, size_type, size_type),
118 basic_string(const basic_string&, size_type, size_type,
119 const _Alloc&)): Avoid unnecessarily constructing iterators.
120
ba9119ec
PC
1212004-01-26 Paolo Carlini <pcarlini@suse.de>
122
123 * config/locale/generic/c_locale.cc: Fix throw messages
124 to use the __N marker.
125 * config/locale/gnu/c_locale.cc: Likewise.
126 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
127 Likewise.
128 * docs/html/17_intro/C++STYLE: Likewise.
129 * include/bits/basic_ios.tcc: Likewise.
130 * include/bits/fstream.tcc: Likewise.
131 * include/bits/vector.tcc: Likewise.
132 * include/ext/ropeimpl.h: Likewise.
133 * include/std/std_bitset.h: Likewise.
134 * src/ios.cc: Likewise.
135 * src/locale.cc: Likewise.
136 * src/localename.cc: Likewise.
137
0e50667c
PC
1382004-01-26 Paolo Carlini <pcarlini@suse.de>
139
140 * include/bits/basic_string.h (_M_replace_aux): Use the
141 __N marker in throw message.
142 * include/bits/basic_string.tcc (assign(const _CharT*,
143 size_type), insert(size_type, const _CharT*, size_type),
144 replace(size_type, size_type, const _CharT*, size_type),
145 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
146 Likewise.
147
148 * include/bits/basic_string.h, include/bits/basic_string.tcc:
149 Fold overlong lines, minor formatting changes.
150
4d39d873
PC
1512004-01-26 Paolo Carlini <pcarlini@suse.de>
152
153 * include/bits/basic_string.h (replace(iterator, iterator,
154 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
155 (replace(iterator, iterator, const _CharT*)): Ditto.
156 (replace(iterator, iterator, const _CharT*, size_type)):
157 Add missing _GLIBCXX_DEBUG_PEDASSERT.
158
2cb612d1
PC
1592004-01-26 Paolo Carlini <pcarlini@suse.de>
160
161 * include/bits/basic_string.tcc (replace(size_type,
162 size_type, const _CharT*, size_type)): Implement optimized
163 in-place algorithm for non-overlapping ranges.
164 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
165 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
166
167 * include/bits/basic_string.tcc (insert(size_type,
168 const _CharT*, size_type)): Tweak slightly.
169
f942e78d
AS
1702004-01-26 Andreas Schwab <schwab@suse.de>
171
172 * config/locale/gnu/monetary_members.cc: Restore locale before
173 rethrowing exception.
174
91eab378
PC
1752004-01-25 Paolo Carlini <pcarlini@suse.de>
176
177 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
178 Define inline here.
179 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
180 Move inline.
181
182 * include/bits/basic_string.tcc: Very minor tweaks.
183
9c519c93
PC
1842004-01-25 Paolo Carlini <pcarlini@suse.de>
185
186 * testsuite/performance/string_append.cc: Increase number
187 of iterations.
188
30f315cd
PC
1892004-01-25 Paolo Carlini <pcarlini@suse.de>
190
191 * include/bits/basic_string.h (erase(size_type, size_type),
192 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
193 instead, thus avoiding redundant check for length_error.
194
195 * include/bits/basic_string.h: Tweak some comments.
196
bb9909b0
PC
1972004-01-24 Paolo Carlini <pcarlini@suse.de>
198
199 * include/bits/basic_string.tcc (operator+(const _CharT*,
200 const basic_string&)): No need to go through the append
201 taking two iterators.
202
04cc8aef
PC
2032004-01-24 Paolo Carlini <pcarlini@suse.de>
204
205 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
206 Revert last change to use std::min: machine language is worse.
207 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
208 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
209 (find_last_not_of(_CharT, size_type)): Ditto.
210
211 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
212 size_type)): Discard the value returned by _M_check.
213 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
214 (append(const basic_string&, size_type, size_type)): Ditto.
215 (copy(_CharT*, size_type, size_type)): Ditto.
216 (compare(size_type, size_type, const basic_string&)): Ditto.
217 (compare(size_type, size_type, const basic_string&,
218 size_type, size_type)): Ditto.
219 (compare(size_type, size_type, const _CharT*)): Ditto.
220 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
221
8865bf80
PC
2222004-01-24 Paolo Carlini <pcarlini@suse.de>
223
224 * include/bits/basic_string.h (insert(size_type,
225 const basic_string&, size_type, size_type)): Define inline here.
226 * include/bits/basic_string.tcc (insert(size_type,
227 const basic_string&, size_type, size_type)): Move inline.
228
fefe561e
PC
2292004-01-24 Paolo Carlini <pcarlini@suse.de>
230
231 * include/bits/basic_string.h (assign(const basic_string&,
232 size_type, size_type)): Define inline here.
233 (replace(size_type, size_type, const basic_string&,
234 size_type, size_type)): Ditto.
235 (_M_replace_dispatch(iterator, iterator, _InputIterator,
236 _InputIterator, __false_type)): Only declare.
237 (_M_replace(iterator, iterator, _InputIterator,
238 _InputIterator)): Remove.
239 * include/bits/basic_string.tcc (assign(const basic_string&,
240 size_type, size_type)): Move inline.
241 (replace(size_type, size_type, const basic_string&,
242 size_type, size_type)): Ditto.
243 (_M_replace_dispatch(iterator, iterator, _InputIterator,
244 _InputIterator, __false_type)): Define, now does also what
245 _M_replace did before.
246 * src/string-inst.cc (_M_replace): Don't instantiate.
247
248 * include/bits/basic_string.tcc (find(const _CharT*,
249 size_type, size_type)): Tidy.
250 (rfind(_CharT, size_type)): Ditto.
251 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
252 (find_first_not_of(_CharT, size_type)): Ditto.
253 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
254 (find_last_not_of(_CharT, size_type)): Ditto.
255
72afd981
PC
2562004-01-23 Paolo Carlini <pcarlini@suse.de>
257
258 PR libstdc++/13838
259 * include/debug/bitset (operator|=): Fix typo.
260 * testsuite/23_containers/bitset/operations/13838.cc: New.
261
251804e6
PC
2622004-01-23 Paolo Carlini <pcarlini@suse.de>
263
264 * include/bits/basic_string.tcc (insert(size_type,
265 const _CharT*, size_type __n)): Fix length_error check.
266 (replace(size_type, size_type, const _CharT*, size_type):
267 Ditto; call _M_replace_safe.
268 (_M_replace_aux(size_type, size_type, size_type, _CharT):
269 Fix length_error check.
270 (_M_replace(iterator, iterator, _InputIterator,
271 _InputIterator)): Ditto, tweak.
272 (_M_replace_safe(size_type, size_type, const _CharT*,
273 size_type)): Remove length_error check.
274
275 * include/bits/basic_string.tcc (append(const basic_string&),
276 append(const basic_string&, size_type, size_type)): Tweak
277 comment.
278
279 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
280 size_type)): If __n == 0 don't call traits::copy.
281
3cfb44c2
SO
2822004-01-23 Stefan Olsson <stefan@snon.net>
283
284 * include/ext/mt_allocator.h: Reduce lock contention.
285
22352844
PC
2862004-01-23 Paolo Carlini <pcarlini@suse.de>
287
288 PR libstdc++/13831
289 * include/bits/fstream.tcc (underflow): Remove unused
290 variable.
291 * include/bits/streambuf_iterator.h (equal): Ditto.
292 * include/bits/locale_facets.h (_M_convert_from_char):
293 Ditto.
294
129057c1
KG
2952004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
296
297 PR c/13814
298 * config/linker-map.gnu (nan): Delete.
299 * libmath/mathconf.h (NAN, nan): Delete.
300 * linkage.m4 (nan): Don't check for it.
301 * libmath/nan.c: Delete file.
302
303 * config.h.in, configure: Regenerate.
304
0e707673
PC
3052004-01-23 Paolo Carlini <pcarlini@suse.de>
306
307 * include/bits/basic_string.h (push_back(_CharT)):
308 Call _M_replace_aux.
309 (insert(size_type, const basic_string&)): Trivial tweak.
310 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
311 (insert(iterator, _CharT)): Ditto.
312 (erase(size_type, size_type)): Ditto.
313 (erase(iterator)): Ditto.
314 (erase(iterator, iterator)): Ditto.
315 (replace(size_type, size_type, size_type, _CharT)): Ditto.
316
402b0954
LR
3172004-01-23 Loren J. Rittle <ljrittle@acm.org>
318
319 libstdc++/13823
320 * testsuite/performance/allocator_map_thread.cc: New test.
321
ba46e66a
PC
3222004-01-22 Paolo Carlini <pcarlini@suse.de>
323
324 * include/bits/locale_facets.tcc
325 (money_put::do_put(..., long double)): Use the basic_string
326 constructor for char arrays, not that for C-strings, to pass
327 __digits to do_put(..., const string_type&): __ws isn't
328 null-terminated.
329
7bb9b33b
PC
3302004-01-22 Paolo Carlini <pcarlini@suse.de>
331
332 * include/bits/basic_string.h (_M_replace_safe): Change
333 signatures to take size_types and const _CharT*.
334 (_M_replace_aux): Likewise, takes size_types instead of
335 iterators.
336 (append(size_type, _CharT)): Update call.
337 (assign(size_type, _CharT)): Ditto.
338 (replace(iterator, iterator, size_type, _CharT)): Ditto.
339 (_M_replace_dispatch(iterator, iterator, _Integer,
340 _Integer, __true_type)): Ditto.
341 * include/bits/basic_string.tcc (assign(const _CharT*,
342 size_type)): Ditto.
343 (insert(size_type, const _CharT*, size_type)): Ditto.
344 (replace(size_type, size_type, const _CharT*,
345 size_type)): Ditto.
346 (_M_replace(iterator, iterator, _InputIterator,
347 _InputIterator)): Ditto.
348 (append(const basic_string&)): Ditto.
349 (append(const basic_string&, size_type, size_type): Ditto.
350 (append(const _CharT*, size_type): Ditto.
351 (_M_replace_safe, _M_replace_safe): Change definitions
352 accordingly, simplify.
353 * string-inst.cc (_M_replace_safe): Don't instantiate.
354
3e7782b2
PC
3552004-01-21 Paolo Carlini <pcarlini@suse.de>
356
357 * include/bits/basic_string.tcc (append(const basic_string&)):
358 Revert previous change.
359 (append(const basic_string&, size_type, size_type)): Revert
360 previous change, use _M_check and _M_limit.
361
e03a6fb7
PC
3622004-01-21 Paolo Carlini <pcarlini@suse.de>
363
364 * include/bits/basic_string.h (_M_check): Change to return
365 a checked __pos and take an additional const char* argument.
366 (_M_fold): Rename to _M_limit, change to return a size_type,
367 corresponding to the __off limited to the actual length.
368 (insert(size_type, size_type, _CharT)): Update call, call
369 replace.
370 (insert(iterator, _CharT)): Call replace(iterator, iterator,
371 size_type, _CharT) instead.
372 (erase(size_type, size_type)): Update calls.
373 (replace(size_type, size_type, size_type, _CharT)): Ditto.
374 (substr(size_type, size_type)): Use _M_check.
375 * include/bits/basic_string.tcc (basic_string(const basic_string&,
376 size_type, size_type)): Update calls.
377 (basic_string(const basic_string&, size_type, size_type,
378 const _Alloc&)): Ditto.
379 (assign(const basic_string&, size_type, size_type)): Use the
380 new _M_check and _M_limit.
381 (insert(size_type, const basic_string&, size_type, size_type):
382 Ditto.
383 (insert(size_type, const _CharT*, size_type)): Ditto.
384 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
385 (replace(size_type, size_type, const basic_string&,
386 size_type, size_type)): Ditto.
387 (append(const basic_string&)): Ditto.
388 (append(const basic_string&, size_type, size_type)): Ditto.
389 (copy(_CharT*, size_type, size_type)): Ditto.
390 (compare(size_type, size_type, const basic_string&)): Ditto.
391 (compare(size_type, size_type, const basic_string&,size_type,
392 size_type)): Ditto.
393 (compare(size_type, size_type, const _CharT*)): Ditto.
394 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
395
cec73eb5
SO
3962004-01-19 Stefan Olsson <stefan@snon.net>
397
398 * include/ext/mt_allocator.h: If a thread, when it dies, still has
399 memory on it's freelist this memory is not returned to global
400 list. Simplification of deallocate so that memory is always
401 returned to the calling thread id's freelist instead of to
402 global. Fix typos. Add volatile where appropriate.
403
87d11ccc
LR
4042004-01-19 Loren J. Rittle <ljrittle@acm.org>
405
406 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
407 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
408 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
409
f18be892
PC
4102004-01-19 Paolo Carlini <pcarlini@suse.de>
411
412 * src/debug.cc: Make sure all the names are prefixed with
413 double (or single) underscore.
414
33d4e9b2
PC
4152004-01-19 Paolo Carlini <pcarlini@suse.de>
416
417 * src/debug.cc: Trivial formatting change.
418
954b12d2
PC
4192004-01-19 Paolo Carlini <pcarlini@suse.de>
420
421 * include/bits/basic_string.tcc (_S_construct(size_type,
422 _CharT, const _Alloc&)): Remove redundant try/catch.
423 (_M_mutate(size_type, size_type, size_type)): Ditto.
424 (_M_clone(const _Alloc&, size_type)): Ditto.
425
acbab5bf
PC
4262004-01-18 Paolo Carlini <pcarlini@suse.de>
427
428 * include/bits/basic_string.h (c_str()): Simplify, due to
429 21.3.4 the internal representation is always kept null-terminated.
430 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
431 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
432 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
433 Ditto.
434
9c96a689
PC
4352004-01-18 Paolo Carlini <pcarlini@suse.de>
436
437 * include/bits/basic_string.h (append(size_type, _CharT)):
438 Moved inline, just call _M_replace_aux, no source iterators at
439 risk of being clobbered.
440 (assign(size_type, _CharT)): Call directly _M_replace_aux.
441 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
442 input_iterator_tag)): Remove fifth unused argument.
443 (_M_replace_dispatch(iterator, iterator, _InputIterator,
444 _InputIterator, __false_type)): Update call.
445 * include/bits/basic_string.tcc (replace(size_type, size_type,
446 const _CharT*, size_type)): Update call.
447 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
448 throw string literal.
449 (_M_replace_safe(iterator, iterator, _ForwardIterator,
450 _ForwardIterator)): Likewise.
451 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
452 input_iterator_tag)): Remove fifth unused argument.
453 (append(size_type __n, _CharT __c)): Move inline.
454 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
455 const C*, const C*, input_iterator_tag)): Remove fifth unused
456 argument.
457
d517f626
BK
4582004-01-16 Benjamin Kosnik <bkoz@redhat.com>
459
460 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
461 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
462
701b701b
DS
4632004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
464
465 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
466 mkfifo for mingw32.
467
2913770f
SO
4682004-01-15 Stefan Olsson <stefan@snon.net>
469
470 * include/ext/mt_allocator.h: Reuse thread id's as soon as
471 possible by changing the behaviour of thread_freelist to do
472 push_front when threads die instead of push_back.
473
47f62b27
PC
4742004-01-14 Paolo Carlini <pcarlini@suse.de>
475
476 * include/bits/locale_facets.h (struct __numpunct_cache):
477 Add member _M_grouping_size, caching the length of _M_grouping.
478 (__numpunct_cache<>::_M_cache): Assign the latter.
479 (__verify_grouping): Move declaration...
480 * include/bits/locale_facets.tcc (__verify_grouping):
481 ... here, change signature to take a const char* and a size_t
482 for the grouping; not a template anymore.
483 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
484 Likewise change signature and tweak consistently.
485 (num_get::_M_extract_float, num_get::_M_extract_int,
486 num_put::_M_insert_int, num_put::_M_insert_float,
487 money_get::do_get(string_type&), money_get::do_put(string_type)):
488 Update callers.
489 * config/locale/generic/numeric_members.cc
490 (numpunct<>::_M_initialize_numpunct): Assign the new member.
491 * config/locale/gnu/numeric_members.cc
492 (numpunct<>::_M_initialize_numpunct): Likewise.
493 * src/locale-inst.cc (__add_grouping): Tweak signature.
494 (__verify_grouping): Don't instantiate, not a template anymore.
495
496 * include/bits/locale_facets.h: Rename _M_truename_len ->
497 _M_truename_size, _M_falsename_len -> _M_falsename_size.
498 * include/bits/locale_facets.tcc: Likewise.
499 * config/locale/generic/numeric_members.cc: Likewise.
500 * config/locale/gnu/numeric_members.cc: Likewise.
501
41f24725
SO
5022004-01-14 Stefan Olsson <stefan@snon.net>
503
504 * include/ext/mt_allocator.h: Fixups.
505 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
506 * testsuite/performance/allocator_thread.cc: Same.
507
070ce57b
BK
5082004-01-13 Benjamin Kosnik <bkoz@redhat.com>
509
510 * testsuite/performance/ifstream_extract_float.cc: Add higher
511 precision tests.
512 * testsuite/performance/ofstream_insert_float.cc: Same.
513
c9513590
PC
5142004-01-13 Paolo Carlini <pcarlini@suse.de>
515
516 * src/locale-misc-inst.cc (__convert_from_v(long),
517 __convert_from_v(unsigned long), __convert_from_v(long long),
518 __convert_from_v(unsigned long long)): Remove, unused.
519
60af005f
BK
5202004-01-13 Benjamin Kosnik <bkoz@redhat.com>
521
522 * testsuite/performance/ifstream_extract_float.cc: New.
523 * testsuite/performance/ofstream_insert_float.cc: Float generation
524 matches above.
525
526 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
527 * 20_util/auto_ptr/1.cc: ...this.
528 * 20_util/auto_ptr/2.cc: Same.
529 * 20_util/auto_ptr/3.cc: Same.
530 * 20_util/auto_ptr/3946.cc: Same.
531 * 20_util/auto_ptr/4.cc: Same.
532 * 20_util/auto_ptr/5.cc: Same.
533 * 20_util/auto_ptr/6.cc: Same.
534 * 20_util/auto_ptr/7.cc: Same.
535 * 20_util/auto_ptr/assign_neg.cc
536 * 20_util/pairs.cc: Break into...
537 * 20_util/pair/1.cc: ...this.
538 * 20_util/pair/2.cc: Same.
539 * 20_util/pair/3.cc: Same.
540 * 20_util/pair/4.cc: Same.
541
d8ef7dec
PC
5422004-01-13 Paolo Carlini <pcarlini@suse.de>
543
544 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
545 Set correctly just basefield, the only group that matters.
546
5640461d
PC
5472004-01-13 Paolo Carlini <pcarlini@suse.de>
548
549 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
550 (_Rope_rep_base): Inherit directly from the rope allocator;
551 use rebinding instead of _Alloc_traits; pick up data member
552 from _Rope_rep_alloc_base.
553 (_Rope_alloc_base): Eliminate.
554 (_Rope_base): Inherit directly from the rope allocator; use
555 rebinding instead of _Alloc_traits; pick up data member from
556 _Rope_alloc_base.
557 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
558 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
559
95c9624f
PC
5602004-01-13 Paolo Carlini <pcarlini@suse.de>
561
562 PR libstdc++/13650
563 * include/bits/basic_string.tcc (compare(size_type, size_type,
564 const _CharT*, size_type)): Implement correctly the resolution
565 of DR 5: basically, s is a char array, -not- a C string.
566 * include/bits/basic_string.h: Tweak some comments.
567 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
568 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
569
c91de77a
AT
5702004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
571
572 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
573 Solaris.
574
300b3317
PC
5752004-01-12 Paolo Carlini <pcarlini@suse.de>
576
577 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
578 Use try_mkfifo.
579 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
580 Likewise.
581
dc6798f8
PC
5822004-01-12 Paolo Carlini <pcarlini@suse.de>
583
584 * include/bits/locale_facets.h (struct __numpunct_cache):
585 Add members _M_truename_len and _M_falsename_len, caching
586 the lengths of _M_truename and _M_falsename.
587 (__numpunct_cache<>::_M_cache): Assign the latter.
588 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
589 num_put::do_put(bool)): Use the new members, thus avoiding
590 computing string lengths again and again.
591 * config/locale/generic/numeric_members.cc
592 (numpunct<>::_M_initialize_numpunct): Assign the new members.
593 * config/locale/gnu/numeric_members.cc
594 (numpunct<>::_M_initialize_numpunct): Likewise.
595
ea1ea21a
MM
5962004-01-12 Mark Mitchell <mark@codesourcery.com>
597
598 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
599 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
600 it.
601 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
602 and remove Cygwin XFAIL.
603 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
604 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
605 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
606 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
607 Likewise.
608 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
609 * testsuite/27_io/objects/char/7.cc: Likewise.
610 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
611 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
612 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
613
3b3bfc0e
GDR
6142004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
615
616 * include/std/std_complex.h (std::complex<>::real): Return a
617 reference. Add non-const overload.
618 (std::complex<>::real): Likewise.
619 (std::real): Likewise.
620 (std::imag): Likewise.
621 (std::operator+): Tidy.
622 (std::operator-): Likewise.
623 (std::operator*): Likewise.
624 (std::operator/): Likewise.
625 (std::operator>>): Likewise.
626
09625c16
PC
6272004-01-11 Paolo Carlini <pcarlini@suse.de>
628
629 PR libstdc++/13582
630 * include/bits/fstream.tcc (imbue): Exploit the external
631 buffer to imbue 'on the fly' a new locale and convert its
632 remainder with the new codecvt facet.
633 (underflow): Tweak slightly to deal with this special case.
634 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
635 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
636 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
637 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
638 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
639
a8d65349
PC
6402004-01-10 Paolo Carlini <pcarlini@suse.de>
641
642 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
643 Import Revision 28.
644
b656faa8
PC
6452004-01-10 Paolo Carlini <pcarlini@suse.de>
646
647 PR libstdc++/13630
648 * include/bits/locale_classes.h (class locale): Fix category
649 typedef.
650 * testsuite/22_locale/locale/13630.cc: Add.
651
f88e4715
GB
6522004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
653
654 * include/bits/locale_facets.h: Make a name really dependent. This
655 will be needed when Core Issue 224 is implemented.
656
64cb2c4a
PC
6572004-01-09 Paolo Carlini <pcarlini@suse.de>
658
659 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
660 * testsuite/performance/allocator_thread.cc: Likewise.
661
158960ba
BK
6622004-01-07 Benjamin Kosnik <bkoz@redhat.com>
663
664 * crossconfig.m4: Add LFS, io bits to linux cross config.
665 * acconfig.h: Remove obsolete bits, reorder.
666 * config.h.in: Regenerate.
667 * aclocal.m4: Same.
668 * configure: Same.
669
e135a038
BK
6702004-01-07 Gawain Bolton <gp.bolton@computer.org>
671
672 * include/bits/stl_list.h:
673 * include/bits/list.tc:
674 * src/list.cc:
675 Performance enhancements for destructor, push_front(),
676 push_back(), pop_front(), pop_back(), sort()
677 Eliminated static_casts where possible.
678 Moved code out of header files into new src/list.cc
679 implementation file for library where possible.
680 Remove inheritance from iterator class and create separate
681 classes for non-constant and constant iterators.
682 * include/bits/stl_tree.h (_Rb_tree class):
683 * src/tree.cc:
684 Only erase contents in destructor.
685 Eliminate unnecessary initialization in assignment operator.
686 Optimize for the nominal case by not checking whether
687 container is empty in clear().
688 Re-order test in _M_insert() to improve performance.
689 Move initialization of new node's left & right pointers to
690 src/tree.cc to where new node's colour is initialized
691 and to reduce the amount of inline code.
692 Use _M_leftmost() and _M_end() to improve readability where
693 appropriate.
694 Create separate classes for non-constant and constant
695 iterators to clarify code, avoid extra template parameters and
696 casting away constness.
697
6982004-01-07 Benjamin Kosnik <bkoz@redhat.com>
699
700 * src/Makefile.am (sources): Add list.cc, tree.cc.
701 * src/stl_tree.cc: Move to...
702 * src/tree.cc: ...here.
703 * src/list.cc: Add.
704 * config/linker-map.gnu: Tweaks.
705 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
706 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
707
708 * bits/stl_vector.h: Column wrap comments.
709
677e7ddc
LR
7102004-01-07 Loren J. Rittle <ljrittle@acm.org>
711
712 (re-open) PR libstdc++/12658
713 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
714 (locale::global): Likewise.
715
d8f5bd50
PC
7162004-01-07 Paolo Carlini <pcarlini@suse.de>
717
718 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
719 Remove redundant #include.
720 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
721 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
722 re-enable normal testing.
723 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
724 #include.
725 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
726 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
727 Likewise.
728 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
729 Likewise.
730 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
731 Likewise.
732 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
733 Likewise.
734 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
735 Likewise.
736 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
737 Likewise.
738 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
739 Likewise.
740 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
741 More properly, #include <locale>.
742 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
743 Remove redundant #include.
744 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
745 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
746 redundant DejaGnu directive.
747 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
748 redundant #include.
749
b61f9bf0
BK
7502004-01-06 Benjamin Kosnik <bkoz@redhat.com>
751 Stefan Olsson <stefan@snon.net>
752
753 * scripts/check_performance: Use -pthread.
754 * testsuite/performance/allocator.cc: Tweaks, add list.
755 * testsuite/performance/allocator_thread.cc: New.
756
b74a6851 7572004-01-06 Jerry Quinn <jlquinn@optonline.net>
9a01c9b0
JQ
758
759 * include/bits/locale_facets.h: Document public classes and
760 functions.
761 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
762 Add comment.
763
b80115c4
PC
7642004-01-06 Paolo Carlini <pcarlini@suse.de>
765
766 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
767 Remove redundant #includes.
768 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
769 Likewise.
770 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
771 Likewise.
772 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
773 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
774 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
775 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
776 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
777 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
778 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
779 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
780 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
781 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
782 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
783 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
784 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
785 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
786 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
787 Likewise.
788 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
789 Likewise.
790 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
791 Likewise.
792 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
793 Likewise.
794 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
795 Likewise.
796 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
797 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
798 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
799
22ed0590 8002004-01-04 Paolo Carlini <pcarlini@suse.de>
223b5084
PC
801
802 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
803 Remove redundant #includes.
804 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
805 Likewise.
806 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
807 Likewise.
808 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
809 Likewise.
810 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
811 Likewise.
812 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
813 Likewise.
814 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
815 Likewise.
816 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
817 Likewise.
818 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
819 Likewise.
820 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
821 Likewise.
822 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
823 Likewise.
824 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
825 Likewise.
826 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
827 Likewise.
828
4f8163b1
MM
8292004-01-04 Mark Mitchell <mark@codesourcery.com>
830
831 PR c++/12226
832 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
833 constructor.
834 * testsuite/27_io/basic_fstream/4.cc: Likewise.
835 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
836 * testsuite/27_io/basic_ios/4.cc: Likewise.
837 * testsuite/27_io/basic_iostream/4.cc: Likewise.
838 * testsuite/27_io/basic_istream/4.cc: Likewise.
839 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
840 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
841 * testsuite/27_io/basic_ostream/4.cc: Likewise.
842 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
843 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
844 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
845
17fa5560
PC
8462004-01-04 Paolo Carlini <pcarlini@suse.de>
847
848 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
849 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
850 always use double underscored names.
851 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
852 Likewise.
853 * include/bits/locale_facets.h (struct __numpunct_cache):
854 Dimension _M_atoms_out and _M_atoms_in one position smaller.
855 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
856 and _M_atoms_in.