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