]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
ia64.h (no-inline-float-divide): New option.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
a8ea7389
PC
12004-02-27 Paolo Carlini <pcarlini@suse.de>
2
3 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
5 call reserve on the __tmp_gruping string.
6 (num_get<>::_M_extract_float): Don't append unnecessarily a
7 char() to the returned string.
8 * include/bits/locale_facets.tcc: Trivial reformattings.
9
f4bdbead
PC
102004-02-27 Paolo Carlini <pcarlini@suse.de>
11
12 * include/bits/locale_facets.h (money_get<>::_M_extract):
13 Change signature: now takes a plain string&.
14 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
15 Update consistently the definition; use the moneypunct cache
16 to parse the value; use swap to change __units.
17 (money_get<>::do_get(long double&)): Update call of _M_extract,
18 avoid ctype::narrow, not correct wrt the standard.
19 (money_get<>::do_get(string_type&)): Likewise, update call
20 of _M_extract, use ctype::widen.
21 * src/locale-inst.cc: Tweak instantiations of _M_extract.
22
40fcf31b
BK
232004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
24
25 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
26 * testsuite/demangle/abi_examples/02.cc: Likewise.
27 * testsuite/demangle/regression/cw-11.cc: Likewise.
28 * testsuite/demangle/regression/cw-16.cc: Change two expected
29 results to match libiberty demangler output.
30
312004-02-26 Benjamin Kosnik <bkoz@redhat.com>
32
33 PR libstdc++/10246
34 * libsupc++/Makefile.am: Use libiberty demangler.
35 (c_sources): Add cp-demangle.c.
36 * libsupc++/Makefile.in: Regenerate.
37 * src/Makefile.am (sources): Remove demangle.cc.
38 * src/Makefile.in: Regenerate.
39 * include/Makefile.am (bits_headers): Move demangle.h.
40 (ext_headers): ...here.
41 * include/Makefile.in: Regenerate.
42 * include/bits/demangle.h: Move...
43 * include/ext/demangle.h: ...here.
44 * src/demangle.cc: Remove.
45
462004-02-26 Benjamin Kosnik <bkoz@redhat.com>
47
48 * include/bits/demangle.h: Add type template parameter to all
49 templates with just an Allocator template parameter.
50
2c5d0ae8
BK
512004-02-25 Benjamin Kosnik <bkoz@redhat.com>
52
53 * include/bits/atomicity.h: New, forward declarations for __atomic_add
54 and __exchange_and_add.
55 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
56 * config/cpu/cris/atomic_word.h: Same.
57 * config/cpu/sparc/atomic_word.h: Same.
58 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
59 Qualifiy with __gnu_cxx.
60 (_Callback_list::_M_add_reference): Same.
61 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
62 (locale::facet::_M_remove_reference): Same.
63 (locale::_Impl::_M_add_reference): Add.
64 (locale::_Impl::_M_remove_reference): Same.
65 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
66 (basic_string::_Rep::_M_dispose): Same.
67 * src/ios.cc (ios_base::xalloc): Same.
68 * src/ios_init.cc (ios_base::Init::Init): Same.
69 (ios_base::Init::~Init): Same.
70 * src/locale.cc (locale::id::_M_id): Same.
71 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
72 static, and inline keyworks.
73 * config/cpu/alpha/atomicity.h: Same.
74 * config/cpu/cris/atomicity.h: Same.
75 * config/cpu/generic/atomicity.h: Same.
76 * config/cpu/hppa/atomicity.h: Same.
77 * config/cpu/i386/atomicity.h: Same.
78 * config/cpu/ia64/atomicity.h: Same.
79 * config/cpu/m68k/atomicity.h: Same.
80 * config/cpu/mips/atomicity.h: Same.
81 * config/cpu/powerpc/atomicity.h: Same.
82 * config/cpu/s390/atomicity.h: Same.
83 * config/cpu/sparc/atomicity.h: Same.
84
85 * src/Makefile.am (host_sources): Add atomicity.cc.
86 (atomicity.cc): New rule.
87 * src/Makefile.in: Regenerate.
88 * include/Makefile.am (host_headers): Remove host atomicity.h.
89 (host_headers): Add atomic_word.h.
90 (bits_headers): Add bits atomicity.h.
91 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
92 * include/Makefile.in: Regenerate.
93 * configure.host (atomic_word_dir): Add.
94 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
95 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
96 * configure: Regenerate.
97 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
98
99 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
100 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
101
cec0e70b
JW
1022004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
103
104 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
105 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
106 Fix markup, more <link> tags.
107
bb9f8a85
CW
1082004-02-25 Carlo Wood <carlo@alinoe.com>
109
110 * bits/demangle.h
111 namespace __gnu_cxx::demangler
112 (session<Allocator>::qualifier_list_Allocator): Add
113 (session<Allocator>::M_qualifier_list_alloc): Add
114 (session<Allocator>::decode_type_with_postfix):
115 Use M_qualifier_list_alloc instead of calling operator new/delete.
116
b79cef06
PC
1172004-02-24 Paolo Carlini <pcarlini@suse.de>
118
119 PR libstdc++/14252
120 * include/bits/postypes.h (class streamoff): Add operator++(),
121 operator++(int), operator--() and operator--(int).
122 * testsuite/27_io/fpos/14252.cc: New.
123
212063a8
RS
1242004-02-24 Richard Sandiford <rsandifo@redhat.com>
125
126 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
127 error in handling of hex constants.
128
031e658e
PC
1292004-02-24 Paolo Carlini <pcarlini@suse.de>
130
131 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
132 Prefer basic_string::append to operator+= and a temporary.
133
6f94dea7
BK
1342004-02-23 Benjamin Kosnik <bkoz@redhat.com>
135
136 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
137 Only use fputs, not write.
138
20d0a40e 1392004-02-23 Benjamin Kosnik <bkoz@redhat.com>
f263b26e
BK
140
141 * include/ext/malloc_allocator.h: Add operators ==, !=.
142 * include/ext/new_allocator.h: Add operators ==, !=.
143 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
144 (__mt_alloc::_S_get_options): New.
145 (__mt_alloc::_S_set_options): New.
146 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
147 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
148 Move functions out of line, simplify, format.
149 * src/allocator.cc: Simplify explicit instantiations.
150 * include/bits/allocator.h: Tweak.
151
20da06ef
PC
1522004-02-22 Paolo Carlini <pcarlini@suse.de>
153
154 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
155 Restructure formatting of value component, first dealing with
156 the non-decimal digits; use reserve.
157
1582004-02-22 Paolo Carlini <pcarlini@suse.de>
159
160 * include/bits/locale_facets.h (class money_get): Inherit
161 from money_base too; tweak declaration of _M_extract, now
162 parameterized on _Intl too.
163 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
164 Update definition to use the cache; call reserve on __res to
165 avoid multiple reallocations; fix parsing of sign component
166 according to 22.2.6.1.2, p3.
167 (money_get<>::do_get(long double&),
168 money_get<>::do_get(string_type&)): Update calls of _M_extract.
169 * src/locale-inst.cc: Add instantiations of
170 money_get::_M_extract<false> and money_get::_M_extract<true>.
171 * testsuite/22_locale/money_get/get/char/14.cc: New.
172 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
173
afc3bb58
MM
1742004-02-21 Mark Mitchell <mark@codesourcery.com>
175
176 * libsupc++/vterminate.cc
177 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
178 calls to terminate.
179 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
180
181 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
182 not set RLIMIT_AS on HP-UX.
183
e1efc7a0
MM
1842004-02-21 Mark Mitchell <mark@codesourcery.com>
185
186 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
187 not set RLIMIT_AS on HP-UX.
188
fe932e50
PC
1892004-02-21 Paolo Carlini <pcarlini@suse.de>
190
191 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
192 _S_zero, _S_end } enum, _S_atoms.
193 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
194 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
195 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
196 (__moneypunct_cache<>::~__moneypunct_cache): Update.
197 (__moneypunct_cache<>::_M_cache): Fill the cache.
198 (class moneypunct): Tweak __cache_type typedef.
199 (class money_put): Inherit from money_base too; tweak declaration
200 of _M_insert, now parameterized on _Intl.
201 * include/bits/locale_facets.tcc
202 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
203 (money_put<>::_M_insert): Update definition to use the cache;
204 call reserve on __res to avoid multiple reallocations.
205 (money_put<>::do_put(long double),
206 money_put<>::do_put(const string_type&): Update calls of _M_insert.
207 * config/locale/generic/monetary_members.cc
208 (moneypunct<char, true>::_M_initialize_moneypunct,
209 moneypunct<char, false>::_M_initialize_moneypunct,
210 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
211 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
212 * config/locale/gnu/monetary_members.cc: Likewise.
213 * config/locale/gnu/monetary_members.cc
214 (moneypunct<wchar_t, true>::~moneypunct(),
215 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
216 * src/globals_locale.cc: Tweak fake_money_cache_c.
217 * src/locale-inst.cc: Add instantiations for
218 money_put::_M_insert<false> and money_put::_M_insert<true> and
219 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
220 * src/locale_facets.cc: Define money_base::_S_atoms.
221 * src/locale_init.cc: Update placement new of
222 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
223 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
224
225 * config/locale/generic/numeric_members.cc: Clean up.
226 * config/locale/gnu/numeric_members.cc: Likewise.
227 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
228 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
229 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
230 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
231 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
232 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
233
f196bdc4
MM
2342004-02-20 Mark Mitchell <mark@codesourcery.com>
235
236 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
237 FIFO for writing with ios_base::in|ios_base::out.
238 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
239 * testsuite/27_io/objects/char/7.cc: Likewise.
240 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
241 with "r+".
242
2df93cf3
DE
2432004-02-19 David Edelsohn <edelsohn@gnu.org>
244
245 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
246 from iso-8859-1 to ISO8859-1.
247 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
248 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
249 * 22_locale/collate/hash/wchar_t/2.cc: Same.
250 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
251 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
252 * 22_locale/collate/transform/wchar_t/2.cc: Same.
253 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
254 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
255
2ddf25f2
PC
2562004-02-18 Paolo Carlini <pcarlini@suse.de>
257
258 * include/bits/locale_facets.h (money_get<>::_M_extract):
259 New, helper for do_get.
260 (money_put<>::_M_insert): Likewise, for do_put.
261 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
262 money_put<>::_M_insert): Define.
263 (money_get<>::do_get(long double&), money_get<>::do_get(
264 string_type&), money_put::do_put(long double),
265 money_put::do_put(const string_type&)): Use the helpers.
266
94b8de97
PC
2672004-02-18 Paolo Carlini <pcarlini@suse.de>
268
269 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
270 Rewrite, avoiding recursion.
271 (__gnu_internal::xwrite): Minor tweaks.
272
4d0bdcd6
SO
2732004-02-17 Stefan Olsson <stefan@xapa.se>
274
275 * include/ext/mt_allocator.h: Removed the last
276 pointer. Deallocated blocks are now added to the front of
277 freelists as proposed by Felix Yen. This gives roughly 10%
278 performance boost and saves some memory.
279 * docs/html/ext/mt_allocator.html: Change due to that deallocated
280 blocks now are added to the front of freelists. The reason to this
281 approach is also explained.
bb9f8a85 282
6d4925e3
PC
2832004-02-17 Paolo Carlini <pcarlini@suse.de>
284
285 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
286 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
287 grouping fidelity conditional.
288
3e9b6cf4
PC
2892004-02-16 Paolo Carlini <pcarlini@suse.de>
290
291 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
292 Qualify exception with std::.
293 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
294 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
295 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
296 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
297 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
298
835abbf7
PC
2992004-02-16 Paolo Carlini <pcarlini@suse.de>
300
301 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
302 for now that the catch block is not reached.
303 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
304
b7e64db2
PC
3052004-02-16 Paolo Carlini <pcarlini@suse.de>
306
307 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
308 Fix parsing of the remaining sign characters.
309 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
310 the input is scanned 'til eof.
311 * 22_locale/money_get/get/char/4.cc: Likewise.
312 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
313 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
314 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
315 not do_pos_format: the former is the only one that matters during
316 input.
317 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
318
319 * 22_locale/money_get/get/char/6.cc: Minor tweak.
320 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
321
230377dc
DA
3222004-02-15 David Asher <david.asher@cavium.com>
323
324 PR libstdc++/11352
325 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
326 access __olds beyond __oldlen.
327
45cbe93c
PC
3282004-02-14 Paolo Carlini <pcarlini@suse.de>
329
330 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
331 sure the exception is actually thrown.
332 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
333 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
334 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
335
ac3cadf0
PC
3362004-02-14 Paolo Carlini <pcarlini@suse.de>
337
338 PR libstdc++/13858
339 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
340 In case of conversion errors, throw ios_failure; simplify.
341 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
342 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
343 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
344 previously we didn't throw in case of conversion errors, instead
345 just returned eof().
346 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
347 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
348 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
349
350 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
351 Trivial simplification of a conditional.
352
2e9a1f6b
PC
3532004-02-12 Paolo Carlini <pcarlini@suse.de>
354
355 PR libstdc++/13731 (final part: writev)
20da06ef 356 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2e9a1f6b
PC
357 New, a wrapper around writev() handling partial writes.
358 (__basic_file<char>::xwrite): Move to __gnu_internal and make
359 static.
360 (__basic_file<char>::xsputn): Update call.
361 (__basic_file<char>::xsputn_2): Likewise.
20da06ef 362 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2e9a1f6b
PC
363 Don't declare, now static.
364
1c86f39d
BK
3652004-02-11 Stefan Olsson <stefan@xapa.se>
366
367 * docs/html/ext/mt_allocator.html: New.
368
3692004-02-11 Benjamin Kosnik <bkoz@redhat.com>
370
371 * docs/html/20_util/allocator.html: New file, consolidate
372 allocator information here. Revamp.
373 * docs/html/documentation.html: Change links.
374 * docs/html/20_util/howto.html: Same.
375 * docs/html/ext/howto.html: Same.
376
98e96784
PC
3772004-02-11 Paolo Carlini <pcarlini@suse.de>
378
379 PR libstdc++/13731 (first part: write)
380 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
381 New, declare.
382 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
383 Define it: a wrapper around write() handling partial write.
384 (__basic_file<char>::xsputn): Use it.
385 (__basic_file<char>::xsputn_2): Likewise.
386
a2af66c1
PC
3872004-02-11 Paolo Carlini <pcarlini@suse.de>
388 Petur Runolfsson <peturr02@ru.is>
389
390 PR libstdc++/14078
391 * include/std/std_istream.h (operator>>(__istream_type& (*)
392 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
393 operator>>(ios_base& (*)(ios_base&))): Declare inline.
394 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
395 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
396 operator<<(ios_base& (*) (ios_base&))): Likewise.
397 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
398
64bd39cc
LR
3992004-02-10 Loren J. Rittle <ljrittle@acm.org>
400
401 PR libstdc++/14098
402 * config/linker-map.gnu: Add typeinfo and typeinfo name for
403 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
404
d318a8ba
LR
405 PR libstdc++/14097
406 * config/linker-map.gnu: Add typeinfo and typeinfo name for
407 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
408
a39c16dd
LR
4092004-02-09 Loren J. Rittle <ljrittle@acm.org>
410
411 * include/ext/pool_allocator.h: Include c++config.h.
412
1ef00312
SO
4132004-02-09 Stefan Olsson <stefan@xapa.se>
414
415 * include/ext/mt_allocator.h: thread_id is unused in non threaded
416 applications and now has a ifdef to remove it completely on
417 compilers without thread support. Include stdlib.h due to a
418 compiler warning on getenv().
419
1b81e1b5
PB
4202004-02-09 Paul Brook <paul@codesourcery.com>
421
422 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
423
cf0d2c40
PC
4242004-02-09 Paolo Carlini <pcarlini@suse.de>
425
426 PR libstdc++/14071
427 * src/locale_init.cc (locale::global(const locale&)): Use
428 locale::name() in order to decide whether calling setlocale.
429 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
430
431 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
432 Avoid computing &= unnecessarily.
433
664fc5df
JW
4342004-02-09 James E Wilson <wilson@specifixinc.com>
435
436 PR libstdc++/5625
437 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
438 __builtin_extend_pointer.
439
86fd2b51
PC
4402004-02-09 Paolo Carlini <pcarlini@suse.de>
441
442 PR libstdc++/14072
443 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
444 Don't leave dangling pointers.
445 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
446 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
447 facet is needed in the final test.
448
f19e9e4d
BI
4492004-02-09 Bernardo Innocenti <bernie@develer.com>
450
451 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
452 * configure: Regenerate.
453
c3862806
RH
4542004-02-08 Richard Henderson <rth@redhat.com>
455
456 PR libstdc++/14026
457 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
458 uncaughtExceptions during nested catch rethrow.
459 * testsuite/18_support/14026.cc: New.
460
fd95f498
PC
4612004-02-08 Paolo Carlini <pcarlini@suse.de>
462
463 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
464 When working in place remember to set the state to sharable
465 (otherwise, _M_mutate does it).
466
ed6814f7
BI
4672004-02-08 Bernardo Innocenti <bernie@develer.com>
468
469 * include/bits/allocator.h, include/bits/basic_ios.h,
470 include/bits/basic_ios.tcc, include/bits/basic_string.h,
471 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
472 include/bits/char_traits.h, include/bits/codecvt.h,
473 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
474 include/bits/demangle.h, include/bits/deque.tcc,
475 include/bits/fstream.tcc, include/bits/functexcept.h,
476 include/bits/gslice.h, include/bits/gslice_array.h,
477 include/bits/indirect_array.h, include/bits/ios_base.h,
478 include/bits/istream.tcc, include/bits/list.tcc,
479 include/bits/locale_classes.h, include/bits/locale_facets.h,
480 include/bits/locale_facets.tcc, include/bits/localefwd.h,
481 include/bits/mask_array.h, include/bits/ostream.tcc,
482 include/bits/postypes.h, include/bits/slice_array.h,
483 include/bits/sstream.tcc, include/bits/stl_algo.h,
484 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
485 include/bits/stl_construct.h, include/bits/stl_deque.h,
486 include/bits/stl_function.h, include/bits/stl_heap.h,
487 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
488 include/bits/stl_list.h, include/bits/stl_map.h,
489 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
490 include/bits/stl_numeric.h, include/bits/stl_pair.h,
491 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
492 include/bits/stl_relops.h, include/bits/stl_set.h,
493 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
494 include/bits/stl_threads.h, include/bits/stl_tree.h,
495 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
496 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
497 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
498 include/bits/type_traits.h, include/bits/valarray_after.h,
499 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
500 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
501 trailing whitespace.
502
eee54836
PC
5032004-02-06 Paolo Carlini <pcarlini@suse.de>
504
505 * include/bits/basic_string.h: Fix comment.
506
15d72060
PC
5072004-02-06 Paolo Carlini <pcarlini@suse.de>
508
509 * include/bits/stl_construct.h: Wrap overlong lines, reformat
510 according to the coding standards.
511 * include/bits/stl_pair.h: Likewise.
512 * include/bits/stl_raw_storage_iter.h: Likewise.
513 * include/bits/stl_stack.h: Likewise.
514 * include/bits/stl_uninitialized.h: Likewise.
515 * include/bits/stream_iterator.h: Likewise.
516 * include/bits/streambuf_iterator.h: Likewise.
517 * include/bits/type_traits.h: Likewise.
518
c5dd98f3
PC
5192004-02-06 Paolo Carlini <pcarlini@suse.de>
520
521 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
522 Adjust timings.
523
462f4a81
LR
5242004-02-05 Loren J. Rittle <ljrittle@acm.org>
525
526 * scripts/check_performance: Support PCH.
527
fbdf188d
LR
528 * scripts/check_performance (CXX): Add -DNOTHREAD.
529 * testsuite/performance/20_util/allocator/insert.cc: Integrate
530 threaded tests from insert_insert.cc. Tweak iterations,
531 remove special cases.
532 * testsuite/performance/20_util/allocator/insert_insert.cc:
533 Make all tests single-threaded. Tweak iterations.
534 * testsuite/performance/20_util/allocator/map_thread.cc:
535 Tweak iterations.
536 * testsuite/performance/20_util/allocator/producer_consumer.cc:
537 Likewise.
538
0314451d
GK
5392004-02-05 Geoffrey Keating <geoffk@apple.com>
540
541 PR 12179
542 * .cvsignore: New.
543 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
544 'gcc-lib'. Add comment about poorly-named variables.
545 * aclocal.m4: Regenerate.
546 * configure: Regenerate.
547
d9010fca
PC
5482004-02-05 Paolo Carlini <pcarlini@suse.de>
549
550 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
551 Thousands-sep are always optional; thousands-sep are not allowed
552 after the decimal_point.
553 * testsuite/22_locale/money_get/get/char/12.cc: New.
554 * testsuite/22_locale/money_get/get/char/13.cc: New.
555 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
556 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
557
558 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
559 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
560 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
561 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
562 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
563 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
564 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
565 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
566
567 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
568 the standard.
569 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
570
d232925f
RS
5712004-02-05 Richard Sandiford <rsandifo@redhat.com>
572
573 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
574 Define.
575 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
576 it to decide whether FIONREAD should take an off_t or int argument.
577
92ff3e43
PC
5782004-02-05 Paolo Carlini <pcarlini@suse.de>
579
580 * include/bits/stl_function.h: Minor formatting changes.
581
9fe7e2b7
ZW
5822004-02-04 Zack Weinberg <zack@codesourcery.com>
583
584 Revert previous change to config/abi/*/baseline_symbols.txt.
585
6a734d61
BK
5862004-02-04 Benjamin Kosnik <bkoz@redhat.com>
587 Zack Weinberg <zack@codesourcery.com>
588
589 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
590 New function.
591 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
592 (__basic_file<char>::_M_open_mode): Delete.
593 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
594
595 * testsuite/27_io/basic_filebuf/close/char/9964.cc
596 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
597 Correct flags to filebuf::open calls.
598
599 * config/abi/alpha-freebsd5/baseline_symbols.txt
600 * config/abi/alpha-linux-gnu/baseline_symbols.txt
601 * config/abi/hppa-linux-gnu/baseline_symbols.txt
602 * config/abi/i386-freebsd4/baseline_symbols.txt
603 * config/abi/i386-freebsd5/baseline_symbols.txt
604 * config/abi/i486-linux-gnu/baseline_symbols.txt
605 * config/abi/ia64-linux-gnu/baseline_symbols.txt
606 * config/abi/mips-linux-gnu/baseline_symbols.txt
607 * config/abi/sparc-freebsd5/baseline_symbols.txt
608 * config/abi/sparc-linux-gnu/baseline_symbols.txt
609 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
610 Remove entry for __basic_file<char>::_M_open_mode.
611
f63fd68b
LR
6122004-02-04 Loren J. Rittle <ljrittle@acm.org>
613
614 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
615
de8a2f87
BK
6162004-02-04 Felix Yen <fwy@alumni.brown.edu>
617
618 * testsuite/performance/20_util/producer_consumer.cc: New.
619 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
6a734d61 620
de8a2f87 6212004-02-04 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 622
de8a2f87 623 * testsuite/performance/20_util/allocator.cc: Move to..
6a734d61 624 * testsuite/performance/20_util/allocator/insert.cc: ...here.
de8a2f87
BK
625 * testsuite/performance/20_util/allocator_thread.cc: Move to...
626 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
627 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
628 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
6a734d61 629
772fec9a
JW
6302004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
631
632 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
633 * docs/html/faq/index.txt: Regenerate.
634
56766e0d
DM
6352004-02-04 Dhruv Matani <dhruvbird@gmx.net>
636
637 * include/ext/debug_allocator.h: _M_extra now stands for the
638 number of extra objects instead of the number of extra bytes.
639 (debug_allocator::allocate): Adjust.
640 (debug_allocator::deallocate): Adjust.
641
642 * include/ext/pool_allocator.h: Fix typo.
643
22269632
FY
6442004-02-03 Felix Yen <fwy@alumni.brown.edu>
645 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 646
22269632
FY
647 * testsuite/performance/20_util/allocator.cc: Add map,
648 deque, set tests.
649 * testsuite/performance/20_util/allocator_thread.cc: Same.
6a734d61 650
129e9210
PC
6512004-02-03 Paolo Carlini <pcarlini@suse.de>
652
653 * include/bits/basic_string.h (insert(iterator)): Remove,
654 non-standard and already scheduled for removal.
655
83042fca
PC
6562004-02-03 Paolo Carlini <pcarlini@suse.de>
657
658 * include/bits/stl_iterator_base_funcs.h: Minor formatting
659 and indentation tweaks.
660 * include/bits/stl_iterator_base_types.h: Likewise.
661 * include/bits/stl_list.h: Likewise.
662 * include/bits/stl_map.h: Likewise.
663 * include/bits/stl_tempbuf.h: Likewise.
664
06a81b60
JQ
6652004-02-02 Jerry Quinn <jlquinn@optonline.net>
666
667 * include/bits/gslice.h, include/bits/gslice_array.h,
668 include/bits/indirect_array.h, include/bits/mask_array.h,
669 include/bits/slice_array.h, include/bits/stl_numeric.h,
670 include/std/std_valarray.h: Update copyright years.
671
7fb397a4
JQ
6722004-02-02 Jerry Quinn <jlquinn@optonline.net>
673
674 * include/bits/gslice.h (gslice): Document.
675 * include/bits/gslice_array.h (gslice_array): Document.
676 * include/bits/indirect_array (indirect_array): Document.
677 * include/bits/mask_array (mask_array): Document.
678 * include/bits/slice_array.h (slice,slice_array): Document.
679 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
680 adjacent_difference): Document
681 * include/std/std_valarray.h (valarray): Document.
682
7f7fb4ef
BK
6832004-02-02 Benjamin Kosnik <bkoz@redhat.com>
684
6a734d61
BK
685 * docs/html/19_diagnostics/howto.html: Move verbose terminate
686 documentation...
687 * docs/html/18_support/howto.html: Here.
688 * docs/html/documentation.html: Add reference here.
689
9924f721
PC
6902004-02-02 Paolo Carlini <pcarlini@suse.de>
691
692 * config/locale/gnu/c++locale_internal.h: Remove prototypes
693 of no longer used GLIBC thread locale functions.
694
2ba43229 6952004-02-02 Eric Christopher <echristo@redhat.com>
6a734d61 696 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
697
698 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
6a734d61
BK
699 -finput-charset.
700 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
701 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
16dd5cfe 702 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
6a734d61
BK
703 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
704 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
705 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
706 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
707 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
16dd5cfe
EC
708 Ditto.
709
7c920151
PC
7102004-02-02 Paolo Carlini <pcarlini@suse.de>
711
712 * include/bits/stl_function.h: Additional minor tweaks.
713 * include/bits/stl_multiset.h: Likewise.
714
715 * include/bits/stl_queue.h: Minor tweaks.
716
dcec0389
PC
7172004-02-02 Paolo Carlini <pcarlini@suse.de>
718
719 PR libstdc++/13976 (continued)
720 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
721 Make the second parameter unnamed, to void unused parameter
722 warnings.
723 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
724
90f8b692
PC
7252004-02-02 Paolo Carlini <pcarlini@suse.de>
726
727 PR libstdc++/13976
728 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
729 Make the second parameter unnamed, to void unused parameter
730 warnings.
731 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
732 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
733
737ab798
PC
7342004-02-01 Paolo Carlini <pcarlini@suse.de>
735
736 * include/bits/stl_algo.h: Additional minor tweaks.
737 * include/bits/stl_map.h: Likewise.
738 * include/bits/stl_multimap.h: Likewise.
739 * include/bits/stl_multiset.h: Likewise.
740 * include/bits/stl_set.h: Likewise.
741 * include/bits/stl_tree.h: Likewise.
742
64ebadac
PC
7432004-02-01 Paolo Carlini <pcarlini@suse.de>
744
745 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
746 Remove, unused.
747
afd4cbbb
PC
7482004-02-01 Paolo Carlini <pcarlini@suse.de>
749
750 * include/bits/stl_function.h: Additional minor tweaks.
751
f6592a9e
PC
7522004-02-01 Paolo Carlini <pcarlini@suse.de>
753
754 * include/bits/deque.tcc: Wrap overlong lines, constify
755 a few variables, reformat according to the coding standards.
756 * include/bits/list.tcc: Likewise.
757 * include/bits/stl_deque.h: Likewise.
758 * include/bits/stl_function.h: Likewise.
759 * include/bits/stl_iterator.h: Likewise.
760 * include/bits/stl_iterator_base_funcs.h: Likewise.
761 * include/bits/stl_iterator_base_types.h: Likewise.
762 * include/bits/stl_list.h: Likewise.
763 * include/bits/stl_map.h: Likewise.
764 * include/bits/stl_multimap.h: Likewise.
765 * include/bits/stl_multiset.h: Likewise.
766 * include/bits/stl_relops.h: Likewise.
767 * include/bits/stl_set.h: Likewise.
768
62e67651
PC
7692004-02-01 Paolo Carlini <pcarlini@suse.de>
770
771 * include/bits/stl_bvector.h: Wrap overlong lines, constify
772 a few variables, reformat according to the coding standards.
773 * include/bits/stl_tree.h: Likewise.
774
8f7ca398
PC
7752004-01-31 Paolo Carlini <pcarlini@suse.de>
776
777 * include/bits/stl_algo.h: Minor additional reformat, add
778 copyright year.
779 * include/bits/stl_algobase.h: Add copyright year.
780
ffa67767
PC
7812004-01-31 Paolo Carlini <pcarlini@suse.de>
782
783 * include/bits/stl_algo.h: Wrap overlong lines, constify
784 a few variables, reformat according to the coding standards.
785 * include/bits/stl_algobase.h: Likewise.
786 * include/bits/stl_heap.h: Likewise.
787
8de63ee0
PC
7882004-01-31 Paolo Carlini <pcarlini@suse.de>
789
790 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
791
792 * include/bits/basic_string.h: Fix two comments.
793
af3fb3d6
PB
7942004-01-31 Per Bothner <per@bothner.com>
795
796 * include/ext/mt_allocator.h
797 (__mt_alloc::_S_thread_freelist_mutex): Guard with
798 __GTHREAD_MUTEX_INIT.
799
24f33069
PC
8002004-01-31 Paolo Carlini <pcarlini@suse.de>
801
802 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
803
7c960b3d
PC
8042004-01-30 Paolo Carlini <pcarlini@suse.de>
805
806 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
807 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
808 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
16dd5cfe 809
7b1d1edf
FY
8102004-01-30 Felix Yen <fwy@alumni.brown.edu>
811
812 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
813 Don't use clear, but instead assign. Use insert.
814
c9732ce7
BK
8152004-01-30 Benjamin Kosnik <bkoz@redhat.com>
816
817 * src/demangle.cc: Add instantiations.
818 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
819 * src/Makefile.in: Regenerate.
16dd5cfe 820
25d24447
DE
8212004-01-30 David Edelsohn <edelsohn@gnu.org>
822
823 * src/allocator.cc: Protect _S_get_thread_id() and
824 _S_thread_key_destr() with #ifdef __GTHREADS.
825
33e95e9d
PC
8262004-01-30 Paolo Carlini <pcarlini@suse.de>
827
828 Reshuffle performance testsuite.
829 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
830 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
831 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
832 fstream_seek_write.cc, ifstream_extract_float.cc,
833 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
834 list_create_fill_sort.cc, map_create_fill.cc,
835 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
836 ofstream_insert_float.cc, ofstream_insert_int.cc,
837 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
838 wchar_t_out.cc: Split into...
839 * testsuite/performance/20_util/allocator.cc: New.
840 * testsuite/performance/20_util/allocator_map_thread.cc: New.
841 * testsuite/performance/20_util/allocator_thread.cc: New.
842 * testsuite/performance/21_strings/string_append: New.
843 * testsuite/performance/22_locale/is_wchar_t.cc: New.
844 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
845 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
846 * testsuite/performance/22_locale/wchar_t_in.cc: New.
847 * testsuite/performance/22_locale/wchar_t_length.cc: New.
848 * testsuite/performance/22_locale/wchar_t_out.cc: New.
849 * testsuite/performance/23_containers/container_benchmark.cc: New.
850 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
851 * testsuite/performance/23_containers/map_create_fill.cc: New.
852 * testsuite/performance/26_numerics/complex_norm.cc: New.
853 * testsuite/performance/27_io/cout_insert_int.cc: New.
854 * testsuite/performance/27_io/filebuf_copy.cc: New.
855 * testsuite/performance/27_io/filebuf_sputc.cc: New.
856 * testsuite/performance/27_io/fstream_seek_write.cc: New.
857 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
858 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
859 * testsuite/performance/27_io/ifstream_getline.cc: New.
860 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
861 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
862
d1615643
PC
8632004-01-30 Paolo Carlini <pcarlini@suse.de>
864
865 * include/bits/basic_string.tcc (_Rep::_S_create):
866 Never allocate a string bigger than max_size(); always keep
867 __capacity and __size in sync to avoid memory leaks at
868 deallocation time.
869
690495b0
PC
8702004-01-30 Paolo Carlini <pcarlini@suse.de>
871
872 * include/bits/basic_string.tcc (_S_construct(_InIterator,
873 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
874 the double loop, streamline.
875
876 * include/bits/basic_string.tcc: Very minor tweaks.
877
f64f4406
LR
8782004-01-30 Loren J. Rittle <ljrittle@acm.org>
879
880 * scripts/check_performance: Only compile with $THREAD_FLAG
881 when test is marked to require it. Allow multiple
882 compilations/executions of marked tests.
883 * testsuite/testsuite_performance.h (report_performance):
884 Report dynamic thread support status.
885 (report_header): Likewise.
886 * testsuite/performance/allocator.cc: Stabilize iteration
887 count. Support more allocators. Mark each allocator test to
888 run and report independently.
889 * testsuite/performance/allocator_map_thread.cc: Likewise.
890 * testsuite/performance/allocator_thread.cc: Likewise.
891
917a9fd4
SW
8922004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
893
894 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
bb9f8a85
CW
895 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
896 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
917a9fd4
SW
897 std::get_temporary_buffer() instead of duplicating its code.
898 Update to C++STYLE conventions.
bb9f8a85 899 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
917a9fd4
SW
900 new() instead of std::malloc().
901 (return_temporary_buffer): Use ::operator delete() instead of
902 std::free().
903
6efc84f4
BK
9042004-01-29 Benjamin Kosnik <bkoz@redhat.com>
905
906 * include/bits/allocator.h: Temporary switch to new_allocator as
907 the default to unjam bootstraps.
16dd5cfe 908
ba9d552e
BK
9092004-01-28 Benjamin Kosnik <bkoz@redhat.com>
910
911 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
912 * include/Makefile.in: Regenerate.
913 * include/bits/allocator_traits.h: Remove.
914 * include/bits/allocator.h: Remove allocator_traits.h include, and
915 relevant comments.
916 (allocator): Empty base class, inherit from the underlying allocator.
917 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
918 * src/allocator.cc: ...here. New. For the underlying allocators.
919 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
920 * config/linker-map.gnu: Remove __pool_alloc bits.
921 * src/Makefile.am (sources): Add allocator.cc.
922 * src/Makefile.in: Regenerate.
923 * testsuite/20_util/allocator/1.cc: Split second test into...
16dd5cfe 924 * testsuite/20_util/allocator/8230.cc: ...this.
ba9d552e
BK
925 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
926 typedef to use std::allocatore. Format.
927 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
928 _Alloc_traits.
929 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
930 __throw_bad_alloc calls. Don't include <memory>.
931 * include/ext/malloc_allocator.h: Remove <memory> include.
932 * include/ext/new_allocator.h (new_allocator): Same.
933 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
934 declaration. Switch __alloc to _Alloc.
935 * include/ext/hashtable.h: Remove __alloc.
936 * include/backward/alloc.h: Only inject allocator, not
937 implementation details.
938
939 * include/ext/mt_allocator.h: Replace free with delete.
16dd5cfe 940
ff4cf05b
BK
9412004-01-28 Benjamin Kosnik <bkoz@redhat.com>
942
943 * src/globals_io.cc: Change to __gnu_internal namespace.
944 * src/globals_locale.cc: Same.
945 * src/locale_init.cc: Same.
946 * src/ios_init.cc: Same.
16dd5cfe 947
f15f99a1
SO
9482004-01-28 Stefan Olsson <stefan@snon.net>
949
8de63ee0 950 * include/ext/mt_allocator.h: Replaced all malloc() calls with
f15f99a1
SO
951 operator new(). Added support for the env variable
952 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
953 one in allocate() as well). Fix typos.
954
234e0d31
PC
9552004-01-28 Paolo Carlini <pcarlini@suse.de>
956
957 * include/bits/basic_string.h (_S_create(size_t,
958 const _Alloc&): Change signature to take two size_type
959 arguments.
960 * include/bits/basic_string.tcc (_S_construct(_InIterator,
961 _InIterator, const _Alloc&, input_iterator_tag)): Update
962 call, tweak a bit.
963 (_S_construct(_InIterator, _InIterator, const _Alloc&,
964 forward_iterator_tag)): Likewise.
965 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
966 (_M_mutate(size_type, size_type, size_type)): Don't
967 implement the exponential growth policy, demand it to
968 _S_create, update call and simplify.
969 (_M_clone(const _Alloc&, size_type)): Likewise.
970 (_S_create(size_type, size_type, const _Alloc&)): Implement
971 the growth policy, simplify otherwise.
972
973 * include/bits/basic_string.h (_Rep::operator[]): Tweak
974 signature to take a size_type, consistently with the other
975 members.
16dd5cfe 976
62b21ea0
BK
9772004-01-27 Benjamin Kosnik <bkoz@redhat.com>
978
979 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
980 delete declarations, add include and test variable.
981
0b563420
JQ
9822003-01-27 Jerry Quinn <jlquinn@optonline.net>
983
984 * include/bits/codecvt.h, include/bits/locale_facets.h,
985 include/bits/postypes.h, include/bits/stl_bvector.h,
986 include/bits/stl_multiset.h, include/bits/stl_set.h,
987 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
988 include/std/std_complex.h: Document.
989
2a837cf8
JQ
9902004-01-27 Jerry Quinn <jlquinn@optonline.net>
991
992 PR libstdc++/11584
993 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
6a734d61 994 iword/pword selector.
2a837cf8
JQ
995 (ios_base::iword, ios_base::pword): Use it.
996 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
6a734d61 997 iword or pword member on alloc failure.
2a837cf8
JQ
998 * testsuite/27_io/ios_base/storage/11584.cc: New test.
999
6e198ee0
UW
10002004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
1001 PJ Darcy <darcypj@us.ibm.com>
1002
1003 * configure.host: Add support for *-tpf.
1004 * crossconfig.m4: Likewise.
1005 * configure: Regenerate.
1006 * config/os/tpf: New directory.
1007 * config/os/tpf/os_defines.h: New file.
1008 * config/os/tpf/ctype_base.h: Likewise.
1009 * config/os/tpf/ctype_inline.h: Likewise.
1010 * config/os/tpf/ctype_noninline.h: Likewise.
1011
51b6facb
PC
10122004-01-27 Paolo Carlini <pcarlini@suse.de>
1013
1014 PR libstdc++/13884
1015 * include/bits/sstream.tcc: Guard use of extern template.
16dd5cfe 1016
a3af79ea
PC
10172004-01-27 Paolo Carlini <pcarlini@suse.de>
1018
1019 * include/bits/basic_string.tcc
1020 (basic_string(const basic_string&, size_type, size_type),
1021 basic_string(const basic_string&, size_type, size_type,
1022 const _Alloc&)): Avoid unnecessarily constructing iterators.
1023
ba9119ec
PC
10242004-01-26 Paolo Carlini <pcarlini@suse.de>
1025
1026 * config/locale/generic/c_locale.cc: Fix throw messages
1027 to use the __N marker.
1028 * config/locale/gnu/c_locale.cc: Likewise.
1029 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1030 Likewise.
1031 * docs/html/17_intro/C++STYLE: Likewise.
1032 * include/bits/basic_ios.tcc: Likewise.
1033 * include/bits/fstream.tcc: Likewise.
1034 * include/bits/vector.tcc: Likewise.
1035 * include/ext/ropeimpl.h: Likewise.
1036 * include/std/std_bitset.h: Likewise.
1037 * src/ios.cc: Likewise.
1038 * src/locale.cc: Likewise.
1039 * src/localename.cc: Likewise.
1040
0e50667c
PC
10412004-01-26 Paolo Carlini <pcarlini@suse.de>
1042
1043 * include/bits/basic_string.h (_M_replace_aux): Use the
1044 __N marker in throw message.
1045 * include/bits/basic_string.tcc (assign(const _CharT*,
1046 size_type), insert(size_type, const _CharT*, size_type),
1047 replace(size_type, size_type, const _CharT*, size_type),
1048 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1049 Likewise.
1050
1051 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1052 Fold overlong lines, minor formatting changes.
1053
4d39d873
PC
10542004-01-26 Paolo Carlini <pcarlini@suse.de>
1055
1056 * include/bits/basic_string.h (replace(iterator, iterator,
1057 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1058 (replace(iterator, iterator, const _CharT*)): Ditto.
1059 (replace(iterator, iterator, const _CharT*, size_type)):
1060 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1061
2cb612d1
PC
10622004-01-26 Paolo Carlini <pcarlini@suse.de>
1063
1064 * include/bits/basic_string.tcc (replace(size_type,
1065 size_type, const _CharT*, size_type)): Implement optimized
1066 in-place algorithm for non-overlapping ranges.
1067 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1068 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1069
1070 * include/bits/basic_string.tcc (insert(size_type,
1071 const _CharT*, size_type)): Tweak slightly.
1072
f942e78d
AS
10732004-01-26 Andreas Schwab <schwab@suse.de>
1074
1075 * config/locale/gnu/monetary_members.cc: Restore locale before
1076 rethrowing exception.
1077
91eab378
PC
10782004-01-25 Paolo Carlini <pcarlini@suse.de>
1079
1080 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1081 Define inline here.
1082 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1083 Move inline.
1084
1085 * include/bits/basic_string.tcc: Very minor tweaks.
1086
9c519c93
PC
10872004-01-25 Paolo Carlini <pcarlini@suse.de>
1088
1089 * testsuite/performance/string_append.cc: Increase number
1090 of iterations.
1091
30f315cd
PC
10922004-01-25 Paolo Carlini <pcarlini@suse.de>
1093
1094 * include/bits/basic_string.h (erase(size_type, size_type),
1095 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1096 instead, thus avoiding redundant check for length_error.
1097
1098 * include/bits/basic_string.h: Tweak some comments.
1099
bb9909b0
PC
11002004-01-24 Paolo Carlini <pcarlini@suse.de>
1101
1102 * include/bits/basic_string.tcc (operator+(const _CharT*,
1103 const basic_string&)): No need to go through the append
1104 taking two iterators.
1105
04cc8aef
PC
11062004-01-24 Paolo Carlini <pcarlini@suse.de>
1107
1108 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1109 Revert last change to use std::min: machine language is worse.
1110 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1111 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1112 (find_last_not_of(_CharT, size_type)): Ditto.
1113
1114 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1115 size_type)): Discard the value returned by _M_check.
1116 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1117 (append(const basic_string&, size_type, size_type)): Ditto.
1118 (copy(_CharT*, size_type, size_type)): Ditto.
1119 (compare(size_type, size_type, const basic_string&)): Ditto.
1120 (compare(size_type, size_type, const basic_string&,
1121 size_type, size_type)): Ditto.
1122 (compare(size_type, size_type, const _CharT*)): Ditto.
1123 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1124
8865bf80
PC
11252004-01-24 Paolo Carlini <pcarlini@suse.de>
1126
1127 * include/bits/basic_string.h (insert(size_type,
1128 const basic_string&, size_type, size_type)): Define inline here.
1129 * include/bits/basic_string.tcc (insert(size_type,
1130 const basic_string&, size_type, size_type)): Move inline.
1131
fefe561e
PC
11322004-01-24 Paolo Carlini <pcarlini@suse.de>
1133
1134 * include/bits/basic_string.h (assign(const basic_string&,
1135 size_type, size_type)): Define inline here.
1136 (replace(size_type, size_type, const basic_string&,
1137 size_type, size_type)): Ditto.
1138 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1139 _InputIterator, __false_type)): Only declare.
1140 (_M_replace(iterator, iterator, _InputIterator,
1141 _InputIterator)): Remove.
1142 * include/bits/basic_string.tcc (assign(const basic_string&,
1143 size_type, size_type)): Move inline.
1144 (replace(size_type, size_type, const basic_string&,
1145 size_type, size_type)): Ditto.
1146 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1147 _InputIterator, __false_type)): Define, now does also what
1148 _M_replace did before.
1149 * src/string-inst.cc (_M_replace): Don't instantiate.
1150
1151 * include/bits/basic_string.tcc (find(const _CharT*,
1152 size_type, size_type)): Tidy.
1153 (rfind(_CharT, size_type)): Ditto.
1154 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1155 (find_first_not_of(_CharT, size_type)): Ditto.
1156 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1157 (find_last_not_of(_CharT, size_type)): Ditto.
1158
72afd981
PC
11592004-01-23 Paolo Carlini <pcarlini@suse.de>
1160
1161 PR libstdc++/13838
1162 * include/debug/bitset (operator|=): Fix typo.
1163 * testsuite/23_containers/bitset/operations/13838.cc: New.
1164
251804e6
PC
11652004-01-23 Paolo Carlini <pcarlini@suse.de>
1166
1167 * include/bits/basic_string.tcc (insert(size_type,
1168 const _CharT*, size_type __n)): Fix length_error check.
1169 (replace(size_type, size_type, const _CharT*, size_type):
1170 Ditto; call _M_replace_safe.
1171 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1172 Fix length_error check.
1173 (_M_replace(iterator, iterator, _InputIterator,
1174 _InputIterator)): Ditto, tweak.
1175 (_M_replace_safe(size_type, size_type, const _CharT*,
1176 size_type)): Remove length_error check.
1177
1178 * include/bits/basic_string.tcc (append(const basic_string&),
1179 append(const basic_string&, size_type, size_type)): Tweak
1180 comment.
1181
1182 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1183 size_type)): If __n == 0 don't call traits::copy.
1184
3cfb44c2
SO
11852004-01-23 Stefan Olsson <stefan@snon.net>
1186
1187 * include/ext/mt_allocator.h: Reduce lock contention.
1188
22352844
PC
11892004-01-23 Paolo Carlini <pcarlini@suse.de>
1190
1191 PR libstdc++/13831
1192 * include/bits/fstream.tcc (underflow): Remove unused
1193 variable.
1194 * include/bits/streambuf_iterator.h (equal): Ditto.
1195 * include/bits/locale_facets.h (_M_convert_from_char):
1196 Ditto.
1197
129057c1
KG
11982004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1199
1200 PR c/13814
1201 * config/linker-map.gnu (nan): Delete.
1202 * libmath/mathconf.h (NAN, nan): Delete.
1203 * linkage.m4 (nan): Don't check for it.
1204 * libmath/nan.c: Delete file.
1205
1206 * config.h.in, configure: Regenerate.
1207
0e707673
PC
12082004-01-23 Paolo Carlini <pcarlini@suse.de>
1209
1210 * include/bits/basic_string.h (push_back(_CharT)):
1211 Call _M_replace_aux.
1212 (insert(size_type, const basic_string&)): Trivial tweak.
1213 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1214 (insert(iterator, _CharT)): Ditto.
1215 (erase(size_type, size_type)): Ditto.
1216 (erase(iterator)): Ditto.
1217 (erase(iterator, iterator)): Ditto.
1218 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1219
402b0954
LR
12202004-01-23 Loren J. Rittle <ljrittle@acm.org>
1221
1222 libstdc++/13823
1223 * testsuite/performance/allocator_map_thread.cc: New test.
1224
ba46e66a
PC
12252004-01-22 Paolo Carlini <pcarlini@suse.de>
1226
1227 * include/bits/locale_facets.tcc
1228 (money_put::do_put(..., long double)): Use the basic_string
1229 constructor for char arrays, not that for C-strings, to pass
1230 __digits to do_put(..., const string_type&): __ws isn't
1231 null-terminated.
1232
7bb9b33b
PC
12332004-01-22 Paolo Carlini <pcarlini@suse.de>
1234
1235 * include/bits/basic_string.h (_M_replace_safe): Change
1236 signatures to take size_types and const _CharT*.
1237 (_M_replace_aux): Likewise, takes size_types instead of
1238 iterators.
1239 (append(size_type, _CharT)): Update call.
1240 (assign(size_type, _CharT)): Ditto.
1241 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1242 (_M_replace_dispatch(iterator, iterator, _Integer,
1243 _Integer, __true_type)): Ditto.
1244 * include/bits/basic_string.tcc (assign(const _CharT*,
1245 size_type)): Ditto.
1246 (insert(size_type, const _CharT*, size_type)): Ditto.
1247 (replace(size_type, size_type, const _CharT*,
1248 size_type)): Ditto.
1249 (_M_replace(iterator, iterator, _InputIterator,
1250 _InputIterator)): Ditto.
1251 (append(const basic_string&)): Ditto.
1252 (append(const basic_string&, size_type, size_type): Ditto.
1253 (append(const _CharT*, size_type): Ditto.
1254 (_M_replace_safe, _M_replace_safe): Change definitions
1255 accordingly, simplify.
1256 * string-inst.cc (_M_replace_safe): Don't instantiate.
1257
3e7782b2
PC
12582004-01-21 Paolo Carlini <pcarlini@suse.de>
1259
1260 * include/bits/basic_string.tcc (append(const basic_string&)):
1261 Revert previous change.
1262 (append(const basic_string&, size_type, size_type)): Revert
1263 previous change, use _M_check and _M_limit.
1264
e03a6fb7
PC
12652004-01-21 Paolo Carlini <pcarlini@suse.de>
1266
1267 * include/bits/basic_string.h (_M_check): Change to return
1268 a checked __pos and take an additional const char* argument.
1269 (_M_fold): Rename to _M_limit, change to return a size_type,
1270 corresponding to the __off limited to the actual length.
1271 (insert(size_type, size_type, _CharT)): Update call, call
1272 replace.
1273 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1274 size_type, _CharT) instead.
1275 (erase(size_type, size_type)): Update calls.
1276 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1277 (substr(size_type, size_type)): Use _M_check.
1278 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1279 size_type, size_type)): Update calls.
1280 (basic_string(const basic_string&, size_type, size_type,
1281 const _Alloc&)): Ditto.
1282 (assign(const basic_string&, size_type, size_type)): Use the
1283 new _M_check and _M_limit.
1284 (insert(size_type, const basic_string&, size_type, size_type):
1285 Ditto.
1286 (insert(size_type, const _CharT*, size_type)): Ditto.
1287 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1288 (replace(size_type, size_type, const basic_string&,
1289 size_type, size_type)): Ditto.
1290 (append(const basic_string&)): Ditto.
1291 (append(const basic_string&, size_type, size_type)): Ditto.
1292 (copy(_CharT*, size_type, size_type)): Ditto.
1293 (compare(size_type, size_type, const basic_string&)): Ditto.
1294 (compare(size_type, size_type, const basic_string&,size_type,
1295 size_type)): Ditto.
1296 (compare(size_type, size_type, const _CharT*)): Ditto.
1297 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1298
cec73eb5
SO
12992004-01-19 Stefan Olsson <stefan@snon.net>
1300
1301 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1302 memory on it's freelist this memory is not returned to global
1303 list. Simplification of deallocate so that memory is always
1304 returned to the calling thread id's freelist instead of to
1305 global. Fix typos. Add volatile where appropriate.
1306
87d11ccc
LR
13072004-01-19 Loren J. Rittle <ljrittle@acm.org>
1308
1309 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1310 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1311 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1312
f18be892
PC
13132004-01-19 Paolo Carlini <pcarlini@suse.de>
1314
1315 * src/debug.cc: Make sure all the names are prefixed with
1316 double (or single) underscore.
1317
33d4e9b2
PC
13182004-01-19 Paolo Carlini <pcarlini@suse.de>
1319
1320 * src/debug.cc: Trivial formatting change.
1321
954b12d2
PC
13222004-01-19 Paolo Carlini <pcarlini@suse.de>
1323
1324 * include/bits/basic_string.tcc (_S_construct(size_type,
1325 _CharT, const _Alloc&)): Remove redundant try/catch.
1326 (_M_mutate(size_type, size_type, size_type)): Ditto.
1327 (_M_clone(const _Alloc&, size_type)): Ditto.
16dd5cfe 1328
acbab5bf
PC
13292004-01-18 Paolo Carlini <pcarlini@suse.de>
1330
1331 * include/bits/basic_string.h (c_str()): Simplify, due to
1332 21.3.4 the internal representation is always kept null-terminated.
1333 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1334 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1335 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1336 Ditto.
1337
9c96a689
PC
13382004-01-18 Paolo Carlini <pcarlini@suse.de>
1339
1340 * include/bits/basic_string.h (append(size_type, _CharT)):
1341 Moved inline, just call _M_replace_aux, no source iterators at
1342 risk of being clobbered.
1343 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1344 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1345 input_iterator_tag)): Remove fifth unused argument.
1346 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1347 _InputIterator, __false_type)): Update call.
1348 * include/bits/basic_string.tcc (replace(size_type, size_type,
1349 const _CharT*, size_type)): Update call.
1350 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1351 throw string literal.
1352 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1353 _ForwardIterator)): Likewise.
1354 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1355 input_iterator_tag)): Remove fifth unused argument.
1356 (append(size_type __n, _CharT __c)): Move inline.
1357 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1358 const C*, const C*, input_iterator_tag)): Remove fifth unused
1359 argument.
1360
d517f626
BK
13612004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1362
1363 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
16dd5cfe 1364 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
d517f626 1365
701b701b
DS
13662004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1367
1368 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1369 mkfifo for mingw32.
1370
2913770f
SO
13712004-01-15 Stefan Olsson <stefan@snon.net>
1372
1373 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1374 possible by changing the behaviour of thread_freelist to do
1375 push_front when threads die instead of push_back.
1376
47f62b27
PC
13772004-01-14 Paolo Carlini <pcarlini@suse.de>
1378
1379 * include/bits/locale_facets.h (struct __numpunct_cache):
1380 Add member _M_grouping_size, caching the length of _M_grouping.
1381 (__numpunct_cache<>::_M_cache): Assign the latter.
1382 (__verify_grouping): Move declaration...
1383 * include/bits/locale_facets.tcc (__verify_grouping):
1384 ... here, change signature to take a const char* and a size_t
1385 for the grouping; not a template anymore.
1386 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
16dd5cfe 1387 Likewise change signature and tweak consistently.
47f62b27
PC
1388 (num_get::_M_extract_float, num_get::_M_extract_int,
1389 num_put::_M_insert_int, num_put::_M_insert_float,
1390 money_get::do_get(string_type&), money_get::do_put(string_type)):
16dd5cfe 1391 Update callers.
47f62b27 1392 * config/locale/generic/numeric_members.cc
16dd5cfe 1393 (numpunct<>::_M_initialize_numpunct): Assign the new member.
47f62b27 1394 * config/locale/gnu/numeric_members.cc
16dd5cfe 1395 (numpunct<>::_M_initialize_numpunct): Likewise.
47f62b27
PC
1396 * src/locale-inst.cc (__add_grouping): Tweak signature.
1397 (__verify_grouping): Don't instantiate, not a template anymore.
1398
1399 * include/bits/locale_facets.h: Rename _M_truename_len ->
1400 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1401 * include/bits/locale_facets.tcc: Likewise.
1402 * config/locale/generic/numeric_members.cc: Likewise.
1403 * config/locale/gnu/numeric_members.cc: Likewise.
1404
41f24725
SO
14052004-01-14 Stefan Olsson <stefan@snon.net>
1406
1407 * include/ext/mt_allocator.h: Fixups.
1408 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1409 * testsuite/performance/allocator_thread.cc: Same.
16dd5cfe 1410
070ce57b
BK
14112004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1412
1413 * testsuite/performance/ifstream_extract_float.cc: Add higher
1414 precision tests.
1415 * testsuite/performance/ofstream_insert_float.cc: Same.
16dd5cfe 1416
c9513590
PC
14172004-01-13 Paolo Carlini <pcarlini@suse.de>
1418
1419 * src/locale-misc-inst.cc (__convert_from_v(long),
1420 __convert_from_v(unsigned long), __convert_from_v(long long),
1421 __convert_from_v(unsigned long long)): Remove, unused.
1422
60af005f
BK
14232004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1424
1425 * testsuite/performance/ifstream_extract_float.cc: New.
1426 * testsuite/performance/ofstream_insert_float.cc: Float generation
1427 matches above.
1428
1429 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1430 * 20_util/auto_ptr/1.cc: ...this.
1431 * 20_util/auto_ptr/2.cc: Same.
1432 * 20_util/auto_ptr/3.cc: Same.
1433 * 20_util/auto_ptr/3946.cc: Same.
1434 * 20_util/auto_ptr/4.cc: Same.
1435 * 20_util/auto_ptr/5.cc: Same.
1436 * 20_util/auto_ptr/6.cc: Same.
1437 * 20_util/auto_ptr/7.cc: Same.
1438 * 20_util/auto_ptr/assign_neg.cc
1439 * 20_util/pairs.cc: Break into...
1440 * 20_util/pair/1.cc: ...this.
1441 * 20_util/pair/2.cc: Same.
1442 * 20_util/pair/3.cc: Same.
1443 * 20_util/pair/4.cc: Same.
1444
d8ef7dec
PC
14452004-01-13 Paolo Carlini <pcarlini@suse.de>
1446
1447 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1448 Set correctly just basefield, the only group that matters.
1449
5640461d
PC
14502004-01-13 Paolo Carlini <pcarlini@suse.de>
1451
1452 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1453 (_Rope_rep_base): Inherit directly from the rope allocator;
1454 use rebinding instead of _Alloc_traits; pick up data member
1455 from _Rope_rep_alloc_base.
1456 (_Rope_alloc_base): Eliminate.
1457 (_Rope_base): Inherit directly from the rope allocator; use
1458 rebinding instead of _Alloc_traits; pick up data member from
1459 _Rope_alloc_base.
1460 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1461 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1462
95c9624f
PC
14632004-01-13 Paolo Carlini <pcarlini@suse.de>
1464
1465 PR libstdc++/13650
1466 * include/bits/basic_string.tcc (compare(size_type, size_type,
1467 const _CharT*, size_type)): Implement correctly the resolution
1468 of DR 5: basically, s is a char array, -not- a C string.
1469 * include/bits/basic_string.h: Tweak some comments.
1470 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1471 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1472
c91de77a
AT
14732004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1474
1475 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1476 Solaris.
1477
300b3317
PC
14782004-01-12 Paolo Carlini <pcarlini@suse.de>
1479
1480 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1481 Use try_mkfifo.
1482 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1483 Likewise.
1484
dc6798f8
PC
14852004-01-12 Paolo Carlini <pcarlini@suse.de>
1486
1487 * include/bits/locale_facets.h (struct __numpunct_cache):
1488 Add members _M_truename_len and _M_falsename_len, caching
1489 the lengths of _M_truename and _M_falsename.
1490 (__numpunct_cache<>::_M_cache): Assign the latter.
1491 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1492 num_put::do_put(bool)): Use the new members, thus avoiding
1493 computing string lengths again and again.
1494 * config/locale/generic/numeric_members.cc
1495 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1496 * config/locale/gnu/numeric_members.cc
1497 (numpunct<>::_M_initialize_numpunct): Likewise.
1498
ea1ea21a
MM
14992004-01-12 Mark Mitchell <mark@codesourcery.com>
1500
1501 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1502 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1503 it.
1504 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1505 and remove Cygwin XFAIL.
1506 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1507 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1508 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1509 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1510 Likewise.
1511 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1512 * testsuite/27_io/objects/char/7.cc: Likewise.
1513 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1514 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1515 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1516
3b3bfc0e
GDR
15172004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1518
1519 * include/std/std_complex.h (std::complex<>::real): Return a
1520 reference. Add non-const overload.
1521 (std::complex<>::real): Likewise.
1522 (std::real): Likewise.
1523 (std::imag): Likewise.
1524 (std::operator+): Tidy.
1525 (std::operator-): Likewise.
1526 (std::operator*): Likewise.
1527 (std::operator/): Likewise.
1528 (std::operator>>): Likewise.
1529
09625c16
PC
15302004-01-11 Paolo Carlini <pcarlini@suse.de>
1531
1532 PR libstdc++/13582
1533 * include/bits/fstream.tcc (imbue): Exploit the external
1534 buffer to imbue 'on the fly' a new locale and convert its
1535 remainder with the new codecvt facet.
1536 (underflow): Tweak slightly to deal with this special case.
1537 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1538 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1539 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1540 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1541 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
16dd5cfe 1542
a8d65349
PC
15432004-01-10 Paolo Carlini <pcarlini@suse.de>
1544
1545 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1546 Import Revision 28.
1547
b656faa8
PC
15482004-01-10 Paolo Carlini <pcarlini@suse.de>
1549
1550 PR libstdc++/13630
1551 * include/bits/locale_classes.h (class locale): Fix category
1552 typedef.
1553 * testsuite/22_locale/locale/13630.cc: Add.
1554
f88e4715
GB
15552004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1556
1557 * include/bits/locale_facets.h: Make a name really dependent. This
1558 will be needed when Core Issue 224 is implemented.
1559
64cb2c4a
PC
15602004-01-09 Paolo Carlini <pcarlini@suse.de>
1561
1562 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1563 * testsuite/performance/allocator_thread.cc: Likewise.
1564
158960ba
BK
15652004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1566
1567 * crossconfig.m4: Add LFS, io bits to linux cross config.
1568 * acconfig.h: Remove obsolete bits, reorder.
1569 * config.h.in: Regenerate.
1570 * aclocal.m4: Same.
1571 * configure: Same.
16dd5cfe 1572
e135a038
BK
15732004-01-07 Gawain Bolton <gp.bolton@computer.org>
1574
1575 * include/bits/stl_list.h:
1576 * include/bits/list.tc:
1577 * src/list.cc:
6a734d61
BK
1578 Performance enhancements for destructor, push_front(),
1579 push_back(), pop_front(), pop_back(), sort()
1580 Eliminated static_casts where possible.
1581 Moved code out of header files into new src/list.cc
1582 implementation file for library where possible.
1583 Remove inheritance from iterator class and create separate
1584 classes for non-constant and constant iterators.
e135a038 1585 * include/bits/stl_tree.h (_Rb_tree class):
16dd5cfe 1586 * src/tree.cc:
6a734d61
BK
1587 Only erase contents in destructor.
1588 Eliminate unnecessary initialization in assignment operator.
1589 Optimize for the nominal case by not checking whether
1590 container is empty in clear().
1591 Re-order test in _M_insert() to improve performance.
1592 Move initialization of new node's left & right pointers to
1593 src/tree.cc to where new node's colour is initialized
1594 and to reduce the amount of inline code.
1595 Use _M_leftmost() and _M_end() to improve readability where
1596 appropriate.
1597 Create separate classes for non-constant and constant
1598 iterators to clarify code, avoid extra template parameters and
1599 casting away constness.
16dd5cfe 1600
e135a038
BK
16012004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1602
1603 * src/Makefile.am (sources): Add list.cc, tree.cc.
1604 * src/stl_tree.cc: Move to...
1605 * src/tree.cc: ...here.
1606 * src/list.cc: Add.
1607 * config/linker-map.gnu: Tweaks.
1608 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1609 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1610
1611 * bits/stl_vector.h: Column wrap comments.
16dd5cfe 1612
677e7ddc
LR
16132004-01-07 Loren J. Rittle <ljrittle@acm.org>
1614
1615 (re-open) PR libstdc++/12658
1616 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1617 (locale::global): Likewise.
1618
d8f5bd50
PC
16192004-01-07 Paolo Carlini <pcarlini@suse.de>
1620
1621 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1622 Remove redundant #include.
1623 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1624 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1625 re-enable normal testing.
1626 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1627 #include.
1628 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1629 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1630 Likewise.
1631 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1632 Likewise.
1633 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1634 Likewise.
1635 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1636 Likewise.
1637 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1638 Likewise.
1639 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1640 Likewise.
1641 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1642 Likewise.
1643 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1644 More properly, #include <locale>.
1645 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1646 Remove redundant #include.
1647 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1648 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1649 redundant DejaGnu directive.
1650 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1651 redundant #include.
1652
b61f9bf0 16532004-01-06 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 1654 Stefan Olsson <stefan@snon.net>
b61f9bf0
BK
1655
1656 * scripts/check_performance: Use -pthread.
1657 * testsuite/performance/allocator.cc: Tweaks, add list.
1658 * testsuite/performance/allocator_thread.cc: New.
1659
b74a6851 16602004-01-06 Jerry Quinn <jlquinn@optonline.net>
9a01c9b0
JQ
1661
1662 * include/bits/locale_facets.h: Document public classes and
1663 functions.
1664 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1665 Add comment.
1666
b80115c4
PC
16672004-01-06 Paolo Carlini <pcarlini@suse.de>
1668
1669 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1670 Remove redundant #includes.
1671 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1672 Likewise.
1673 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1674 Likewise.
1675 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1676 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1677 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1678 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1679 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1680 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1681 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1682 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1683 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1684 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1685 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1686 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1687 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1688 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1689 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1690 Likewise.
1691 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1692 Likewise.
1693 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1694 Likewise.
1695 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1696 Likewise.
1697 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1698 Likewise.
1699 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1700 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1701 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1702
22ed0590 17032004-01-04 Paolo Carlini <pcarlini@suse.de>
223b5084
PC
1704
1705 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1706 Remove redundant #includes.
1707 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1708 Likewise.
1709 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1710 Likewise.
1711 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1712 Likewise.
1713 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1714 Likewise.
1715 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1716 Likewise.
1717 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1718 Likewise.
1719 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1720 Likewise.
1721 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1722 Likewise.
1723 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1724 Likewise.
1725 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1726 Likewise.
1727 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1728 Likewise.
1729 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1730 Likewise.
1731
4f8163b1
MM
17322004-01-04 Mark Mitchell <mark@codesourcery.com>
1733
1734 PR c++/12226
1735 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1736 constructor.
1737 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1738 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1739 * testsuite/27_io/basic_ios/4.cc: Likewise.
1740 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1741 * testsuite/27_io/basic_istream/4.cc: Likewise.
1742 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1743 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1744 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1745 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1746 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1747 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1748
17fa5560
PC
17492004-01-04 Paolo Carlini <pcarlini@suse.de>
1750
1751 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1752 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1753 always use double underscored names.
1754 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1755 Likewise.
1756 * include/bits/locale_facets.h (struct __numpunct_cache):
1757 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1758 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
1759 and _M_atoms_in.