]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to CXXFLAGS_save.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
2aa89cbb
PC
12004-03-04 Paolo Carlini <pcarlini@suse.de>
2
3 * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
4 CXXFLAGS_save.
5 * testsuite/lib/libstdc++.exp: Don't add it conditionally to
6 DEFAULT_CXXFLAGS.
7 * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
8 from the dg-options.
9 * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
10 * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
11 * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
12 * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
13 * testsuite/23_containers/vector/resize/1.cc: Likewise.
14 * testsuite/26_numerics/complex_value.cc: Likewise.
15 * testsuite/27_io/ios_base/storage/1.cc: Likewise.
16 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
17 * testsuite/27_io/ios_base/storage/3.cc: Likewise.
18 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
19 * testsuite/27_io/objects/char/5.cc: Likewise.
20 * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
21 * testsuite/backward/11460.cc: Likewise.
22 * testsuite/thread/pthread7-rope.cc: Likewise.
23
24 * testsuite/21_strings/basic_string/compare/char/1.cc: Add
25 missing test variable.
26 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
27 missing test variable.
28
f90e600a
BK
292004-03-04 Benjamin Kosnik <bkoz@redhat.com>
30
31 * testsuite/20_util/allocator/1.cc: Provide explicit
32 instantiations for non-weak systems.
33 * testsuite/20_util/binders.cc: Same.
34 * testsuite/20_util/allocator/8230.cc: Same.
35 * testsuite/20_util/allocator/10378.cc: Same.
36 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
37 * testsuite/22_locale/ctype/is/char/2.cc: Same.
38 * testsuite/thread/pthread7-rope.cc: Same.
39 * testsuite/thread/pthread6.cc: Same.
40 * testsuite/thread/pthread5.cc: Same.
41 * testsuite/thread/pthread4.cc: Same.
42 * testsuite/thread/pthread1.cc: Same.
43 * testsuite/ext/rope.cc: Same.
44 * testsuite/ext/hash_set.cc: Same.
45 * testsuite/ext/hash_map.cc: Same.
46 * testsuite/ext/concept_checks.cc: Same.
47 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
48 * testsuite/25_algorithms/unique/2.cc: Same.
49 * testsuite/25_algorithms/unique/1.cc: Same.
50 * testsuite/25_algorithms/rotate.cc: Same.
51 * testsuite/25_algorithms/min_max.cc: Same.
52 * testsuite/25_algorithms/equal.cc: Same.
53 * testsuite/24_iterators/rel_ops.cc: Same.
54 * testsuite/24_iterators/iterator.cc: Same.
55 * testsuite/24_iterators/insert_iterator.cc: Same.
56 * testsuite/24_iterators/front_insert_iterator.cc: Same.
57 * testsuite/24_iterators/back_insert_iterator.cc: Same.
58 * testsuite/23_containers/vector/resize/1.cc: Same.
59 * testsuite/23_containers/vector/modifiers/2.cc: Same.
60 * testsuite/23_containers/vector/modifiers/1.cc: Same.
61 * testsuite/23_containers/vector/invalidation/4.cc: Same.
62 * testsuite/23_containers/vector/invalidation/3.cc: Same.
63 * testsuite/23_containers/vector/invalidation/2.cc: Same.
64 * testsuite/23_containers/vector/invalidation/1.cc: Same.
65 * testsuite/23_containers/vector/element_access/1.cc: Same.
66 * testsuite/23_containers/vector/cons/6513.cc: Same.
67 * testsuite/23_containers/vector/cons/3.cc: Same.
68 * testsuite/23_containers/vector/cons/2.cc: Same.
69 * testsuite/23_containers/vector/cons/1.cc: Same.
70 * testsuite/23_containers/vector/capacity/8230.cc: Same.
71 * testsuite/23_containers/vector/capacity/1.cc: Same.
72 * testsuite/23_containers/vector/bool/6886.cc: Same.
73 * testsuite/23_containers/stack/members/7158.cc: Same.
74 * testsuite/23_containers/set/invalidation/2.cc: Same.
75 * testsuite/23_containers/set/invalidation/1.cc: Same.
76 * testsuite/23_containers/queue/members/7157.cc: Same.
77 * testsuite/23_containers/priority_queue/members/7161.cc: Same.
78 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
79 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
80 * testsuite/23_containers/multiset/insert/1.cc: Same.
81 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
82 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
83 * testsuite/23_containers/map/operators/1.cc: Same.
84 * testsuite/23_containers/map/invalidation/2.cc: Same.
85 * testsuite/23_containers/map/invalidation/1.cc: Same.
86 * testsuite/23_containers/map/insert/1.cc: Same.
87 * testsuite/23_containers/list/operators/4.cc: Same.
88 * testsuite/23_containers/list/operators/3.cc: Same.
89 * testsuite/23_containers/list/operators/2.cc: Same.
90 * testsuite/23_containers/list/operators/1.cc: Same.
91 * testsuite/23_containers/list/modifiers/3.cc: Same.
92 * testsuite/23_containers/list/modifiers/2.cc: Same.
93 * testsuite/23_containers/list/modifiers/1.cc: Same.
94 * testsuite/23_containers/list/invalidation/4.cc: Same.
95 * testsuite/23_containers/list/invalidation/3.cc: Same.
96 * testsuite/23_containers/list/invalidation/2.cc: Same.
97 * testsuite/23_containers/list/invalidation/1.cc: Same.
98 * testsuite/23_containers/list/cons/9.cc: Same.
99 * testsuite/23_containers/list/cons/8.cc: Same.
100 * testsuite/23_containers/list/cons/7.cc: Same.
101 * testsuite/23_containers/list/cons/6.cc: Same.
102 * testsuite/23_containers/list/cons/5.cc: Same.
103 * testsuite/23_containers/list/cons/4.cc: Same.
104 * testsuite/23_containers/list/cons/3.cc: Same.
105 * testsuite/23_containers/list/cons/2.cc: Same.
106 * testsuite/23_containers/list/cons/1.cc: Same.
107 * testsuite/23_containers/list/capacity/1.cc: Same.
108 * testsuite/23_containers/deque/operators/1.cc: Same.
109 * testsuite/23_containers/deque/invalidation/4.cc: Same.
110 * testsuite/23_containers/deque/invalidation/3.cc: Same.
111 * testsuite/23_containers/deque/invalidation/2.cc: Same.
112 * testsuite/23_containers/deque/invalidation/1.cc: Same.
113 * testsuite/23_containers/deque/cons/2.cc: Same.
114 * testsuite/23_containers/deque/cons/1.cc: Same.
115
116 * src/allocator.cc: Add char, wchar_t instantiations
117 to match extern template declarations in memory.h.
118
ced3ad4d
PC
1192004-03-03 Paolo Carlini <pcarlini@suse.de>
120
121 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
122 Fix warning regression.
123
039e3c5c
PC
1242004-03-03 Paolo Carlini <pcarlini@suse.de>
125
126 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
127 Deal properly with empty __digits and negative frac_digits,
128 clean-up a bit.
129
0d957d26
JW
1302004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
131
132 * docs/html/documentation.html: Regenerate.
133
0b1d67d2
PC
1342004-03-02 Paolo Carlini <pcarlini@suse.de>
135
136 PR libstdc++/14320
137 * include/bits/postypes.h (class streamoff): Remove, now
138 streamoff is just typedef a 64 bit signed integer type.
139 (class fpos): Tweak consistently.
140 * testsuite/27_io/fpos/14320-1.cc: New.
141 * testsuite/27_io/fpos/14320-2.cc: New.
142 * testsuite/27_io/fpos/14320-3.cc: New.
143 * testsuite/27_io/fpos/14320-4.cc: New.
144 * testsuite/27_io/fpos/14320-5.cc: New.
145 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
146
59564c5e
PC
1472004-03-02 Paolo Carlini <pcarlini@suse.de>
148
149 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
150 Reorganize a bit the main parsing loop, thus early detecting
151 an empty value component.
152 * testsuite/22_locale/money_get/get/char/16.cc: New.
153 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
154
ec2075e9
BK
1552004-03-02 Benjamin Kosnik <bkoz@redhat.com>
156
157 Support automake 1.8.2
158 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
159 * po/Makefile.am (EXTRA_DIST): New.
160 * po/Makefile.in: Regenerate.
161 * Makefile.in: Same.
162 * include/Makefile.in: Same.
163 * libmath/Makefile.in: Same.
164 * libsupc++/Makefile.in: Same.
165 * src/Makefile.in: Same.
166 * testsuite/Makefile.in: Same.
167
168 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
169 __GXX_WEAK__ instead of SUPPORTS_WEAK.
170 (${host_builddir}/gthr-default.h): Same.
171 (${host_builddir}/gthr.h): Same.
172 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
173 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
174 -fno-weak.
175 * aclocal.m4: Regenerate.
176 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
177 * config.h.in: Regenerate.
178 * configure: Same.
179
f214923c
BK
1802004-03-01 Benjamin Kosnik <bkoz@redhat.com>
181
ec2075e9 182 Support autoconf 2.59
f214923c
BK
183 * acinclude.m4: Quote correctly.
184 * aclocal.m4: Regenerate.
185 * linkage.m4: Same.
186
67283362
BK
1872004-03-01 Benjamin Kosnik <bkoz@redhat.com>
188
189 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
190
191 * docs/html/18_support/howto.html: Add bit about writing to
192 stderr, mostly by Zack.
193
98e953f5
PC
1942004-03-01 Paolo Carlini <pcarlini@suse.de>
195
196 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
197 money_get<>::do_get(string_type&)): ... and two more.
198
b19fb27d
PC
1992004-03-01 Paolo Carlini <pcarlini@suse.de>
200
201 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
202 Fix thinkos in the switch from string_type& to string& as last
203 argument.
204
08ff96c3
PC
2052004-03-01 Paolo Carlini <pcarlini@suse.de>
206
207 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
208 Also when parsing exponent sign, first look for thousands_sep
209 and decimal_point; tweak a bit.
210 * testsuite/22_locale/num_get/get/char/15.cc: New.
211 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
212
213 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
214 num_get<>::_M_extract_int): Reorder some conditionals.
215
2162004-03-01 Paolo Carlini <pcarlini@suse.de>
217
218 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
219 Consistently with numpunct, enforce the requirements in
220 22.2.6.3, p3 for the thousands separators; tweak a bit.
221 * testsuite/22_locale/money_get/get/char/15.cc: New.
222 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
223
1152b861
DB
2242004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
225
226 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
227 testsuite_files from correct multilib blddir when running
228 testsuite.
229
8b425082
PE
2302004-02-29 Phil Edwards <phil@codesourcery.com>
231
232 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
233 the summary file to the logfile.
234 * testsuite/Makefile.in: Regenerate.
235
3a1a4ed2
JDA
2362004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
237
238 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
239 volatile.
240 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
241 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
242
0e1b98cc
PC
2432004-02-28 Paolo Carlini <pcarlini@suse.de>
244
245 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
246 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
247 no 'decimal-point' in the middle: in this case too we must fix
248 up __found_grouping; slightly tweak.
249 * testsuite/22_locale/num_get/get/char/14.cc: New.
250 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
251
58adf39c
EC
2522004-02-27 Eric Christopher <echristo@redhat.com>
253 Phil Edwards <phil@codesourcery.com>
254
255 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
256 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
257 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
258 testsuite/22_locale/collate/hash/wchar_t/2.cc,
259 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
260 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
261 testsuite/22_locale/collate/transform/wchar_t/2.cc,
262 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
263 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
264 Use dg-require-iconv.
265 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
266
23834577 2672004-02-27 Phil Edwards <phil@codesourcery.com>
58adf39c 268 Eric Christopher <echristo@redhat.com>
23834577
PE
269
270 * testsuite/config/default.exp: Update with comments.
271 (${tool}_target_compile): New wrapper routine.
272 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
273 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
274 fixes.
275 (load_gcc_lib, v3track): New routines.
276 (v3-init): Rename to libstdc++_init.
277 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
278 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
279
00d04db6
BK
2802004-02-27 Benjamin Kosnik <bkoz@redhat.com>
281
282 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
283
284 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
285
286 * config/os/irix/irix5.2/atomicity.h: Merge..
287 * config/os/irix/irix6.5/atomicity.h: Merge..
288 * config/os/irix/atomicity.h: ...into this.
289 * config/os/irix/atomic_word.h: New.
290 * configure.host: Set atomic_word_dir for irix.
291
292 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
293 * i386/atomicity.h: Same.
294 * m68k/atomicity.h: Same.
295 * sparc/atomicity.h: Same.
296
c284a126
DE
2972004-02-27 David Edelsohn <edelsohn@gnu.org>
298
299 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
00d04db6 300 static, and inline keywords.
c284a126 301
a8ea7389
PC
3022004-02-27 Paolo Carlini <pcarlini@suse.de>
303
304 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
305 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
306 call reserve on the __tmp_gruping string.
307 (num_get<>::_M_extract_float): Don't append unnecessarily a
308 char() to the returned string.
309 * include/bits/locale_facets.tcc: Trivial reformattings.
310
f4bdbead
PC
3112004-02-27 Paolo Carlini <pcarlini@suse.de>
312
313 * include/bits/locale_facets.h (money_get<>::_M_extract):
314 Change signature: now takes a plain string&.
315 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
316 Update consistently the definition; use the moneypunct cache
317 to parse the value; use swap to change __units.
318 (money_get<>::do_get(long double&)): Update call of _M_extract,
319 avoid ctype::narrow, not correct wrt the standard.
320 (money_get<>::do_get(string_type&)): Likewise, update call
321 of _M_extract, use ctype::widen.
322 * src/locale-inst.cc: Tweak instantiations of _M_extract.
323
40fcf31b
BK
3242004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
325
326 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
327 * testsuite/demangle/abi_examples/02.cc: Likewise.
328 * testsuite/demangle/regression/cw-11.cc: Likewise.
329 * testsuite/demangle/regression/cw-16.cc: Change two expected
330 results to match libiberty demangler output.
331
3322004-02-26 Benjamin Kosnik <bkoz@redhat.com>
333
334 PR libstdc++/10246
335 * libsupc++/Makefile.am: Use libiberty demangler.
336 (c_sources): Add cp-demangle.c.
337 * libsupc++/Makefile.in: Regenerate.
338 * src/Makefile.am (sources): Remove demangle.cc.
339 * src/Makefile.in: Regenerate.
340 * include/Makefile.am (bits_headers): Move demangle.h.
341 (ext_headers): ...here.
342 * include/Makefile.in: Regenerate.
343 * include/bits/demangle.h: Move...
344 * include/ext/demangle.h: ...here.
345 * src/demangle.cc: Remove.
346
3472004-02-26 Benjamin Kosnik <bkoz@redhat.com>
348
349 * include/bits/demangle.h: Add type template parameter to all
350 templates with just an Allocator template parameter.
351
2c5d0ae8
BK
3522004-02-25 Benjamin Kosnik <bkoz@redhat.com>
353
354 * include/bits/atomicity.h: New, forward declarations for __atomic_add
355 and __exchange_and_add.
356 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
357 * config/cpu/cris/atomic_word.h: Same.
358 * config/cpu/sparc/atomic_word.h: Same.
359 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
360 Qualifiy with __gnu_cxx.
361 (_Callback_list::_M_add_reference): Same.
362 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
363 (locale::facet::_M_remove_reference): Same.
364 (locale::_Impl::_M_add_reference): Add.
365 (locale::_Impl::_M_remove_reference): Same.
366 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
367 (basic_string::_Rep::_M_dispose): Same.
368 * src/ios.cc (ios_base::xalloc): Same.
369 * src/ios_init.cc (ios_base::Init::Init): Same.
370 (ios_base::Init::~Init): Same.
371 * src/locale.cc (locale::id::_M_id): Same.
372 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
00d04db6 373 static, and inline keywords.
2c5d0ae8
BK
374 * config/cpu/alpha/atomicity.h: Same.
375 * config/cpu/cris/atomicity.h: Same.
376 * config/cpu/generic/atomicity.h: Same.
377 * config/cpu/hppa/atomicity.h: Same.
378 * config/cpu/i386/atomicity.h: Same.
379 * config/cpu/ia64/atomicity.h: Same.
380 * config/cpu/m68k/atomicity.h: Same.
381 * config/cpu/mips/atomicity.h: Same.
382 * config/cpu/powerpc/atomicity.h: Same.
383 * config/cpu/s390/atomicity.h: Same.
384 * config/cpu/sparc/atomicity.h: Same.
385
386 * src/Makefile.am (host_sources): Add atomicity.cc.
387 (atomicity.cc): New rule.
388 * src/Makefile.in: Regenerate.
389 * include/Makefile.am (host_headers): Remove host atomicity.h.
390 (host_headers): Add atomic_word.h.
391 (bits_headers): Add bits atomicity.h.
392 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
393 * include/Makefile.in: Regenerate.
394 * configure.host (atomic_word_dir): Add.
395 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
396 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
397 * configure: Regenerate.
398 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
399
400 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
401 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
402
cec0e70b
JW
4032004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
404
405 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
406 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
407 Fix markup, more <link> tags.
408
bb9f8a85
CW
4092004-02-25 Carlo Wood <carlo@alinoe.com>
410
411 * bits/demangle.h
412 namespace __gnu_cxx::demangler
413 (session<Allocator>::qualifier_list_Allocator): Add
414 (session<Allocator>::M_qualifier_list_alloc): Add
415 (session<Allocator>::decode_type_with_postfix):
416 Use M_qualifier_list_alloc instead of calling operator new/delete.
417
b79cef06
PC
4182004-02-24 Paolo Carlini <pcarlini@suse.de>
419
420 PR libstdc++/14252
421 * include/bits/postypes.h (class streamoff): Add operator++(),
422 operator++(int), operator--() and operator--(int).
423 * testsuite/27_io/fpos/14252.cc: New.
424
212063a8
RS
4252004-02-24 Richard Sandiford <rsandifo@redhat.com>
426
427 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
428 error in handling of hex constants.
429
031e658e
PC
4302004-02-24 Paolo Carlini <pcarlini@suse.de>
431
432 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
433 Prefer basic_string::append to operator+= and a temporary.
434
6f94dea7
BK
4352004-02-23 Benjamin Kosnik <bkoz@redhat.com>
436
437 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
438 Only use fputs, not write.
439
20d0a40e 4402004-02-23 Benjamin Kosnik <bkoz@redhat.com>
f263b26e
BK
441
442 * include/ext/malloc_allocator.h: Add operators ==, !=.
443 * include/ext/new_allocator.h: Add operators ==, !=.
444 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
445 (__mt_alloc::_S_get_options): New.
446 (__mt_alloc::_S_set_options): New.
447 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
448 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
449 Move functions out of line, simplify, format.
450 * src/allocator.cc: Simplify explicit instantiations.
451 * include/bits/allocator.h: Tweak.
452
20da06ef
PC
4532004-02-22 Paolo Carlini <pcarlini@suse.de>
454
455 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
456 Restructure formatting of value component, first dealing with
457 the non-decimal digits; use reserve.
458
4592004-02-22 Paolo Carlini <pcarlini@suse.de>
460
461 * include/bits/locale_facets.h (class money_get): Inherit
462 from money_base too; tweak declaration of _M_extract, now
463 parameterized on _Intl too.
464 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
465 Update definition to use the cache; call reserve on __res to
466 avoid multiple reallocations; fix parsing of sign component
467 according to 22.2.6.1.2, p3.
468 (money_get<>::do_get(long double&),
469 money_get<>::do_get(string_type&)): Update calls of _M_extract.
470 * src/locale-inst.cc: Add instantiations of
471 money_get::_M_extract<false> and money_get::_M_extract<true>.
472 * testsuite/22_locale/money_get/get/char/14.cc: New.
473 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
474
afc3bb58
MM
4752004-02-21 Mark Mitchell <mark@codesourcery.com>
476
477 * libsupc++/vterminate.cc
478 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
479 calls to terminate.
480 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
481
482 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
483 not set RLIMIT_AS on HP-UX.
484
e1efc7a0
MM
4852004-02-21 Mark Mitchell <mark@codesourcery.com>
486
487 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
488 not set RLIMIT_AS on HP-UX.
489
fe932e50
PC
4902004-02-21 Paolo Carlini <pcarlini@suse.de>
491
492 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
493 _S_zero, _S_end } enum, _S_atoms.
494 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
495 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
496 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
497 (__moneypunct_cache<>::~__moneypunct_cache): Update.
498 (__moneypunct_cache<>::_M_cache): Fill the cache.
499 (class moneypunct): Tweak __cache_type typedef.
500 (class money_put): Inherit from money_base too; tweak declaration
501 of _M_insert, now parameterized on _Intl.
502 * include/bits/locale_facets.tcc
503 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
504 (money_put<>::_M_insert): Update definition to use the cache;
505 call reserve on __res to avoid multiple reallocations.
506 (money_put<>::do_put(long double),
507 money_put<>::do_put(const string_type&): Update calls of _M_insert.
508 * config/locale/generic/monetary_members.cc
509 (moneypunct<char, true>::_M_initialize_moneypunct,
510 moneypunct<char, false>::_M_initialize_moneypunct,
511 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
512 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
513 * config/locale/gnu/monetary_members.cc: Likewise.
514 * config/locale/gnu/monetary_members.cc
515 (moneypunct<wchar_t, true>::~moneypunct(),
516 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
517 * src/globals_locale.cc: Tweak fake_money_cache_c.
518 * src/locale-inst.cc: Add instantiations for
519 money_put::_M_insert<false> and money_put::_M_insert<true> and
520 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
521 * src/locale_facets.cc: Define money_base::_S_atoms.
522 * src/locale_init.cc: Update placement new of
523 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
524 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
525
526 * config/locale/generic/numeric_members.cc: Clean up.
527 * config/locale/gnu/numeric_members.cc: Likewise.
528 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
529 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
530 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
531 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
532 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
533 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
534
f196bdc4
MM
5352004-02-20 Mark Mitchell <mark@codesourcery.com>
536
537 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
538 FIFO for writing with ios_base::in|ios_base::out.
539 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
540 * testsuite/27_io/objects/char/7.cc: Likewise.
541 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
542 with "r+".
543
2df93cf3
DE
5442004-02-19 David Edelsohn <edelsohn@gnu.org>
545
546 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
547 from iso-8859-1 to ISO8859-1.
548 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
549 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
550 * 22_locale/collate/hash/wchar_t/2.cc: Same.
551 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
552 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
553 * 22_locale/collate/transform/wchar_t/2.cc: Same.
554 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
555 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
556
2ddf25f2
PC
5572004-02-18 Paolo Carlini <pcarlini@suse.de>
558
559 * include/bits/locale_facets.h (money_get<>::_M_extract):
560 New, helper for do_get.
561 (money_put<>::_M_insert): Likewise, for do_put.
562 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
563 money_put<>::_M_insert): Define.
564 (money_get<>::do_get(long double&), money_get<>::do_get(
565 string_type&), money_put::do_put(long double),
566 money_put::do_put(const string_type&)): Use the helpers.
567
94b8de97
PC
5682004-02-18 Paolo Carlini <pcarlini@suse.de>
569
570 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
571 Rewrite, avoiding recursion.
572 (__gnu_internal::xwrite): Minor tweaks.
573
4d0bdcd6
SO
5742004-02-17 Stefan Olsson <stefan@xapa.se>
575
576 * include/ext/mt_allocator.h: Removed the last
577 pointer. Deallocated blocks are now added to the front of
578 freelists as proposed by Felix Yen. This gives roughly 10%
579 performance boost and saves some memory.
580 * docs/html/ext/mt_allocator.html: Change due to that deallocated
581 blocks now are added to the front of freelists. The reason to this
582 approach is also explained.
bb9f8a85 583
6d4925e3
PC
5842004-02-17 Paolo Carlini <pcarlini@suse.de>
585
586 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
587 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
588 grouping fidelity conditional.
589
3e9b6cf4
PC
5902004-02-16 Paolo Carlini <pcarlini@suse.de>
591
592 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
593 Qualify exception with std::.
594 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
595 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
596 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
597 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
598 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
599
835abbf7
PC
6002004-02-16 Paolo Carlini <pcarlini@suse.de>
601
602 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
603 for now that the catch block is not reached.
604 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
605
b7e64db2
PC
6062004-02-16 Paolo Carlini <pcarlini@suse.de>
607
608 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
609 Fix parsing of the remaining sign characters.
610 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
611 the input is scanned 'til eof.
612 * 22_locale/money_get/get/char/4.cc: Likewise.
613 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
614 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
615 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
616 not do_pos_format: the former is the only one that matters during
617 input.
618 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
619
620 * 22_locale/money_get/get/char/6.cc: Minor tweak.
621 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
622
230377dc
DA
6232004-02-15 David Asher <david.asher@cavium.com>
624
625 PR libstdc++/11352
626 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
627 access __olds beyond __oldlen.
628
45cbe93c
PC
6292004-02-14 Paolo Carlini <pcarlini@suse.de>
630
631 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
632 sure the exception is actually thrown.
633 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
634 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
635 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
636
ac3cadf0
PC
6372004-02-14 Paolo Carlini <pcarlini@suse.de>
638
639 PR libstdc++/13858
640 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
641 In case of conversion errors, throw ios_failure; simplify.
642 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
643 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
644 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
645 previously we didn't throw in case of conversion errors, instead
646 just returned eof().
647 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
648 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
649 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
650
651 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
652 Trivial simplification of a conditional.
653
2e9a1f6b
PC
6542004-02-12 Paolo Carlini <pcarlini@suse.de>
655
656 PR libstdc++/13731 (final part: writev)
20da06ef 657 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2e9a1f6b
PC
658 New, a wrapper around writev() handling partial writes.
659 (__basic_file<char>::xwrite): Move to __gnu_internal and make
660 static.
661 (__basic_file<char>::xsputn): Update call.
662 (__basic_file<char>::xsputn_2): Likewise.
20da06ef 663 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2e9a1f6b
PC
664 Don't declare, now static.
665
1c86f39d
BK
6662004-02-11 Stefan Olsson <stefan@xapa.se>
667
668 * docs/html/ext/mt_allocator.html: New.
669
6702004-02-11 Benjamin Kosnik <bkoz@redhat.com>
671
672 * docs/html/20_util/allocator.html: New file, consolidate
673 allocator information here. Revamp.
674 * docs/html/documentation.html: Change links.
675 * docs/html/20_util/howto.html: Same.
676 * docs/html/ext/howto.html: Same.
677
98e96784
PC
6782004-02-11 Paolo Carlini <pcarlini@suse.de>
679
680 PR libstdc++/13731 (first part: write)
681 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
682 New, declare.
683 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
684 Define it: a wrapper around write() handling partial write.
685 (__basic_file<char>::xsputn): Use it.
686 (__basic_file<char>::xsputn_2): Likewise.
687
a2af66c1
PC
6882004-02-11 Paolo Carlini <pcarlini@suse.de>
689 Petur Runolfsson <peturr02@ru.is>
690
691 PR libstdc++/14078
692 * include/std/std_istream.h (operator>>(__istream_type& (*)
693 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
694 operator>>(ios_base& (*)(ios_base&))): Declare inline.
695 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
696 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
697 operator<<(ios_base& (*) (ios_base&))): Likewise.
698 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
699
64bd39cc
LR
7002004-02-10 Loren J. Rittle <ljrittle@acm.org>
701
702 PR libstdc++/14098
703 * config/linker-map.gnu: Add typeinfo and typeinfo name for
704 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
705
d318a8ba
LR
706 PR libstdc++/14097
707 * config/linker-map.gnu: Add typeinfo and typeinfo name for
708 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
709
a39c16dd
LR
7102004-02-09 Loren J. Rittle <ljrittle@acm.org>
711
712 * include/ext/pool_allocator.h: Include c++config.h.
713
1ef00312
SO
7142004-02-09 Stefan Olsson <stefan@xapa.se>
715
716 * include/ext/mt_allocator.h: thread_id is unused in non threaded
717 applications and now has a ifdef to remove it completely on
718 compilers without thread support. Include stdlib.h due to a
719 compiler warning on getenv().
720
1b81e1b5
PB
7212004-02-09 Paul Brook <paul@codesourcery.com>
722
723 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
724
cf0d2c40
PC
7252004-02-09 Paolo Carlini <pcarlini@suse.de>
726
727 PR libstdc++/14071
728 * src/locale_init.cc (locale::global(const locale&)): Use
729 locale::name() in order to decide whether calling setlocale.
730 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
731
732 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
733 Avoid computing &= unnecessarily.
734
664fc5df
JW
7352004-02-09 James E Wilson <wilson@specifixinc.com>
736
737 PR libstdc++/5625
738 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
739 __builtin_extend_pointer.
740
86fd2b51
PC
7412004-02-09 Paolo Carlini <pcarlini@suse.de>
742
743 PR libstdc++/14072
744 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
745 Don't leave dangling pointers.
746 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
747 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
748 facet is needed in the final test.
749
f19e9e4d
BI
7502004-02-09 Bernardo Innocenti <bernie@develer.com>
751
752 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
753 * configure: Regenerate.
754
c3862806
RH
7552004-02-08 Richard Henderson <rth@redhat.com>
756
757 PR libstdc++/14026
758 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
759 uncaughtExceptions during nested catch rethrow.
760 * testsuite/18_support/14026.cc: New.
761
fd95f498
PC
7622004-02-08 Paolo Carlini <pcarlini@suse.de>
763
764 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
765 When working in place remember to set the state to sharable
766 (otherwise, _M_mutate does it).
767
ed6814f7
BI
7682004-02-08 Bernardo Innocenti <bernie@develer.com>
769
770 * include/bits/allocator.h, include/bits/basic_ios.h,
771 include/bits/basic_ios.tcc, include/bits/basic_string.h,
772 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
773 include/bits/char_traits.h, include/bits/codecvt.h,
774 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
775 include/bits/demangle.h, include/bits/deque.tcc,
776 include/bits/fstream.tcc, include/bits/functexcept.h,
777 include/bits/gslice.h, include/bits/gslice_array.h,
778 include/bits/indirect_array.h, include/bits/ios_base.h,
779 include/bits/istream.tcc, include/bits/list.tcc,
780 include/bits/locale_classes.h, include/bits/locale_facets.h,
781 include/bits/locale_facets.tcc, include/bits/localefwd.h,
782 include/bits/mask_array.h, include/bits/ostream.tcc,
783 include/bits/postypes.h, include/bits/slice_array.h,
784 include/bits/sstream.tcc, include/bits/stl_algo.h,
785 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
786 include/bits/stl_construct.h, include/bits/stl_deque.h,
787 include/bits/stl_function.h, include/bits/stl_heap.h,
788 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
789 include/bits/stl_list.h, include/bits/stl_map.h,
790 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
791 include/bits/stl_numeric.h, include/bits/stl_pair.h,
792 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
793 include/bits/stl_relops.h, include/bits/stl_set.h,
794 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
795 include/bits/stl_threads.h, include/bits/stl_tree.h,
796 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
797 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
798 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
799 include/bits/type_traits.h, include/bits/valarray_after.h,
800 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
801 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
802 trailing whitespace.
803
eee54836
PC
8042004-02-06 Paolo Carlini <pcarlini@suse.de>
805
806 * include/bits/basic_string.h: Fix comment.
807
15d72060
PC
8082004-02-06 Paolo Carlini <pcarlini@suse.de>
809
810 * include/bits/stl_construct.h: Wrap overlong lines, reformat
811 according to the coding standards.
812 * include/bits/stl_pair.h: Likewise.
813 * include/bits/stl_raw_storage_iter.h: Likewise.
814 * include/bits/stl_stack.h: Likewise.
815 * include/bits/stl_uninitialized.h: Likewise.
816 * include/bits/stream_iterator.h: Likewise.
817 * include/bits/streambuf_iterator.h: Likewise.
818 * include/bits/type_traits.h: Likewise.
819
c5dd98f3
PC
8202004-02-06 Paolo Carlini <pcarlini@suse.de>
821
822 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
823 Adjust timings.
824
462f4a81
LR
8252004-02-05 Loren J. Rittle <ljrittle@acm.org>
826
827 * scripts/check_performance: Support PCH.
828
fbdf188d
LR
829 * scripts/check_performance (CXX): Add -DNOTHREAD.
830 * testsuite/performance/20_util/allocator/insert.cc: Integrate
831 threaded tests from insert_insert.cc. Tweak iterations,
832 remove special cases.
833 * testsuite/performance/20_util/allocator/insert_insert.cc:
834 Make all tests single-threaded. Tweak iterations.
835 * testsuite/performance/20_util/allocator/map_thread.cc:
836 Tweak iterations.
837 * testsuite/performance/20_util/allocator/producer_consumer.cc:
838 Likewise.
839
0314451d
GK
8402004-02-05 Geoffrey Keating <geoffk@apple.com>
841
842 PR 12179
843 * .cvsignore: New.
844 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
845 'gcc-lib'. Add comment about poorly-named variables.
846 * aclocal.m4: Regenerate.
847 * configure: Regenerate.
848
d9010fca
PC
8492004-02-05 Paolo Carlini <pcarlini@suse.de>
850
851 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
852 Thousands-sep are always optional; thousands-sep are not allowed
853 after the decimal_point.
854 * testsuite/22_locale/money_get/get/char/12.cc: New.
855 * testsuite/22_locale/money_get/get/char/13.cc: New.
856 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
857 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
858
859 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
860 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
861 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
862 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
863 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
864 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
865 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
866 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
867
868 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
869 the standard.
870 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
871
d232925f
RS
8722004-02-05 Richard Sandiford <rsandifo@redhat.com>
873
874 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
875 Define.
876 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
877 it to decide whether FIONREAD should take an off_t or int argument.
878
92ff3e43
PC
8792004-02-05 Paolo Carlini <pcarlini@suse.de>
880
881 * include/bits/stl_function.h: Minor formatting changes.
882
9fe7e2b7
ZW
8832004-02-04 Zack Weinberg <zack@codesourcery.com>
884
885 Revert previous change to config/abi/*/baseline_symbols.txt.
886
6a734d61
BK
8872004-02-04 Benjamin Kosnik <bkoz@redhat.com>
888 Zack Weinberg <zack@codesourcery.com>
889
890 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
891 New function.
892 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
893 (__basic_file<char>::_M_open_mode): Delete.
894 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
895
896 * testsuite/27_io/basic_filebuf/close/char/9964.cc
897 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
898 Correct flags to filebuf::open calls.
899
900 * config/abi/alpha-freebsd5/baseline_symbols.txt
901 * config/abi/alpha-linux-gnu/baseline_symbols.txt
902 * config/abi/hppa-linux-gnu/baseline_symbols.txt
903 * config/abi/i386-freebsd4/baseline_symbols.txt
904 * config/abi/i386-freebsd5/baseline_symbols.txt
905 * config/abi/i486-linux-gnu/baseline_symbols.txt
906 * config/abi/ia64-linux-gnu/baseline_symbols.txt
907 * config/abi/mips-linux-gnu/baseline_symbols.txt
908 * config/abi/sparc-freebsd5/baseline_symbols.txt
909 * config/abi/sparc-linux-gnu/baseline_symbols.txt
910 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
911 Remove entry for __basic_file<char>::_M_open_mode.
912
f63fd68b
LR
9132004-02-04 Loren J. Rittle <ljrittle@acm.org>
914
915 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
916
de8a2f87
BK
9172004-02-04 Felix Yen <fwy@alumni.brown.edu>
918
919 * testsuite/performance/20_util/producer_consumer.cc: New.
920 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
6a734d61 921
de8a2f87 9222004-02-04 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 923
de8a2f87 924 * testsuite/performance/20_util/allocator.cc: Move to..
6a734d61 925 * testsuite/performance/20_util/allocator/insert.cc: ...here.
de8a2f87
BK
926 * testsuite/performance/20_util/allocator_thread.cc: Move to...
927 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
928 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
929 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
6a734d61 930
772fec9a
JW
9312004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
932
933 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
934 * docs/html/faq/index.txt: Regenerate.
935
56766e0d
DM
9362004-02-04 Dhruv Matani <dhruvbird@gmx.net>
937
938 * include/ext/debug_allocator.h: _M_extra now stands for the
939 number of extra objects instead of the number of extra bytes.
940 (debug_allocator::allocate): Adjust.
941 (debug_allocator::deallocate): Adjust.
942
943 * include/ext/pool_allocator.h: Fix typo.
944
22269632
FY
9452004-02-03 Felix Yen <fwy@alumni.brown.edu>
946 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 947
22269632
FY
948 * testsuite/performance/20_util/allocator.cc: Add map,
949 deque, set tests.
950 * testsuite/performance/20_util/allocator_thread.cc: Same.
6a734d61 951
129e9210
PC
9522004-02-03 Paolo Carlini <pcarlini@suse.de>
953
954 * include/bits/basic_string.h (insert(iterator)): Remove,
955 non-standard and already scheduled for removal.
956
83042fca
PC
9572004-02-03 Paolo Carlini <pcarlini@suse.de>
958
959 * include/bits/stl_iterator_base_funcs.h: Minor formatting
960 and indentation tweaks.
961 * include/bits/stl_iterator_base_types.h: Likewise.
962 * include/bits/stl_list.h: Likewise.
963 * include/bits/stl_map.h: Likewise.
964 * include/bits/stl_tempbuf.h: Likewise.
965
06a81b60
JQ
9662004-02-02 Jerry Quinn <jlquinn@optonline.net>
967
968 * include/bits/gslice.h, include/bits/gslice_array.h,
969 include/bits/indirect_array.h, include/bits/mask_array.h,
970 include/bits/slice_array.h, include/bits/stl_numeric.h,
971 include/std/std_valarray.h: Update copyright years.
972
7fb397a4
JQ
9732004-02-02 Jerry Quinn <jlquinn@optonline.net>
974
975 * include/bits/gslice.h (gslice): Document.
976 * include/bits/gslice_array.h (gslice_array): Document.
977 * include/bits/indirect_array (indirect_array): Document.
978 * include/bits/mask_array (mask_array): Document.
979 * include/bits/slice_array.h (slice,slice_array): Document.
980 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
981 adjacent_difference): Document
982 * include/std/std_valarray.h (valarray): Document.
983
7f7fb4ef
BK
9842004-02-02 Benjamin Kosnik <bkoz@redhat.com>
985
6a734d61
BK
986 * docs/html/19_diagnostics/howto.html: Move verbose terminate
987 documentation...
988 * docs/html/18_support/howto.html: Here.
989 * docs/html/documentation.html: Add reference here.
990
9924f721
PC
9912004-02-02 Paolo Carlini <pcarlini@suse.de>
992
993 * config/locale/gnu/c++locale_internal.h: Remove prototypes
994 of no longer used GLIBC thread locale functions.
995
2ba43229 9962004-02-02 Eric Christopher <echristo@redhat.com>
6a734d61 997 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
998
999 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
6a734d61
BK
1000 -finput-charset.
1001 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
1002 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
16dd5cfe 1003 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
6a734d61
BK
1004 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
1005 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
1006 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
1007 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
1008 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
16dd5cfe
EC
1009 Ditto.
1010
7c920151
PC
10112004-02-02 Paolo Carlini <pcarlini@suse.de>
1012
1013 * include/bits/stl_function.h: Additional minor tweaks.
1014 * include/bits/stl_multiset.h: Likewise.
1015
1016 * include/bits/stl_queue.h: Minor tweaks.
1017
dcec0389
PC
10182004-02-02 Paolo Carlini <pcarlini@suse.de>
1019
1020 PR libstdc++/13976 (continued)
1021 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
1022 Make the second parameter unnamed, to void unused parameter
1023 warnings.
1024 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
1025
90f8b692
PC
10262004-02-02 Paolo Carlini <pcarlini@suse.de>
1027
1028 PR libstdc++/13976
1029 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
1030 Make the second parameter unnamed, to void unused parameter
1031 warnings.
1032 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
1033 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
1034
737ab798
PC
10352004-02-01 Paolo Carlini <pcarlini@suse.de>
1036
1037 * include/bits/stl_algo.h: Additional minor tweaks.
1038 * include/bits/stl_map.h: Likewise.
1039 * include/bits/stl_multimap.h: Likewise.
1040 * include/bits/stl_multiset.h: Likewise.
1041 * include/bits/stl_set.h: Likewise.
1042 * include/bits/stl_tree.h: Likewise.
1043
64ebadac
PC
10442004-02-01 Paolo Carlini <pcarlini@suse.de>
1045
1046 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
1047 Remove, unused.
1048
afd4cbbb
PC
10492004-02-01 Paolo Carlini <pcarlini@suse.de>
1050
1051 * include/bits/stl_function.h: Additional minor tweaks.
1052
f6592a9e
PC
10532004-02-01 Paolo Carlini <pcarlini@suse.de>
1054
1055 * include/bits/deque.tcc: Wrap overlong lines, constify
1056 a few variables, reformat according to the coding standards.
1057 * include/bits/list.tcc: Likewise.
1058 * include/bits/stl_deque.h: Likewise.
1059 * include/bits/stl_function.h: Likewise.
1060 * include/bits/stl_iterator.h: Likewise.
1061 * include/bits/stl_iterator_base_funcs.h: Likewise.
1062 * include/bits/stl_iterator_base_types.h: Likewise.
1063 * include/bits/stl_list.h: Likewise.
1064 * include/bits/stl_map.h: Likewise.
1065 * include/bits/stl_multimap.h: Likewise.
1066 * include/bits/stl_multiset.h: Likewise.
1067 * include/bits/stl_relops.h: Likewise.
1068 * include/bits/stl_set.h: Likewise.
1069
62e67651
PC
10702004-02-01 Paolo Carlini <pcarlini@suse.de>
1071
1072 * include/bits/stl_bvector.h: Wrap overlong lines, constify
1073 a few variables, reformat according to the coding standards.
1074 * include/bits/stl_tree.h: Likewise.
1075
8f7ca398
PC
10762004-01-31 Paolo Carlini <pcarlini@suse.de>
1077
1078 * include/bits/stl_algo.h: Minor additional reformat, add
1079 copyright year.
1080 * include/bits/stl_algobase.h: Add copyright year.
1081
ffa67767
PC
10822004-01-31 Paolo Carlini <pcarlini@suse.de>
1083
1084 * include/bits/stl_algo.h: Wrap overlong lines, constify
1085 a few variables, reformat according to the coding standards.
1086 * include/bits/stl_algobase.h: Likewise.
1087 * include/bits/stl_heap.h: Likewise.
1088
8de63ee0
PC
10892004-01-31 Paolo Carlini <pcarlini@suse.de>
1090
1091 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
1092
1093 * include/bits/basic_string.h: Fix two comments.
1094
af3fb3d6
PB
10952004-01-31 Per Bothner <per@bothner.com>
1096
1097 * include/ext/mt_allocator.h
1098 (__mt_alloc::_S_thread_freelist_mutex): Guard with
1099 __GTHREAD_MUTEX_INIT.
1100
24f33069
PC
11012004-01-31 Paolo Carlini <pcarlini@suse.de>
1102
1103 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
1104
7c960b3d
PC
11052004-01-30 Paolo Carlini <pcarlini@suse.de>
1106
1107 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
1108 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
1109 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
16dd5cfe 1110
7b1d1edf
FY
11112004-01-30 Felix Yen <fwy@alumni.brown.edu>
1112
1113 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
1114 Don't use clear, but instead assign. Use insert.
1115
c9732ce7
BK
11162004-01-30 Benjamin Kosnik <bkoz@redhat.com>
1117
1118 * src/demangle.cc: Add instantiations.
1119 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
1120 * src/Makefile.in: Regenerate.
16dd5cfe 1121
25d24447
DE
11222004-01-30 David Edelsohn <edelsohn@gnu.org>
1123
1124 * src/allocator.cc: Protect _S_get_thread_id() and
1125 _S_thread_key_destr() with #ifdef __GTHREADS.
1126
33e95e9d
PC
11272004-01-30 Paolo Carlini <pcarlini@suse.de>
1128
1129 Reshuffle performance testsuite.
1130 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
1131 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
1132 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
1133 fstream_seek_write.cc, ifstream_extract_float.cc,
1134 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
1135 list_create_fill_sort.cc, map_create_fill.cc,
1136 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
1137 ofstream_insert_float.cc, ofstream_insert_int.cc,
1138 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
1139 wchar_t_out.cc: Split into...
1140 * testsuite/performance/20_util/allocator.cc: New.
1141 * testsuite/performance/20_util/allocator_map_thread.cc: New.
1142 * testsuite/performance/20_util/allocator_thread.cc: New.
1143 * testsuite/performance/21_strings/string_append: New.
1144 * testsuite/performance/22_locale/is_wchar_t.cc: New.
1145 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
1146 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
1147 * testsuite/performance/22_locale/wchar_t_in.cc: New.
1148 * testsuite/performance/22_locale/wchar_t_length.cc: New.
1149 * testsuite/performance/22_locale/wchar_t_out.cc: New.
1150 * testsuite/performance/23_containers/container_benchmark.cc: New.
1151 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
1152 * testsuite/performance/23_containers/map_create_fill.cc: New.
1153 * testsuite/performance/26_numerics/complex_norm.cc: New.
1154 * testsuite/performance/27_io/cout_insert_int.cc: New.
1155 * testsuite/performance/27_io/filebuf_copy.cc: New.
1156 * testsuite/performance/27_io/filebuf_sputc.cc: New.
1157 * testsuite/performance/27_io/fstream_seek_write.cc: New.
1158 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
1159 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
1160 * testsuite/performance/27_io/ifstream_getline.cc: New.
1161 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
1162 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
1163
d1615643
PC
11642004-01-30 Paolo Carlini <pcarlini@suse.de>
1165
1166 * include/bits/basic_string.tcc (_Rep::_S_create):
1167 Never allocate a string bigger than max_size(); always keep
1168 __capacity and __size in sync to avoid memory leaks at
1169 deallocation time.
1170
690495b0
PC
11712004-01-30 Paolo Carlini <pcarlini@suse.de>
1172
1173 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1174 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
1175 the double loop, streamline.
1176
1177 * include/bits/basic_string.tcc: Very minor tweaks.
1178
f64f4406
LR
11792004-01-30 Loren J. Rittle <ljrittle@acm.org>
1180
1181 * scripts/check_performance: Only compile with $THREAD_FLAG
1182 when test is marked to require it. Allow multiple
1183 compilations/executions of marked tests.
1184 * testsuite/testsuite_performance.h (report_performance):
1185 Report dynamic thread support status.
1186 (report_header): Likewise.
1187 * testsuite/performance/allocator.cc: Stabilize iteration
1188 count. Support more allocators. Mark each allocator test to
1189 run and report independently.
1190 * testsuite/performance/allocator_map_thread.cc: Likewise.
1191 * testsuite/performance/allocator_thread.cc: Likewise.
1192
917a9fd4
SW
11932004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
1194
1195 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
bb9f8a85
CW
1196 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
1197 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
917a9fd4
SW
1198 std::get_temporary_buffer() instead of duplicating its code.
1199 Update to C++STYLE conventions.
bb9f8a85 1200 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
917a9fd4
SW
1201 new() instead of std::malloc().
1202 (return_temporary_buffer): Use ::operator delete() instead of
1203 std::free().
1204
6efc84f4
BK
12052004-01-29 Benjamin Kosnik <bkoz@redhat.com>
1206
1207 * include/bits/allocator.h: Temporary switch to new_allocator as
1208 the default to unjam bootstraps.
16dd5cfe 1209
ba9d552e
BK
12102004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1211
1212 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
1213 * include/Makefile.in: Regenerate.
1214 * include/bits/allocator_traits.h: Remove.
1215 * include/bits/allocator.h: Remove allocator_traits.h include, and
1216 relevant comments.
1217 (allocator): Empty base class, inherit from the underlying allocator.
1218 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
1219 * src/allocator.cc: ...here. New. For the underlying allocators.
1220 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
1221 * config/linker-map.gnu: Remove __pool_alloc bits.
1222 * src/Makefile.am (sources): Add allocator.cc.
1223 * src/Makefile.in: Regenerate.
1224 * testsuite/20_util/allocator/1.cc: Split second test into...
16dd5cfe 1225 * testsuite/20_util/allocator/8230.cc: ...this.
ba9d552e
BK
1226 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
1227 typedef to use std::allocatore. Format.
1228 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
1229 _Alloc_traits.
1230 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
1231 __throw_bad_alloc calls. Don't include <memory>.
1232 * include/ext/malloc_allocator.h: Remove <memory> include.
1233 * include/ext/new_allocator.h (new_allocator): Same.
1234 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
1235 declaration. Switch __alloc to _Alloc.
1236 * include/ext/hashtable.h: Remove __alloc.
1237 * include/backward/alloc.h: Only inject allocator, not
1238 implementation details.
1239
1240 * include/ext/mt_allocator.h: Replace free with delete.
16dd5cfe 1241
ff4cf05b
BK
12422004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1243
1244 * src/globals_io.cc: Change to __gnu_internal namespace.
1245 * src/globals_locale.cc: Same.
1246 * src/locale_init.cc: Same.
1247 * src/ios_init.cc: Same.
16dd5cfe 1248
f15f99a1
SO
12492004-01-28 Stefan Olsson <stefan@snon.net>
1250
8de63ee0 1251 * include/ext/mt_allocator.h: Replaced all malloc() calls with
f15f99a1
SO
1252 operator new(). Added support for the env variable
1253 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
1254 one in allocate() as well). Fix typos.
1255
234e0d31
PC
12562004-01-28 Paolo Carlini <pcarlini@suse.de>
1257
1258 * include/bits/basic_string.h (_S_create(size_t,
1259 const _Alloc&): Change signature to take two size_type
1260 arguments.
1261 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1262 _InIterator, const _Alloc&, input_iterator_tag)): Update
1263 call, tweak a bit.
1264 (_S_construct(_InIterator, _InIterator, const _Alloc&,
1265 forward_iterator_tag)): Likewise.
1266 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
1267 (_M_mutate(size_type, size_type, size_type)): Don't
1268 implement the exponential growth policy, demand it to
1269 _S_create, update call and simplify.
1270 (_M_clone(const _Alloc&, size_type)): Likewise.
1271 (_S_create(size_type, size_type, const _Alloc&)): Implement
1272 the growth policy, simplify otherwise.
1273
1274 * include/bits/basic_string.h (_Rep::operator[]): Tweak
1275 signature to take a size_type, consistently with the other
1276 members.
16dd5cfe 1277
62b21ea0
BK
12782004-01-27 Benjamin Kosnik <bkoz@redhat.com>
1279
1280 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
1281 delete declarations, add include and test variable.
1282
0b563420
JQ
12832003-01-27 Jerry Quinn <jlquinn@optonline.net>
1284
1285 * include/bits/codecvt.h, include/bits/locale_facets.h,
1286 include/bits/postypes.h, include/bits/stl_bvector.h,
1287 include/bits/stl_multiset.h, include/bits/stl_set.h,
1288 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
1289 include/std/std_complex.h: Document.
1290
2a837cf8
JQ
12912004-01-27 Jerry Quinn <jlquinn@optonline.net>
1292
1293 PR libstdc++/11584
1294 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
6a734d61 1295 iword/pword selector.
2a837cf8
JQ
1296 (ios_base::iword, ios_base::pword): Use it.
1297 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
6a734d61 1298 iword or pword member on alloc failure.
2a837cf8
JQ
1299 * testsuite/27_io/ios_base/storage/11584.cc: New test.
1300
6e198ee0
UW
13012004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
1302 PJ Darcy <darcypj@us.ibm.com>
1303
1304 * configure.host: Add support for *-tpf.
1305 * crossconfig.m4: Likewise.
1306 * configure: Regenerate.
1307 * config/os/tpf: New directory.
1308 * config/os/tpf/os_defines.h: New file.
1309 * config/os/tpf/ctype_base.h: Likewise.
1310 * config/os/tpf/ctype_inline.h: Likewise.
1311 * config/os/tpf/ctype_noninline.h: Likewise.
1312
51b6facb
PC
13132004-01-27 Paolo Carlini <pcarlini@suse.de>
1314
1315 PR libstdc++/13884
1316 * include/bits/sstream.tcc: Guard use of extern template.
16dd5cfe 1317
a3af79ea
PC
13182004-01-27 Paolo Carlini <pcarlini@suse.de>
1319
1320 * include/bits/basic_string.tcc
1321 (basic_string(const basic_string&, size_type, size_type),
1322 basic_string(const basic_string&, size_type, size_type,
1323 const _Alloc&)): Avoid unnecessarily constructing iterators.
1324
ba9119ec
PC
13252004-01-26 Paolo Carlini <pcarlini@suse.de>
1326
1327 * config/locale/generic/c_locale.cc: Fix throw messages
1328 to use the __N marker.
1329 * config/locale/gnu/c_locale.cc: Likewise.
1330 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1331 Likewise.
1332 * docs/html/17_intro/C++STYLE: Likewise.
1333 * include/bits/basic_ios.tcc: Likewise.
1334 * include/bits/fstream.tcc: Likewise.
1335 * include/bits/vector.tcc: Likewise.
1336 * include/ext/ropeimpl.h: Likewise.
1337 * include/std/std_bitset.h: Likewise.
1338 * src/ios.cc: Likewise.
1339 * src/locale.cc: Likewise.
1340 * src/localename.cc: Likewise.
1341
0e50667c
PC
13422004-01-26 Paolo Carlini <pcarlini@suse.de>
1343
1344 * include/bits/basic_string.h (_M_replace_aux): Use the
1345 __N marker in throw message.
1346 * include/bits/basic_string.tcc (assign(const _CharT*,
1347 size_type), insert(size_type, const _CharT*, size_type),
1348 replace(size_type, size_type, const _CharT*, size_type),
1349 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1350 Likewise.
1351
1352 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1353 Fold overlong lines, minor formatting changes.
1354
4d39d873
PC
13552004-01-26 Paolo Carlini <pcarlini@suse.de>
1356
1357 * include/bits/basic_string.h (replace(iterator, iterator,
1358 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1359 (replace(iterator, iterator, const _CharT*)): Ditto.
1360 (replace(iterator, iterator, const _CharT*, size_type)):
1361 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1362
2cb612d1
PC
13632004-01-26 Paolo Carlini <pcarlini@suse.de>
1364
1365 * include/bits/basic_string.tcc (replace(size_type,
1366 size_type, const _CharT*, size_type)): Implement optimized
1367 in-place algorithm for non-overlapping ranges.
1368 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1369 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1370
1371 * include/bits/basic_string.tcc (insert(size_type,
1372 const _CharT*, size_type)): Tweak slightly.
1373
f942e78d
AS
13742004-01-26 Andreas Schwab <schwab@suse.de>
1375
1376 * config/locale/gnu/monetary_members.cc: Restore locale before
1377 rethrowing exception.
1378
91eab378
PC
13792004-01-25 Paolo Carlini <pcarlini@suse.de>
1380
1381 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1382 Define inline here.
1383 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1384 Move inline.
1385
1386 * include/bits/basic_string.tcc: Very minor tweaks.
1387
9c519c93
PC
13882004-01-25 Paolo Carlini <pcarlini@suse.de>
1389
1390 * testsuite/performance/string_append.cc: Increase number
1391 of iterations.
1392
30f315cd
PC
13932004-01-25 Paolo Carlini <pcarlini@suse.de>
1394
1395 * include/bits/basic_string.h (erase(size_type, size_type),
1396 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1397 instead, thus avoiding redundant check for length_error.
1398
1399 * include/bits/basic_string.h: Tweak some comments.
1400
bb9909b0
PC
14012004-01-24 Paolo Carlini <pcarlini@suse.de>
1402
1403 * include/bits/basic_string.tcc (operator+(const _CharT*,
1404 const basic_string&)): No need to go through the append
1405 taking two iterators.
1406
04cc8aef
PC
14072004-01-24 Paolo Carlini <pcarlini@suse.de>
1408
1409 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1410 Revert last change to use std::min: machine language is worse.
1411 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1412 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1413 (find_last_not_of(_CharT, size_type)): Ditto.
1414
1415 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1416 size_type)): Discard the value returned by _M_check.
1417 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1418 (append(const basic_string&, size_type, size_type)): Ditto.
1419 (copy(_CharT*, size_type, size_type)): Ditto.
1420 (compare(size_type, size_type, const basic_string&)): Ditto.
1421 (compare(size_type, size_type, const basic_string&,
1422 size_type, size_type)): Ditto.
1423 (compare(size_type, size_type, const _CharT*)): Ditto.
1424 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1425
8865bf80
PC
14262004-01-24 Paolo Carlini <pcarlini@suse.de>
1427
1428 * include/bits/basic_string.h (insert(size_type,
1429 const basic_string&, size_type, size_type)): Define inline here.
1430 * include/bits/basic_string.tcc (insert(size_type,
1431 const basic_string&, size_type, size_type)): Move inline.
1432
fefe561e
PC
14332004-01-24 Paolo Carlini <pcarlini@suse.de>
1434
1435 * include/bits/basic_string.h (assign(const basic_string&,
1436 size_type, size_type)): Define inline here.
1437 (replace(size_type, size_type, const basic_string&,
1438 size_type, size_type)): Ditto.
1439 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1440 _InputIterator, __false_type)): Only declare.
1441 (_M_replace(iterator, iterator, _InputIterator,
1442 _InputIterator)): Remove.
1443 * include/bits/basic_string.tcc (assign(const basic_string&,
1444 size_type, size_type)): Move inline.
1445 (replace(size_type, size_type, const basic_string&,
1446 size_type, size_type)): Ditto.
1447 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1448 _InputIterator, __false_type)): Define, now does also what
1449 _M_replace did before.
1450 * src/string-inst.cc (_M_replace): Don't instantiate.
1451
1452 * include/bits/basic_string.tcc (find(const _CharT*,
1453 size_type, size_type)): Tidy.
1454 (rfind(_CharT, size_type)): Ditto.
1455 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1456 (find_first_not_of(_CharT, size_type)): Ditto.
1457 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1458 (find_last_not_of(_CharT, size_type)): Ditto.
1459
72afd981
PC
14602004-01-23 Paolo Carlini <pcarlini@suse.de>
1461
1462 PR libstdc++/13838
1463 * include/debug/bitset (operator|=): Fix typo.
1464 * testsuite/23_containers/bitset/operations/13838.cc: New.
1465
251804e6
PC
14662004-01-23 Paolo Carlini <pcarlini@suse.de>
1467
1468 * include/bits/basic_string.tcc (insert(size_type,
1469 const _CharT*, size_type __n)): Fix length_error check.
1470 (replace(size_type, size_type, const _CharT*, size_type):
1471 Ditto; call _M_replace_safe.
1472 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1473 Fix length_error check.
1474 (_M_replace(iterator, iterator, _InputIterator,
1475 _InputIterator)): Ditto, tweak.
1476 (_M_replace_safe(size_type, size_type, const _CharT*,
1477 size_type)): Remove length_error check.
1478
1479 * include/bits/basic_string.tcc (append(const basic_string&),
1480 append(const basic_string&, size_type, size_type)): Tweak
1481 comment.
1482
1483 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1484 size_type)): If __n == 0 don't call traits::copy.
1485
3cfb44c2
SO
14862004-01-23 Stefan Olsson <stefan@snon.net>
1487
1488 * include/ext/mt_allocator.h: Reduce lock contention.
1489
22352844
PC
14902004-01-23 Paolo Carlini <pcarlini@suse.de>
1491
1492 PR libstdc++/13831
1493 * include/bits/fstream.tcc (underflow): Remove unused
1494 variable.
1495 * include/bits/streambuf_iterator.h (equal): Ditto.
1496 * include/bits/locale_facets.h (_M_convert_from_char):
1497 Ditto.
1498
129057c1
KG
14992004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1500
1501 PR c/13814
1502 * config/linker-map.gnu (nan): Delete.
1503 * libmath/mathconf.h (NAN, nan): Delete.
1504 * linkage.m4 (nan): Don't check for it.
1505 * libmath/nan.c: Delete file.
1506
1507 * config.h.in, configure: Regenerate.
1508
0e707673
PC
15092004-01-23 Paolo Carlini <pcarlini@suse.de>
1510
1511 * include/bits/basic_string.h (push_back(_CharT)):
1512 Call _M_replace_aux.
1513 (insert(size_type, const basic_string&)): Trivial tweak.
1514 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1515 (insert(iterator, _CharT)): Ditto.
1516 (erase(size_type, size_type)): Ditto.
1517 (erase(iterator)): Ditto.
1518 (erase(iterator, iterator)): Ditto.
1519 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1520
402b0954
LR
15212004-01-23 Loren J. Rittle <ljrittle@acm.org>
1522
1523 libstdc++/13823
1524 * testsuite/performance/allocator_map_thread.cc: New test.
1525
ba46e66a
PC
15262004-01-22 Paolo Carlini <pcarlini@suse.de>
1527
1528 * include/bits/locale_facets.tcc
1529 (money_put::do_put(..., long double)): Use the basic_string
1530 constructor for char arrays, not that for C-strings, to pass
1531 __digits to do_put(..., const string_type&): __ws isn't
1532 null-terminated.
1533
7bb9b33b
PC
15342004-01-22 Paolo Carlini <pcarlini@suse.de>
1535
1536 * include/bits/basic_string.h (_M_replace_safe): Change
1537 signatures to take size_types and const _CharT*.
1538 (_M_replace_aux): Likewise, takes size_types instead of
1539 iterators.
1540 (append(size_type, _CharT)): Update call.
1541 (assign(size_type, _CharT)): Ditto.
1542 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1543 (_M_replace_dispatch(iterator, iterator, _Integer,
1544 _Integer, __true_type)): Ditto.
1545 * include/bits/basic_string.tcc (assign(const _CharT*,
1546 size_type)): Ditto.
1547 (insert(size_type, const _CharT*, size_type)): Ditto.
1548 (replace(size_type, size_type, const _CharT*,
1549 size_type)): Ditto.
1550 (_M_replace(iterator, iterator, _InputIterator,
1551 _InputIterator)): Ditto.
1552 (append(const basic_string&)): Ditto.
1553 (append(const basic_string&, size_type, size_type): Ditto.
1554 (append(const _CharT*, size_type): Ditto.
1555 (_M_replace_safe, _M_replace_safe): Change definitions
1556 accordingly, simplify.
1557 * string-inst.cc (_M_replace_safe): Don't instantiate.
1558
3e7782b2
PC
15592004-01-21 Paolo Carlini <pcarlini@suse.de>
1560
1561 * include/bits/basic_string.tcc (append(const basic_string&)):
1562 Revert previous change.
1563 (append(const basic_string&, size_type, size_type)): Revert
1564 previous change, use _M_check and _M_limit.
1565
e03a6fb7
PC
15662004-01-21 Paolo Carlini <pcarlini@suse.de>
1567
1568 * include/bits/basic_string.h (_M_check): Change to return
1569 a checked __pos and take an additional const char* argument.
1570 (_M_fold): Rename to _M_limit, change to return a size_type,
1571 corresponding to the __off limited to the actual length.
1572 (insert(size_type, size_type, _CharT)): Update call, call
1573 replace.
1574 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1575 size_type, _CharT) instead.
1576 (erase(size_type, size_type)): Update calls.
1577 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1578 (substr(size_type, size_type)): Use _M_check.
1579 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1580 size_type, size_type)): Update calls.
1581 (basic_string(const basic_string&, size_type, size_type,
1582 const _Alloc&)): Ditto.
1583 (assign(const basic_string&, size_type, size_type)): Use the
1584 new _M_check and _M_limit.
1585 (insert(size_type, const basic_string&, size_type, size_type):
1586 Ditto.
1587 (insert(size_type, const _CharT*, size_type)): Ditto.
1588 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1589 (replace(size_type, size_type, const basic_string&,
1590 size_type, size_type)): Ditto.
1591 (append(const basic_string&)): Ditto.
1592 (append(const basic_string&, size_type, size_type)): Ditto.
1593 (copy(_CharT*, size_type, size_type)): Ditto.
1594 (compare(size_type, size_type, const basic_string&)): Ditto.
1595 (compare(size_type, size_type, const basic_string&,size_type,
1596 size_type)): Ditto.
1597 (compare(size_type, size_type, const _CharT*)): Ditto.
1598 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1599
cec73eb5
SO
16002004-01-19 Stefan Olsson <stefan@snon.net>
1601
1602 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1603 memory on it's freelist this memory is not returned to global
1604 list. Simplification of deallocate so that memory is always
1605 returned to the calling thread id's freelist instead of to
1606 global. Fix typos. Add volatile where appropriate.
1607
87d11ccc
LR
16082004-01-19 Loren J. Rittle <ljrittle@acm.org>
1609
1610 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1611 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1612 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1613
f18be892
PC
16142004-01-19 Paolo Carlini <pcarlini@suse.de>
1615
1616 * src/debug.cc: Make sure all the names are prefixed with
1617 double (or single) underscore.
1618
33d4e9b2
PC
16192004-01-19 Paolo Carlini <pcarlini@suse.de>
1620
1621 * src/debug.cc: Trivial formatting change.
1622
954b12d2
PC
16232004-01-19 Paolo Carlini <pcarlini@suse.de>
1624
1625 * include/bits/basic_string.tcc (_S_construct(size_type,
1626 _CharT, const _Alloc&)): Remove redundant try/catch.
1627 (_M_mutate(size_type, size_type, size_type)): Ditto.
1628 (_M_clone(const _Alloc&, size_type)): Ditto.
16dd5cfe 1629
acbab5bf
PC
16302004-01-18 Paolo Carlini <pcarlini@suse.de>
1631
1632 * include/bits/basic_string.h (c_str()): Simplify, due to
1633 21.3.4 the internal representation is always kept null-terminated.
1634 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1635 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1636 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1637 Ditto.
1638
9c96a689
PC
16392004-01-18 Paolo Carlini <pcarlini@suse.de>
1640
1641 * include/bits/basic_string.h (append(size_type, _CharT)):
1642 Moved inline, just call _M_replace_aux, no source iterators at
1643 risk of being clobbered.
1644 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1645 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1646 input_iterator_tag)): Remove fifth unused argument.
1647 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1648 _InputIterator, __false_type)): Update call.
1649 * include/bits/basic_string.tcc (replace(size_type, size_type,
1650 const _CharT*, size_type)): Update call.
1651 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1652 throw string literal.
1653 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1654 _ForwardIterator)): Likewise.
1655 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1656 input_iterator_tag)): Remove fifth unused argument.
1657 (append(size_type __n, _CharT __c)): Move inline.
1658 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1659 const C*, const C*, input_iterator_tag)): Remove fifth unused
1660 argument.
1661
d517f626
BK
16622004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1663
1664 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
16dd5cfe 1665 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
d517f626 1666
701b701b
DS
16672004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1668
1669 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1670 mkfifo for mingw32.
1671
2913770f
SO
16722004-01-15 Stefan Olsson <stefan@snon.net>
1673
1674 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1675 possible by changing the behaviour of thread_freelist to do
1676 push_front when threads die instead of push_back.
1677
47f62b27
PC
16782004-01-14 Paolo Carlini <pcarlini@suse.de>
1679
1680 * include/bits/locale_facets.h (struct __numpunct_cache):
1681 Add member _M_grouping_size, caching the length of _M_grouping.
1682 (__numpunct_cache<>::_M_cache): Assign the latter.
1683 (__verify_grouping): Move declaration...
1684 * include/bits/locale_facets.tcc (__verify_grouping):
1685 ... here, change signature to take a const char* and a size_t
1686 for the grouping; not a template anymore.
1687 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
16dd5cfe 1688 Likewise change signature and tweak consistently.
47f62b27
PC
1689 (num_get::_M_extract_float, num_get::_M_extract_int,
1690 num_put::_M_insert_int, num_put::_M_insert_float,
1691 money_get::do_get(string_type&), money_get::do_put(string_type)):
16dd5cfe 1692 Update callers.
47f62b27 1693 * config/locale/generic/numeric_members.cc
16dd5cfe 1694 (numpunct<>::_M_initialize_numpunct): Assign the new member.
47f62b27 1695 * config/locale/gnu/numeric_members.cc
16dd5cfe 1696 (numpunct<>::_M_initialize_numpunct): Likewise.
47f62b27
PC
1697 * src/locale-inst.cc (__add_grouping): Tweak signature.
1698 (__verify_grouping): Don't instantiate, not a template anymore.
1699
1700 * include/bits/locale_facets.h: Rename _M_truename_len ->
1701 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1702 * include/bits/locale_facets.tcc: Likewise.
1703 * config/locale/generic/numeric_members.cc: Likewise.
1704 * config/locale/gnu/numeric_members.cc: Likewise.
1705
41f24725
SO
17062004-01-14 Stefan Olsson <stefan@snon.net>
1707
1708 * include/ext/mt_allocator.h: Fixups.
1709 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1710 * testsuite/performance/allocator_thread.cc: Same.
16dd5cfe 1711
070ce57b
BK
17122004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1713
1714 * testsuite/performance/ifstream_extract_float.cc: Add higher
1715 precision tests.
1716 * testsuite/performance/ofstream_insert_float.cc: Same.
16dd5cfe 1717
c9513590
PC
17182004-01-13 Paolo Carlini <pcarlini@suse.de>
1719
1720 * src/locale-misc-inst.cc (__convert_from_v(long),
1721 __convert_from_v(unsigned long), __convert_from_v(long long),
1722 __convert_from_v(unsigned long long)): Remove, unused.
1723
60af005f
BK
17242004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1725
1726 * testsuite/performance/ifstream_extract_float.cc: New.
1727 * testsuite/performance/ofstream_insert_float.cc: Float generation
1728 matches above.
1729
1730 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1731 * 20_util/auto_ptr/1.cc: ...this.
1732 * 20_util/auto_ptr/2.cc: Same.
1733 * 20_util/auto_ptr/3.cc: Same.
1734 * 20_util/auto_ptr/3946.cc: Same.
1735 * 20_util/auto_ptr/4.cc: Same.
1736 * 20_util/auto_ptr/5.cc: Same.
1737 * 20_util/auto_ptr/6.cc: Same.
1738 * 20_util/auto_ptr/7.cc: Same.
1739 * 20_util/auto_ptr/assign_neg.cc
1740 * 20_util/pairs.cc: Break into...
1741 * 20_util/pair/1.cc: ...this.
1742 * 20_util/pair/2.cc: Same.
1743 * 20_util/pair/3.cc: Same.
1744 * 20_util/pair/4.cc: Same.
1745
d8ef7dec
PC
17462004-01-13 Paolo Carlini <pcarlini@suse.de>
1747
1748 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1749 Set correctly just basefield, the only group that matters.
1750
5640461d
PC
17512004-01-13 Paolo Carlini <pcarlini@suse.de>
1752
1753 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1754 (_Rope_rep_base): Inherit directly from the rope allocator;
1755 use rebinding instead of _Alloc_traits; pick up data member
1756 from _Rope_rep_alloc_base.
1757 (_Rope_alloc_base): Eliminate.
1758 (_Rope_base): Inherit directly from the rope allocator; use
1759 rebinding instead of _Alloc_traits; pick up data member from
1760 _Rope_alloc_base.
1761 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1762 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1763
95c9624f
PC
17642004-01-13 Paolo Carlini <pcarlini@suse.de>
1765
1766 PR libstdc++/13650
1767 * include/bits/basic_string.tcc (compare(size_type, size_type,
1768 const _CharT*, size_type)): Implement correctly the resolution
1769 of DR 5: basically, s is a char array, -not- a C string.
1770 * include/bits/basic_string.h: Tweak some comments.
1771 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1772 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1773
c91de77a
AT
17742004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1775
1776 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1777 Solaris.
1778
300b3317
PC
17792004-01-12 Paolo Carlini <pcarlini@suse.de>
1780
1781 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1782 Use try_mkfifo.
1783 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1784 Likewise.
1785
dc6798f8
PC
17862004-01-12 Paolo Carlini <pcarlini@suse.de>
1787
1788 * include/bits/locale_facets.h (struct __numpunct_cache):
1789 Add members _M_truename_len and _M_falsename_len, caching
1790 the lengths of _M_truename and _M_falsename.
1791 (__numpunct_cache<>::_M_cache): Assign the latter.
1792 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1793 num_put::do_put(bool)): Use the new members, thus avoiding
1794 computing string lengths again and again.
1795 * config/locale/generic/numeric_members.cc
1796 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1797 * config/locale/gnu/numeric_members.cc
1798 (numpunct<>::_M_initialize_numpunct): Likewise.
1799
ea1ea21a
MM
18002004-01-12 Mark Mitchell <mark@codesourcery.com>
1801
1802 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1803 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1804 it.
1805 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1806 and remove Cygwin XFAIL.
1807 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1808 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1809 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1810 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1811 Likewise.
1812 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1813 * testsuite/27_io/objects/char/7.cc: Likewise.
1814 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1815 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1816 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1817
3b3bfc0e
GDR
18182004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1819
1820 * include/std/std_complex.h (std::complex<>::real): Return a
1821 reference. Add non-const overload.
1822 (std::complex<>::real): Likewise.
1823 (std::real): Likewise.
1824 (std::imag): Likewise.
1825 (std::operator+): Tidy.
1826 (std::operator-): Likewise.
1827 (std::operator*): Likewise.
1828 (std::operator/): Likewise.
1829 (std::operator>>): Likewise.
1830
09625c16
PC
18312004-01-11 Paolo Carlini <pcarlini@suse.de>
1832
1833 PR libstdc++/13582
1834 * include/bits/fstream.tcc (imbue): Exploit the external
1835 buffer to imbue 'on the fly' a new locale and convert its
1836 remainder with the new codecvt facet.
1837 (underflow): Tweak slightly to deal with this special case.
1838 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1839 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1840 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1841 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1842 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
16dd5cfe 1843
a8d65349
PC
18442004-01-10 Paolo Carlini <pcarlini@suse.de>
1845
1846 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1847 Import Revision 28.
1848
b656faa8
PC
18492004-01-10 Paolo Carlini <pcarlini@suse.de>
1850
1851 PR libstdc++/13630
1852 * include/bits/locale_classes.h (class locale): Fix category
1853 typedef.
1854 * testsuite/22_locale/locale/13630.cc: Add.
1855
f88e4715
GB
18562004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1857
1858 * include/bits/locale_facets.h: Make a name really dependent. This
1859 will be needed when Core Issue 224 is implemented.
1860
64cb2c4a
PC
18612004-01-09 Paolo Carlini <pcarlini@suse.de>
1862
1863 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1864 * testsuite/performance/allocator_thread.cc: Likewise.
1865
158960ba
BK
18662004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1867
1868 * crossconfig.m4: Add LFS, io bits to linux cross config.
1869 * acconfig.h: Remove obsolete bits, reorder.
1870 * config.h.in: Regenerate.
1871 * aclocal.m4: Same.
1872 * configure: Same.
16dd5cfe 1873
e135a038
BK
18742004-01-07 Gawain Bolton <gp.bolton@computer.org>
1875
1876 * include/bits/stl_list.h:
1877 * include/bits/list.tc:
1878 * src/list.cc:
6a734d61
BK
1879 Performance enhancements for destructor, push_front(),
1880 push_back(), pop_front(), pop_back(), sort()
1881 Eliminated static_casts where possible.
1882 Moved code out of header files into new src/list.cc
1883 implementation file for library where possible.
1884 Remove inheritance from iterator class and create separate
1885 classes for non-constant and constant iterators.
e135a038 1886 * include/bits/stl_tree.h (_Rb_tree class):
16dd5cfe 1887 * src/tree.cc:
6a734d61
BK
1888 Only erase contents in destructor.
1889 Eliminate unnecessary initialization in assignment operator.
1890 Optimize for the nominal case by not checking whether
1891 container is empty in clear().
1892 Re-order test in _M_insert() to improve performance.
1893 Move initialization of new node's left & right pointers to
1894 src/tree.cc to where new node's colour is initialized
1895 and to reduce the amount of inline code.
1896 Use _M_leftmost() and _M_end() to improve readability where
1897 appropriate.
1898 Create separate classes for non-constant and constant
1899 iterators to clarify code, avoid extra template parameters and
1900 casting away constness.
16dd5cfe 1901
e135a038
BK
19022004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1903
1904 * src/Makefile.am (sources): Add list.cc, tree.cc.
1905 * src/stl_tree.cc: Move to...
1906 * src/tree.cc: ...here.
1907 * src/list.cc: Add.
1908 * config/linker-map.gnu: Tweaks.
1909 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1910 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1911
1912 * bits/stl_vector.h: Column wrap comments.
16dd5cfe 1913
677e7ddc
LR
19142004-01-07 Loren J. Rittle <ljrittle@acm.org>
1915
1916 (re-open) PR libstdc++/12658
1917 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1918 (locale::global): Likewise.
1919
d8f5bd50
PC
19202004-01-07 Paolo Carlini <pcarlini@suse.de>
1921
1922 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1923 Remove redundant #include.
1924 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1925 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1926 re-enable normal testing.
1927 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1928 #include.
1929 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1930 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1931 Likewise.
1932 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1933 Likewise.
1934 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1935 Likewise.
1936 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1937 Likewise.
1938 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1939 Likewise.
1940 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1941 Likewise.
1942 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1943 Likewise.
1944 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1945 More properly, #include <locale>.
1946 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1947 Remove redundant #include.
1948 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1949 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1950 redundant DejaGnu directive.
1951 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1952 redundant #include.
1953
b61f9bf0 19542004-01-06 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 1955 Stefan Olsson <stefan@snon.net>
b61f9bf0
BK
1956
1957 * scripts/check_performance: Use -pthread.
1958 * testsuite/performance/allocator.cc: Tweaks, add list.
1959 * testsuite/performance/allocator_thread.cc: New.
1960
b74a6851 19612004-01-06 Jerry Quinn <jlquinn@optonline.net>
9a01c9b0
JQ
1962
1963 * include/bits/locale_facets.h: Document public classes and
1964 functions.
1965 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1966 Add comment.
1967
b80115c4
PC
19682004-01-06 Paolo Carlini <pcarlini@suse.de>
1969
1970 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1971 Remove redundant #includes.
1972 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1973 Likewise.
1974 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1975 Likewise.
1976 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1977 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1978 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1979 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1980 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1981 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1982 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1983 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1984 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1985 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1986 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1987 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1988 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1989 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1990 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1991 Likewise.
1992 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1993 Likewise.
1994 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1995 Likewise.
1996 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1997 Likewise.
1998 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1999 Likewise.
2000 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
2001 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
2002 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
2003
22ed0590 20042004-01-04 Paolo Carlini <pcarlini@suse.de>
223b5084
PC
2005
2006 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
2007 Remove redundant #includes.
2008 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
2009 Likewise.
2010 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
2011 Likewise.
2012 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
2013 Likewise.
2014 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
2015 Likewise.
2016 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
2017 Likewise.
2018 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
2019 Likewise.
2020 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2021 Likewise.
2022 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
2023 Likewise.
2024 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
2025 Likewise.
2026 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
2027 Likewise.
2028 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
2029 Likewise.
2030 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
2031 Likewise.
2032
4f8163b1
MM
20332004-01-04 Mark Mitchell <mark@codesourcery.com>
2034
2035 PR c++/12226
2036 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
2037 constructor.
2038 * testsuite/27_io/basic_fstream/4.cc: Likewise.
2039 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
2040 * testsuite/27_io/basic_ios/4.cc: Likewise.
2041 * testsuite/27_io/basic_iostream/4.cc: Likewise.
2042 * testsuite/27_io/basic_istream/4.cc: Likewise.
2043 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
2044 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
2045 * testsuite/27_io/basic_ostream/4.cc: Likewise.
2046 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
2047 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
2048 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
2049
17fa5560
PC
20502004-01-04 Paolo Carlini <pcarlini@suse.de>
2051
2052 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
2053 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
2054 always use double underscored names.
2055 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
2056 Likewise.
2057 * include/bits/locale_facets.h (struct __numpunct_cache):
2058 Dimension _M_atoms_out and _M_atoms_in one position smaller.
2059 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
2060 and _M_atoms_in.