]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
configure.ac: New name of configure.in.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
076e5443
PB
12005-06-15 Paolo Bonzini <bonzini@gnu.org>
2
3 * acinclude.m4: Remove useless multilib configury.
4 * Makefile.am: Remove useless multilib rules.
5 * aclocal.m4: Regenerate.
6 * Makefile.in: Regenerate.
7 * configure: Regenerate.
8
659e82ad
PC
92004-06-15 Paolo Carlini <pcarlini@suse.de>
10
11 * include/ext/hashtable.h: Trivial formatting fixes.
12 * include/ext/rb_tree: Likewise.
13
d962e073
PC
142004-06-14 Paolo Carlini <pcarlini@suse.de>
15
16 * include/ext/hash_map: Trivial formatting fixes.
17 * include/ext/hash_set: Likewise.
18 * include/ext/memory: Likewise.
19 * include/ext/numeric: Likewise.
20
2373de3a
BK
212004-06-14 Benjamin Kosnik <bkoz@redhat.com>
22
23 * Makefile.in: Regenerate with automake 1.8.5.
24 * aclocal.m4: Same.
25 * include/Makefile.in: Same.
26 * libmath/Makefile.in: Same.
27 * libsupc++/Makefile.in: Same.
28 * po/Makefile.in: Same.
29 * src/Makefile.in: Same.
30 * testsuite/Makefile.in: Same.
31
14ba6d00
PC
322004-06-14 Paolo Carlini <pcarlini@suse.de>
33
34 * include/ext/slist: Trivial formatting fixes.
35
ce2a46a2
PC
362004-06-14 Paolo Carlini <pcarlini@suse.de>
37
38 * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
39 Don't use the 'magic number' 10 in the computation of __minlen;
40 never access __name past __minlen; in the loop over __i3, don't
41 decrease __nmatches and increase __i3 at once, only either of
42 the two; tidy.
43
076e5443 44>>>>>>> 1.2516
fc6b4171
PC
452004-06-13 Paolo Carlini <pcarlini@suse.de>
46
47 * include/bits/locale_facets.tcc (time_get<>::do_get_time,
48 time_get<>::do_get_date): Use only once _M_extract_via_format,
49 instead of going through "%X"/"%x" and calling it two times
50 (+ using widen).
51
4a787fa8
PC
522004-06-12 Paolo Carlini <pcarlini@suse.de>
53
54 * include/ext/algorithm: Trivial formatting fixes.
55 * include/ext/functional: Likewise.
56 * include/ext/hash_fun.h: Likewise.
57 * include/ext/iterator: Likewise.
58
592004-06-12 Paolo Carlini <pcarlini@suse.de>
60
61 * include/bits/basic_string.tcc (find(const _CharT*, size_type,
62 size_type)): Reimplement using std::search.
63 * src/string-inst.cc: Instantiate std::search for char/wchar_t.
64
652004-06-12 Dhruv Matani <dhruvbird@gmx.net>
66
67 * testsuite/performance/21_strings/string_find.cc: New.
68
bdd2a210
AL
692004-06-10 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
70
71 * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
72
9ef313e3
JD
732004-06-10 Jan van Dijk <jan@etpmod.phys.tue.nl>
74
75 * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
76 this function return a value.
77
7338fc64
PC
782004-06-09 Paolo Carlini <pcarlini@suse.de>
79
80 PR libstdc++/15775
81 * include/bits/stl_deque.h: Consistently with stl_set.h, define
82 pointer as allocator's pointer, likewise for reference,
83 const_pointer, and const_reference.
84 * include/bits/stl_list.h: Likewise.
85 * include/bits/stl_map.h: Likewise.
86 * include/bits/stl_multimap.h: Likewise.
87 * include/bits/stl_vector.h: Likewise.
88
92efec6e
BK
892004-06-09 Benjamin Kosnik <bkoz@redhat.com>
90
91 * crossconfig.m4: Remove signbit, signbitf, signbitl.
92 * linkage.m4: Comment LIBMATHOBJS, tweak others. AC_DEFINES for
93 builtin math functions instead of AC_DEFINE_UNQUOTED.
94 * configure: Regenerate.
95
57ffad2b
BK
962004-06-08 Benjamin Kosnik <bkoz@redhat.com>
97
98 * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
99 * docs/doxygen/mainpage.html: Remove links.
100
37f3105a
JM
1012004-06-08 Jason Merrill <jason@redhat.com>
102
103 * config/linker-map.gnu: Use wildcards for
104 __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
105
5f1a5ede
PC
1062004-06-08 Paolo Carlini <pcarlini@suse.de>
107
108 * include/ext/pool_allocator.h: Convert to a global free-list,
109 as per the original SGI/HP design: move the implementation
110 details to struct __pool_base, from which __pool_alloc derives.
111 * src/allocator.cc: Instantiate __pool_base.
112
345b912f
DM
1132004-06-07 Dhruv Matani <dhruvbird@gmx.net>
114 Paolo Carlini <pcarlini@suse.de>
115
116 * testsuite/testsuite_performance.h
117 (resource_counter::allocated_memory): Make it return the right
118 number of bytes requested by the allocators/application. This is
119 the sbrk+mmaped memory.
120
b53dcf3e
GDR
1212004-06-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
122
123 * include/std/std_complex.h (log): Tidy.
124
7c9fee34
BK
1252004-05-31 Benjamin Kosnik <bkoz@redhat.com>
126
127 * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
128 * testsuite/testsuite_abi.cc: Same.
129 * configure.ac (libtool_VERSION): Bump to 6:1:0.
130 * configure: Regenerate.
131 * aclocal.m4: Regenerate.
132
a4ddde0d
GDR
1332004-05-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
134
135 * include/std/std_complex.h (complex<_Tp>): Properly indent
136 to follow C++STYLE.
137 (complex<>::__rep): New.
138 (__complex_abs): New. Dispatch to built-ins.
139 (abs): Use them.
140 (__complex_arg): New. Dispatch to built-ins.
141 (arg): Use it.
142 (__complex_cos): New. Dispatch to built-ins.
143 (cos): Use it.
144 (__complex_cosh): New. Dispatch to built-ins.
145 (cosh): Use it.
146 (__complex_exp): New. Dispatch to built-ins.
147 (exp): Use it.
148 (__complex_log): New. Dispatch to built-ins.
149 (log): Use it.
150 (__complex_sin): New. Dispatch to built-ins.
151 (sin): Use it.
152 (__complex_sinh): New. Dispatch to built-ins.
153 (sinh): Use it.
154 (__complex_sqrt): New. Dispatch to built-ins.
155 (sqrt): Use it.
156 (__complex_tan): New. Dispatch to built-ins.
157 (tan): Use it.
158 (__complex_tanh): New. Dispatch to built-ins.
159 (tanh): Use it.
160 (__complex_pow): New. Dispatch to built-ins.
161 (pow): Use it.
162
803cb0b5
RK
1632004-05-29 Richard B. Kreckel <Richard.Kreckel@Framatome-ANP.com>
164 Benjamin Kosnik <bkoz@redhat.com>
165
166 PR libstdc++/14600
167 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
168 * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
169 * config/io/basic_file_stdio.cc (__basic_file::file): New.
170 * config/io/basic_file_stdio.h: Define.
171
e8a382b7
BK
1722004-05-27 Benjamin Kosnik <bkoz@redhat.com>
173
174 PR libstdc++/15675
175 * docs/html/documentation.html: Update doxygen links for 3.4.0.
176
a9c70186
JB
1772004-05-27 Jan Beulich <jbeulich@novell.com>
178
179 * scripts/create_testsuite_files: Tweak.
180
9874adaf
BK
1812004-05-25 Benjamin Kosnik <bkoz@redhat.com>
182
183 PR libstdc++/15489
184 * scripts/create_testsuite_files: Revert xtype change, add non-GNU
185 bits to do the same thing.
186
b1c5b5a0
PC
1872004-05-24 Paolo Carlini <pcarlini@suse.de>
188
189 * include/bits/istream.tcc (ignore): Correctly deal with
190 n == numeric_limits<streamsize>::max().
191 * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
192
193 * include/bits/istream.tcc (basic_istream<>::getline): Prefer
194 '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
195 __n == numeric_limits<>::min().
196
197 * include/bits/istream.tcc: Minor tweaks.
198
199 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
200 Tighten.
201 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
202 Likewise.
203 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
204 Likewise.
205 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
206 Likewise.
207 * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
208
26c691a8
BK
2092004-05-22 Benjamin Kosnik <bkoz@redhat.com>
210
211 PR libstdc++/12854
212 Fixups for -Weffc++.
213 * include/bits/basic_string.h (basic_string::operator=): Return
214 pointer to this instead of result of assign. Although redundant,
215 this doesn't impact resultant codegen.
216
217 * include/bits/locale_facets.h (__numpunct_cache): Declare
218 assignment opxserator and copy constructor private.
219 (__timepunct_cache): Same.
220 (__moneypunct_cache): Same.
221 (collate): Use member initialization list for _M_c_locale_collate.
222 * config/locale/gnu/messages_members.h: Same.
223 * config/locale/gnu/time_members.h (__timepunct): Same.
224 * src/codecvt.cc: Use member initialization list to initialize
225 _M_c_locale_codecvt.
226 * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
227 * config/os/gnu-linux/ctype_noninline.h: Same.
228 * src/locale.cc (_Impl): Same.
229 * src/locale_init.cc: Same.
230 * src/localename.cc: Same.
231
232 * include/bits/basic_ios.h (basic_ios): Complete member
233 initialization list.
234 * include/bits/istream.tcc (basic_istream::sentry): Same.
235 * include/bits/ostream.tcc (basic_ostream::sentry): Same.
236 * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
237 _M_pback to member initialization list.
238 * include/std/std_streambuf.h: Same.
239 * include/std/std_sstream.h: Same, for _M_mode.
240 * src/ios.cc (ios_base): Same.
241
242 * include/ext/rope: Make derived classes match exception
243
244 specifications. Add copy constructors and assignment operators.
245
246 * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
247 constructor and assignment operator protected.
248 (_Safe_iterator_base): Same.
249 * include/debug/formatter.h (_Error_formatter): Define copy
250 constructor and assignment operator.
251
252 * include/backward/strstream: Declare assignment operator and copy
253 constructor private.
254
f4a1faa5
BK
2552004-05-22 Benjamin Kosnik <bkoz@redhat.com>
256
257 * testsuite/testsuite_hooks.h (func_callback): Declare copy
258 constructor and assignment operator private.
259 * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
260 exception specifications of base class.
261 * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
262 * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
263 * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
264
52ceb039
BK
2652004-05-22 Benjamin Kosnik <bkoz@redhat.com>
266
267 * libsupc++/cxxabi.h: Remove duplicated and useless public and
268 private keywords in class declarations. Format. Use
269 stddef.h. Expose declarations to "C" compilation.
270 * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
271 assignment operator.
272 (__dyncast_result): Same.
273 * libsupc++/vec.cc (uncatch_exception): Same, use member
274 initialization list.
275
6ad70bf2
BK
2762004-05-22 Benjamin Kosnik <bkoz@redhat.com>
277
278 * testsuite/abi_check.cc: Add unistd.h.
279
fea6ecb7
PC
2802004-05-22 Paolo Carlini <pcarlini@suse.de>
281
282 PR libstdc++/15565
283 * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
284 __int_to_char(unsigned long long)): Showpos is not relevant
285 for unsigned types.
286 * testsuite/22_locale/num_put/put/char/15565.cc: New.
287 * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
288
289 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
290 char.
291 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
292 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
293 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
294 * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
295 * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
296 * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
297
2461ecbe
MK
2982004-05-21 Matthias Klose <doko@debian.org>
299
300 * docs/doxygen/run_doxygen: Bump required version.
301
a3e14d39
BK
3022004-05-21 Benjamin Kosnik <bkoz@redhat.com>
303
304 * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
305 * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
306
32da6208
PC
3072004-05-21 Paolo Carlini <pcarlini@suse.de>
308
309 * include/bits/istream.tcc (ignore): Remove redundant line.
310 (readsome): Tidy, closely following 27.6.1.3, p30.
311
3adf6cad
PC
3122004-05-20 Paolo Carlini <pcarlini@suse.de>
313
314 * include/bits/istream.tcc (operator>>(basic_istream<>&,
315 basic_string<>&)): Use a temporary buffer, thus avoiding
316 reallocation for common case.
317 * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
318 New.
319 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
320 Likewise.
321
322 * include/bits/istream.tcc: Const-ification of a few variables.
323
324 * include/bits/ostream.tcc: Trivial formatting fixes and
325 const-ification of some variables.
326
66fda8b2
BK
3272004-05-20 Benjamin Kosnik <bkoz@redhat.com>
328
329 PR libstdc++/15123
330 PR libstdc++/13928
331 * docs/doxygen/Intro.3: Remove Allocators.3.
332 Add new extension headers, extension namespace list.
333 * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
334 Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
335 __gnu_debug::. Remove __policy_ renames.
336 * docs/doxygen/guide.html: Add dot note.
337 * docs/doxygen/stdheader.cc: Edit, add files.
338 * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
339
c6618c03
JW
3402004-05-18 Jonathan Wakely <redi@gcc.gnu.org>
341
342 * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
343
b79634e3
JB
3442004-05-18 Jan Beulich <jbeulich@novell.com>
345
346 PR libstdc++/15489
347 * scripts/create_testsuite_files: Also find source files through
348 symbolic links.
349
3502004-05-18 Jan Beulich <jbeulich@novell.com>
351
352 PR libstdc++/15488
353 * testsuite/lib/libstdc++.exp: Make test files writable.
354
2ab20654
PC
3552004-05-18 Paolo Carlini <pcarlini@suse.de>
356
357 * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
358 tweaks.
359
3602004-05-18 Dhruv Matani <dhruvbird@gmx.net>
361
362 * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
363 allocation loop which removes blocks from the global free list
364 from O(N) to O(1) when the required blocks are <= the number
365 available.
366
319da9da
JW
3672004-05-18 Jonathan Wakely <redi@gcc.gnu.org>
368
369 * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
370
261e5b9e
BK
3712004-05-17 Benjamin Kosnik <bkoz@redhat.com>
372
373 * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
374 * testsuite/23_containers/deque/14340.cc: New.
375 * testsuite/23_containers/list/14340.cc: New.
376 * testsuite/23_containers/map/14340.cc: New.
377 * testsuite/23_containers/multimap/14340.cc: New.
378 * testsuite/23_containers/multiset/14340.cc: New.
379 * testsuite/23_containers/set/14340.cc: New.
380 * testsuite/23_containers/vector/14340.cc: New.
381
3822004-05-17 Douglas Gregor <gregod@cs.rpi.edu>
383
384 PR libstdc++/14340
385 * include/debug/safe_iterator.h (_Safe_iterator converting
386 constructor): Only allow declaration to instantiate when the
387 incoming _Safe_iterator has exactly the right iterator type.
388
b2342b54
JW
3892004-05-17 Jonathan Wakely <redi@gcc.gnu.org>
390
391 * include/bits/boost_concept_check.h: Fix old attribute syntax.
392 * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
393 to pass concept-checks.
394 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
395 * testsuite/23_containers/set/modifiers/swap.cc: Same.
396 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
397
5a4db26d
PC
3982004-05-16 Paolo Carlini <pcarlini@suse.de>
399
400 * include/std/std_bitset.h: Minor formatting fixes.
401
08f7c2eb
PC
4022004-05-16 Paolo Carlini <pcarlini@suse.de>
403
404 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
405 Consistently update __bin._M_free[0].
406 (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
407 __bin._M_free[0] to simplify the while loop (i.e., the number
408 of iterations becomes known at the outset).
409
5c33bb62
PC
4102004-05-15 Paolo Carlini <pcarlini@suse.de>
411
412 * include/std/std_bitset.h: Trivial formatting fixes.
413
394ef95e
PC
4142004-05-14 Paolo Carlini <pcarlini@suse.de>
415 Ivan Godard <igodard@pacbell.net>
416
417 PR libstdc++/15361
418 * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
419 * testsuite/23_containers/bitset/ext/15361.cc: New.
420
7549d7f2
BK
4212004-05-13 Benjamin Kosnik <bkoz@redhat.com>
422
423 PR libstdc++/15046
424 * crossconfig.m4: Add C99 math bits for linux crosses.
425 * configure: Regenerate.
426
95b147fe
SM
4272004-05-13 Simon Marshall <simon.marshall@misys.com>
428 Benjamin Kosnik <bkoz@redhat.com>
429
430 PR libstdc++/15090
431 * include/bits/locale_facets.h: Fix for -fno-for-scope.
432 * include/debug/safe_sequence.h: Same.
433 * include/debug/safe_iterator.tcc: Same.
434 * src/debug.cc: Same.
435 * src/locale.cc: Same.
436 * src/locale_init.cc: Same.
437 * src/localename.cc: Same.
438 * config/locale/gnu/ctype_members.cc: Same.
439 * config/locale/gnu/numeric_members.cc: Same.
440 * testsuite/testsuite_abi.cc: Same.
441 * testsuite/testsuite_hooks.cc: Same.
442
d7f30833
JW
4432004-05-13 Jonathan Wakely <redi@gcc.gnu.org>
444
445 * docs/html/abi.html: Document effect of -fabi-version on value
446 of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
447 Fix markup.
448
4b351c6e
BK
4492004-05-13 Benjamin Kosnik <bkoz@redhat.com>
450
451 PR libstdc++/15074
452 * docs/html/faq/index.html: Update docs for libsupc++ usage.
453
5c61a863
BK
4542004-05-13 Benjamin Kosnik <bkoz@redhat.com>
455
456 PR libstdc++/15412
457 * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
458 __gnu_internal.
459 (_GLIBCXX_mutex_address): Same.
460 (_GLIBCXX_once): Same.
461 (_GLIBCXX_mutex_init): Same.
462 (_GLIBCXX_mutex_address_init): Same.
463
4b260c20
BK
4642004-05-13 Benjamin Kosnik <bkoz@redhat.com>
465
466 * docs/html/abi.html: New.
467 * docs/html/abi.txt: Remove.
468 * docs/html/documentation.html: Add link.
469 * testsuite/Makefile.am: Add files.
470 * testsuite/Makefile.in: Regenerated.
471 * testsuite/abi_check.cc: Move and modify code into...
472 * testsuite/testsuite_abi.cc: Add.
473 * testsuite/testsuite_abi.h: Add.
474
475 * docs/html/17_intro/TODO: Update.
476 * include/bits/stl_pair.h: Format.
477
ce120bb2
MK
4782004-05-06 Matthias Klose <doko@debian.org>
479
480 * include/backward/iterator.h: Add GPL copyright info,
481 with exception clause.
482 * include/bits/boost_concept_check.h: Likewise.
483 * include
484 * libsupc++/tinfo.h: Likewise.
485 * po/string_literals.cc: Likewise.
486
dc7c62ae
AT
4872004-05-03 Andreas Tobler <a.tobler@schweiz.ch>
488
489 * acinclude.m4: Replace -W with more speaking -Wextra.
490 * configure: Rebuilt.
491
4df9c41d
PC
4922004-05-03 Paolo Carlini <pcarlini@suse.de>
493
494 Optimize locale::_M_impl->_M_names for the most common cases:
495 !_M_names[0] means unnamed; !_M_names[1] means all the categories
496 the same name (_M_names[0] && _M_names[1] means that the full set
497 of _M_names must be processed, the general case).
498 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
499 Tweak, saving work when !_M_names[1].
500 (locale::locale(const locale&, _Facet*): Simplify: now just setting
501 _M_names[0] = 0 means unnamed.
502 * src/locale.cc (locale::operator==): Deal first with the common,
503 easy cases, otherwise fall back to locale::name().
504 (locale::name()): Tweak, if !_M_names[0] just return "*".
505 (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
506 copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
507 * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
508 * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
509 Simplify when !std::strchr, just updating _M_names[0]; clean up.
510 (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
511 for the general case (full set of names), then do the usual work;
512 clean up.
513
514 * src/locale.cc (locale::name()): Reserve space in __ret.
515 * src/locale_init.cc (locale::global(const locale&)): Save
516 the name in a temporary.
517 * src/localename.cc (locale::locale(const char*)): Reserve space
518 in __str.
519
59639106
PC
5202004-04-29 Paolo Carlini <pcarlini@suse.de>
521
522 * src/locale.cc (locale::operator==): Always avoid constructing
523 locale::name(), directly compare pairs of _M_names.
524
479864fe
PC
5252004-04-26 Paolo Carlini <pcarlini@suse.de>
526
527 * include/bits/istream.tcc: Fix comment.
528
874e7baa
PC
5292004-04-26 Paolo Carlini <pcarlini@suse.de>
530
531 * include/bits/stl_vector.h: Trivial formatting fixes.
532 * include/bits/vector.tcc: Likewise.
533
247791f5
PC
5342004-04-25 Paolo Carlini <pcarlini@suse.de>
535
536 PR libstdc++/15002 (continued again)
537 * include/bits/istream.tcc (getline(basic_istream<>&,
538 basic_string<>&, _CharT)): Use a temporary buffer, thus
539 avoiding reallocation for common case.
540
541 * include/bits/basic_string.tcc (_S_construct(_InIterator,
542 _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
543 of temporary buffer to a power of two.
544
545 * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
546
c26fa757
PC
5472004-04-25 Paolo Carlini <pcarlini@suse.de>
548
549 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
550 New.
551 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
552 Likewise.
553 * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
554
062bf895
PC
5552004-04-24 Paolo Carlini <pcarlini@suse.de>
556 Petur Runolfsson <peturr02@ru.is>
557
558 PR libstdc++/15002 (continued)
559 * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
560 streamsize, char_type)): Use traits::find/copy in a loop to speed
561 up greatly the function in the common case (I/O buffer size >> 1).
562
5632004-04-24 Paolo Carlini <pcarlini@suse.de>
564
565 * testsuite/27_io/basic_istream/getline/char/4.cc: New.
566
567 * include/bits/istream.tcc (getline(basic_istream<>&,
568 basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
569 of sbumpc(), consistently with the other functions, thus also
570 dealing correctly with the case of exceeded string::max_size().
571
adabbcf4
MK
5722004-04-24 Matthias Klose <doko@debian.org>
573
574 Jonathan Wakely <cow@compsoc.man.ac.uk>
575 * docs/html/configopts.html: Fix reference to allocator config option.
576
fc2ae431
AP
5772004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
578
579 * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
580 * configure: Regenerate.
581
d8fe7b29
DJ
5822004-04-23 Daniel Jacobowitz <drow@mvista.com>
583
584 PR libstdc++/15047, libstdc++/11610
585 * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
586 (libstdc++_init): Don't pass outdir to v3-copy-files.
587
0d8c9baf
PC
5882004-04-21 Paolo Carlini <pcarlini@suse.de>
589
590 * include/bits/deque.tcc: Trivial formatting fixes.
591 * include/bits/stl_deque.h: Likewise.
592 * include/bits/stl_list.h: Likewise.
593 * include/bits/stl_tree.h: Likewise.
594
0a746019
PC
5952004-04-21 Paolo Carlini <pcarlini@suse.de>
596 Andrew Pinski <pinskia@physics.uc.edu>
597
598 * include/bits/basic_string.tcc (_M_mutate): Don't compute
599 __src unnecessarily.
600
3dd50c74
BK
6012004-04-19 Benjamin Kosnik <bkoz@redhat.com>
602
603 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
604 Clarify assertion, set test variable to false before assert.
605 * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
606 * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
607 * testsuite/27_io/ios_base/storage/2.cc: Same.
608
609 * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
610 function returns.
611 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
612 * testsuite/27_io/fpos/14320-3.cc: Same.
613
614 * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
615 * testsuite/27_io/fpos/1.cc: Same.
616 * testsuite/27_io/basic_stringstream/2.cc: Same.
617 * testsuite/27_io/basic_stringbuf/4.cc: Same.
618 * testsuite/27_io/basic_stringbuf/1.cc: Same.
619 * testsuite/27_io/basic_stringbuf/2.cc: Same.
620 * testsuite/27_io/basic_streambuf/2.cc: Same.
621 * testsuite/27_io/basic_ostringstream/2.cc: Same.
622 * testsuite/27_io/basic_ostream/2.cc: Same.
623 * testsuite/27_io/basic_ofstream/2.cc: Same.
624 * testsuite/27_io/basic_istringstream/2.cc: Same.
625 * testsuite/27_io/basic_istream/2.cc: Same.
626 * testsuite/27_io/basic_iostream/2.cc: Same.
627 * testsuite/27_io/basic_ios/2.cc: Same.
628 * testsuite/27_io/basic_ifstream/2.cc: Same.
629 * testsuite/27_io/basic_fstream/2.cc: Same.
630 * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
631
632 * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
633 unsigned against zero.
634 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
635 * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
636
637 * testsuite/18_support/new_delete_placement.cc: Initialize
638 variables before first use.
639 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
640 * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
641 * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
642 * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
643 Same.
644 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
645 * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
646 Same.
647 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
648 * testsuite/27_io/types/2.cc: Same.
649
650 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
651 file name.
652 * testsuite/27_io/fpos/14775.cc: Same.
653
41b8e86c
PC
6542004-04-19 Paolo Carlini <pcarlini@suse.de>
655
656 PR libstdc++/15002 (partial)
657 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
658 Special case __n2 == 1, not calling traits_type::assign/copy.
659
f178c2d6
BK
6602004-04-17 Benjamin Kosnik <bkoz@redhat.com>
661
662 * include/bits/stl_bvector.h: Use _M_impl._M_start.
663
390e4c0d
BK
6642004-04-16 Benjamin Kosnik <bkoz@redhat.com>
665
666 * include/bits/c++config (_GLIBCXX_STD): New.
667 * src/list.cc: Use it.
668 * include/std/std_bitset.h: Same.
669 * include/bits/vector.tcc: Same.
670 * include/bits/stl_set.h: Same.
671 * include/bits/stl_multiset.h: Same.
672 * include/bits/stl_multimap.h: Same.
673 * include/bits/stl_map.h: Same.
674 * include/bits/stl_list.h: Same.
675 * include/bits/stl_vector.h: Same.
676 * include/bits/stl_bvector.h: Same.
677 * include/bits/stl_deque.h: Same.
678 * include/bits/deque.tcc: Same.
679 * include/bits/list.tcc: Same.
680 * include/debug/vector: Same.
681 * include/debug/set.h: Same.
682 * include/debug/multiset.h: Same.
683 * include/debug/multimap.h: Same.
684 * include/debug/map.h: Same.
685 * include/debug/list: Same.
686 * include/debug/deque: Same.
687 * include/debug/bitset: Same.
688 * include/debug/formatter.h (__gnu_debug): Remove using directive.
689 Add using declaration for std::type_info.
690 * include/debug/safe_iterator.h: Add using declaration for
691 std::iterator_traits and std::pair.
692 * src/debug_list.cc: New.
693 * src/Makefile.am: Add debug_list.cc.
694 * src/Makefile.in: Regenerate.
695 * config/linker-map.gnu: Add _List_node_base exports for std and
696 __gnu_norm.
697
698 * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
699 idiom that other containers use.
700 * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
701
2f228199
PC
7022004-04-16 Paolo Carlini <pcarlini@suse.de>
703
704 PR libstdc++/14975
705 * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
706 in case of error.
707 * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
708 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
709
af55af57
PC
7102004-04-16 Paolo Carlini <pcarlini@suse.de>
711
712 * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
713 used anymore.
714 * config.h.in: Regenerate.
715
7162004-04-16 Paolo Carlini <pcarlini@suse.de>
717
718 * config/locale/generic/monetary_members.cc
719 (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
720 btowc unnecessarily, just cast to wchar_t (the concerned chars
721 all belong to the basic character set).
722 * config/locale/generic/numeric_members.cc
723 (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
724 * config/locale/gnu/monetary_members.cc
725 (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
726 * config/locale/gnu/numeric_members.cc
727 (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
728
d7ed521b
PC
7292004-04-15 Paolo Carlini <pcarlini@suse.de>
730
731 * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
732 avoid constructing unnecessarily this->name().
733
76e9802c
ZW
7342004-04-14 Zack Weinberg <zack@codesourcery.com>
735
736 * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
737 Change definition of CXX to use $(shell) instead of backticks.
738 * testsuite/Makefile.in: Regenerate.
739
e0fb1c5c
DM
7402004-04-12 Dhruv Matani <dhruvbird@gmx.net>
741
742 * testsuite/performance/20_util/allocator/list_sort_search.cc:
743 Minor formatting fixes.
744 * testsuite/performance/20_util/allocator/map_mt_find.cc:
745 Likewise.
746
92861ad4
PC
7472004-04-12 Paolo Carlini <pcarlini@suse.de>
748
749 * config/locale/gnu/numeric_members.cc
750 (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
751 in __uselocale, since btowc is called for chars belonging to
752 the basic character set.
753
895510be
PC
7542004-04-09 Paolo Carlini <pcarlini@suse.de>
755
756 * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
757 * testsuite/22_locale/messages/members/char/2.cc: Ditto.
758 * testsuite/22_locale/messages/members/char/3.cc: Ditto.
759 * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
760 * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
761 * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
762 * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
763 * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
764 * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
765 * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
766 * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
767 * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
768 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
769 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
770 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
771 * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
772 * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
773
ba98a8d8
PC
7742004-04-07 Paolo Carlini <pcarlini@suse.de>
775
776 * config/locale/generic/time_members.cc
777 (__timepunct<char>::_M_initialize_timepunct,
778 __timepunct<wchar_t>::_M_initialize_timepunct): the correct
779 _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
780 * config/locale/gnu/time_members.cc
781 (__timepunct<char>::_M_initialize_timepunct,
782 __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
783 * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
784 * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
785
786 * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
787 * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
788 * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
789 * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
790 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
791 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
792 * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
793 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
794 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
795 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
796 * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
797 * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
798 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
799 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
800 * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
801 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
802 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
803 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
804 * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
805 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
806 * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
807 * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
808 * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
809 * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
810 * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
811 * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
812 * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
813 * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
814 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
815 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
816 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
817 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
818 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
819 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
820 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
821 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
822
823 * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
824
f332a090
PC
8252004-04-07 Paolo Carlini <pcarlini@suse.de>
826
827 * config/locale/gnu/monetary_members.cc
828 (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
829 _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
830 and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
831 _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
832 * config/locale/gnu/numeric_members.cc
833 (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
834 and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
835
563ae04f
BK
8362004-04-06 Benjamin Kosnik <bkoz@redhat.com>
837
838 Fixups for EDG front end.
839 * include/ext/rope: Instead of non-existent function
840 _Data_allocate, use allocator's allocate. Use this.
841 (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
842 enumerations from _Rope_RopeRep here.
843 * include/ext/ropeimpl.h: Same.
844 * src/ext-inst.cc (_S_min_len): Fix up definition.
76e9802c 845
563ae04f
BK
846 * config/locale/gnu/ctype_members.cc: Qualify base class members
847 with this.
848 * config/locale/generic/ctype_members.cc: Same.
849 * config/locale/gnu/messages_members.h: Same.
850 * config/locale/generic/messages_members.h: Same.
851 * src/ctype.cc: Same.
852 * include/bits/codecvt.h: Same.
76e9802c 853
563ae04f
BK
854 * include/bits/boost_concept_check.h: Declare.
855 (__error_type_must_be_an_unsigned_integer_type): Remove this.
856 (__error_type_must_be_an_integer_type): Remove this.
76e9802c 857 (__error_type_must_be_a_signed_integer_type): Remove this.
563ae04f
BK
858
859 * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
860
861 * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
862 specification to definition.
863 (__cxa_allocate_exception): Same.
864 * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
865 * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
76e9802c
ZW
866 (__cxa_get_globals): Same.
867
563ae04f
BK
868 * libsupc++/del_op.cc: Add comment about freestanding.
869
268d3b18
PC
8702004-04-05 Paolo Carlini <pcarlini@suse.de>
871
872 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
873 The critical section is actually very small, only two assignments.
874
9f35e4aa
PC
8752004-04-04 Paolo Carlini <pcarlini@suse.de>
876 Petur Runolfsson <peturr02@ru.is>
877
878 * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
879 adapted from libstdc++/11378.
880
c8333c0f
PC
8812004-04-03 Paolo Carlini <pcarlini@suse.de>
882
883 * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
884 some duplicated code.
885 (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
886 in the single threaded case.
887 * testsuite/performance/20_util/allocator/list_sort_search.cc:
888 Reorder and renumber the tests consistently with the other testfiles.
889 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
890 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
891 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
892
ab40b100
PC
8932004-04-02 Paolo Carlini <pcarlini@suse.de>
894
895 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
896 Rearrange arithmetic to avoid computing two divisions at
897 each deallocation.
898
354d4c68
PC
8992004-04-01 Paolo Carlini <pcarlini@suse.de>
900
901 * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
902 Streamline the second half, wrapping it in a single
903 '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
904 conditionals inside loops.
905
2ae6e982
PC
9062004-04-01 Paolo Carlini <pcarlini@suse.de>
907
908 PR libstdc++/14775
909 * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
910 * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
911 GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
912 to _GLIBCXX_RES_LIMITS.
913 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
914 HAVE_LIMIT_*.
915 * testsuite/testsuite_hooks.h: Declare set_file_limit.
916 * testsuite/testsuite_hooks.cc: Define it, using getrlimit
917 and setrlimit(RLIMIT_FSIZE).
918 * testsuite/27_io/fpos/14775.cc: New.
919 * config.h.in: Regenerate.
920 * configure: Likewise.
921
e004c331
PC
9222004-03-31 Paolo Carlini <pcarlini@suse.de>
923
924 * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
925 In v3 uses of sscanf, the special floating-point numbers INF,
926 INFINITY, etc., cannot occur in input, therefore, if the latter
927 is too large, ERANGE is always stored in errno, no need of finitel.
928
06ce7726
BK
9292004-03-30 Benjamin Kosnik <bkoz@redhat.com>
930
931 PR libstdc++/14783
932 * include/bits/stl_tree.h: Adjust initialization list order.
933
7be1c3fb
LR
9342004-03-29 Loren J. Rittle <ljrittle@acm.org>
935
936 * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
937
63041e68
PC
9382004-03-29 Paolo Carlini <pcarlini@suse.de>
939
940 * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
941 on allocator behavior, the memory pointed by data2 may well be not
942 trashed.
943
f26e5597
CB
9442004-03-28 Chavdar Botev <cbotev@yahoo.com>
945
946 PR libstdc++/14245
947 * include/bits/basic_string.tcc
948 (basic_string::basic_string(const basic_string&)): Pass to
949 _Rep::_M_grab the actual allocator of the string being constructed
950 not the default constructed one.
951
a5f105b5
BK
9522004-03-27 Benjamin Kosnik <bkoz@redhat.com>
953
954 libstdc++ PR/13598
955 * config/locale/ieee_1003.1-2001/codecvt_specializations.h
956 (__enc_traits::_M_destroy): New.
957 (__enc_traits::~__enc_traits): Use it.
958 (__enc_traits::operator=): Use _M_destroy, _M_init.
959 (__enc_traits::__enc_traits): Same.
960
9612004-03-27 Petur Runolfsson <peturr02@ru.is>
962
963 * testsuite/ext/enc_filebuf/char/13598.cc: New.
964
6f52a889
PC
9652004-03-27 Paolo Carlini <pcarlini@suse.de>
966
967 * include/ext/mt_allocator.h: Uglify consistently names of
968 variables, members and classes; tidy.
969
9702004-03-27 Dhruv Matani <dhruvbird@gmx.net>
971
972 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
973 Deallocation loop rewrote.
974
dd95381f
PC
9752004-03-26 Paolo Carlini <pcarlini@suse.de>
976
977 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
978 __mt_alloc<>::deallocate): Protect two instances of
979 block->thread_id with __GTHREADS.
980
8bd22a3c
BK
9812004-03-25 Gawain Bolton <gp.bolton@computer.org>
982
983 * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
984 default argument in constructors.
985 (_Rb_tree::_M_empty_initialize): Remove.
76e9802c 986
8bd22a3c 9872004-03-25 Benjamin Kosnik <bkoz@redhat.com>
76e9802c 988
8bd22a3c
BK
989 * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
990 * testsuite/23_containers/set/operators/1_neg.cc: Same.
991
9922004-03-25 Dhruv Matani <dhruvbird@gmx.net>
993
994 * include/bits/cpp_type_traits.h: Changed __is_pod
995 completely. Now, it does not use any of the previous type_traits
996 to detect the pod types, and it also detects function pointers as
997 POD types.
998
999 * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
1000 which encapsulates the internal implementation of an rb_tree. Made
1001 the allocator a base class of this class instead of the rb_tree,
1002 which was not conforming. This _Rb_tree_impl class is also
1003 specialized on whether the _Compare parameter is a POD type or
1004 not. If so, then it maintains the comparison function as a data
1005 member, otherwise it makes the _Compare parameter a base class of
1006 itself. Also, _M_key_compare is now a function instead of a data
1007 member, so that the above trick can work properly. Delegated the
1008 initialization of the other data members to this newly created
1009 class. Also, now other member functions of rb_tree must refer to
1010 _M_key_compare as _M_impl._M_key_compare(). The other data members
1011 (*) can be referenced to as _M_impl.(*), where
1012 (*) includes _M_header, and _M_node_count.
1013
90ceccd4
PC
10142004-03-25 Paolo Carlini <pcarlini@suse.de>
1015
1016 * include/ext/mt_allocator.h (__mt_alloc<>::tune):
1017 Add _M_min_bin, the size in bytes of the smallest bin.
1018 (__mt_alloc<>::tune()): Tweak accordingly.
1019 (__mt_alloc<>::tune(size_t, ...)): Likewise.
1020 (__mt_alloc<>::block_record): Change to a union: members next
1021 and thread_id are never used at the same time.
1022 (__mt_alloc<>::allocate): Update consistently.
1023 (__mt_alloc<>::deallocate): Likewise.
1024 (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
1025 _S_bin_size for the configurable _M_min_size.
1026
03f9ea44
DM
10272004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1028
1029 * include/bits/stl_list.h: Created a _List_impl class and made it
1030 derive from the allocator, instead of the list deriving from the
1031 allocator class, which was not conformant. Changed all references
1032 from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
1033 as above (changed all references to the concerned variables).
1034
10352004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1036
1037 * include/bits/stl_deque.h: Created a _Deque_impl class and made
1038 it derive from the allocator, instead of the deque deriving from
1039 the allocator class, which was not conformant. Changed all
1040 references to the _M_start, _M_finish, _M_map, and _M_map_size to
1041 _M_impl.*.
1042 (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
1043 qualification in 2 places where it was missing.
1044 (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
1045 above.
1046 * include/bits/deque.tcc: Same as above (changed all references to
1047 the concerned variables).
1048
10492004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1050
1051 * include/bits/stl_vector.h: Created a _Vector_impl class and made
1052 it derive from the allocator, instead of the _Vector_base class,
1053 deriving from the allocator which was not conformant. Changed all
1054 references to the _M_start, _M_finish, and _M_end_of_storage to
1055 _M_impl.*.
1056 * include/bits/vector.tcc: Same as above (changed all references
1057 to the concerned variables).
1058
10592004-03-25 Dhruv Matani <dhruvbird@gmx.net>
1060
1061 * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
1062 * testsuite/23_containers/list/cons/clear_allocator.cc: New.
1063 * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
76e9802c 1064
58c95921
DM
10652004-03-24 Dhruv Matani <dhruvbird@gmx.net>
1066
03f9ea44
DM
1067 * include/ext/malloc_allocator.h: Fixed the construct function to
1068 call global placement new instead of assignment. Added a check
1069 after the return from malloc to check whether returned pointer is
1070 NULL, and if so, throw std::bad_alloc().
1071 * include/ext/debug_allocator.h: Added a check in the deallocate
1072 function to check whether the user has passed a NULL pointer or
1073 not.
76e9802c 1074
8367b9c1
BK
10752004-03-24 Benjamin Kosnik <bkoz@redhat.com>
1076
1077 * docs/html/20_util/allocator.html: Add bitmap_allocator links.
1078
d62c1a1f
AS
10792004-03-24 Andreas Schwab <schwab@suse.de>
1080
1081 * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
1082 warning from IA64 assembler.
1083
71f9a9d1 10842004-03-24 Dhruv Matani <dhruvbird@gmx.net>
76e9802c 1085
71f9a9d1
DM
1086 * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
1087 function call __builtin_ctz instead of the while loop.
1088 (allocate) -> If condition has __builtin_expect.
1089 (deallocate) -> Ditto.
1090 Renamed a few left-over variables and typedefs according to the
1091 C++STYLE mentioned in the documentation.
1092 Protected calls to __gthread* by __gthread_active_p(), whose value
1093 is cached in the local variable __threads_active.
1094
b4a76c01
FY
10952004-03-24 Felix Yen <fwy@alumni.brown.edu>
1096
1097 * testsuite/performance/20_util/allocator/producer_consumer.cc:
1098 Use linear algorithm for producer.
76e9802c 1099
affb18b2
PC
11002004-03-24 Paolo Carlini <pcarlini@suse.de>
1101
1102 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
1103 __mt_alloc<>::deallocate): Avoid redundant conditionals.
1104
586b5f20
BK
11052004-03-23 Benjamin Kosnik <bkoz@redhat.com>
1106
1107 * include/bits/locale_facets.h: Tweaks for 80 column.
1108 (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
1109 (__moneypunct_cache::_M_cache): Same.
1110 (num_get): Don't inherit from __num_base.
1111 (num_put): Same.
1112 (money_get): Don't inherit from money_base.
1113 (money_put): Same.
1114 (__timepunct::_M_am_pm_format): New.
1115 (time_get::_M_extract_num): Return iterator, use ios_base as argument.
1116 (time_get::_M_extract_name): Same.
1117 (time_get::_M_extract_via_format): Same.
1118 * include/bits/locale_facets.tcc: Tweaks for 80 column.
1119 Use _M_getloc instead of getloc.
1120 * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
1121 * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
1122 * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
1123
29d4adf4
PC
11242004-03-22 Paolo Carlini <pcarlini@suse.de>
1125
1126 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
1127 * configure: Regenerate.
1128 * config/allocator/pool_allocator_base.h: New.
1129 * include/ext/pool_allocator.h: Convert to a standard-conforming
1130 allocator.
1131 * src/allocator.cc: Tweak instantiations.
1132 * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
1133 * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
1134 * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
1135 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
1136 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
1137 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
1138
fea41ef9
HPN
11392004-03-22 Hans-Peter Nilsson <hp@axis.com>
1140
1141 * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
1142 inline" and attribute-unused. Qualify parameter __mem with
1143 "volatile".
1144 (__exchange_and_add): Ditto. Add back memory clobber to asm.
1145
9c024d9c
PC
11462004-03-20 Paolo Carlini <pcarlini@suse.de>
1147
1148 * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
1149 Remove junk.
1150 * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
1151 Likewise.
1152 * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
1153 Likewise.
1154 * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
1155 Likewise.
1156 * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
1157 Likewise.
1158 * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
1159 Likewise.
1160 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1161 Likewise.
1162 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1163 Likewise.
1164 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1165 Likewise.
1166 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
76e9802c 1167 Likewise.
9c024d9c 1168
2787b59a
PC
11692004-03-20 Paolo Carlini <pcarlini@suse.de>
1170
1171 * include/std/std_valarray.h: Document DR389 [Ready].
1172 * docs/html/ext/howto.html: Add an entry for DR389.
1173
1b1a632b
ME
11742004-03-19 Michael Eager <eager@mvista.com>
1175
1176 * config/cpu/mips/atomicity.h: Prevent reg loads between LL and
1177 SC instructions.
1178
28f2a265
PC
11792004-03-19 Paolo Carlini <pcarlini@suse.de>
1180
1181 * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
1182 static_cast-s.
1183 * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
1184 * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
1185 * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
1186 * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
1187 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
1188 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
1189 * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
1190 * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
1191 * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
1192
8268bba6
PC
11932004-03-19 Paolo Carlini <pcarlini@suse.de>
1194 Petur Runolfsson <peturr02@ru.is>
1195
1196 PR libstdc++/12077
1197 * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
1198 no way to find out the conversion used by the underlying FILE*.
1199 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
1200 * testsuite/27_io/objects/char/9.cc: Tweak.
1201
59d35672
PC
12022004-03-19 Paolo Carlini <pcarlini@suse.de>
1203
1204 PR libstdc++/14648
1205 * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
1206 memory allocation/deallocation calls.
1207 * testsuite/ext/14648.cc: New.
1208
ab7ac222
PS
12092004-03-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
1210
1211 PR libstdc++/14647
1212 * include/backward/bvector.h (bit_vector): Allocator is in std
1213 namespace.
1214
d54bc1d8
PE
12152004-03-19 Phil Edwards <phil@codesourcery.com>
1216
1217 * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV,
1218 not libiconv. SUBST this variable as well.
1219 * testsuite/Makefile.am (site.exp): New target, based on that
1220 created by automake. Also set libiconv.
1221
1222 * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
1223 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
1224 testsuite/Makefile.in: Regenerate.
1225
87599abd
BK
12262004-03-16 Benjamin Kosnik <bkoz@redhat.com>
1227
1228 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
1229 new_allocator for all hosts.
1230 * configure: Regenerate.
76e9802c 1231
e20036e2
PC
12322004-03-16 Paolo Carlini <pcarlini@suse.de>
1233
1234 * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
1235 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
76e9802c 1236
33674f00
PC
12372004-03-15 Paolo Carlini <pcarlini@suse.de>
1238
1239 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1240 Adjust the logic underlying the parsing of symbol to deal
1241 correctly with an optional sign component (i.e., when either
76e9802c 1242 negative_sign or positive_sign is empty)
33674f00
PC
1243 * testsuite/22_locale/money_get/get/char/19.cc: New.
1244 * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
1245
12462004-03-15 Paolo Carlini <pcarlini@suse.de>
1247
1248 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1249 Do not accept an incomplete currency symbol.
1250 * testsuite/22_locale/money_get/get/char/18.cc: New.
1251 * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
1252
8b0d6051
BK
12532004-03-13 Benjamin Kosnik <bkoz@redhat.com>
1254
1255 * config/allocator: New.
1256 * config/allocator/bitmap_allocator_base.h: New.
1257 * config/allocator/malloc_allocator_base.h: New.
1258 * config/allocator/mt_allocator_base.h: New.
1259 * config/allocator/new_allocator_base.h: New.
1260 * include/bits/allocator.h: Include c++allocator.h.
1261 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
1262 * aclocal.m4: Regenerate.
76e9802c 1263 * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
8b0d6051
BK
1264 * configure: Regenerate.
1265 * include/Makefile.am (host_headers_extra): Add c++allocator.h.
1266 * include/Makefile.in: Regenerate.
1267 * docs/html/configopts.html: Add enable-libstdcxx-allocator.
1268
eef56029
BK
12692004-03-12 Benjamin Kosnik <bkoz@redhat.com>
1270
1271 * include/bits/allocator.h: Revert.
1272
d4cd08dd
PC
12732004-03-12 Paolo Carlini <pcarlini@suse.de>
1274
1275 * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
1276 * include/bits/gslice_array.h: Add comment about DR 253.
1277 * include/bits/indirect_array.h: Likewise.
1278 * include/bits/mask_array.h: Likewise.
1279 * include/bits/slice_array.h: Likewise.
1280
ce7df2fd
BK
12812004-03-12 Benjamin Kosnik <bkoz@redhat.com>
1282
1283 * testsuite/20_util/allocator/14176.cc: New.
1284 * include/ext/mt_allocator.h: Formatting fixes.
76e9802c 1285
009368db
DM
12862004-03-11 Dhruv Matani <dhruvbird@HotPOP.com>
1287
1288 * include/Makefile.am (ext_headers): Add
1289 ${ext_srcdir}/bitmap_allocator.h .
1290 * include/Makefile.in: Regenerate.
1291 * docs/html/ext/ballocator_doc.txt: New file.
1292 * include/ext/bitmap_allocator.h: New file.
76e9802c 1293 * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
ce7df2fd 1294 test.
009368db
DM
1295 * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
1296 * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
1297 test for the bitmap_allocator<>.
1298 * testsuite/performance/20_util/allocator/insert.cc: Likewise.
1299 * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
1300 * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
1301
c6feb697
PC
13022004-03-11 Paolo Carlini <pcarlini@suse.de>
1303
1304 * include/std/std_complex.h (pow(const complex&, const _Tp&),
1305 pow(const _Tp&, const complex&), pow(const complex&,
1306 const complex&)): Fully qualify with std:: a few calls.
1307 * testsuite/26_numerics/complex/13450.cc: Minor tweak.
1308
e3628001 13092004-03-11 Steven Bosscher <stevenb@suse.de>
b7c34954
SB
1310
1311 PR libstdc++/11706
1312 * include/c_std/cmath.tcc (__cmath_power): Define inline.
1313
8ab705be
KC
13142004-03-10 Kelley Cook <kcook@gcc.gnu.org>
1315
1316 * configure.ac: Bump AC_PREREQ to 2.59.
1317
f69535d2
PC
13182004-03-10 Paolo Carlini <pcarlini@suse.de>
1319
1320 * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
1321
52ddaf41
PK
13222004-03-10 Paul Kienzle <pkienzle@nist.gov>
1323 Paolo Carlini <pcarlini@suse.de>
1324
1325 PR libstdc++/13450
1326 * include/std/std_complex.h (pow(const complex&, const _Tp&),
1327 pow(const _Tp&, const complex&)): Use cmath pow only when safe.
1328 * testsuite/26_numerics/complex/13450.cc: New.
1329
1330 * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
1331 * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
1332
ecc7568d
JQ
13332004-03-10 Jerry Quinn <jlquinn@optonline.net>
1334
52ddaf41 1335 PR libstdc++/3247
ecc7568d
JQ
1336 * include/bits/gslice_array.h (gslice_array()): Make public.
1337 (operator=(gslice_array)): Make public. Implement.
1338 * include/bits/indirect_array.h (indirect_array()): Make public.
1339 * include/bits/mask_array.h (mask_array()): Make public.
1340 (operator=(mask_array)): Make public. Implement.
1341 * include/bits/valarray_array.tcc (__valarray_copy):
1342 Comment. Add versions for gslice_array and mask_array.
1343 * testsuite/26_numerics/valarray_subset_assignment.cc: New test.
1344
6dde938c
BK
13452004-03-09 Benjamin Kosnik <bkoz@redhat.com>
1346
1347 * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
1348 non-weak systems.
1349 * testsuite/23_containers/vector/modifiers/swap.cc: Same.
1350 * testsuite/23_containers/set/modifiers/swap.cc: Same.
1351 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
1352 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
1353 * testsuite/23_containers/map/modifiers/swap.cc: Same.
1354 * testsuite/23_containers/list/modifiers/swap.cc: Same.
1355
1356 * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
1357
f1c4ca32 13582004-03-08 Benjamin Kosnik <bkoz@redhat.com>
76e9802c 1359
f1c4ca32
BK
1360 PR c++/13658
1361 * testsuite/23_containers/deque/modifiers/swap.cc: New.
1362 * testsuite/23_containers/list/modifiers/swap.cc: New.
1363 * testsuite/23_containers/map/modifiers/swap.cc: New.
1364 * testsuite/23_containers/multimap/modifiers/swap.cc: New.
1365 * testsuite/23_containers/multiset/modifiers/swap.cc: New.
1366 * testsuite/23_containers/set/modifiers/swap.cc: New.
1367 * testsuite/23_containers/vector/modifiers/swap.cc: New.
76e9802c 1368
5a66cfb2
PR
13692004-03-08 Petur Runolfsson <peturr02@ru.is>
1370
1371 PR libstdc++/12658
1372 * testsuite/22_locale/locale/cons/12658_thread.cc: New.
1373
1d4eb925
PC
13742004-03-08 Paolo Carlini <pcarlini@suse.de>
1375
1376 * docs/html/ext/howto.html: Add entry for DR 103 [WP].
1377 * include/bits/stl_multiset.h: Add comment about DR 103.
1378 * include/bits/stl_set.h: Likewise.
1379
f1c89270
PC
13802004-03-08 Paolo Carlini <pcarlini@suse.de>
1381
1382 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1383 The value _space_ indicates that at least one space is required
1384 at that position.
1385 * testsuite/22_locale/money_get/get/char/17.cc: New.
1386 * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
1387
1388 * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
1389 * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
1390
1391 * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
1392 Remove redundant conditional on __str.size().
76e9802c 1393
f5fb3886
BK
13942004-03-08 Benjamin Kosnik <bkoz@redhat.com>
1395
1396 * include/bits/allocator.h: Switch defaults to mt_alloc.
1397
c0bec71b
BK
13982004-03-06 Benjamin Kosnik <bkoz@redhat.com>
1399
1400 * include/ext/mt_allocator.h (_S_initialize): If
1401 !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
1402
f83295ba
BK
14032004-03-06 Benjamin Kosnik <bkoz@redhat.com>
1404
1405 PR libstdc++/12658
1406 * src/locale_init.cc (locale::locale): Lock critical regions with
1407 external mutexes.
76e9802c
ZW
1408 (locale::global): Same.
1409 * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
f83295ba
BK
1410 Add in once bits for cases without __GTHREAD_MUTEX_INIT.
1411 (__glibcxx_mutex_lock): Same.
1412
1413 * config/cpu/generic/atomicity.h: Remove
1414 _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
1415 * src/misc-inst.cc: Move all locking bits out of this file.
1416
1417 * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
1418 * src/misc-inst.cc: Same.
1419 * config/cpu/hppa/atomicity.h: Same.
1420
1421 * config/linker-map.gnu: Remove types in the signature of atomic
1422 exports, as they may vary.
76e9802c 1423
0c2cc7b3
PC
14242004-03-06 Paolo Carlini <pcarlini@suse.de>
1425
1426 * include/bits/locale_facets.tcc: Tweak the comment preceding
1427 has_facet: doesn't throw.
1428
73da19bb
PC
14292004-03-06 Paolo Carlini <pcarlini@suse.de>
1430
1431 * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
1432 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1433 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1434 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1435 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1436 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1437 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1438 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1439
ce345590
PC
14402004-03-06 Paolo Carlini <pcarlini@suse.de>
1441
1442 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1443 num_get<>::_M_extract_int, num_get<>::do_get(bool&),
1444 __pad<>::_S_pad): Prefer plain operator== to traits::eq().
1445 * testsuite/testsuite_character.h (struct __gnu_test::character):
1446 Provide operator==.
1447 * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
1448 Likewise.
1449
35bd3c28
PC
14502004-03-05 Paolo Carlini <pcarlini@suse.de>
1451
1452 * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
1453
80e39f4a
BK
14542004-03-04 Benjamin Kosnik <bkoz@redhat.com>
1455
1456 * testsuite/23_containers/multiset/insert/1.cc: Test result string.
1457
1458 * testsuite/23_containers/bitset/invalidation/1.cc: Main always
76e9802c 1459 returns 0.
80e39f4a
BK
1460 * testsuite/23_containers/deque/invalidation/4.cc: Same.
1461 * testsuite/23_containers/list/invalidation/1.cc: Same.
1462 * testsuite/23_containers/list/invalidation/2.cc: Same.
1463 * testsuite/23_containers/list/invalidation/3.cc: Same.
1464 * testsuite/23_containers/list/invalidation/4.cc: Same.
1465 * testsuite/23_containers/map/invalidation/2.cc: Same.
1466 * testsuite/23_containers/multimap/invalidation/1.cc: Same.
1467 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1468 * testsuite/23_containers/multiset/invalidation/1.cc: Same.
1469 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1470 * testsuite/23_containers/set/invalidation/1.cc: Same.
1471 * testsuite/23_containers/set/invalidation/2.cc: Same.
1472 * testsuite/23_containers/vector/invalidation/1.cc: Same.
1473 * testsuite/23_containers/vector/invalidation/2.cc: Same.
1474 * testsuite/23_containers/vector/invalidation/3.cc: Same.
1475 * testsuite/23_containers/vector/invalidation/4.cc: Same.
1476
2aa89cbb
PC
14772004-03-04 Paolo Carlini <pcarlini@suse.de>
1478
1479 * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
1480 CXXFLAGS_save.
1481 * testsuite/lib/libstdc++.exp: Don't add it conditionally to
76e9802c 1482 DEFAULT_CXXFLAGS.
2aa89cbb
PC
1483 * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
1484 from the dg-options.
1485 * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
1486 * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
1487 * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
1488 * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
1489 * testsuite/23_containers/vector/resize/1.cc: Likewise.
1490 * testsuite/26_numerics/complex_value.cc: Likewise.
1491 * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1492 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1493 * testsuite/27_io/ios_base/storage/3.cc: Likewise.
1494 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1495 * testsuite/27_io/objects/char/5.cc: Likewise.
1496 * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1497 * testsuite/backward/11460.cc: Likewise.
1498 * testsuite/thread/pthread7-rope.cc: Likewise.
1499
1500 * testsuite/21_strings/basic_string/compare/char/1.cc: Add
1501 missing test variable.
1502 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
1503 missing test variable.
1504
f90e600a
BK
15052004-03-04 Benjamin Kosnik <bkoz@redhat.com>
1506
1507 * testsuite/20_util/allocator/1.cc: Provide explicit
1508 instantiations for non-weak systems.
1509 * testsuite/20_util/binders.cc: Same.
1510 * testsuite/20_util/allocator/8230.cc: Same.
1511 * testsuite/20_util/allocator/10378.cc: Same.
1512 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
1513 * testsuite/22_locale/ctype/is/char/2.cc: Same.
1514 * testsuite/thread/pthread7-rope.cc: Same.
76e9802c
ZW
1515 * testsuite/thread/pthread6.cc: Same.
1516 * testsuite/thread/pthread5.cc: Same.
1517 * testsuite/thread/pthread4.cc: Same.
f90e600a
BK
1518 * testsuite/thread/pthread1.cc: Same.
1519 * testsuite/ext/rope.cc: Same.
1520 * testsuite/ext/hash_set.cc: Same.
76e9802c 1521 * testsuite/ext/hash_map.cc: Same.
f90e600a
BK
1522 * testsuite/ext/concept_checks.cc: Same.
1523 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
1524 * testsuite/25_algorithms/unique/2.cc: Same.
1525 * testsuite/25_algorithms/unique/1.cc: Same.
1526 * testsuite/25_algorithms/rotate.cc: Same.
1527 * testsuite/25_algorithms/min_max.cc: Same.
76e9802c 1528 * testsuite/25_algorithms/equal.cc: Same.
f90e600a
BK
1529 * testsuite/24_iterators/rel_ops.cc: Same.
1530 * testsuite/24_iterators/iterator.cc: Same.
1531 * testsuite/24_iterators/insert_iterator.cc: Same.
1532 * testsuite/24_iterators/front_insert_iterator.cc: Same.
1533 * testsuite/24_iterators/back_insert_iterator.cc: Same.
1534 * testsuite/23_containers/vector/resize/1.cc: Same.
1535 * testsuite/23_containers/vector/modifiers/2.cc: Same.
1536 * testsuite/23_containers/vector/modifiers/1.cc: Same.
1537 * testsuite/23_containers/vector/invalidation/4.cc: Same.
1538 * testsuite/23_containers/vector/invalidation/3.cc: Same.
76e9802c 1539 * testsuite/23_containers/vector/invalidation/2.cc: Same.
f90e600a
BK
1540 * testsuite/23_containers/vector/invalidation/1.cc: Same.
1541 * testsuite/23_containers/vector/element_access/1.cc: Same.
1542 * testsuite/23_containers/vector/cons/6513.cc: Same.
1543 * testsuite/23_containers/vector/cons/3.cc: Same.
1544 * testsuite/23_containers/vector/cons/2.cc: Same.
1545 * testsuite/23_containers/vector/cons/1.cc: Same.
1546 * testsuite/23_containers/vector/capacity/8230.cc: Same.
1547 * testsuite/23_containers/vector/capacity/1.cc: Same.
1548 * testsuite/23_containers/vector/bool/6886.cc: Same.
1549 * testsuite/23_containers/stack/members/7158.cc: Same.
1550 * testsuite/23_containers/set/invalidation/2.cc: Same.
1551 * testsuite/23_containers/set/invalidation/1.cc: Same.
1552 * testsuite/23_containers/queue/members/7157.cc: Same.
1553 * testsuite/23_containers/priority_queue/members/7161.cc: Same.
1554 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
76e9802c 1555 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
f90e600a
BK
1556 * testsuite/23_containers/multiset/insert/1.cc: Same.
1557 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1558 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1559 * testsuite/23_containers/map/operators/1.cc: Same.
1560 * testsuite/23_containers/map/invalidation/2.cc: Same.
1561 * testsuite/23_containers/map/invalidation/1.cc: Same.
1562 * testsuite/23_containers/map/insert/1.cc: Same.
1563 * testsuite/23_containers/list/operators/4.cc: Same.
1564 * testsuite/23_containers/list/operators/3.cc: Same.
1565 * testsuite/23_containers/list/operators/2.cc: Same.
1566 * testsuite/23_containers/list/operators/1.cc: Same.
1567 * testsuite/23_containers/list/modifiers/3.cc: Same.
1568 * testsuite/23_containers/list/modifiers/2.cc: Same.
1569 * testsuite/23_containers/list/modifiers/1.cc: Same.
1570 * testsuite/23_containers/list/invalidation/4.cc: Same.
1571 * testsuite/23_containers/list/invalidation/3.cc: Same.
1572 * testsuite/23_containers/list/invalidation/2.cc: Same.
76e9802c 1573 * testsuite/23_containers/list/invalidation/1.cc: Same.
f90e600a
BK
1574 * testsuite/23_containers/list/cons/9.cc: Same.
1575 * testsuite/23_containers/list/cons/8.cc: Same.
1576 * testsuite/23_containers/list/cons/7.cc: Same.
1577 * testsuite/23_containers/list/cons/6.cc: Same.
1578 * testsuite/23_containers/list/cons/5.cc: Same.
1579 * testsuite/23_containers/list/cons/4.cc: Same.
1580 * testsuite/23_containers/list/cons/3.cc: Same.
1581 * testsuite/23_containers/list/cons/2.cc: Same.
1582 * testsuite/23_containers/list/cons/1.cc: Same.
1583 * testsuite/23_containers/list/capacity/1.cc: Same.
1584 * testsuite/23_containers/deque/operators/1.cc: Same.
1585 * testsuite/23_containers/deque/invalidation/4.cc: Same.
1586 * testsuite/23_containers/deque/invalidation/3.cc: Same.
1587 * testsuite/23_containers/deque/invalidation/2.cc: Same.
1588 * testsuite/23_containers/deque/invalidation/1.cc: Same.
1589 * testsuite/23_containers/deque/cons/2.cc: Same.
1590 * testsuite/23_containers/deque/cons/1.cc: Same.
1591
1592 * src/allocator.cc: Add char, wchar_t instantiations
1593 to match extern template declarations in memory.h.
1594
ced3ad4d
PC
15952004-03-03 Paolo Carlini <pcarlini@suse.de>
1596
1597 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1598 Fix warning regression.
1599
039e3c5c
PC
16002004-03-03 Paolo Carlini <pcarlini@suse.de>
1601
1602 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1603 Deal properly with empty __digits and negative frac_digits,
1604 clean-up a bit.
1605
0d957d26
JW
16062004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
1607
1608 * docs/html/documentation.html: Regenerate.
1609
0b1d67d2
PC
16102004-03-02 Paolo Carlini <pcarlini@suse.de>
1611
1612 PR libstdc++/14320
1613 * include/bits/postypes.h (class streamoff): Remove, now
1614 streamoff is just typedef a 64 bit signed integer type.
1615 (class fpos): Tweak consistently.
1616 * testsuite/27_io/fpos/14320-1.cc: New.
1617 * testsuite/27_io/fpos/14320-2.cc: New.
1618 * testsuite/27_io/fpos/14320-3.cc: New.
1619 * testsuite/27_io/fpos/14320-4.cc: New.
1620 * testsuite/27_io/fpos/14320-5.cc: New.
1621 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
1622
59564c5e
PC
16232004-03-02 Paolo Carlini <pcarlini@suse.de>
1624
1625 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1626 Reorganize a bit the main parsing loop, thus early detecting
1627 an empty value component.
1628 * testsuite/22_locale/money_get/get/char/16.cc: New.
1629 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
1630
ec2075e9
BK
16312004-03-02 Benjamin Kosnik <bkoz@redhat.com>
1632
1633 Support automake 1.8.2
1634 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
1635 * po/Makefile.am (EXTRA_DIST): New.
1636 * po/Makefile.in: Regenerate.
1637 * Makefile.in: Same.
1638 * include/Makefile.in: Same.
1639 * libmath/Makefile.in: Same.
1640 * libsupc++/Makefile.in: Same.
1641 * src/Makefile.in: Same.
1642 * testsuite/Makefile.in: Same.
1643
1644 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
1645 __GXX_WEAK__ instead of SUPPORTS_WEAK.
1646 (${host_builddir}/gthr-default.h): Same.
1647 (${host_builddir}/gthr.h): Same.
1648 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
1649 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
1650 -fno-weak.
1651 * aclocal.m4: Regenerate.
1652 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
1653 * config.h.in: Regenerate.
1654 * configure: Same.
76e9802c 1655
f214923c
BK
16562004-03-01 Benjamin Kosnik <bkoz@redhat.com>
1657
ec2075e9 1658 Support autoconf 2.59
f214923c
BK
1659 * acinclude.m4: Quote correctly.
1660 * aclocal.m4: Regenerate.
1661 * linkage.m4: Same.
1662
67283362
BK
16632004-03-01 Benjamin Kosnik <bkoz@redhat.com>
1664
1665 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
1666
1667 * docs/html/18_support/howto.html: Add bit about writing to
1668 stderr, mostly by Zack.
76e9802c 1669
98e953f5
PC
16702004-03-01 Paolo Carlini <pcarlini@suse.de>
1671
1672 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1673 money_get<>::do_get(string_type&)): ... and two more.
1674
b19fb27d
PC
16752004-03-01 Paolo Carlini <pcarlini@suse.de>
1676
1677 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1678 Fix thinkos in the switch from string_type& to string& as last
1679 argument.
1680
08ff96c3
PC
16812004-03-01 Paolo Carlini <pcarlini@suse.de>
1682
1683 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1684 Also when parsing exponent sign, first look for thousands_sep
1685 and decimal_point; tweak a bit.
1686 * testsuite/22_locale/num_get/get/char/15.cc: New.
1687 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
76e9802c 1688
08ff96c3
PC
1689 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1690 num_get<>::_M_extract_int): Reorder some conditionals.
1691
16922004-03-01 Paolo Carlini <pcarlini@suse.de>
1693
1694 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1695 Consistently with numpunct, enforce the requirements in
1696 22.2.6.3, p3 for the thousands separators; tweak a bit.
1697 * testsuite/22_locale/money_get/get/char/15.cc: New.
1698 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
76e9802c 1699
1152b861
DB
17002004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
1701
76e9802c 1702 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
1152b861
DB
1703 testsuite_files from correct multilib blddir when running
1704 testsuite.
1705
8b425082
PE
17062004-02-29 Phil Edwards <phil@codesourcery.com>
1707
1708 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
1709 the summary file to the logfile.
1710 * testsuite/Makefile.in: Regenerate.
1711
3a1a4ed2
JDA
17122004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1713
1714 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
1715 volatile.
1716 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
1717 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
1718
0e1b98cc
PC
17192004-02-28 Paolo Carlini <pcarlini@suse.de>
1720
1721 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1722 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
1723 no 'decimal-point' in the middle: in this case too we must fix
1724 up __found_grouping; slightly tweak.
1725 * testsuite/22_locale/num_get/get/char/14.cc: New.
1726 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
1727
58adf39c 17282004-02-27 Eric Christopher <echristo@redhat.com>
76e9802c 1729 Phil Edwards <phil@codesourcery.com>
58adf39c
EC
1730
1731 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
1732 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
1733 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
1734 testsuite/22_locale/collate/hash/wchar_t/2.cc,
1735 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
1736 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
1737 testsuite/22_locale/collate/transform/wchar_t/2.cc,
1738 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
1739 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1740 Use dg-require-iconv.
1741 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
1742
23834577 17432004-02-27 Phil Edwards <phil@codesourcery.com>
76e9802c 1744 Eric Christopher <echristo@redhat.com>
23834577
PE
1745
1746 * testsuite/config/default.exp: Update with comments.
1747 (${tool}_target_compile): New wrapper routine.
1748 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
1749 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
1750 fixes.
1751 (load_gcc_lib, v3track): New routines.
1752 (v3-init): Rename to libstdc++_init.
1753 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
1754 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
1755
00d04db6
BK
17562004-02-27 Benjamin Kosnik <bkoz@redhat.com>
1757
1758 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
1759
1760 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
1761
1762 * config/os/irix/irix5.2/atomicity.h: Merge..
1763 * config/os/irix/irix6.5/atomicity.h: Merge..
1764 * config/os/irix/atomicity.h: ...into this.
1765 * config/os/irix/atomic_word.h: New.
1766 * configure.host: Set atomic_word_dir for irix.
1767
1768 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
1769 * i386/atomicity.h: Same.
1770 * m68k/atomicity.h: Same.
1771 * sparc/atomicity.h: Same.
1772
c284a126
DE
17732004-02-27 David Edelsohn <edelsohn@gnu.org>
1774
1775 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
00d04db6 1776 static, and inline keywords.
c284a126 1777
a8ea7389
PC
17782004-02-27 Paolo Carlini <pcarlini@suse.de>
1779
1780 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1781 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
1782 call reserve on the __tmp_gruping string.
1783 (num_get<>::_M_extract_float): Don't append unnecessarily a
1784 char() to the returned string.
1785 * include/bits/locale_facets.tcc: Trivial reformattings.
1786
f4bdbead
PC
17872004-02-27 Paolo Carlini <pcarlini@suse.de>
1788
1789 * include/bits/locale_facets.h (money_get<>::_M_extract):
1790 Change signature: now takes a plain string&.
1791 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1792 Update consistently the definition; use the moneypunct cache
1793 to parse the value; use swap to change __units.
1794 (money_get<>::do_get(long double&)): Update call of _M_extract,
1795 avoid ctype::narrow, not correct wrt the standard.
1796 (money_get<>::do_get(string_type&)): Likewise, update call
1797 of _M_extract, use ctype::widen.
1798 * src/locale-inst.cc: Tweak instantiations of _M_extract.
1799
40fcf31b
BK
18002004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
1801
1802 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
1803 * testsuite/demangle/abi_examples/02.cc: Likewise.
1804 * testsuite/demangle/regression/cw-11.cc: Likewise.
1805 * testsuite/demangle/regression/cw-16.cc: Change two expected
1806 results to match libiberty demangler output.
1807
18082004-02-26 Benjamin Kosnik <bkoz@redhat.com>
1809
1810 PR libstdc++/10246
76e9802c
ZW
1811 * libsupc++/Makefile.am: Use libiberty demangler.
1812 (c_sources): Add cp-demangle.c.
1813 * libsupc++/Makefile.in: Regenerate.
1814 * src/Makefile.am (sources): Remove demangle.cc.
1815 * src/Makefile.in: Regenerate.
1816 * include/Makefile.am (bits_headers): Move demangle.h.
40fcf31b 1817 (ext_headers): ...here.
76e9802c
ZW
1818 * include/Makefile.in: Regenerate.
1819 * include/bits/demangle.h: Move...
40fcf31b 1820 * include/ext/demangle.h: ...here.
76e9802c 1821 * src/demangle.cc: Remove.
40fcf31b
BK
1822
18232004-02-26 Benjamin Kosnik <bkoz@redhat.com>
76e9802c
ZW
1824
1825 * include/bits/demangle.h: Add type template parameter to all
1826 templates with just an Allocator template parameter.
1827
2c5d0ae8
BK
18282004-02-25 Benjamin Kosnik <bkoz@redhat.com>
1829
1830 * include/bits/atomicity.h: New, forward declarations for __atomic_add
1831 and __exchange_and_add.
1832 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
1833 * config/cpu/cris/atomic_word.h: Same.
1834 * config/cpu/sparc/atomic_word.h: Same.
1835 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
1836 Qualifiy with __gnu_cxx.
1837 (_Callback_list::_M_add_reference): Same.
1838 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
1839 (locale::facet::_M_remove_reference): Same.
1840 (locale::_Impl::_M_add_reference): Add.
1841 (locale::_Impl::_M_remove_reference): Same.
1842 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
1843 (basic_string::_Rep::_M_dispose): Same.
1844 * src/ios.cc (ios_base::xalloc): Same.
1845 * src/ios_init.cc (ios_base::Init::Init): Same.
1846 (ios_base::Init::~Init): Same.
1847 * src/locale.cc (locale::id::_M_id): Same.
1848 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
00d04db6 1849 static, and inline keywords.
2c5d0ae8
BK
1850 * config/cpu/alpha/atomicity.h: Same.
1851 * config/cpu/cris/atomicity.h: Same.
1852 * config/cpu/generic/atomicity.h: Same.
1853 * config/cpu/hppa/atomicity.h: Same.
1854 * config/cpu/i386/atomicity.h: Same.
1855 * config/cpu/ia64/atomicity.h: Same.
1856 * config/cpu/m68k/atomicity.h: Same.
1857 * config/cpu/mips/atomicity.h: Same.
1858 * config/cpu/powerpc/atomicity.h: Same.
1859 * config/cpu/s390/atomicity.h: Same.
1860 * config/cpu/sparc/atomicity.h: Same.
76e9802c 1861
2c5d0ae8
BK
1862 * src/Makefile.am (host_sources): Add atomicity.cc.
1863 (atomicity.cc): New rule.
1864 * src/Makefile.in: Regenerate.
1865 * include/Makefile.am (host_headers): Remove host atomicity.h.
1866 (host_headers): Add atomic_word.h.
1867 (bits_headers): Add bits atomicity.h.
1868 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
1869 * include/Makefile.in: Regenerate.
1870 * configure.host (atomic_word_dir): Add.
1871 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
1872 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
1873 * configure: Regenerate.
1874 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
1875
1876 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
76e9802c
ZW
1877 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
1878
cec0e70b
JW
18792004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
1880
1881 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
1882 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
1883 Fix markup, more <link> tags.
1884
bb9f8a85
CW
18852004-02-25 Carlo Wood <carlo@alinoe.com>
1886
1887 * bits/demangle.h
1888 namespace __gnu_cxx::demangler
1889 (session<Allocator>::qualifier_list_Allocator): Add
1890 (session<Allocator>::M_qualifier_list_alloc): Add
1891 (session<Allocator>::decode_type_with_postfix):
1892 Use M_qualifier_list_alloc instead of calling operator new/delete.
1893
b79cef06
PC
18942004-02-24 Paolo Carlini <pcarlini@suse.de>
1895
1896 PR libstdc++/14252
1897 * include/bits/postypes.h (class streamoff): Add operator++(),
1898 operator++(int), operator--() and operator--(int).
1899 * testsuite/27_io/fpos/14252.cc: New.
1900
212063a8
RS
19012004-02-24 Richard Sandiford <rsandifo@redhat.com>
1902
1903 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
1904 error in handling of hex constants.
1905
031e658e
PC
19062004-02-24 Paolo Carlini <pcarlini@suse.de>
1907
1908 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1909 Prefer basic_string::append to operator+= and a temporary.
1910
6f94dea7
BK
19112004-02-23 Benjamin Kosnik <bkoz@redhat.com>
1912
1913 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
1914 Only use fputs, not write.
76e9802c 1915
20d0a40e 19162004-02-23 Benjamin Kosnik <bkoz@redhat.com>
f263b26e
BK
1917
1918 * include/ext/malloc_allocator.h: Add operators ==, !=.
1919 * include/ext/new_allocator.h: Add operators ==, !=.
1920 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
1921 (__mt_alloc::_S_get_options): New.
76e9802c 1922 (__mt_alloc::_S_set_options): New.
f263b26e
BK
1923 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
1924 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
1925 Move functions out of line, simplify, format.
1926 * src/allocator.cc: Simplify explicit instantiations.
1927 * include/bits/allocator.h: Tweak.
76e9802c 1928
20da06ef
PC
19292004-02-22 Paolo Carlini <pcarlini@suse.de>
1930
1931 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1932 Restructure formatting of value component, first dealing with
1933 the non-decimal digits; use reserve.
1934
19352004-02-22 Paolo Carlini <pcarlini@suse.de>
1936
1937 * include/bits/locale_facets.h (class money_get): Inherit
1938 from money_base too; tweak declaration of _M_extract, now
1939 parameterized on _Intl too.
1940 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1941 Update definition to use the cache; call reserve on __res to
1942 avoid multiple reallocations; fix parsing of sign component
1943 according to 22.2.6.1.2, p3.
1944 (money_get<>::do_get(long double&),
76e9802c 1945 money_get<>::do_get(string_type&)): Update calls of _M_extract.
20da06ef
PC
1946 * src/locale-inst.cc: Add instantiations of
1947 money_get::_M_extract<false> and money_get::_M_extract<true>.
1948 * testsuite/22_locale/money_get/get/char/14.cc: New.
1949 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
76e9802c 1950
afc3bb58
MM
19512004-02-21 Mark Mitchell <mark@codesourcery.com>
1952
1953 * libsupc++/vterminate.cc
1954 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
1955 calls to terminate.
1956 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
1957
1958 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1959 not set RLIMIT_AS on HP-UX.
1960
e1efc7a0
MM
19612004-02-21 Mark Mitchell <mark@codesourcery.com>
1962
1963 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1964 not set RLIMIT_AS on HP-UX.
1965
fe932e50
PC
19662004-02-21 Paolo Carlini <pcarlini@suse.de>
1967
1968 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
1969 _S_zero, _S_end } enum, _S_atoms.
1970 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
1971 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
1972 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
1973 (__moneypunct_cache<>::~__moneypunct_cache): Update.
1974 (__moneypunct_cache<>::_M_cache): Fill the cache.
1975 (class moneypunct): Tweak __cache_type typedef.
1976 (class money_put): Inherit from money_base too; tweak declaration
1977 of _M_insert, now parameterized on _Intl.
1978 * include/bits/locale_facets.tcc
1979 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
1980 (money_put<>::_M_insert): Update definition to use the cache;
1981 call reserve on __res to avoid multiple reallocations.
1982 (money_put<>::do_put(long double),
1983 money_put<>::do_put(const string_type&): Update calls of _M_insert.
1984 * config/locale/generic/monetary_members.cc
1985 (moneypunct<char, true>::_M_initialize_moneypunct,
1986 moneypunct<char, false>::_M_initialize_moneypunct,
1987 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
1988 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
1989 * config/locale/gnu/monetary_members.cc: Likewise.
1990 * config/locale/gnu/monetary_members.cc
1991 (moneypunct<wchar_t, true>::~moneypunct(),
1992 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
1993 * src/globals_locale.cc: Tweak fake_money_cache_c.
1994 * src/locale-inst.cc: Add instantiations for
1995 money_put::_M_insert<false> and money_put::_M_insert<true> and
1996 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
1997 * src/locale_facets.cc: Define money_base::_S_atoms.
1998 * src/locale_init.cc: Update placement new of
1999 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
2000 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
2001
2002 * config/locale/generic/numeric_members.cc: Clean up.
2003 * config/locale/gnu/numeric_members.cc: Likewise.
2004 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2005 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2006 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2007 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2008 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2009 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2010
f196bdc4
MM
20112004-02-20 Mark Mitchell <mark@codesourcery.com>
2012
2013 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
2014 FIFO for writing with ios_base::in|ios_base::out.
2015 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2016 * testsuite/27_io/objects/char/7.cc: Likewise.
2017 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
2018 with "r+".
2019
2df93cf3
DE
20202004-02-19 David Edelsohn <edelsohn@gnu.org>
2021
2022 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
2023 from iso-8859-1 to ISO8859-1.
2024 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
2025 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
2026 * 22_locale/collate/hash/wchar_t/2.cc: Same.
2027 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
2028 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
2029 * 22_locale/collate/transform/wchar_t/2.cc: Same.
2030 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
2031 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
2032
2ddf25f2
PC
20332004-02-18 Paolo Carlini <pcarlini@suse.de>
2034
2035 * include/bits/locale_facets.h (money_get<>::_M_extract):
2036 New, helper for do_get.
2037 (money_put<>::_M_insert): Likewise, for do_put.
2038 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
2039 money_put<>::_M_insert): Define.
2040 (money_get<>::do_get(long double&), money_get<>::do_get(
2041 string_type&), money_put::do_put(long double),
2042 money_put::do_put(const string_type&)): Use the helpers.
2043
94b8de97
PC
20442004-02-18 Paolo Carlini <pcarlini@suse.de>
2045
2046 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2047 Rewrite, avoiding recursion.
2048 (__gnu_internal::xwrite): Minor tweaks.
2049
4d0bdcd6
SO
20502004-02-17 Stefan Olsson <stefan@xapa.se>
2051
2052 * include/ext/mt_allocator.h: Removed the last
2053 pointer. Deallocated blocks are now added to the front of
2054 freelists as proposed by Felix Yen. This gives roughly 10%
2055 performance boost and saves some memory.
2056 * docs/html/ext/mt_allocator.html: Change due to that deallocated
2057 blocks now are added to the front of freelists. The reason to this
2058 approach is also explained.
bb9f8a85 2059
6d4925e3
PC
20602004-02-17 Paolo Carlini <pcarlini@suse.de>
2061
2062 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2063 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
2064 grouping fidelity conditional.
2065
3e9b6cf4
PC
20662004-02-16 Paolo Carlini <pcarlini@suse.de>
2067
2068 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
2069 Qualify exception with std::.
2070 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
2071 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
2072 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2073 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2074 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2075
835abbf7
PC
20762004-02-16 Paolo Carlini <pcarlini@suse.de>
2077
2078 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
2079 for now that the catch block is not reached.
2080 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
2081
b7e64db2
PC
20822004-02-16 Paolo Carlini <pcarlini@suse.de>
2083
2084 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
2085 Fix parsing of the remaining sign characters.
2086 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
2087 the input is scanned 'til eof.
2088 * 22_locale/money_get/get/char/4.cc: Likewise.
2089 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
2090 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
2091 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
2092 not do_pos_format: the former is the only one that matters during
2093 input.
2094 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
2095
2096 * 22_locale/money_get/get/char/6.cc: Minor tweak.
2097 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
2098
230377dc
DA
20992004-02-15 David Asher <david.asher@cavium.com>
2100
2101 PR libstdc++/11352
2102 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
2103 access __olds beyond __oldlen.
2104
45cbe93c
PC
21052004-02-14 Paolo Carlini <pcarlini@suse.de>
2106
2107 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
2108 sure the exception is actually thrown.
2109 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2110 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2111 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2112
ac3cadf0
PC
21132004-02-14 Paolo Carlini <pcarlini@suse.de>
2114
2115 PR libstdc++/13858
2116 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
2117 In case of conversion errors, throw ios_failure; simplify.
2118 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
2119 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
2120 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
2121 previously we didn't throw in case of conversion errors, instead
2122 just returned eof().
2123 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2124 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2125 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2126
2127 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
2128 Trivial simplification of a conditional.
2129
2e9a1f6b
PC
21302004-02-12 Paolo Carlini <pcarlini@suse.de>
2131
2132 PR libstdc++/13731 (final part: writev)
20da06ef 2133 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2e9a1f6b
PC
2134 New, a wrapper around writev() handling partial writes.
2135 (__basic_file<char>::xwrite): Move to __gnu_internal and make
2136 static.
2137 (__basic_file<char>::xsputn): Update call.
76e9802c 2138 (__basic_file<char>::xsputn_2): Likewise.
20da06ef 2139 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2e9a1f6b
PC
2140 Don't declare, now static.
2141
1c86f39d
BK
21422004-02-11 Stefan Olsson <stefan@xapa.se>
2143
2144 * docs/html/ext/mt_allocator.html: New.
2145
21462004-02-11 Benjamin Kosnik <bkoz@redhat.com>
2147
2148 * docs/html/20_util/allocator.html: New file, consolidate
2149 allocator information here. Revamp.
2150 * docs/html/documentation.html: Change links.
2151 * docs/html/20_util/howto.html: Same.
2152 * docs/html/ext/howto.html: Same.
2153
98e96784
PC
21542004-02-11 Paolo Carlini <pcarlini@suse.de>
2155
2156 PR libstdc++/13731 (first part: write)
2157 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2158 New, declare.
2159 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
2160 Define it: a wrapper around write() handling partial write.
2161 (__basic_file<char>::xsputn): Use it.
2162 (__basic_file<char>::xsputn_2): Likewise.
2163
a2af66c1
PC
21642004-02-11 Paolo Carlini <pcarlini@suse.de>
2165 Petur Runolfsson <peturr02@ru.is>
2166
2167 PR libstdc++/14078
2168 * include/std/std_istream.h (operator>>(__istream_type& (*)
2169 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
2170 operator>>(ios_base& (*)(ios_base&))): Declare inline.
2171 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
2172 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
2173 operator<<(ios_base& (*) (ios_base&))): Likewise.
2174 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
2175
64bd39cc
LR
21762004-02-10 Loren J. Rittle <ljrittle@acm.org>
2177
2178 PR libstdc++/14098
2179 * config/linker-map.gnu: Add typeinfo and typeinfo name for
2180 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
2181
d318a8ba
LR
2182 PR libstdc++/14097
2183 * config/linker-map.gnu: Add typeinfo and typeinfo name for
2184 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
2185
a39c16dd
LR
21862004-02-09 Loren J. Rittle <ljrittle@acm.org>
2187
2188 * include/ext/pool_allocator.h: Include c++config.h.
2189
1ef00312
SO
21902004-02-09 Stefan Olsson <stefan@xapa.se>
2191
2192 * include/ext/mt_allocator.h: thread_id is unused in non threaded
2193 applications and now has a ifdef to remove it completely on
2194 compilers without thread support. Include stdlib.h due to a
2195 compiler warning on getenv().
2196
1b81e1b5
PB
21972004-02-09 Paul Brook <paul@codesourcery.com>
2198
2199 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
2200
cf0d2c40
PC
22012004-02-09 Paolo Carlini <pcarlini@suse.de>
2202
2203 PR libstdc++/14071
2204 * src/locale_init.cc (locale::global(const locale&)): Use
2205 locale::name() in order to decide whether calling setlocale.
2206 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
2207
2208 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
2209 Avoid computing &= unnecessarily.
2210
664fc5df
JW
22112004-02-09 James E Wilson <wilson@specifixinc.com>
2212
2213 PR libstdc++/5625
2214 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
2215 __builtin_extend_pointer.
2216
86fd2b51
PC
22172004-02-09 Paolo Carlini <pcarlini@suse.de>
2218
2219 PR libstdc++/14072
2220 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
2221 Don't leave dangling pointers.
2222 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
2223 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
2224 facet is needed in the final test.
2225
f19e9e4d
BI
22262004-02-09 Bernardo Innocenti <bernie@develer.com>
2227
2228 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
2229 * configure: Regenerate.
2230
c3862806
RH
22312004-02-08 Richard Henderson <rth@redhat.com>
2232
2233 PR libstdc++/14026
76e9802c 2234 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
c3862806
RH
2235 uncaughtExceptions during nested catch rethrow.
2236 * testsuite/18_support/14026.cc: New.
2237
fd95f498
PC
22382004-02-08 Paolo Carlini <pcarlini@suse.de>
2239
2240 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
2241 When working in place remember to set the state to sharable
2242 (otherwise, _M_mutate does it).
2243
ed6814f7
BI
22442004-02-08 Bernardo Innocenti <bernie@develer.com>
2245
2246 * include/bits/allocator.h, include/bits/basic_ios.h,
2247 include/bits/basic_ios.tcc, include/bits/basic_string.h,
2248 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
2249 include/bits/char_traits.h, include/bits/codecvt.h,
2250 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
2251 include/bits/demangle.h, include/bits/deque.tcc,
2252 include/bits/fstream.tcc, include/bits/functexcept.h,
2253 include/bits/gslice.h, include/bits/gslice_array.h,
2254 include/bits/indirect_array.h, include/bits/ios_base.h,
2255 include/bits/istream.tcc, include/bits/list.tcc,
2256 include/bits/locale_classes.h, include/bits/locale_facets.h,
2257 include/bits/locale_facets.tcc, include/bits/localefwd.h,
2258 include/bits/mask_array.h, include/bits/ostream.tcc,
2259 include/bits/postypes.h, include/bits/slice_array.h,
2260 include/bits/sstream.tcc, include/bits/stl_algo.h,
2261 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
2262 include/bits/stl_construct.h, include/bits/stl_deque.h,
2263 include/bits/stl_function.h, include/bits/stl_heap.h,
2264 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
2265 include/bits/stl_list.h, include/bits/stl_map.h,
2266 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
2267 include/bits/stl_numeric.h, include/bits/stl_pair.h,
2268 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
2269 include/bits/stl_relops.h, include/bits/stl_set.h,
2270 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
2271 include/bits/stl_threads.h, include/bits/stl_tree.h,
2272 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
2273 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
2274 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
2275 include/bits/type_traits.h, include/bits/valarray_after.h,
2276 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
2277 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
2278 trailing whitespace.
2279
eee54836
PC
22802004-02-06 Paolo Carlini <pcarlini@suse.de>
2281
2282 * include/bits/basic_string.h: Fix comment.
2283
15d72060
PC
22842004-02-06 Paolo Carlini <pcarlini@suse.de>
2285
2286 * include/bits/stl_construct.h: Wrap overlong lines, reformat
2287 according to the coding standards.
2288 * include/bits/stl_pair.h: Likewise.
2289 * include/bits/stl_raw_storage_iter.h: Likewise.
2290 * include/bits/stl_stack.h: Likewise.
2291 * include/bits/stl_uninitialized.h: Likewise.
2292 * include/bits/stream_iterator.h: Likewise.
2293 * include/bits/streambuf_iterator.h: Likewise.
2294 * include/bits/type_traits.h: Likewise.
2295
c5dd98f3
PC
22962004-02-06 Paolo Carlini <pcarlini@suse.de>
2297
2298 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2299 Adjust timings.
2300
462f4a81
LR
23012004-02-05 Loren J. Rittle <ljrittle@acm.org>
2302
2303 * scripts/check_performance: Support PCH.
2304
fbdf188d
LR
2305 * scripts/check_performance (CXX): Add -DNOTHREAD.
2306 * testsuite/performance/20_util/allocator/insert.cc: Integrate
2307 threaded tests from insert_insert.cc. Tweak iterations,
2308 remove special cases.
2309 * testsuite/performance/20_util/allocator/insert_insert.cc:
2310 Make all tests single-threaded. Tweak iterations.
2311 * testsuite/performance/20_util/allocator/map_thread.cc:
2312 Tweak iterations.
2313 * testsuite/performance/20_util/allocator/producer_consumer.cc:
2314 Likewise.
2315
0314451d
GK
23162004-02-05 Geoffrey Keating <geoffk@apple.com>
2317
2318 PR 12179
2319 * .cvsignore: New.
2320 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
2321 'gcc-lib'. Add comment about poorly-named variables.
2322 * aclocal.m4: Regenerate.
2323 * configure: Regenerate.
2324
d9010fca
PC
23252004-02-05 Paolo Carlini <pcarlini@suse.de>
2326
2327 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
2328 Thousands-sep are always optional; thousands-sep are not allowed
2329 after the decimal_point.
2330 * testsuite/22_locale/money_get/get/char/12.cc: New.
2331 * testsuite/22_locale/money_get/get/char/13.cc: New.
2332 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
2333 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
2334
2335 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
2336 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2337 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2338 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2339 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2340 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2341 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2342 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2343
2344 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
2345 the standard.
2346 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
2347
d232925f
RS
23482004-02-05 Richard Sandiford <rsandifo@redhat.com>
2349
2350 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
2351 Define.
2352 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
2353 it to decide whether FIONREAD should take an off_t or int argument.
2354
92ff3e43
PC
23552004-02-05 Paolo Carlini <pcarlini@suse.de>
2356
2357 * include/bits/stl_function.h: Minor formatting changes.
2358
9fe7e2b7
ZW
23592004-02-04 Zack Weinberg <zack@codesourcery.com>
2360
2361 Revert previous change to config/abi/*/baseline_symbols.txt.
2362
6a734d61
BK
23632004-02-04 Benjamin Kosnik <bkoz@redhat.com>
2364 Zack Weinberg <zack@codesourcery.com>
2365
2366 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
2367 New function.
2368 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
2369 (__basic_file<char>::_M_open_mode): Delete.
2370 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
2371
2372 * testsuite/27_io/basic_filebuf/close/char/9964.cc
2373 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2374 Correct flags to filebuf::open calls.
2375
2376 * config/abi/alpha-freebsd5/baseline_symbols.txt
2377 * config/abi/alpha-linux-gnu/baseline_symbols.txt
2378 * config/abi/hppa-linux-gnu/baseline_symbols.txt
2379 * config/abi/i386-freebsd4/baseline_symbols.txt
2380 * config/abi/i386-freebsd5/baseline_symbols.txt
2381 * config/abi/i486-linux-gnu/baseline_symbols.txt
2382 * config/abi/ia64-linux-gnu/baseline_symbols.txt
2383 * config/abi/mips-linux-gnu/baseline_symbols.txt
2384 * config/abi/sparc-freebsd5/baseline_symbols.txt
2385 * config/abi/sparc-linux-gnu/baseline_symbols.txt
2386 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
2387 Remove entry for __basic_file<char>::_M_open_mode.
2388
f63fd68b
LR
23892004-02-04 Loren J. Rittle <ljrittle@acm.org>
2390
2391 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
2392
de8a2f87
BK
23932004-02-04 Felix Yen <fwy@alumni.brown.edu>
2394
2395 * testsuite/performance/20_util/producer_consumer.cc: New.
2396 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
6a734d61 2397
de8a2f87 23982004-02-04 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 2399
de8a2f87 2400 * testsuite/performance/20_util/allocator.cc: Move to..
6a734d61 2401 * testsuite/performance/20_util/allocator/insert.cc: ...here.
de8a2f87
BK
2402 * testsuite/performance/20_util/allocator_thread.cc: Move to...
2403 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
2404 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
2405 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
6a734d61 2406
772fec9a
JW
24072004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
2408
2409 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
2410 * docs/html/faq/index.txt: Regenerate.
2411
56766e0d
DM
24122004-02-04 Dhruv Matani <dhruvbird@gmx.net>
2413
2414 * include/ext/debug_allocator.h: _M_extra now stands for the
2415 number of extra objects instead of the number of extra bytes.
2416 (debug_allocator::allocate): Adjust.
2417 (debug_allocator::deallocate): Adjust.
2418
2419 * include/ext/pool_allocator.h: Fix typo.
2420
22269632
FY
24212004-02-03 Felix Yen <fwy@alumni.brown.edu>
2422 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 2423
22269632
FY
2424 * testsuite/performance/20_util/allocator.cc: Add map,
2425 deque, set tests.
2426 * testsuite/performance/20_util/allocator_thread.cc: Same.
6a734d61 2427
129e9210
PC
24282004-02-03 Paolo Carlini <pcarlini@suse.de>
2429
2430 * include/bits/basic_string.h (insert(iterator)): Remove,
2431 non-standard and already scheduled for removal.
2432
83042fca
PC
24332004-02-03 Paolo Carlini <pcarlini@suse.de>
2434
2435 * include/bits/stl_iterator_base_funcs.h: Minor formatting
2436 and indentation tweaks.
2437 * include/bits/stl_iterator_base_types.h: Likewise.
2438 * include/bits/stl_list.h: Likewise.
2439 * include/bits/stl_map.h: Likewise.
2440 * include/bits/stl_tempbuf.h: Likewise.
2441
06a81b60
JQ
24422004-02-02 Jerry Quinn <jlquinn@optonline.net>
2443
2444 * include/bits/gslice.h, include/bits/gslice_array.h,
2445 include/bits/indirect_array.h, include/bits/mask_array.h,
2446 include/bits/slice_array.h, include/bits/stl_numeric.h,
2447 include/std/std_valarray.h: Update copyright years.
2448
7fb397a4
JQ
24492004-02-02 Jerry Quinn <jlquinn@optonline.net>
2450
2451 * include/bits/gslice.h (gslice): Document.
2452 * include/bits/gslice_array.h (gslice_array): Document.
2453 * include/bits/indirect_array (indirect_array): Document.
2454 * include/bits/mask_array (mask_array): Document.
2455 * include/bits/slice_array.h (slice,slice_array): Document.
2456 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
2457 adjacent_difference): Document
2458 * include/std/std_valarray.h (valarray): Document.
2459
7f7fb4ef
BK
24602004-02-02 Benjamin Kosnik <bkoz@redhat.com>
2461
6a734d61
BK
2462 * docs/html/19_diagnostics/howto.html: Move verbose terminate
2463 documentation...
2464 * docs/html/18_support/howto.html: Here.
2465 * docs/html/documentation.html: Add reference here.
2466
9924f721
PC
24672004-02-02 Paolo Carlini <pcarlini@suse.de>
2468
2469 * config/locale/gnu/c++locale_internal.h: Remove prototypes
2470 of no longer used GLIBC thread locale functions.
2471
2ba43229 24722004-02-02 Eric Christopher <echristo@redhat.com>
6a734d61 2473 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
2474
2475 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
6a734d61
BK
2476 -finput-charset.
2477 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
2478 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
16dd5cfe 2479 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
6a734d61
BK
2480 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
2481 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
2482 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
2483 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
2484 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
16dd5cfe
EC
2485 Ditto.
2486
7c920151
PC
24872004-02-02 Paolo Carlini <pcarlini@suse.de>
2488
2489 * include/bits/stl_function.h: Additional minor tweaks.
2490 * include/bits/stl_multiset.h: Likewise.
2491
2492 * include/bits/stl_queue.h: Minor tweaks.
2493
dcec0389
PC
24942004-02-02 Paolo Carlini <pcarlini@suse.de>
2495
2496 PR libstdc++/13976 (continued)
2497 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
2498 Make the second parameter unnamed, to void unused parameter
2499 warnings.
2500 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
2501
90f8b692
PC
25022004-02-02 Paolo Carlini <pcarlini@suse.de>
2503
2504 PR libstdc++/13976
2505 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
2506 Make the second parameter unnamed, to void unused parameter
2507 warnings.
2508 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
2509 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
2510
737ab798
PC
25112004-02-01 Paolo Carlini <pcarlini@suse.de>
2512
2513 * include/bits/stl_algo.h: Additional minor tweaks.
2514 * include/bits/stl_map.h: Likewise.
2515 * include/bits/stl_multimap.h: Likewise.
2516 * include/bits/stl_multiset.h: Likewise.
2517 * include/bits/stl_set.h: Likewise.
2518 * include/bits/stl_tree.h: Likewise.
2519
64ebadac
PC
25202004-02-01 Paolo Carlini <pcarlini@suse.de>
2521
2522 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
2523 Remove, unused.
2524
afd4cbbb
PC
25252004-02-01 Paolo Carlini <pcarlini@suse.de>
2526
2527 * include/bits/stl_function.h: Additional minor tweaks.
2528
f6592a9e
PC
25292004-02-01 Paolo Carlini <pcarlini@suse.de>
2530
2531 * include/bits/deque.tcc: Wrap overlong lines, constify
2532 a few variables, reformat according to the coding standards.
2533 * include/bits/list.tcc: Likewise.
2534 * include/bits/stl_deque.h: Likewise.
2535 * include/bits/stl_function.h: Likewise.
2536 * include/bits/stl_iterator.h: Likewise.
2537 * include/bits/stl_iterator_base_funcs.h: Likewise.
2538 * include/bits/stl_iterator_base_types.h: Likewise.
2539 * include/bits/stl_list.h: Likewise.
2540 * include/bits/stl_map.h: Likewise.
2541 * include/bits/stl_multimap.h: Likewise.
2542 * include/bits/stl_multiset.h: Likewise.
2543 * include/bits/stl_relops.h: Likewise.
2544 * include/bits/stl_set.h: Likewise.
2545
62e67651
PC
25462004-02-01 Paolo Carlini <pcarlini@suse.de>
2547
2548 * include/bits/stl_bvector.h: Wrap overlong lines, constify
2549 a few variables, reformat according to the coding standards.
2550 * include/bits/stl_tree.h: Likewise.
2551
8f7ca398
PC
25522004-01-31 Paolo Carlini <pcarlini@suse.de>
2553
2554 * include/bits/stl_algo.h: Minor additional reformat, add
2555 copyright year.
2556 * include/bits/stl_algobase.h: Add copyright year.
2557
ffa67767
PC
25582004-01-31 Paolo Carlini <pcarlini@suse.de>
2559
2560 * include/bits/stl_algo.h: Wrap overlong lines, constify
2561 a few variables, reformat according to the coding standards.
2562 * include/bits/stl_algobase.h: Likewise.
2563 * include/bits/stl_heap.h: Likewise.
2564
8de63ee0
PC
25652004-01-31 Paolo Carlini <pcarlini@suse.de>
2566
2567 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
2568
2569 * include/bits/basic_string.h: Fix two comments.
2570
af3fb3d6
PB
25712004-01-31 Per Bothner <per@bothner.com>
2572
2573 * include/ext/mt_allocator.h
2574 (__mt_alloc::_S_thread_freelist_mutex): Guard with
2575 __GTHREAD_MUTEX_INIT.
2576
24f33069
PC
25772004-01-31 Paolo Carlini <pcarlini@suse.de>
2578
2579 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
2580
7c960b3d
PC
25812004-01-30 Paolo Carlini <pcarlini@suse.de>
2582
2583 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
2584 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
2585 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
16dd5cfe 2586
7b1d1edf
FY
25872004-01-30 Felix Yen <fwy@alumni.brown.edu>
2588
2589 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
2590 Don't use clear, but instead assign. Use insert.
2591
c9732ce7
BK
25922004-01-30 Benjamin Kosnik <bkoz@redhat.com>
2593
2594 * src/demangle.cc: Add instantiations.
2595 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
2596 * src/Makefile.in: Regenerate.
16dd5cfe 2597
25d24447
DE
25982004-01-30 David Edelsohn <edelsohn@gnu.org>
2599
2600 * src/allocator.cc: Protect _S_get_thread_id() and
2601 _S_thread_key_destr() with #ifdef __GTHREADS.
2602
33e95e9d
PC
26032004-01-30 Paolo Carlini <pcarlini@suse.de>
2604
2605 Reshuffle performance testsuite.
2606 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
2607 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
2608 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
2609 fstream_seek_write.cc, ifstream_extract_float.cc,
2610 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
2611 list_create_fill_sort.cc, map_create_fill.cc,
2612 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
2613 ofstream_insert_float.cc, ofstream_insert_int.cc,
2614 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
2615 wchar_t_out.cc: Split into...
2616 * testsuite/performance/20_util/allocator.cc: New.
2617 * testsuite/performance/20_util/allocator_map_thread.cc: New.
2618 * testsuite/performance/20_util/allocator_thread.cc: New.
2619 * testsuite/performance/21_strings/string_append: New.
2620 * testsuite/performance/22_locale/is_wchar_t.cc: New.
2621 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
2622 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
2623 * testsuite/performance/22_locale/wchar_t_in.cc: New.
2624 * testsuite/performance/22_locale/wchar_t_length.cc: New.
2625 * testsuite/performance/22_locale/wchar_t_out.cc: New.
2626 * testsuite/performance/23_containers/container_benchmark.cc: New.
2627 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
2628 * testsuite/performance/23_containers/map_create_fill.cc: New.
2629 * testsuite/performance/26_numerics/complex_norm.cc: New.
2630 * testsuite/performance/27_io/cout_insert_int.cc: New.
2631 * testsuite/performance/27_io/filebuf_copy.cc: New.
2632 * testsuite/performance/27_io/filebuf_sputc.cc: New.
2633 * testsuite/performance/27_io/fstream_seek_write.cc: New.
2634 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
2635 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
2636 * testsuite/performance/27_io/ifstream_getline.cc: New.
2637 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
2638 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
2639
d1615643
PC
26402004-01-30 Paolo Carlini <pcarlini@suse.de>
2641
2642 * include/bits/basic_string.tcc (_Rep::_S_create):
2643 Never allocate a string bigger than max_size(); always keep
2644 __capacity and __size in sync to avoid memory leaks at
2645 deallocation time.
2646
690495b0
PC
26472004-01-30 Paolo Carlini <pcarlini@suse.de>
2648
2649 * include/bits/basic_string.tcc (_S_construct(_InIterator,
2650 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
2651 the double loop, streamline.
2652
2653 * include/bits/basic_string.tcc: Very minor tweaks.
2654
f64f4406
LR
26552004-01-30 Loren J. Rittle <ljrittle@acm.org>
2656
2657 * scripts/check_performance: Only compile with $THREAD_FLAG
2658 when test is marked to require it. Allow multiple
2659 compilations/executions of marked tests.
2660 * testsuite/testsuite_performance.h (report_performance):
2661 Report dynamic thread support status.
2662 (report_header): Likewise.
2663 * testsuite/performance/allocator.cc: Stabilize iteration
2664 count. Support more allocators. Mark each allocator test to
2665 run and report independently.
2666 * testsuite/performance/allocator_map_thread.cc: Likewise.
2667 * testsuite/performance/allocator_thread.cc: Likewise.
2668
917a9fd4
SW
26692004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
2670
2671 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
bb9f8a85
CW
2672 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
2673 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
917a9fd4
SW
2674 std::get_temporary_buffer() instead of duplicating its code.
2675 Update to C++STYLE conventions.
bb9f8a85 2676 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
917a9fd4
SW
2677 new() instead of std::malloc().
2678 (return_temporary_buffer): Use ::operator delete() instead of
2679 std::free().
2680
6efc84f4
BK
26812004-01-29 Benjamin Kosnik <bkoz@redhat.com>
2682
2683 * include/bits/allocator.h: Temporary switch to new_allocator as
2684 the default to unjam bootstraps.
16dd5cfe 2685
ba9d552e
BK
26862004-01-28 Benjamin Kosnik <bkoz@redhat.com>
2687
2688 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
2689 * include/Makefile.in: Regenerate.
2690 * include/bits/allocator_traits.h: Remove.
2691 * include/bits/allocator.h: Remove allocator_traits.h include, and
2692 relevant comments.
2693 (allocator): Empty base class, inherit from the underlying allocator.
2694 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
2695 * src/allocator.cc: ...here. New. For the underlying allocators.
2696 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
2697 * config/linker-map.gnu: Remove __pool_alloc bits.
2698 * src/Makefile.am (sources): Add allocator.cc.
2699 * src/Makefile.in: Regenerate.
2700 * testsuite/20_util/allocator/1.cc: Split second test into...
16dd5cfe 2701 * testsuite/20_util/allocator/8230.cc: ...this.
ba9d552e
BK
2702 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
2703 typedef to use std::allocatore. Format.
2704 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
2705 _Alloc_traits.
2706 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
2707 __throw_bad_alloc calls. Don't include <memory>.
2708 * include/ext/malloc_allocator.h: Remove <memory> include.
2709 * include/ext/new_allocator.h (new_allocator): Same.
2710 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
2711 declaration. Switch __alloc to _Alloc.
2712 * include/ext/hashtable.h: Remove __alloc.
2713 * include/backward/alloc.h: Only inject allocator, not
2714 implementation details.
2715
2716 * include/ext/mt_allocator.h: Replace free with delete.
16dd5cfe 2717
ff4cf05b
BK
27182004-01-28 Benjamin Kosnik <bkoz@redhat.com>
2719
2720 * src/globals_io.cc: Change to __gnu_internal namespace.
2721 * src/globals_locale.cc: Same.
2722 * src/locale_init.cc: Same.
2723 * src/ios_init.cc: Same.
16dd5cfe 2724
f15f99a1
SO
27252004-01-28 Stefan Olsson <stefan@snon.net>
2726
8de63ee0 2727 * include/ext/mt_allocator.h: Replaced all malloc() calls with
f15f99a1
SO
2728 operator new(). Added support for the env variable
2729 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
2730 one in allocate() as well). Fix typos.
2731
234e0d31
PC
27322004-01-28 Paolo Carlini <pcarlini@suse.de>
2733
2734 * include/bits/basic_string.h (_S_create(size_t,
2735 const _Alloc&): Change signature to take two size_type
2736 arguments.
2737 * include/bits/basic_string.tcc (_S_construct(_InIterator,
2738 _InIterator, const _Alloc&, input_iterator_tag)): Update
2739 call, tweak a bit.
2740 (_S_construct(_InIterator, _InIterator, const _Alloc&,
2741 forward_iterator_tag)): Likewise.
2742 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
2743 (_M_mutate(size_type, size_type, size_type)): Don't
2744 implement the exponential growth policy, demand it to
2745 _S_create, update call and simplify.
2746 (_M_clone(const _Alloc&, size_type)): Likewise.
2747 (_S_create(size_type, size_type, const _Alloc&)): Implement
2748 the growth policy, simplify otherwise.
2749
2750 * include/bits/basic_string.h (_Rep::operator[]): Tweak
2751 signature to take a size_type, consistently with the other
2752 members.
16dd5cfe 2753
62b21ea0
BK
27542004-01-27 Benjamin Kosnik <bkoz@redhat.com>
2755
2756 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
2757 delete declarations, add include and test variable.
2758
0b563420
JQ
27592003-01-27 Jerry Quinn <jlquinn@optonline.net>
2760
2761 * include/bits/codecvt.h, include/bits/locale_facets.h,
2762 include/bits/postypes.h, include/bits/stl_bvector.h,
2763 include/bits/stl_multiset.h, include/bits/stl_set.h,
2764 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
2765 include/std/std_complex.h: Document.
2766
2a837cf8
JQ
27672004-01-27 Jerry Quinn <jlquinn@optonline.net>
2768
2769 PR libstdc++/11584
2770 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
6a734d61 2771 iword/pword selector.
2a837cf8
JQ
2772 (ios_base::iword, ios_base::pword): Use it.
2773 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
6a734d61 2774 iword or pword member on alloc failure.
2a837cf8
JQ
2775 * testsuite/27_io/ios_base/storage/11584.cc: New test.
2776
6e198ee0
UW
27772004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
2778 PJ Darcy <darcypj@us.ibm.com>
2779
2780 * configure.host: Add support for *-tpf.
2781 * crossconfig.m4: Likewise.
2782 * configure: Regenerate.
2783 * config/os/tpf: New directory.
2784 * config/os/tpf/os_defines.h: New file.
2785 * config/os/tpf/ctype_base.h: Likewise.
2786 * config/os/tpf/ctype_inline.h: Likewise.
2787 * config/os/tpf/ctype_noninline.h: Likewise.
2788
51b6facb
PC
27892004-01-27 Paolo Carlini <pcarlini@suse.de>
2790
2791 PR libstdc++/13884
2792 * include/bits/sstream.tcc: Guard use of extern template.
16dd5cfe 2793
a3af79ea
PC
27942004-01-27 Paolo Carlini <pcarlini@suse.de>
2795
2796 * include/bits/basic_string.tcc
2797 (basic_string(const basic_string&, size_type, size_type),
2798 basic_string(const basic_string&, size_type, size_type,
2799 const _Alloc&)): Avoid unnecessarily constructing iterators.
2800
ba9119ec
PC
28012004-01-26 Paolo Carlini <pcarlini@suse.de>
2802
2803 * config/locale/generic/c_locale.cc: Fix throw messages
2804 to use the __N marker.
2805 * config/locale/gnu/c_locale.cc: Likewise.
2806 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2807 Likewise.
2808 * docs/html/17_intro/C++STYLE: Likewise.
2809 * include/bits/basic_ios.tcc: Likewise.
2810 * include/bits/fstream.tcc: Likewise.
2811 * include/bits/vector.tcc: Likewise.
2812 * include/ext/ropeimpl.h: Likewise.
2813 * include/std/std_bitset.h: Likewise.
2814 * src/ios.cc: Likewise.
2815 * src/locale.cc: Likewise.
2816 * src/localename.cc: Likewise.
2817
0e50667c
PC
28182004-01-26 Paolo Carlini <pcarlini@suse.de>
2819
2820 * include/bits/basic_string.h (_M_replace_aux): Use the
2821 __N marker in throw message.
2822 * include/bits/basic_string.tcc (assign(const _CharT*,
2823 size_type), insert(size_type, const _CharT*, size_type),
2824 replace(size_type, size_type, const _CharT*, size_type),
2825 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
2826 Likewise.
2827
2828 * include/bits/basic_string.h, include/bits/basic_string.tcc:
2829 Fold overlong lines, minor formatting changes.
2830
4d39d873
PC
28312004-01-26 Paolo Carlini <pcarlini@suse.de>
2832
2833 * include/bits/basic_string.h (replace(iterator, iterator,
2834 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
2835 (replace(iterator, iterator, const _CharT*)): Ditto.
2836 (replace(iterator, iterator, const _CharT*, size_type)):
2837 Add missing _GLIBCXX_DEBUG_PEDASSERT.
2838
2cb612d1
PC
28392004-01-26 Paolo Carlini <pcarlini@suse.de>
2840
2841 * include/bits/basic_string.tcc (replace(size_type,
2842 size_type, const _CharT*, size_type)): Implement optimized
2843 in-place algorithm for non-overlapping ranges.
2844 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
2845 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
2846
2847 * include/bits/basic_string.tcc (insert(size_type,
2848 const _CharT*, size_type)): Tweak slightly.
2849
f942e78d
AS
28502004-01-26 Andreas Schwab <schwab@suse.de>
2851
2852 * config/locale/gnu/monetary_members.cc: Restore locale before
2853 rethrowing exception.
2854
91eab378
PC
28552004-01-25 Paolo Carlini <pcarlini@suse.de>
2856
2857 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
2858 Define inline here.
2859 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
2860 Move inline.
2861
2862 * include/bits/basic_string.tcc: Very minor tweaks.
2863
9c519c93
PC
28642004-01-25 Paolo Carlini <pcarlini@suse.de>
2865
2866 * testsuite/performance/string_append.cc: Increase number
2867 of iterations.
2868
30f315cd
PC
28692004-01-25 Paolo Carlini <pcarlini@suse.de>
2870
2871 * include/bits/basic_string.h (erase(size_type, size_type),
2872 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
2873 instead, thus avoiding redundant check for length_error.
2874
2875 * include/bits/basic_string.h: Tweak some comments.
2876
bb9909b0
PC
28772004-01-24 Paolo Carlini <pcarlini@suse.de>
2878
2879 * include/bits/basic_string.tcc (operator+(const _CharT*,
2880 const basic_string&)): No need to go through the append
2881 taking two iterators.
2882
04cc8aef
PC
28832004-01-24 Paolo Carlini <pcarlini@suse.de>
2884
2885 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
2886 Revert last change to use std::min: machine language is worse.
2887 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
2888 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2889 (find_last_not_of(_CharT, size_type)): Ditto.
2890
2891 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
2892 size_type)): Discard the value returned by _M_check.
2893 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
2894 (append(const basic_string&, size_type, size_type)): Ditto.
2895 (copy(_CharT*, size_type, size_type)): Ditto.
2896 (compare(size_type, size_type, const basic_string&)): Ditto.
2897 (compare(size_type, size_type, const basic_string&,
2898 size_type, size_type)): Ditto.
2899 (compare(size_type, size_type, const _CharT*)): Ditto.
2900 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2901
8865bf80
PC
29022004-01-24 Paolo Carlini <pcarlini@suse.de>
2903
2904 * include/bits/basic_string.h (insert(size_type,
2905 const basic_string&, size_type, size_type)): Define inline here.
2906 * include/bits/basic_string.tcc (insert(size_type,
2907 const basic_string&, size_type, size_type)): Move inline.
2908
fefe561e
PC
29092004-01-24 Paolo Carlini <pcarlini@suse.de>
2910
2911 * include/bits/basic_string.h (assign(const basic_string&,
2912 size_type, size_type)): Define inline here.
2913 (replace(size_type, size_type, const basic_string&,
2914 size_type, size_type)): Ditto.
2915 (_M_replace_dispatch(iterator, iterator, _InputIterator,
2916 _InputIterator, __false_type)): Only declare.
2917 (_M_replace(iterator, iterator, _InputIterator,
2918 _InputIterator)): Remove.
2919 * include/bits/basic_string.tcc (assign(const basic_string&,
2920 size_type, size_type)): Move inline.
2921 (replace(size_type, size_type, const basic_string&,
2922 size_type, size_type)): Ditto.
2923 (_M_replace_dispatch(iterator, iterator, _InputIterator,
2924 _InputIterator, __false_type)): Define, now does also what
2925 _M_replace did before.
2926 * src/string-inst.cc (_M_replace): Don't instantiate.
2927
2928 * include/bits/basic_string.tcc (find(const _CharT*,
2929 size_type, size_type)): Tidy.
2930 (rfind(_CharT, size_type)): Ditto.
2931 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
2932 (find_first_not_of(_CharT, size_type)): Ditto.
2933 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2934 (find_last_not_of(_CharT, size_type)): Ditto.
2935
72afd981
PC
29362004-01-23 Paolo Carlini <pcarlini@suse.de>
2937
2938 PR libstdc++/13838
2939 * include/debug/bitset (operator|=): Fix typo.
2940 * testsuite/23_containers/bitset/operations/13838.cc: New.
2941
251804e6
PC
29422004-01-23 Paolo Carlini <pcarlini@suse.de>
2943
2944 * include/bits/basic_string.tcc (insert(size_type,
2945 const _CharT*, size_type __n)): Fix length_error check.
2946 (replace(size_type, size_type, const _CharT*, size_type):
2947 Ditto; call _M_replace_safe.
2948 (_M_replace_aux(size_type, size_type, size_type, _CharT):
2949 Fix length_error check.
2950 (_M_replace(iterator, iterator, _InputIterator,
2951 _InputIterator)): Ditto, tweak.
2952 (_M_replace_safe(size_type, size_type, const _CharT*,
2953 size_type)): Remove length_error check.
2954
2955 * include/bits/basic_string.tcc (append(const basic_string&),
2956 append(const basic_string&, size_type, size_type)): Tweak
2957 comment.
2958
2959 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
2960 size_type)): If __n == 0 don't call traits::copy.
2961
3cfb44c2
SO
29622004-01-23 Stefan Olsson <stefan@snon.net>
2963
2964 * include/ext/mt_allocator.h: Reduce lock contention.
2965
22352844
PC
29662004-01-23 Paolo Carlini <pcarlini@suse.de>
2967
2968 PR libstdc++/13831
2969 * include/bits/fstream.tcc (underflow): Remove unused
2970 variable.
2971 * include/bits/streambuf_iterator.h (equal): Ditto.
2972 * include/bits/locale_facets.h (_M_convert_from_char):
2973 Ditto.
2974
129057c1
KG
29752004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2976
2977 PR c/13814
2978 * config/linker-map.gnu (nan): Delete.
2979 * libmath/mathconf.h (NAN, nan): Delete.
2980 * linkage.m4 (nan): Don't check for it.
2981 * libmath/nan.c: Delete file.
2982
2983 * config.h.in, configure: Regenerate.
2984
0e707673
PC
29852004-01-23 Paolo Carlini <pcarlini@suse.de>
2986
2987 * include/bits/basic_string.h (push_back(_CharT)):
2988 Call _M_replace_aux.
2989 (insert(size_type, const basic_string&)): Trivial tweak.
2990 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
2991 (insert(iterator, _CharT)): Ditto.
2992 (erase(size_type, size_type)): Ditto.
2993 (erase(iterator)): Ditto.
2994 (erase(iterator, iterator)): Ditto.
2995 (replace(size_type, size_type, size_type, _CharT)): Ditto.
2996
402b0954
LR
29972004-01-23 Loren J. Rittle <ljrittle@acm.org>
2998
2999 libstdc++/13823
3000 * testsuite/performance/allocator_map_thread.cc: New test.
3001
ba46e66a
PC
30022004-01-22 Paolo Carlini <pcarlini@suse.de>
3003
3004 * include/bits/locale_facets.tcc
3005 (money_put::do_put(..., long double)): Use the basic_string
3006 constructor for char arrays, not that for C-strings, to pass
3007 __digits to do_put(..., const string_type&): __ws isn't
3008 null-terminated.
3009
7bb9b33b
PC
30102004-01-22 Paolo Carlini <pcarlini@suse.de>
3011
3012 * include/bits/basic_string.h (_M_replace_safe): Change
3013 signatures to take size_types and const _CharT*.
3014 (_M_replace_aux): Likewise, takes size_types instead of
3015 iterators.
3016 (append(size_type, _CharT)): Update call.
3017 (assign(size_type, _CharT)): Ditto.
3018 (replace(iterator, iterator, size_type, _CharT)): Ditto.
3019 (_M_replace_dispatch(iterator, iterator, _Integer,
3020 _Integer, __true_type)): Ditto.
3021 * include/bits/basic_string.tcc (assign(const _CharT*,
3022 size_type)): Ditto.
3023 (insert(size_type, const _CharT*, size_type)): Ditto.
3024 (replace(size_type, size_type, const _CharT*,
3025 size_type)): Ditto.
3026 (_M_replace(iterator, iterator, _InputIterator,
3027 _InputIterator)): Ditto.
3028 (append(const basic_string&)): Ditto.
3029 (append(const basic_string&, size_type, size_type): Ditto.
3030 (append(const _CharT*, size_type): Ditto.
3031 (_M_replace_safe, _M_replace_safe): Change definitions
3032 accordingly, simplify.
3033 * string-inst.cc (_M_replace_safe): Don't instantiate.
3034
3e7782b2
PC
30352004-01-21 Paolo Carlini <pcarlini@suse.de>
3036
3037 * include/bits/basic_string.tcc (append(const basic_string&)):
3038 Revert previous change.
3039 (append(const basic_string&, size_type, size_type)): Revert
3040 previous change, use _M_check and _M_limit.
3041
e03a6fb7
PC
30422004-01-21 Paolo Carlini <pcarlini@suse.de>
3043
3044 * include/bits/basic_string.h (_M_check): Change to return
3045 a checked __pos and take an additional const char* argument.
3046 (_M_fold): Rename to _M_limit, change to return a size_type,
3047 corresponding to the __off limited to the actual length.
3048 (insert(size_type, size_type, _CharT)): Update call, call
3049 replace.
3050 (insert(iterator, _CharT)): Call replace(iterator, iterator,
3051 size_type, _CharT) instead.
3052 (erase(size_type, size_type)): Update calls.
3053 (replace(size_type, size_type, size_type, _CharT)): Ditto.
3054 (substr(size_type, size_type)): Use _M_check.
3055 * include/bits/basic_string.tcc (basic_string(const basic_string&,
3056 size_type, size_type)): Update calls.
3057 (basic_string(const basic_string&, size_type, size_type,
3058 const _Alloc&)): Ditto.
3059 (assign(const basic_string&, size_type, size_type)): Use the
3060 new _M_check and _M_limit.
3061 (insert(size_type, const basic_string&, size_type, size_type):
3062 Ditto.
3063 (insert(size_type, const _CharT*, size_type)): Ditto.
3064 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
3065 (replace(size_type, size_type, const basic_string&,
3066 size_type, size_type)): Ditto.
3067 (append(const basic_string&)): Ditto.
3068 (append(const basic_string&, size_type, size_type)): Ditto.
3069 (copy(_CharT*, size_type, size_type)): Ditto.
3070 (compare(size_type, size_type, const basic_string&)): Ditto.
3071 (compare(size_type, size_type, const basic_string&,size_type,
3072 size_type)): Ditto.
3073 (compare(size_type, size_type, const _CharT*)): Ditto.
3074 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
3075
cec73eb5
SO
30762004-01-19 Stefan Olsson <stefan@snon.net>
3077
3078 * include/ext/mt_allocator.h: If a thread, when it dies, still has
3079 memory on it's freelist this memory is not returned to global
3080 list. Simplification of deallocate so that memory is always
3081 returned to the calling thread id's freelist instead of to
3082 global. Fix typos. Add volatile where appropriate.
3083
87d11ccc
LR
30842004-01-19 Loren J. Rittle <ljrittle@acm.org>
3085
3086 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
3087 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
3088 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
3089
f18be892
PC
30902004-01-19 Paolo Carlini <pcarlini@suse.de>
3091
3092 * src/debug.cc: Make sure all the names are prefixed with
3093 double (or single) underscore.
3094
33d4e9b2
PC
30952004-01-19 Paolo Carlini <pcarlini@suse.de>
3096
3097 * src/debug.cc: Trivial formatting change.
3098
954b12d2
PC
30992004-01-19 Paolo Carlini <pcarlini@suse.de>
3100
3101 * include/bits/basic_string.tcc (_S_construct(size_type,
3102 _CharT, const _Alloc&)): Remove redundant try/catch.
3103 (_M_mutate(size_type, size_type, size_type)): Ditto.
3104 (_M_clone(const _Alloc&, size_type)): Ditto.
16dd5cfe 3105
acbab5bf
PC
31062004-01-18 Paolo Carlini <pcarlini@suse.de>
3107
3108 * include/bits/basic_string.h (c_str()): Simplify, due to
3109 21.3.4 the internal representation is always kept null-terminated.
3110 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
3111 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
3112 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
3113 Ditto.
3114
9c96a689
PC
31152004-01-18 Paolo Carlini <pcarlini@suse.de>
3116
3117 * include/bits/basic_string.h (append(size_type, _CharT)):
3118 Moved inline, just call _M_replace_aux, no source iterators at
3119 risk of being clobbered.
3120 (assign(size_type, _CharT)): Call directly _M_replace_aux.
3121 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
3122 input_iterator_tag)): Remove fifth unused argument.
3123 (_M_replace_dispatch(iterator, iterator, _InputIterator,
3124 _InputIterator, __false_type)): Update call.
3125 * include/bits/basic_string.tcc (replace(size_type, size_type,
3126 const _CharT*, size_type)): Update call.
3127 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
3128 throw string literal.
3129 (_M_replace_safe(iterator, iterator, _ForwardIterator,
3130 _ForwardIterator)): Likewise.
3131 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
3132 input_iterator_tag)): Remove fifth unused argument.
3133 (append(size_type __n, _CharT __c)): Move inline.
3134 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
3135 const C*, const C*, input_iterator_tag)): Remove fifth unused
3136 argument.
3137
d517f626
BK
31382004-01-16 Benjamin Kosnik <bkoz@redhat.com>
3139
3140 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
16dd5cfe 3141 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
d517f626 3142
701b701b
DS
31432004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
3144
3145 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
3146 mkfifo for mingw32.
3147
2913770f
SO
31482004-01-15 Stefan Olsson <stefan@snon.net>
3149
3150 * include/ext/mt_allocator.h: Reuse thread id's as soon as
3151 possible by changing the behaviour of thread_freelist to do
3152 push_front when threads die instead of push_back.
3153
47f62b27
PC
31542004-01-14 Paolo Carlini <pcarlini@suse.de>
3155
3156 * include/bits/locale_facets.h (struct __numpunct_cache):
3157 Add member _M_grouping_size, caching the length of _M_grouping.
3158 (__numpunct_cache<>::_M_cache): Assign the latter.
3159 (__verify_grouping): Move declaration...
3160 * include/bits/locale_facets.tcc (__verify_grouping):
3161 ... here, change signature to take a const char* and a size_t
3162 for the grouping; not a template anymore.
3163 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
16dd5cfe 3164 Likewise change signature and tweak consistently.
47f62b27
PC
3165 (num_get::_M_extract_float, num_get::_M_extract_int,
3166 num_put::_M_insert_int, num_put::_M_insert_float,
3167 money_get::do_get(string_type&), money_get::do_put(string_type)):
16dd5cfe 3168 Update callers.
47f62b27 3169 * config/locale/generic/numeric_members.cc
16dd5cfe 3170 (numpunct<>::_M_initialize_numpunct): Assign the new member.
47f62b27 3171 * config/locale/gnu/numeric_members.cc
16dd5cfe 3172 (numpunct<>::_M_initialize_numpunct): Likewise.
47f62b27
PC
3173 * src/locale-inst.cc (__add_grouping): Tweak signature.
3174 (__verify_grouping): Don't instantiate, not a template anymore.
3175
3176 * include/bits/locale_facets.h: Rename _M_truename_len ->
3177 _M_truename_size, _M_falsename_len -> _M_falsename_size.
3178 * include/bits/locale_facets.tcc: Likewise.
3179 * config/locale/generic/numeric_members.cc: Likewise.
3180 * config/locale/gnu/numeric_members.cc: Likewise.
3181
41f24725
SO
31822004-01-14 Stefan Olsson <stefan@snon.net>
3183
3184 * include/ext/mt_allocator.h: Fixups.
3185 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
3186 * testsuite/performance/allocator_thread.cc: Same.
16dd5cfe 3187
070ce57b
BK
31882004-01-13 Benjamin Kosnik <bkoz@redhat.com>
3189
3190 * testsuite/performance/ifstream_extract_float.cc: Add higher
3191 precision tests.
3192 * testsuite/performance/ofstream_insert_float.cc: Same.
16dd5cfe 3193
c9513590
PC
31942004-01-13 Paolo Carlini <pcarlini@suse.de>
3195
3196 * src/locale-misc-inst.cc (__convert_from_v(long),
3197 __convert_from_v(unsigned long), __convert_from_v(long long),
3198 __convert_from_v(unsigned long long)): Remove, unused.
3199
60af005f
BK
32002004-01-13 Benjamin Kosnik <bkoz@redhat.com>
3201
3202 * testsuite/performance/ifstream_extract_float.cc: New.
3203 * testsuite/performance/ofstream_insert_float.cc: Float generation
3204 matches above.
3205
3206 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
3207 * 20_util/auto_ptr/1.cc: ...this.
3208 * 20_util/auto_ptr/2.cc: Same.
3209 * 20_util/auto_ptr/3.cc: Same.
3210 * 20_util/auto_ptr/3946.cc: Same.
3211 * 20_util/auto_ptr/4.cc: Same.
3212 * 20_util/auto_ptr/5.cc: Same.
3213 * 20_util/auto_ptr/6.cc: Same.
3214 * 20_util/auto_ptr/7.cc: Same.
3215 * 20_util/auto_ptr/assign_neg.cc
3216 * 20_util/pairs.cc: Break into...
3217 * 20_util/pair/1.cc: ...this.
3218 * 20_util/pair/2.cc: Same.
3219 * 20_util/pair/3.cc: Same.
3220 * 20_util/pair/4.cc: Same.
3221
d8ef7dec
PC
32222004-01-13 Paolo Carlini <pcarlini@suse.de>
3223
3224 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
3225 Set correctly just basefield, the only group that matters.
3226
5640461d
PC
32272004-01-13 Paolo Carlini <pcarlini@suse.de>
3228
3229 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
3230 (_Rope_rep_base): Inherit directly from the rope allocator;
3231 use rebinding instead of _Alloc_traits; pick up data member
3232 from _Rope_rep_alloc_base.
3233 (_Rope_alloc_base): Eliminate.
3234 (_Rope_base): Inherit directly from the rope allocator; use
3235 rebinding instead of _Alloc_traits; pick up data member from
3236 _Rope_alloc_base.
3237 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
3238 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
3239
95c9624f
PC
32402004-01-13 Paolo Carlini <pcarlini@suse.de>
3241
3242 PR libstdc++/13650
3243 * include/bits/basic_string.tcc (compare(size_type, size_type,
3244 const _CharT*, size_type)): Implement correctly the resolution
3245 of DR 5: basically, s is a char array, -not- a C string.
3246 * include/bits/basic_string.h: Tweak some comments.
3247 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
3248 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
3249
c91de77a
AT
32502004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
3251
3252 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
3253 Solaris.
3254
300b3317
PC
32552004-01-12 Paolo Carlini <pcarlini@suse.de>
3256
3257 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
3258 Use try_mkfifo.
3259 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
3260 Likewise.
3261
dc6798f8
PC
32622004-01-12 Paolo Carlini <pcarlini@suse.de>
3263
3264 * include/bits/locale_facets.h (struct __numpunct_cache):
3265 Add members _M_truename_len and _M_falsename_len, caching
3266 the lengths of _M_truename and _M_falsename.
3267 (__numpunct_cache<>::_M_cache): Assign the latter.
3268 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
3269 num_put::do_put(bool)): Use the new members, thus avoiding
3270 computing string lengths again and again.
3271 * config/locale/generic/numeric_members.cc
3272 (numpunct<>::_M_initialize_numpunct): Assign the new members.
3273 * config/locale/gnu/numeric_members.cc
3274 (numpunct<>::_M_initialize_numpunct): Likewise.
3275
ea1ea21a
MM
32762004-01-12 Mark Mitchell <mark@codesourcery.com>
3277
3278 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
3279 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
3280 it.
3281 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
3282 and remove Cygwin XFAIL.
3283 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
3284 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
3285 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
3286 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
3287 Likewise.
3288 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
3289 * testsuite/27_io/objects/char/7.cc: Likewise.
3290 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
3291 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
3292 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
3293
3b3bfc0e
GDR
32942004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3295
3296 * include/std/std_complex.h (std::complex<>::real): Return a
3297 reference. Add non-const overload.
3298 (std::complex<>::real): Likewise.
3299 (std::real): Likewise.
3300 (std::imag): Likewise.
3301 (std::operator+): Tidy.
3302 (std::operator-): Likewise.
3303 (std::operator*): Likewise.
3304 (std::operator/): Likewise.
3305 (std::operator>>): Likewise.
3306
09625c16
PC
33072004-01-11 Paolo Carlini <pcarlini@suse.de>
3308
3309 PR libstdc++/13582
3310 * include/bits/fstream.tcc (imbue): Exploit the external
3311 buffer to imbue 'on the fly' a new locale and convert its
3312 remainder with the new codecvt facet.
3313 (underflow): Tweak slightly to deal with this special case.
3314 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
3315 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
3316 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
3317 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
3318 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
16dd5cfe 3319
a8d65349
PC
33202004-01-10 Paolo Carlini <pcarlini@suse.de>
3321
3322 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
3323 Import Revision 28.
3324
b656faa8
PC
33252004-01-10 Paolo Carlini <pcarlini@suse.de>
3326
3327 PR libstdc++/13630
3328 * include/bits/locale_classes.h (class locale): Fix category
3329 typedef.
3330 * testsuite/22_locale/locale/13630.cc: Add.
3331
f88e4715
GB
33322004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3333
3334 * include/bits/locale_facets.h: Make a name really dependent. This
3335 will be needed when Core Issue 224 is implemented.
3336
64cb2c4a
PC
33372004-01-09 Paolo Carlini <pcarlini@suse.de>
3338
3339 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
3340 * testsuite/performance/allocator_thread.cc: Likewise.
3341
158960ba
BK
33422004-01-07 Benjamin Kosnik <bkoz@redhat.com>
3343
3344 * crossconfig.m4: Add LFS, io bits to linux cross config.
3345 * acconfig.h: Remove obsolete bits, reorder.
3346 * config.h.in: Regenerate.
3347 * aclocal.m4: Same.
3348 * configure: Same.
16dd5cfe 3349
e135a038
BK
33502004-01-07 Gawain Bolton <gp.bolton@computer.org>
3351
3352 * include/bits/stl_list.h:
3353 * include/bits/list.tc:
3354 * src/list.cc:
6a734d61
BK
3355 Performance enhancements for destructor, push_front(),
3356 push_back(), pop_front(), pop_back(), sort()
3357 Eliminated static_casts where possible.
3358 Moved code out of header files into new src/list.cc
3359 implementation file for library where possible.
3360 Remove inheritance from iterator class and create separate
3361 classes for non-constant and constant iterators.
e135a038 3362 * include/bits/stl_tree.h (_Rb_tree class):
16dd5cfe 3363 * src/tree.cc:
6a734d61
BK
3364 Only erase contents in destructor.
3365 Eliminate unnecessary initialization in assignment operator.
3366 Optimize for the nominal case by not checking whether
3367 container is empty in clear().
3368 Re-order test in _M_insert() to improve performance.
3369 Move initialization of new node's left & right pointers to
3370 src/tree.cc to where new node's colour is initialized
3371 and to reduce the amount of inline code.
3372 Use _M_leftmost() and _M_end() to improve readability where
3373 appropriate.
3374 Create separate classes for non-constant and constant
3375 iterators to clarify code, avoid extra template parameters and
3376 casting away constness.
16dd5cfe 3377
e135a038
BK
33782004-01-07 Benjamin Kosnik <bkoz@redhat.com>
3379
3380 * src/Makefile.am (sources): Add list.cc, tree.cc.
3381 * src/stl_tree.cc: Move to...
3382 * src/tree.cc: ...here.
3383 * src/list.cc: Add.
3384 * config/linker-map.gnu: Tweaks.
3385 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
3386 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
3387
3388 * bits/stl_vector.h: Column wrap comments.
16dd5cfe 3389
677e7ddc
LR
33902004-01-07 Loren J. Rittle <ljrittle@acm.org>
3391
3392 (re-open) PR libstdc++/12658
3393 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
3394 (locale::global): Likewise.
3395
d8f5bd50
PC
33962004-01-07 Paolo Carlini <pcarlini@suse.de>
3397
3398 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
3399 Remove redundant #include.
3400 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
3401 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
3402 re-enable normal testing.
3403 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
3404 #include.
3405 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
3406 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
3407 Likewise.
3408 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
3409 Likewise.
3410 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
3411 Likewise.
3412 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
3413 Likewise.
3414 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
3415 Likewise.
3416 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
3417 Likewise.
3418 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
3419 Likewise.
3420 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
3421 More properly, #include <locale>.
3422 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
3423 Remove redundant #include.
3424 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
3425 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
3426 redundant DejaGnu directive.
3427 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
3428 redundant #include.
3429
b61f9bf0 34302004-01-06 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 3431 Stefan Olsson <stefan@snon.net>
b61f9bf0
BK
3432
3433 * scripts/check_performance: Use -pthread.
3434 * testsuite/performance/allocator.cc: Tweaks, add list.
3435 * testsuite/performance/allocator_thread.cc: New.
3436
b74a6851 34372004-01-06 Jerry Quinn <jlquinn@optonline.net>
9a01c9b0
JQ
3438
3439 * include/bits/locale_facets.h: Document public classes and
3440 functions.
3441 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
3442 Add comment.
3443
b80115c4
PC
34442004-01-06 Paolo Carlini <pcarlini@suse.de>
3445
3446 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
3447 Remove redundant #includes.
3448 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
3449 Likewise.
3450 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
3451 Likewise.
3452 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
3453 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
3454 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
3455 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
3456 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
3457 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
3458 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
3459 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
3460 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
3461 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
3462 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
3463 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
3464 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
3465 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
3466 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
3467 Likewise.
3468 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
3469 Likewise.
3470 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
3471 Likewise.
3472 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
3473 Likewise.
3474 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
3475 Likewise.
3476 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
3477 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
3478 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
3479
22ed0590 34802004-01-04 Paolo Carlini <pcarlini@suse.de>
223b5084
PC
3481
3482 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
3483 Remove redundant #includes.
3484 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
3485 Likewise.
3486 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
3487 Likewise.
3488 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
3489 Likewise.
3490 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
3491 Likewise.
3492 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
3493 Likewise.
3494 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
3495 Likewise.
3496 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
3497 Likewise.
3498 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
3499 Likewise.
3500 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
3501 Likewise.
3502 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
3503 Likewise.
3504 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
3505 Likewise.
3506 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3507 Likewise.
3508
4f8163b1
MM
35092004-01-04 Mark Mitchell <mark@codesourcery.com>
3510
3511 PR c++/12226
3512 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
3513 constructor.
3514 * testsuite/27_io/basic_fstream/4.cc: Likewise.
3515 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
3516 * testsuite/27_io/basic_ios/4.cc: Likewise.
3517 * testsuite/27_io/basic_iostream/4.cc: Likewise.
3518 * testsuite/27_io/basic_istream/4.cc: Likewise.
3519 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
3520 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
3521 * testsuite/27_io/basic_ostream/4.cc: Likewise.
3522 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
3523 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
3524 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
3525
17fa5560
PC
35262004-01-04 Paolo Carlini <pcarlini@suse.de>
3527
3528 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
3529 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
3530 always use double underscored names.
3531 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
3532 Likewise.
3533 * include/bits/locale_facets.h (struct __numpunct_cache):
3534 Dimension _M_atoms_out and _M_atoms_in one position smaller.
3535 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
3536 and _M_atoms_in.