]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Add missing entry for my 2004-04-30 change.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
4df9c41d
PC
12004-05-03 Paolo Carlini <pcarlini@suse.de>
2
3 Optimize locale::_M_impl->_M_names for the most common cases:
4 !_M_names[0] means unnamed; !_M_names[1] means all the categories
5 the same name (_M_names[0] && _M_names[1] means that the full set
6 of _M_names must be processed, the general case).
7 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
8 Tweak, saving work when !_M_names[1].
9 (locale::locale(const locale&, _Facet*): Simplify: now just setting
10 _M_names[0] = 0 means unnamed.
11 * src/locale.cc (locale::operator==): Deal first with the common,
12 easy cases, otherwise fall back to locale::name().
13 (locale::name()): Tweak, if !_M_names[0] just return "*".
14 (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
15 copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
16 * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
17 * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
18 Simplify when !std::strchr, just updating _M_names[0]; clean up.
19 (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
20 for the general case (full set of names), then do the usual work;
21 clean up.
22
23 * src/locale.cc (locale::name()): Reserve space in __ret.
24 * src/locale_init.cc (locale::global(const locale&)): Save
25 the name in a temporary.
26 * src/localename.cc (locale::locale(const char*)): Reserve space
27 in __str.
28
59639106
PC
292004-04-29 Paolo Carlini <pcarlini@suse.de>
30
31 * src/locale.cc (locale::operator==): Always avoid constructing
32 locale::name(), directly compare pairs of _M_names.
33
479864fe
PC
342004-04-26 Paolo Carlini <pcarlini@suse.de>
35
36 * include/bits/istream.tcc: Fix comment.
37
874e7baa
PC
382004-04-26 Paolo Carlini <pcarlini@suse.de>
39
40 * include/bits/stl_vector.h: Trivial formatting fixes.
41 * include/bits/vector.tcc: Likewise.
42
247791f5
PC
432004-04-25 Paolo Carlini <pcarlini@suse.de>
44
45 PR libstdc++/15002 (continued again)
46 * include/bits/istream.tcc (getline(basic_istream<>&,
47 basic_string<>&, _CharT)): Use a temporary buffer, thus
48 avoiding reallocation for common case.
49
50 * include/bits/basic_string.tcc (_S_construct(_InIterator,
51 _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
52 of temporary buffer to a power of two.
53
54 * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
55
c26fa757
PC
562004-04-25 Paolo Carlini <pcarlini@suse.de>
57
58 * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
59 New.
60 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
61 Likewise.
62 * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
63
062bf895
PC
642004-04-24 Paolo Carlini <pcarlini@suse.de>
65 Petur Runolfsson <peturr02@ru.is>
66
67 PR libstdc++/15002 (continued)
68 * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
69 streamsize, char_type)): Use traits::find/copy in a loop to speed
70 up greatly the function in the common case (I/O buffer size >> 1).
71
722004-04-24 Paolo Carlini <pcarlini@suse.de>
73
74 * testsuite/27_io/basic_istream/getline/char/4.cc: New.
75
76 * include/bits/istream.tcc (getline(basic_istream<>&,
77 basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
78 of sbumpc(), consistently with the other functions, thus also
79 dealing correctly with the case of exceeded string::max_size().
80
adabbcf4
MK
812004-04-24 Matthias Klose <doko@debian.org>
82
83 Jonathan Wakely <cow@compsoc.man.ac.uk>
84 * docs/html/configopts.html: Fix reference to allocator config option.
85
fc2ae431
AP
862004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
87
88 * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
89 * configure: Regenerate.
90
d8fe7b29
DJ
912004-04-23 Daniel Jacobowitz <drow@mvista.com>
92
93 PR libstdc++/15047, libstdc++/11610
94 * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
95 (libstdc++_init): Don't pass outdir to v3-copy-files.
96
0d8c9baf
PC
972004-04-21 Paolo Carlini <pcarlini@suse.de>
98
99 * include/bits/deque.tcc: Trivial formatting fixes.
100 * include/bits/stl_deque.h: Likewise.
101 * include/bits/stl_list.h: Likewise.
102 * include/bits/stl_tree.h: Likewise.
103
0a746019
PC
1042004-04-21 Paolo Carlini <pcarlini@suse.de>
105 Andrew Pinski <pinskia@physics.uc.edu>
106
107 * include/bits/basic_string.tcc (_M_mutate): Don't compute
108 __src unnecessarily.
109
3dd50c74
BK
1102004-04-19 Benjamin Kosnik <bkoz@redhat.com>
111
112 * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
113 Clarify assertion, set test variable to false before assert.
114 * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
115 * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
116 * testsuite/27_io/ios_base/storage/2.cc: Same.
117
118 * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
119 function returns.
120 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
121 * testsuite/27_io/fpos/14320-3.cc: Same.
122
123 * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
124 * testsuite/27_io/fpos/1.cc: Same.
125 * testsuite/27_io/basic_stringstream/2.cc: Same.
126 * testsuite/27_io/basic_stringbuf/4.cc: Same.
127 * testsuite/27_io/basic_stringbuf/1.cc: Same.
128 * testsuite/27_io/basic_stringbuf/2.cc: Same.
129 * testsuite/27_io/basic_streambuf/2.cc: Same.
130 * testsuite/27_io/basic_ostringstream/2.cc: Same.
131 * testsuite/27_io/basic_ostream/2.cc: Same.
132 * testsuite/27_io/basic_ofstream/2.cc: Same.
133 * testsuite/27_io/basic_istringstream/2.cc: Same.
134 * testsuite/27_io/basic_istream/2.cc: Same.
135 * testsuite/27_io/basic_iostream/2.cc: Same.
136 * testsuite/27_io/basic_ios/2.cc: Same.
137 * testsuite/27_io/basic_ifstream/2.cc: Same.
138 * testsuite/27_io/basic_fstream/2.cc: Same.
139 * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
140
141 * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
142 unsigned against zero.
143 * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
144 * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
145
146 * testsuite/18_support/new_delete_placement.cc: Initialize
147 variables before first use.
148 * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
149 * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
150 * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
151 * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
152 Same.
153 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
154 * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
155 Same.
156 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
157 * testsuite/27_io/types/2.cc: Same.
158
159 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
160 file name.
161 * testsuite/27_io/fpos/14775.cc: Same.
162
41b8e86c
PC
1632004-04-19 Paolo Carlini <pcarlini@suse.de>
164
165 PR libstdc++/15002 (partial)
166 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
167 Special case __n2 == 1, not calling traits_type::assign/copy.
168
f178c2d6
BK
1692004-04-17 Benjamin Kosnik <bkoz@redhat.com>
170
171 * include/bits/stl_bvector.h: Use _M_impl._M_start.
172
390e4c0d
BK
1732004-04-16 Benjamin Kosnik <bkoz@redhat.com>
174
175 * include/bits/c++config (_GLIBCXX_STD): New.
176 * src/list.cc: Use it.
177 * include/std/std_bitset.h: Same.
178 * include/bits/vector.tcc: Same.
179 * include/bits/stl_set.h: Same.
180 * include/bits/stl_multiset.h: Same.
181 * include/bits/stl_multimap.h: Same.
182 * include/bits/stl_map.h: Same.
183 * include/bits/stl_list.h: Same.
184 * include/bits/stl_vector.h: Same.
185 * include/bits/stl_bvector.h: Same.
186 * include/bits/stl_deque.h: Same.
187 * include/bits/deque.tcc: Same.
188 * include/bits/list.tcc: Same.
189 * include/debug/vector: Same.
190 * include/debug/set.h: Same.
191 * include/debug/multiset.h: Same.
192 * include/debug/multimap.h: Same.
193 * include/debug/map.h: Same.
194 * include/debug/list: Same.
195 * include/debug/deque: Same.
196 * include/debug/bitset: Same.
197 * include/debug/formatter.h (__gnu_debug): Remove using directive.
198 Add using declaration for std::type_info.
199 * include/debug/safe_iterator.h: Add using declaration for
200 std::iterator_traits and std::pair.
201 * src/debug_list.cc: New.
202 * src/Makefile.am: Add debug_list.cc.
203 * src/Makefile.in: Regenerate.
204 * config/linker-map.gnu: Add _List_node_base exports for std and
205 __gnu_norm.
206
207 * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
208 idiom that other containers use.
209 * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
210
2f228199
PC
2112004-04-16 Paolo Carlini <pcarlini@suse.de>
212
213 PR libstdc++/14975
214 * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
215 in case of error.
216 * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
217 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
218
af55af57
PC
2192004-04-16 Paolo Carlini <pcarlini@suse.de>
220
221 * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
222 used anymore.
223 * config.h.in: Regenerate.
224
2252004-04-16 Paolo Carlini <pcarlini@suse.de>
226
227 * config/locale/generic/monetary_members.cc
228 (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
229 btowc unnecessarily, just cast to wchar_t (the concerned chars
230 all belong to the basic character set).
231 * config/locale/generic/numeric_members.cc
232 (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
233 * config/locale/gnu/monetary_members.cc
234 (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
235 * config/locale/gnu/numeric_members.cc
236 (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
237
d7ed521b
PC
2382004-04-15 Paolo Carlini <pcarlini@suse.de>
239
240 * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
241 avoid constructing unnecessarily this->name().
242
76e9802c
ZW
2432004-04-14 Zack Weinberg <zack@codesourcery.com>
244
245 * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
246 Change definition of CXX to use $(shell) instead of backticks.
247 * testsuite/Makefile.in: Regenerate.
248
e0fb1c5c
DM
2492004-04-12 Dhruv Matani <dhruvbird@gmx.net>
250
251 * testsuite/performance/20_util/allocator/list_sort_search.cc:
252 Minor formatting fixes.
253 * testsuite/performance/20_util/allocator/map_mt_find.cc:
254 Likewise.
255
92861ad4
PC
2562004-04-12 Paolo Carlini <pcarlini@suse.de>
257
258 * config/locale/gnu/numeric_members.cc
259 (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
260 in __uselocale, since btowc is called for chars belonging to
261 the basic character set.
262
895510be
PC
2632004-04-09 Paolo Carlini <pcarlini@suse.de>
264
265 * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
266 * testsuite/22_locale/messages/members/char/2.cc: Ditto.
267 * testsuite/22_locale/messages/members/char/3.cc: Ditto.
268 * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
269 * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
270 * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
271 * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
272 * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
273 * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
274 * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
275 * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
276 * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
277 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
278 * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
279 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
280 * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
281 * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
282
ba98a8d8
PC
2832004-04-07 Paolo Carlini <pcarlini@suse.de>
284
285 * config/locale/generic/time_members.cc
286 (__timepunct<char>::_M_initialize_timepunct,
287 __timepunct<wchar_t>::_M_initialize_timepunct): the correct
288 _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
289 * config/locale/gnu/time_members.cc
290 (__timepunct<char>::_M_initialize_timepunct,
291 __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
292 * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
293 * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
294
295 * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
296 * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
297 * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
298 * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
299 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
300 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
301 * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
302 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
303 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
304 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
305 * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
306 * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
307 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
308 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
309 * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
310 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
311 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
312 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
313 * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
314 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
315 * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
316 * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
317 * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
318 * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
319 * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
320 * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
321 * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
322 * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
323 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
324 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
325 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
326 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
327 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
328 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
329 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
330 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
331
332 * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
333
f332a090
PC
3342004-04-07 Paolo Carlini <pcarlini@suse.de>
335
336 * config/locale/gnu/monetary_members.cc
337 (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
338 _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
339 and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
340 _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
341 * config/locale/gnu/numeric_members.cc
342 (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
343 and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
344
563ae04f
BK
3452004-04-06 Benjamin Kosnik <bkoz@redhat.com>
346
347 Fixups for EDG front end.
348 * include/ext/rope: Instead of non-existent function
349 _Data_allocate, use allocator's allocate. Use this.
350 (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
351 enumerations from _Rope_RopeRep here.
352 * include/ext/ropeimpl.h: Same.
353 * src/ext-inst.cc (_S_min_len): Fix up definition.
76e9802c 354
563ae04f
BK
355 * config/locale/gnu/ctype_members.cc: Qualify base class members
356 with this.
357 * config/locale/generic/ctype_members.cc: Same.
358 * config/locale/gnu/messages_members.h: Same.
359 * config/locale/generic/messages_members.h: Same.
360 * src/ctype.cc: Same.
361 * include/bits/codecvt.h: Same.
76e9802c 362
563ae04f
BK
363 * include/bits/boost_concept_check.h: Declare.
364 (__error_type_must_be_an_unsigned_integer_type): Remove this.
365 (__error_type_must_be_an_integer_type): Remove this.
76e9802c 366 (__error_type_must_be_a_signed_integer_type): Remove this.
563ae04f
BK
367
368 * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
369
370 * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
371 specification to definition.
372 (__cxa_allocate_exception): Same.
373 * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
374 * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
76e9802c
ZW
375 (__cxa_get_globals): Same.
376
563ae04f
BK
377 * libsupc++/del_op.cc: Add comment about freestanding.
378
268d3b18
PC
3792004-04-05 Paolo Carlini <pcarlini@suse.de>
380
381 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
382 The critical section is actually very small, only two assignments.
383
9f35e4aa
PC
3842004-04-04 Paolo Carlini <pcarlini@suse.de>
385 Petur Runolfsson <peturr02@ru.is>
386
387 * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
388 adapted from libstdc++/11378.
389
c8333c0f
PC
3902004-04-03 Paolo Carlini <pcarlini@suse.de>
391
392 * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
393 some duplicated code.
394 (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
395 in the single threaded case.
396 * testsuite/performance/20_util/allocator/list_sort_search.cc:
397 Reorder and renumber the tests consistently with the other testfiles.
398 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
399 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
400 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
401
ab40b100
PC
4022004-04-02 Paolo Carlini <pcarlini@suse.de>
403
404 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
405 Rearrange arithmetic to avoid computing two divisions at
406 each deallocation.
407
354d4c68
PC
4082004-04-01 Paolo Carlini <pcarlini@suse.de>
409
410 * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
411 Streamline the second half, wrapping it in a single
412 '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
413 conditionals inside loops.
414
2ae6e982
PC
4152004-04-01 Paolo Carlini <pcarlini@suse.de>
416
417 PR libstdc++/14775
418 * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
419 * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
420 GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
421 to _GLIBCXX_RES_LIMITS.
422 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
423 HAVE_LIMIT_*.
424 * testsuite/testsuite_hooks.h: Declare set_file_limit.
425 * testsuite/testsuite_hooks.cc: Define it, using getrlimit
426 and setrlimit(RLIMIT_FSIZE).
427 * testsuite/27_io/fpos/14775.cc: New.
428 * config.h.in: Regenerate.
429 * configure: Likewise.
430
e004c331
PC
4312004-03-31 Paolo Carlini <pcarlini@suse.de>
432
433 * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
434 In v3 uses of sscanf, the special floating-point numbers INF,
435 INFINITY, etc., cannot occur in input, therefore, if the latter
436 is too large, ERANGE is always stored in errno, no need of finitel.
437
06ce7726
BK
4382004-03-30 Benjamin Kosnik <bkoz@redhat.com>
439
440 PR libstdc++/14783
441 * include/bits/stl_tree.h: Adjust initialization list order.
442
7be1c3fb
LR
4432004-03-29 Loren J. Rittle <ljrittle@acm.org>
444
445 * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
446
63041e68
PC
4472004-03-29 Paolo Carlini <pcarlini@suse.de>
448
449 * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
450 on allocator behavior, the memory pointed by data2 may well be not
451 trashed.
452
f26e5597
CB
4532004-03-28 Chavdar Botev <cbotev@yahoo.com>
454
455 PR libstdc++/14245
456 * include/bits/basic_string.tcc
457 (basic_string::basic_string(const basic_string&)): Pass to
458 _Rep::_M_grab the actual allocator of the string being constructed
459 not the default constructed one.
460
a5f105b5
BK
4612004-03-27 Benjamin Kosnik <bkoz@redhat.com>
462
463 libstdc++ PR/13598
464 * config/locale/ieee_1003.1-2001/codecvt_specializations.h
465 (__enc_traits::_M_destroy): New.
466 (__enc_traits::~__enc_traits): Use it.
467 (__enc_traits::operator=): Use _M_destroy, _M_init.
468 (__enc_traits::__enc_traits): Same.
469
4702004-03-27 Petur Runolfsson <peturr02@ru.is>
471
472 * testsuite/ext/enc_filebuf/char/13598.cc: New.
473
6f52a889
PC
4742004-03-27 Paolo Carlini <pcarlini@suse.de>
475
476 * include/ext/mt_allocator.h: Uglify consistently names of
477 variables, members and classes; tidy.
478
4792004-03-27 Dhruv Matani <dhruvbird@gmx.net>
480
481 * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
482 Deallocation loop rewrote.
483
dd95381f
PC
4842004-03-26 Paolo Carlini <pcarlini@suse.de>
485
486 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
487 __mt_alloc<>::deallocate): Protect two instances of
488 block->thread_id with __GTHREADS.
489
8bd22a3c
BK
4902004-03-25 Gawain Bolton <gp.bolton@computer.org>
491
492 * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
493 default argument in constructors.
494 (_Rb_tree::_M_empty_initialize): Remove.
76e9802c 495
8bd22a3c 4962004-03-25 Benjamin Kosnik <bkoz@redhat.com>
76e9802c 497
8bd22a3c
BK
498 * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
499 * testsuite/23_containers/set/operators/1_neg.cc: Same.
500
5012004-03-25 Dhruv Matani <dhruvbird@gmx.net>
502
503 * include/bits/cpp_type_traits.h: Changed __is_pod
504 completely. Now, it does not use any of the previous type_traits
505 to detect the pod types, and it also detects function pointers as
506 POD types.
507
508 * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
509 which encapsulates the internal implementation of an rb_tree. Made
510 the allocator a base class of this class instead of the rb_tree,
511 which was not conforming. This _Rb_tree_impl class is also
512 specialized on whether the _Compare parameter is a POD type or
513 not. If so, then it maintains the comparison function as a data
514 member, otherwise it makes the _Compare parameter a base class of
515 itself. Also, _M_key_compare is now a function instead of a data
516 member, so that the above trick can work properly. Delegated the
517 initialization of the other data members to this newly created
518 class. Also, now other member functions of rb_tree must refer to
519 _M_key_compare as _M_impl._M_key_compare(). The other data members
520 (*) can be referenced to as _M_impl.(*), where
521 (*) includes _M_header, and _M_node_count.
522
90ceccd4
PC
5232004-03-25 Paolo Carlini <pcarlini@suse.de>
524
525 * include/ext/mt_allocator.h (__mt_alloc<>::tune):
526 Add _M_min_bin, the size in bytes of the smallest bin.
527 (__mt_alloc<>::tune()): Tweak accordingly.
528 (__mt_alloc<>::tune(size_t, ...)): Likewise.
529 (__mt_alloc<>::block_record): Change to a union: members next
530 and thread_id are never used at the same time.
531 (__mt_alloc<>::allocate): Update consistently.
532 (__mt_alloc<>::deallocate): Likewise.
533 (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
534 _S_bin_size for the configurable _M_min_size.
535
03f9ea44
DM
5362004-03-25 Dhruv Matani <dhruvbird@gmx.net>
537
538 * include/bits/stl_list.h: Created a _List_impl class and made it
539 derive from the allocator, instead of the list deriving from the
540 allocator class, which was not conformant. Changed all references
541 from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
542 as above (changed all references to the concerned variables).
543
5442004-03-25 Dhruv Matani <dhruvbird@gmx.net>
545
546 * include/bits/stl_deque.h: Created a _Deque_impl class and made
547 it derive from the allocator, instead of the deque deriving from
548 the allocator class, which was not conformant. Changed all
549 references to the _M_start, _M_finish, _M_map, and _M_map_size to
550 _M_impl.*.
551 (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
552 qualification in 2 places where it was missing.
553 (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
554 above.
555 * include/bits/deque.tcc: Same as above (changed all references to
556 the concerned variables).
557
5582004-03-25 Dhruv Matani <dhruvbird@gmx.net>
559
560 * include/bits/stl_vector.h: Created a _Vector_impl class and made
561 it derive from the allocator, instead of the _Vector_base class,
562 deriving from the allocator which was not conformant. Changed all
563 references to the _M_start, _M_finish, and _M_end_of_storage to
564 _M_impl.*.
565 * include/bits/vector.tcc: Same as above (changed all references
566 to the concerned variables).
567
5682004-03-25 Dhruv Matani <dhruvbird@gmx.net>
569
570 * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
571 * testsuite/23_containers/list/cons/clear_allocator.cc: New.
572 * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
76e9802c 573
58c95921
DM
5742004-03-24 Dhruv Matani <dhruvbird@gmx.net>
575
03f9ea44
DM
576 * include/ext/malloc_allocator.h: Fixed the construct function to
577 call global placement new instead of assignment. Added a check
578 after the return from malloc to check whether returned pointer is
579 NULL, and if so, throw std::bad_alloc().
580 * include/ext/debug_allocator.h: Added a check in the deallocate
581 function to check whether the user has passed a NULL pointer or
582 not.
76e9802c 583
8367b9c1
BK
5842004-03-24 Benjamin Kosnik <bkoz@redhat.com>
585
586 * docs/html/20_util/allocator.html: Add bitmap_allocator links.
587
d62c1a1f
AS
5882004-03-24 Andreas Schwab <schwab@suse.de>
589
590 * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
591 warning from IA64 assembler.
592
71f9a9d1 5932004-03-24 Dhruv Matani <dhruvbird@gmx.net>
76e9802c 594
71f9a9d1
DM
595 * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
596 function call __builtin_ctz instead of the while loop.
597 (allocate) -> If condition has __builtin_expect.
598 (deallocate) -> Ditto.
599 Renamed a few left-over variables and typedefs according to the
600 C++STYLE mentioned in the documentation.
601 Protected calls to __gthread* by __gthread_active_p(), whose value
602 is cached in the local variable __threads_active.
603
b4a76c01
FY
6042004-03-24 Felix Yen <fwy@alumni.brown.edu>
605
606 * testsuite/performance/20_util/allocator/producer_consumer.cc:
607 Use linear algorithm for producer.
76e9802c 608
affb18b2
PC
6092004-03-24 Paolo Carlini <pcarlini@suse.de>
610
611 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
612 __mt_alloc<>::deallocate): Avoid redundant conditionals.
613
586b5f20
BK
6142004-03-23 Benjamin Kosnik <bkoz@redhat.com>
615
616 * include/bits/locale_facets.h: Tweaks for 80 column.
617 (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
618 (__moneypunct_cache::_M_cache): Same.
619 (num_get): Don't inherit from __num_base.
620 (num_put): Same.
621 (money_get): Don't inherit from money_base.
622 (money_put): Same.
623 (__timepunct::_M_am_pm_format): New.
624 (time_get::_M_extract_num): Return iterator, use ios_base as argument.
625 (time_get::_M_extract_name): Same.
626 (time_get::_M_extract_via_format): Same.
627 * include/bits/locale_facets.tcc: Tweaks for 80 column.
628 Use _M_getloc instead of getloc.
629 * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
630 * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
631 * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
632
29d4adf4
PC
6332004-03-22 Paolo Carlini <pcarlini@suse.de>
634
635 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
636 * configure: Regenerate.
637 * config/allocator/pool_allocator_base.h: New.
638 * include/ext/pool_allocator.h: Convert to a standard-conforming
639 allocator.
640 * src/allocator.cc: Tweak instantiations.
641 * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
642 * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
643 * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
644 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
645 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
646 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
647
fea41ef9
HPN
6482004-03-22 Hans-Peter Nilsson <hp@axis.com>
649
650 * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
651 inline" and attribute-unused. Qualify parameter __mem with
652 "volatile".
653 (__exchange_and_add): Ditto. Add back memory clobber to asm.
654
9c024d9c
PC
6552004-03-20 Paolo Carlini <pcarlini@suse.de>
656
657 * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
658 Remove junk.
659 * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
660 Likewise.
661 * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
662 Likewise.
663 * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
664 Likewise.
665 * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
666 Likewise.
667 * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
668 Likewise.
669 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
670 Likewise.
671 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
672 Likewise.
673 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
674 Likewise.
675 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
76e9802c 676 Likewise.
9c024d9c 677
2787b59a
PC
6782004-03-20 Paolo Carlini <pcarlini@suse.de>
679
680 * include/std/std_valarray.h: Document DR389 [Ready].
681 * docs/html/ext/howto.html: Add an entry for DR389.
682
1b1a632b
ME
6832004-03-19 Michael Eager <eager@mvista.com>
684
685 * config/cpu/mips/atomicity.h: Prevent reg loads between LL and
686 SC instructions.
687
28f2a265
PC
6882004-03-19 Paolo Carlini <pcarlini@suse.de>
689
690 * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
691 static_cast-s.
692 * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
693 * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
694 * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
695 * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
696 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
697 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
698 * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
699 * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
700 * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
701
8268bba6
PC
7022004-03-19 Paolo Carlini <pcarlini@suse.de>
703 Petur Runolfsson <peturr02@ru.is>
704
705 PR libstdc++/12077
706 * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
707 no way to find out the conversion used by the underlying FILE*.
708 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
709 * testsuite/27_io/objects/char/9.cc: Tweak.
710
59d35672
PC
7112004-03-19 Paolo Carlini <pcarlini@suse.de>
712
713 PR libstdc++/14648
714 * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
715 memory allocation/deallocation calls.
716 * testsuite/ext/14648.cc: New.
717
ab7ac222
PS
7182004-03-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
719
720 PR libstdc++/14647
721 * include/backward/bvector.h (bit_vector): Allocator is in std
722 namespace.
723
d54bc1d8
PE
7242004-03-19 Phil Edwards <phil@codesourcery.com>
725
726 * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV,
727 not libiconv. SUBST this variable as well.
728 * testsuite/Makefile.am (site.exp): New target, based on that
729 created by automake. Also set libiconv.
730
731 * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
732 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
733 testsuite/Makefile.in: Regenerate.
734
87599abd
BK
7352004-03-16 Benjamin Kosnik <bkoz@redhat.com>
736
737 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
738 new_allocator for all hosts.
739 * configure: Regenerate.
76e9802c 740
e20036e2
PC
7412004-03-16 Paolo Carlini <pcarlini@suse.de>
742
743 * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
744 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
76e9802c 745
33674f00
PC
7462004-03-15 Paolo Carlini <pcarlini@suse.de>
747
748 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
749 Adjust the logic underlying the parsing of symbol to deal
750 correctly with an optional sign component (i.e., when either
76e9802c 751 negative_sign or positive_sign is empty)
33674f00
PC
752 * testsuite/22_locale/money_get/get/char/19.cc: New.
753 * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
754
7552004-03-15 Paolo Carlini <pcarlini@suse.de>
756
757 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
758 Do not accept an incomplete currency symbol.
759 * testsuite/22_locale/money_get/get/char/18.cc: New.
760 * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
761
8b0d6051
BK
7622004-03-13 Benjamin Kosnik <bkoz@redhat.com>
763
764 * config/allocator: New.
765 * config/allocator/bitmap_allocator_base.h: New.
766 * config/allocator/malloc_allocator_base.h: New.
767 * config/allocator/mt_allocator_base.h: New.
768 * config/allocator/new_allocator_base.h: New.
769 * include/bits/allocator.h: Include c++allocator.h.
770 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
771 * aclocal.m4: Regenerate.
76e9802c 772 * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
8b0d6051
BK
773 * configure: Regenerate.
774 * include/Makefile.am (host_headers_extra): Add c++allocator.h.
775 * include/Makefile.in: Regenerate.
776 * docs/html/configopts.html: Add enable-libstdcxx-allocator.
777
eef56029
BK
7782004-03-12 Benjamin Kosnik <bkoz@redhat.com>
779
780 * include/bits/allocator.h: Revert.
781
d4cd08dd
PC
7822004-03-12 Paolo Carlini <pcarlini@suse.de>
783
784 * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
785 * include/bits/gslice_array.h: Add comment about DR 253.
786 * include/bits/indirect_array.h: Likewise.
787 * include/bits/mask_array.h: Likewise.
788 * include/bits/slice_array.h: Likewise.
789
ce7df2fd
BK
7902004-03-12 Benjamin Kosnik <bkoz@redhat.com>
791
792 * testsuite/20_util/allocator/14176.cc: New.
793 * include/ext/mt_allocator.h: Formatting fixes.
76e9802c 794
009368db
DM
7952004-03-11 Dhruv Matani <dhruvbird@HotPOP.com>
796
797 * include/Makefile.am (ext_headers): Add
798 ${ext_srcdir}/bitmap_allocator.h .
799 * include/Makefile.in: Regenerate.
800 * docs/html/ext/ballocator_doc.txt: New file.
801 * include/ext/bitmap_allocator.h: New file.
76e9802c 802 * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
ce7df2fd 803 test.
009368db
DM
804 * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
805 * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
806 test for the bitmap_allocator<>.
807 * testsuite/performance/20_util/allocator/insert.cc: Likewise.
808 * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
809 * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
810
c6feb697
PC
8112004-03-11 Paolo Carlini <pcarlini@suse.de>
812
813 * include/std/std_complex.h (pow(const complex&, const _Tp&),
814 pow(const _Tp&, const complex&), pow(const complex&,
815 const complex&)): Fully qualify with std:: a few calls.
816 * testsuite/26_numerics/complex/13450.cc: Minor tweak.
817
e3628001 8182004-03-11 Steven Bosscher <stevenb@suse.de>
b7c34954
SB
819
820 PR libstdc++/11706
821 * include/c_std/cmath.tcc (__cmath_power): Define inline.
822
8ab705be
KC
8232004-03-10 Kelley Cook <kcook@gcc.gnu.org>
824
825 * configure.ac: Bump AC_PREREQ to 2.59.
826
f69535d2
PC
8272004-03-10 Paolo Carlini <pcarlini@suse.de>
828
829 * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
830
52ddaf41
PK
8312004-03-10 Paul Kienzle <pkienzle@nist.gov>
832 Paolo Carlini <pcarlini@suse.de>
833
834 PR libstdc++/13450
835 * include/std/std_complex.h (pow(const complex&, const _Tp&),
836 pow(const _Tp&, const complex&)): Use cmath pow only when safe.
837 * testsuite/26_numerics/complex/13450.cc: New.
838
839 * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
840 * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
841
ecc7568d
JQ
8422004-03-10 Jerry Quinn <jlquinn@optonline.net>
843
52ddaf41 844 PR libstdc++/3247
ecc7568d
JQ
845 * include/bits/gslice_array.h (gslice_array()): Make public.
846 (operator=(gslice_array)): Make public. Implement.
847 * include/bits/indirect_array.h (indirect_array()): Make public.
848 * include/bits/mask_array.h (mask_array()): Make public.
849 (operator=(mask_array)): Make public. Implement.
850 * include/bits/valarray_array.tcc (__valarray_copy):
851 Comment. Add versions for gslice_array and mask_array.
852 * testsuite/26_numerics/valarray_subset_assignment.cc: New test.
853
6dde938c
BK
8542004-03-09 Benjamin Kosnik <bkoz@redhat.com>
855
856 * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
857 non-weak systems.
858 * testsuite/23_containers/vector/modifiers/swap.cc: Same.
859 * testsuite/23_containers/set/modifiers/swap.cc: Same.
860 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
861 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
862 * testsuite/23_containers/map/modifiers/swap.cc: Same.
863 * testsuite/23_containers/list/modifiers/swap.cc: Same.
864
865 * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
866
f1c4ca32 8672004-03-08 Benjamin Kosnik <bkoz@redhat.com>
76e9802c 868
f1c4ca32
BK
869 PR c++/13658
870 * testsuite/23_containers/deque/modifiers/swap.cc: New.
871 * testsuite/23_containers/list/modifiers/swap.cc: New.
872 * testsuite/23_containers/map/modifiers/swap.cc: New.
873 * testsuite/23_containers/multimap/modifiers/swap.cc: New.
874 * testsuite/23_containers/multiset/modifiers/swap.cc: New.
875 * testsuite/23_containers/set/modifiers/swap.cc: New.
876 * testsuite/23_containers/vector/modifiers/swap.cc: New.
76e9802c 877
5a66cfb2
PR
8782004-03-08 Petur Runolfsson <peturr02@ru.is>
879
880 PR libstdc++/12658
881 * testsuite/22_locale/locale/cons/12658_thread.cc: New.
882
1d4eb925
PC
8832004-03-08 Paolo Carlini <pcarlini@suse.de>
884
885 * docs/html/ext/howto.html: Add entry for DR 103 [WP].
886 * include/bits/stl_multiset.h: Add comment about DR 103.
887 * include/bits/stl_set.h: Likewise.
888
f1c89270
PC
8892004-03-08 Paolo Carlini <pcarlini@suse.de>
890
891 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
892 The value _space_ indicates that at least one space is required
893 at that position.
894 * testsuite/22_locale/money_get/get/char/17.cc: New.
895 * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
896
897 * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
898 * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
899
900 * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
901 Remove redundant conditional on __str.size().
76e9802c 902
f5fb3886
BK
9032004-03-08 Benjamin Kosnik <bkoz@redhat.com>
904
905 * include/bits/allocator.h: Switch defaults to mt_alloc.
906
c0bec71b
BK
9072004-03-06 Benjamin Kosnik <bkoz@redhat.com>
908
909 * include/ext/mt_allocator.h (_S_initialize): If
910 !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
911
f83295ba
BK
9122004-03-06 Benjamin Kosnik <bkoz@redhat.com>
913
914 PR libstdc++/12658
915 * src/locale_init.cc (locale::locale): Lock critical regions with
916 external mutexes.
76e9802c
ZW
917 (locale::global): Same.
918 * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
f83295ba
BK
919 Add in once bits for cases without __GTHREAD_MUTEX_INIT.
920 (__glibcxx_mutex_lock): Same.
921
922 * config/cpu/generic/atomicity.h: Remove
923 _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
924 * src/misc-inst.cc: Move all locking bits out of this file.
925
926 * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
927 * src/misc-inst.cc: Same.
928 * config/cpu/hppa/atomicity.h: Same.
929
930 * config/linker-map.gnu: Remove types in the signature of atomic
931 exports, as they may vary.
76e9802c 932
0c2cc7b3
PC
9332004-03-06 Paolo Carlini <pcarlini@suse.de>
934
935 * include/bits/locale_facets.tcc: Tweak the comment preceding
936 has_facet: doesn't throw.
937
73da19bb
PC
9382004-03-06 Paolo Carlini <pcarlini@suse.de>
939
940 * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
941 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
942 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
943 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
944 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
945 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
946 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
947 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
948
ce345590
PC
9492004-03-06 Paolo Carlini <pcarlini@suse.de>
950
951 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
952 num_get<>::_M_extract_int, num_get<>::do_get(bool&),
953 __pad<>::_S_pad): Prefer plain operator== to traits::eq().
954 * testsuite/testsuite_character.h (struct __gnu_test::character):
955 Provide operator==.
956 * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
957 Likewise.
958
35bd3c28
PC
9592004-03-05 Paolo Carlini <pcarlini@suse.de>
960
961 * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
962
80e39f4a
BK
9632004-03-04 Benjamin Kosnik <bkoz@redhat.com>
964
965 * testsuite/23_containers/multiset/insert/1.cc: Test result string.
966
967 * testsuite/23_containers/bitset/invalidation/1.cc: Main always
76e9802c 968 returns 0.
80e39f4a
BK
969 * testsuite/23_containers/deque/invalidation/4.cc: Same.
970 * testsuite/23_containers/list/invalidation/1.cc: Same.
971 * testsuite/23_containers/list/invalidation/2.cc: Same.
972 * testsuite/23_containers/list/invalidation/3.cc: Same.
973 * testsuite/23_containers/list/invalidation/4.cc: Same.
974 * testsuite/23_containers/map/invalidation/2.cc: Same.
975 * testsuite/23_containers/multimap/invalidation/1.cc: Same.
976 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
977 * testsuite/23_containers/multiset/invalidation/1.cc: Same.
978 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
979 * testsuite/23_containers/set/invalidation/1.cc: Same.
980 * testsuite/23_containers/set/invalidation/2.cc: Same.
981 * testsuite/23_containers/vector/invalidation/1.cc: Same.
982 * testsuite/23_containers/vector/invalidation/2.cc: Same.
983 * testsuite/23_containers/vector/invalidation/3.cc: Same.
984 * testsuite/23_containers/vector/invalidation/4.cc: Same.
985
2aa89cbb
PC
9862004-03-04 Paolo Carlini <pcarlini@suse.de>
987
988 * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
989 CXXFLAGS_save.
990 * testsuite/lib/libstdc++.exp: Don't add it conditionally to
76e9802c 991 DEFAULT_CXXFLAGS.
2aa89cbb
PC
992 * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
993 from the dg-options.
994 * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
995 * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
996 * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
997 * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
998 * testsuite/23_containers/vector/resize/1.cc: Likewise.
999 * testsuite/26_numerics/complex_value.cc: Likewise.
1000 * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1001 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1002 * testsuite/27_io/ios_base/storage/3.cc: Likewise.
1003 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1004 * testsuite/27_io/objects/char/5.cc: Likewise.
1005 * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1006 * testsuite/backward/11460.cc: Likewise.
1007 * testsuite/thread/pthread7-rope.cc: Likewise.
1008
1009 * testsuite/21_strings/basic_string/compare/char/1.cc: Add
1010 missing test variable.
1011 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
1012 missing test variable.
1013
f90e600a
BK
10142004-03-04 Benjamin Kosnik <bkoz@redhat.com>
1015
1016 * testsuite/20_util/allocator/1.cc: Provide explicit
1017 instantiations for non-weak systems.
1018 * testsuite/20_util/binders.cc: Same.
1019 * testsuite/20_util/allocator/8230.cc: Same.
1020 * testsuite/20_util/allocator/10378.cc: Same.
1021 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
1022 * testsuite/22_locale/ctype/is/char/2.cc: Same.
1023 * testsuite/thread/pthread7-rope.cc: Same.
76e9802c
ZW
1024 * testsuite/thread/pthread6.cc: Same.
1025 * testsuite/thread/pthread5.cc: Same.
1026 * testsuite/thread/pthread4.cc: Same.
f90e600a
BK
1027 * testsuite/thread/pthread1.cc: Same.
1028 * testsuite/ext/rope.cc: Same.
1029 * testsuite/ext/hash_set.cc: Same.
76e9802c 1030 * testsuite/ext/hash_map.cc: Same.
f90e600a
BK
1031 * testsuite/ext/concept_checks.cc: Same.
1032 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
1033 * testsuite/25_algorithms/unique/2.cc: Same.
1034 * testsuite/25_algorithms/unique/1.cc: Same.
1035 * testsuite/25_algorithms/rotate.cc: Same.
1036 * testsuite/25_algorithms/min_max.cc: Same.
76e9802c 1037 * testsuite/25_algorithms/equal.cc: Same.
f90e600a
BK
1038 * testsuite/24_iterators/rel_ops.cc: Same.
1039 * testsuite/24_iterators/iterator.cc: Same.
1040 * testsuite/24_iterators/insert_iterator.cc: Same.
1041 * testsuite/24_iterators/front_insert_iterator.cc: Same.
1042 * testsuite/24_iterators/back_insert_iterator.cc: Same.
1043 * testsuite/23_containers/vector/resize/1.cc: Same.
1044 * testsuite/23_containers/vector/modifiers/2.cc: Same.
1045 * testsuite/23_containers/vector/modifiers/1.cc: Same.
1046 * testsuite/23_containers/vector/invalidation/4.cc: Same.
1047 * testsuite/23_containers/vector/invalidation/3.cc: Same.
76e9802c 1048 * testsuite/23_containers/vector/invalidation/2.cc: Same.
f90e600a
BK
1049 * testsuite/23_containers/vector/invalidation/1.cc: Same.
1050 * testsuite/23_containers/vector/element_access/1.cc: Same.
1051 * testsuite/23_containers/vector/cons/6513.cc: Same.
1052 * testsuite/23_containers/vector/cons/3.cc: Same.
1053 * testsuite/23_containers/vector/cons/2.cc: Same.
1054 * testsuite/23_containers/vector/cons/1.cc: Same.
1055 * testsuite/23_containers/vector/capacity/8230.cc: Same.
1056 * testsuite/23_containers/vector/capacity/1.cc: Same.
1057 * testsuite/23_containers/vector/bool/6886.cc: Same.
1058 * testsuite/23_containers/stack/members/7158.cc: Same.
1059 * testsuite/23_containers/set/invalidation/2.cc: Same.
1060 * testsuite/23_containers/set/invalidation/1.cc: Same.
1061 * testsuite/23_containers/queue/members/7157.cc: Same.
1062 * testsuite/23_containers/priority_queue/members/7161.cc: Same.
1063 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
76e9802c 1064 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
f90e600a
BK
1065 * testsuite/23_containers/multiset/insert/1.cc: Same.
1066 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1067 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1068 * testsuite/23_containers/map/operators/1.cc: Same.
1069 * testsuite/23_containers/map/invalidation/2.cc: Same.
1070 * testsuite/23_containers/map/invalidation/1.cc: Same.
1071 * testsuite/23_containers/map/insert/1.cc: Same.
1072 * testsuite/23_containers/list/operators/4.cc: Same.
1073 * testsuite/23_containers/list/operators/3.cc: Same.
1074 * testsuite/23_containers/list/operators/2.cc: Same.
1075 * testsuite/23_containers/list/operators/1.cc: Same.
1076 * testsuite/23_containers/list/modifiers/3.cc: Same.
1077 * testsuite/23_containers/list/modifiers/2.cc: Same.
1078 * testsuite/23_containers/list/modifiers/1.cc: Same.
1079 * testsuite/23_containers/list/invalidation/4.cc: Same.
1080 * testsuite/23_containers/list/invalidation/3.cc: Same.
1081 * testsuite/23_containers/list/invalidation/2.cc: Same.
76e9802c 1082 * testsuite/23_containers/list/invalidation/1.cc: Same.
f90e600a
BK
1083 * testsuite/23_containers/list/cons/9.cc: Same.
1084 * testsuite/23_containers/list/cons/8.cc: Same.
1085 * testsuite/23_containers/list/cons/7.cc: Same.
1086 * testsuite/23_containers/list/cons/6.cc: Same.
1087 * testsuite/23_containers/list/cons/5.cc: Same.
1088 * testsuite/23_containers/list/cons/4.cc: Same.
1089 * testsuite/23_containers/list/cons/3.cc: Same.
1090 * testsuite/23_containers/list/cons/2.cc: Same.
1091 * testsuite/23_containers/list/cons/1.cc: Same.
1092 * testsuite/23_containers/list/capacity/1.cc: Same.
1093 * testsuite/23_containers/deque/operators/1.cc: Same.
1094 * testsuite/23_containers/deque/invalidation/4.cc: Same.
1095 * testsuite/23_containers/deque/invalidation/3.cc: Same.
1096 * testsuite/23_containers/deque/invalidation/2.cc: Same.
1097 * testsuite/23_containers/deque/invalidation/1.cc: Same.
1098 * testsuite/23_containers/deque/cons/2.cc: Same.
1099 * testsuite/23_containers/deque/cons/1.cc: Same.
1100
1101 * src/allocator.cc: Add char, wchar_t instantiations
1102 to match extern template declarations in memory.h.
1103
ced3ad4d
PC
11042004-03-03 Paolo Carlini <pcarlini@suse.de>
1105
1106 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1107 Fix warning regression.
1108
039e3c5c
PC
11092004-03-03 Paolo Carlini <pcarlini@suse.de>
1110
1111 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1112 Deal properly with empty __digits and negative frac_digits,
1113 clean-up a bit.
1114
0d957d26
JW
11152004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
1116
1117 * docs/html/documentation.html: Regenerate.
1118
0b1d67d2
PC
11192004-03-02 Paolo Carlini <pcarlini@suse.de>
1120
1121 PR libstdc++/14320
1122 * include/bits/postypes.h (class streamoff): Remove, now
1123 streamoff is just typedef a 64 bit signed integer type.
1124 (class fpos): Tweak consistently.
1125 * testsuite/27_io/fpos/14320-1.cc: New.
1126 * testsuite/27_io/fpos/14320-2.cc: New.
1127 * testsuite/27_io/fpos/14320-3.cc: New.
1128 * testsuite/27_io/fpos/14320-4.cc: New.
1129 * testsuite/27_io/fpos/14320-5.cc: New.
1130 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
1131
59564c5e
PC
11322004-03-02 Paolo Carlini <pcarlini@suse.de>
1133
1134 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1135 Reorganize a bit the main parsing loop, thus early detecting
1136 an empty value component.
1137 * testsuite/22_locale/money_get/get/char/16.cc: New.
1138 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
1139
ec2075e9
BK
11402004-03-02 Benjamin Kosnik <bkoz@redhat.com>
1141
1142 Support automake 1.8.2
1143 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
1144 * po/Makefile.am (EXTRA_DIST): New.
1145 * po/Makefile.in: Regenerate.
1146 * Makefile.in: Same.
1147 * include/Makefile.in: Same.
1148 * libmath/Makefile.in: Same.
1149 * libsupc++/Makefile.in: Same.
1150 * src/Makefile.in: Same.
1151 * testsuite/Makefile.in: Same.
1152
1153 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
1154 __GXX_WEAK__ instead of SUPPORTS_WEAK.
1155 (${host_builddir}/gthr-default.h): Same.
1156 (${host_builddir}/gthr.h): Same.
1157 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
1158 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
1159 -fno-weak.
1160 * aclocal.m4: Regenerate.
1161 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
1162 * config.h.in: Regenerate.
1163 * configure: Same.
76e9802c 1164
f214923c
BK
11652004-03-01 Benjamin Kosnik <bkoz@redhat.com>
1166
ec2075e9 1167 Support autoconf 2.59
f214923c
BK
1168 * acinclude.m4: Quote correctly.
1169 * aclocal.m4: Regenerate.
1170 * linkage.m4: Same.
1171
67283362
BK
11722004-03-01 Benjamin Kosnik <bkoz@redhat.com>
1173
1174 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
1175
1176 * docs/html/18_support/howto.html: Add bit about writing to
1177 stderr, mostly by Zack.
76e9802c 1178
98e953f5
PC
11792004-03-01 Paolo Carlini <pcarlini@suse.de>
1180
1181 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1182 money_get<>::do_get(string_type&)): ... and two more.
1183
b19fb27d
PC
11842004-03-01 Paolo Carlini <pcarlini@suse.de>
1185
1186 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1187 Fix thinkos in the switch from string_type& to string& as last
1188 argument.
1189
08ff96c3
PC
11902004-03-01 Paolo Carlini <pcarlini@suse.de>
1191
1192 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1193 Also when parsing exponent sign, first look for thousands_sep
1194 and decimal_point; tweak a bit.
1195 * testsuite/22_locale/num_get/get/char/15.cc: New.
1196 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
76e9802c 1197
08ff96c3
PC
1198 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1199 num_get<>::_M_extract_int): Reorder some conditionals.
1200
12012004-03-01 Paolo Carlini <pcarlini@suse.de>
1202
1203 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1204 Consistently with numpunct, enforce the requirements in
1205 22.2.6.3, p3 for the thousands separators; tweak a bit.
1206 * testsuite/22_locale/money_get/get/char/15.cc: New.
1207 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
76e9802c 1208
1152b861
DB
12092004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
1210
76e9802c 1211 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
1152b861
DB
1212 testsuite_files from correct multilib blddir when running
1213 testsuite.
1214
8b425082
PE
12152004-02-29 Phil Edwards <phil@codesourcery.com>
1216
1217 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
1218 the summary file to the logfile.
1219 * testsuite/Makefile.in: Regenerate.
1220
3a1a4ed2
JDA
12212004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1222
1223 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
1224 volatile.
1225 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
1226 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
1227
0e1b98cc
PC
12282004-02-28 Paolo Carlini <pcarlini@suse.de>
1229
1230 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1231 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
1232 no 'decimal-point' in the middle: in this case too we must fix
1233 up __found_grouping; slightly tweak.
1234 * testsuite/22_locale/num_get/get/char/14.cc: New.
1235 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
1236
58adf39c 12372004-02-27 Eric Christopher <echristo@redhat.com>
76e9802c 1238 Phil Edwards <phil@codesourcery.com>
58adf39c
EC
1239
1240 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
1241 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
1242 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
1243 testsuite/22_locale/collate/hash/wchar_t/2.cc,
1244 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
1245 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
1246 testsuite/22_locale/collate/transform/wchar_t/2.cc,
1247 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
1248 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1249 Use dg-require-iconv.
1250 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
1251
23834577 12522004-02-27 Phil Edwards <phil@codesourcery.com>
76e9802c 1253 Eric Christopher <echristo@redhat.com>
23834577
PE
1254
1255 * testsuite/config/default.exp: Update with comments.
1256 (${tool}_target_compile): New wrapper routine.
1257 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
1258 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
1259 fixes.
1260 (load_gcc_lib, v3track): New routines.
1261 (v3-init): Rename to libstdc++_init.
1262 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
1263 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
1264
00d04db6
BK
12652004-02-27 Benjamin Kosnik <bkoz@redhat.com>
1266
1267 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
1268
1269 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
1270
1271 * config/os/irix/irix5.2/atomicity.h: Merge..
1272 * config/os/irix/irix6.5/atomicity.h: Merge..
1273 * config/os/irix/atomicity.h: ...into this.
1274 * config/os/irix/atomic_word.h: New.
1275 * configure.host: Set atomic_word_dir for irix.
1276
1277 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
1278 * i386/atomicity.h: Same.
1279 * m68k/atomicity.h: Same.
1280 * sparc/atomicity.h: Same.
1281
c284a126
DE
12822004-02-27 David Edelsohn <edelsohn@gnu.org>
1283
1284 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
00d04db6 1285 static, and inline keywords.
c284a126 1286
a8ea7389
PC
12872004-02-27 Paolo Carlini <pcarlini@suse.de>
1288
1289 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1290 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
1291 call reserve on the __tmp_gruping string.
1292 (num_get<>::_M_extract_float): Don't append unnecessarily a
1293 char() to the returned string.
1294 * include/bits/locale_facets.tcc: Trivial reformattings.
1295
f4bdbead
PC
12962004-02-27 Paolo Carlini <pcarlini@suse.de>
1297
1298 * include/bits/locale_facets.h (money_get<>::_M_extract):
1299 Change signature: now takes a plain string&.
1300 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1301 Update consistently the definition; use the moneypunct cache
1302 to parse the value; use swap to change __units.
1303 (money_get<>::do_get(long double&)): Update call of _M_extract,
1304 avoid ctype::narrow, not correct wrt the standard.
1305 (money_get<>::do_get(string_type&)): Likewise, update call
1306 of _M_extract, use ctype::widen.
1307 * src/locale-inst.cc: Tweak instantiations of _M_extract.
1308
40fcf31b
BK
13092004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
1310
1311 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
1312 * testsuite/demangle/abi_examples/02.cc: Likewise.
1313 * testsuite/demangle/regression/cw-11.cc: Likewise.
1314 * testsuite/demangle/regression/cw-16.cc: Change two expected
1315 results to match libiberty demangler output.
1316
13172004-02-26 Benjamin Kosnik <bkoz@redhat.com>
1318
1319 PR libstdc++/10246
76e9802c
ZW
1320 * libsupc++/Makefile.am: Use libiberty demangler.
1321 (c_sources): Add cp-demangle.c.
1322 * libsupc++/Makefile.in: Regenerate.
1323 * src/Makefile.am (sources): Remove demangle.cc.
1324 * src/Makefile.in: Regenerate.
1325 * include/Makefile.am (bits_headers): Move demangle.h.
40fcf31b 1326 (ext_headers): ...here.
76e9802c
ZW
1327 * include/Makefile.in: Regenerate.
1328 * include/bits/demangle.h: Move...
40fcf31b 1329 * include/ext/demangle.h: ...here.
76e9802c 1330 * src/demangle.cc: Remove.
40fcf31b
BK
1331
13322004-02-26 Benjamin Kosnik <bkoz@redhat.com>
76e9802c
ZW
1333
1334 * include/bits/demangle.h: Add type template parameter to all
1335 templates with just an Allocator template parameter.
1336
2c5d0ae8
BK
13372004-02-25 Benjamin Kosnik <bkoz@redhat.com>
1338
1339 * include/bits/atomicity.h: New, forward declarations for __atomic_add
1340 and __exchange_and_add.
1341 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
1342 * config/cpu/cris/atomic_word.h: Same.
1343 * config/cpu/sparc/atomic_word.h: Same.
1344 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
1345 Qualifiy with __gnu_cxx.
1346 (_Callback_list::_M_add_reference): Same.
1347 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
1348 (locale::facet::_M_remove_reference): Same.
1349 (locale::_Impl::_M_add_reference): Add.
1350 (locale::_Impl::_M_remove_reference): Same.
1351 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
1352 (basic_string::_Rep::_M_dispose): Same.
1353 * src/ios.cc (ios_base::xalloc): Same.
1354 * src/ios_init.cc (ios_base::Init::Init): Same.
1355 (ios_base::Init::~Init): Same.
1356 * src/locale.cc (locale::id::_M_id): Same.
1357 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
00d04db6 1358 static, and inline keywords.
2c5d0ae8
BK
1359 * config/cpu/alpha/atomicity.h: Same.
1360 * config/cpu/cris/atomicity.h: Same.
1361 * config/cpu/generic/atomicity.h: Same.
1362 * config/cpu/hppa/atomicity.h: Same.
1363 * config/cpu/i386/atomicity.h: Same.
1364 * config/cpu/ia64/atomicity.h: Same.
1365 * config/cpu/m68k/atomicity.h: Same.
1366 * config/cpu/mips/atomicity.h: Same.
1367 * config/cpu/powerpc/atomicity.h: Same.
1368 * config/cpu/s390/atomicity.h: Same.
1369 * config/cpu/sparc/atomicity.h: Same.
76e9802c 1370
2c5d0ae8
BK
1371 * src/Makefile.am (host_sources): Add atomicity.cc.
1372 (atomicity.cc): New rule.
1373 * src/Makefile.in: Regenerate.
1374 * include/Makefile.am (host_headers): Remove host atomicity.h.
1375 (host_headers): Add atomic_word.h.
1376 (bits_headers): Add bits atomicity.h.
1377 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
1378 * include/Makefile.in: Regenerate.
1379 * configure.host (atomic_word_dir): Add.
1380 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
1381 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
1382 * configure: Regenerate.
1383 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
1384
1385 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
76e9802c
ZW
1386 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
1387
cec0e70b
JW
13882004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
1389
1390 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
1391 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
1392 Fix markup, more <link> tags.
1393
bb9f8a85
CW
13942004-02-25 Carlo Wood <carlo@alinoe.com>
1395
1396 * bits/demangle.h
1397 namespace __gnu_cxx::demangler
1398 (session<Allocator>::qualifier_list_Allocator): Add
1399 (session<Allocator>::M_qualifier_list_alloc): Add
1400 (session<Allocator>::decode_type_with_postfix):
1401 Use M_qualifier_list_alloc instead of calling operator new/delete.
1402
b79cef06
PC
14032004-02-24 Paolo Carlini <pcarlini@suse.de>
1404
1405 PR libstdc++/14252
1406 * include/bits/postypes.h (class streamoff): Add operator++(),
1407 operator++(int), operator--() and operator--(int).
1408 * testsuite/27_io/fpos/14252.cc: New.
1409
212063a8
RS
14102004-02-24 Richard Sandiford <rsandifo@redhat.com>
1411
1412 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
1413 error in handling of hex constants.
1414
031e658e
PC
14152004-02-24 Paolo Carlini <pcarlini@suse.de>
1416
1417 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1418 Prefer basic_string::append to operator+= and a temporary.
1419
6f94dea7
BK
14202004-02-23 Benjamin Kosnik <bkoz@redhat.com>
1421
1422 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
1423 Only use fputs, not write.
76e9802c 1424
20d0a40e 14252004-02-23 Benjamin Kosnik <bkoz@redhat.com>
f263b26e
BK
1426
1427 * include/ext/malloc_allocator.h: Add operators ==, !=.
1428 * include/ext/new_allocator.h: Add operators ==, !=.
1429 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
1430 (__mt_alloc::_S_get_options): New.
76e9802c 1431 (__mt_alloc::_S_set_options): New.
f263b26e
BK
1432 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
1433 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
1434 Move functions out of line, simplify, format.
1435 * src/allocator.cc: Simplify explicit instantiations.
1436 * include/bits/allocator.h: Tweak.
76e9802c 1437
20da06ef
PC
14382004-02-22 Paolo Carlini <pcarlini@suse.de>
1439
1440 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1441 Restructure formatting of value component, first dealing with
1442 the non-decimal digits; use reserve.
1443
14442004-02-22 Paolo Carlini <pcarlini@suse.de>
1445
1446 * include/bits/locale_facets.h (class money_get): Inherit
1447 from money_base too; tweak declaration of _M_extract, now
1448 parameterized on _Intl too.
1449 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1450 Update definition to use the cache; call reserve on __res to
1451 avoid multiple reallocations; fix parsing of sign component
1452 according to 22.2.6.1.2, p3.
1453 (money_get<>::do_get(long double&),
76e9802c 1454 money_get<>::do_get(string_type&)): Update calls of _M_extract.
20da06ef
PC
1455 * src/locale-inst.cc: Add instantiations of
1456 money_get::_M_extract<false> and money_get::_M_extract<true>.
1457 * testsuite/22_locale/money_get/get/char/14.cc: New.
1458 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
76e9802c 1459
afc3bb58
MM
14602004-02-21 Mark Mitchell <mark@codesourcery.com>
1461
1462 * libsupc++/vterminate.cc
1463 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
1464 calls to terminate.
1465 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
1466
1467 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1468 not set RLIMIT_AS on HP-UX.
1469
e1efc7a0
MM
14702004-02-21 Mark Mitchell <mark@codesourcery.com>
1471
1472 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1473 not set RLIMIT_AS on HP-UX.
1474
fe932e50
PC
14752004-02-21 Paolo Carlini <pcarlini@suse.de>
1476
1477 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
1478 _S_zero, _S_end } enum, _S_atoms.
1479 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
1480 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
1481 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
1482 (__moneypunct_cache<>::~__moneypunct_cache): Update.
1483 (__moneypunct_cache<>::_M_cache): Fill the cache.
1484 (class moneypunct): Tweak __cache_type typedef.
1485 (class money_put): Inherit from money_base too; tweak declaration
1486 of _M_insert, now parameterized on _Intl.
1487 * include/bits/locale_facets.tcc
1488 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
1489 (money_put<>::_M_insert): Update definition to use the cache;
1490 call reserve on __res to avoid multiple reallocations.
1491 (money_put<>::do_put(long double),
1492 money_put<>::do_put(const string_type&): Update calls of _M_insert.
1493 * config/locale/generic/monetary_members.cc
1494 (moneypunct<char, true>::_M_initialize_moneypunct,
1495 moneypunct<char, false>::_M_initialize_moneypunct,
1496 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
1497 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
1498 * config/locale/gnu/monetary_members.cc: Likewise.
1499 * config/locale/gnu/monetary_members.cc
1500 (moneypunct<wchar_t, true>::~moneypunct(),
1501 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
1502 * src/globals_locale.cc: Tweak fake_money_cache_c.
1503 * src/locale-inst.cc: Add instantiations for
1504 money_put::_M_insert<false> and money_put::_M_insert<true> and
1505 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
1506 * src/locale_facets.cc: Define money_base::_S_atoms.
1507 * src/locale_init.cc: Update placement new of
1508 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
1509 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
1510
1511 * config/locale/generic/numeric_members.cc: Clean up.
1512 * config/locale/gnu/numeric_members.cc: Likewise.
1513 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
1514 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
1515 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
1516 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
1517 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
1518 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
1519
f196bdc4
MM
15202004-02-20 Mark Mitchell <mark@codesourcery.com>
1521
1522 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
1523 FIFO for writing with ios_base::in|ios_base::out.
1524 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1525 * testsuite/27_io/objects/char/7.cc: Likewise.
1526 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
1527 with "r+".
1528
2df93cf3
DE
15292004-02-19 David Edelsohn <edelsohn@gnu.org>
1530
1531 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
1532 from iso-8859-1 to ISO8859-1.
1533 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
1534 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
1535 * 22_locale/collate/hash/wchar_t/2.cc: Same.
1536 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
1537 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
1538 * 22_locale/collate/transform/wchar_t/2.cc: Same.
1539 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
1540 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
1541
2ddf25f2
PC
15422004-02-18 Paolo Carlini <pcarlini@suse.de>
1543
1544 * include/bits/locale_facets.h (money_get<>::_M_extract):
1545 New, helper for do_get.
1546 (money_put<>::_M_insert): Likewise, for do_put.
1547 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1548 money_put<>::_M_insert): Define.
1549 (money_get<>::do_get(long double&), money_get<>::do_get(
1550 string_type&), money_put::do_put(long double),
1551 money_put::do_put(const string_type&)): Use the helpers.
1552
94b8de97
PC
15532004-02-18 Paolo Carlini <pcarlini@suse.de>
1554
1555 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1556 Rewrite, avoiding recursion.
1557 (__gnu_internal::xwrite): Minor tweaks.
1558
4d0bdcd6
SO
15592004-02-17 Stefan Olsson <stefan@xapa.se>
1560
1561 * include/ext/mt_allocator.h: Removed the last
1562 pointer. Deallocated blocks are now added to the front of
1563 freelists as proposed by Felix Yen. This gives roughly 10%
1564 performance boost and saves some memory.
1565 * docs/html/ext/mt_allocator.html: Change due to that deallocated
1566 blocks now are added to the front of freelists. The reason to this
1567 approach is also explained.
bb9f8a85 1568
6d4925e3
PC
15692004-02-17 Paolo Carlini <pcarlini@suse.de>
1570
1571 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1572 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
1573 grouping fidelity conditional.
1574
3e9b6cf4
PC
15752004-02-16 Paolo Carlini <pcarlini@suse.de>
1576
1577 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
1578 Qualify exception with std::.
1579 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
1580 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1581 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1582 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1583 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1584
835abbf7
PC
15852004-02-16 Paolo Carlini <pcarlini@suse.de>
1586
1587 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
1588 for now that the catch block is not reached.
1589 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
1590
b7e64db2
PC
15912004-02-16 Paolo Carlini <pcarlini@suse.de>
1592
1593 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1594 Fix parsing of the remaining sign characters.
1595 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
1596 the input is scanned 'til eof.
1597 * 22_locale/money_get/get/char/4.cc: Likewise.
1598 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
1599 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
1600 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
1601 not do_pos_format: the former is the only one that matters during
1602 input.
1603 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
1604
1605 * 22_locale/money_get/get/char/6.cc: Minor tweak.
1606 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
1607
230377dc
DA
16082004-02-15 David Asher <david.asher@cavium.com>
1609
1610 PR libstdc++/11352
1611 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
1612 access __olds beyond __oldlen.
1613
45cbe93c
PC
16142004-02-14 Paolo Carlini <pcarlini@suse.de>
1615
1616 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
1617 sure the exception is actually thrown.
1618 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1619 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1620 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1621
ac3cadf0
PC
16222004-02-14 Paolo Carlini <pcarlini@suse.de>
1623
1624 PR libstdc++/13858
1625 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
1626 In case of conversion errors, throw ios_failure; simplify.
1627 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
1628 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1629 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
1630 previously we didn't throw in case of conversion errors, instead
1631 just returned eof().
1632 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1633 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1634 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1635
1636 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
1637 Trivial simplification of a conditional.
1638
2e9a1f6b
PC
16392004-02-12 Paolo Carlini <pcarlini@suse.de>
1640
1641 PR libstdc++/13731 (final part: writev)
20da06ef 1642 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2e9a1f6b
PC
1643 New, a wrapper around writev() handling partial writes.
1644 (__basic_file<char>::xwrite): Move to __gnu_internal and make
1645 static.
1646 (__basic_file<char>::xsputn): Update call.
76e9802c 1647 (__basic_file<char>::xsputn_2): Likewise.
20da06ef 1648 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2e9a1f6b
PC
1649 Don't declare, now static.
1650
1c86f39d
BK
16512004-02-11 Stefan Olsson <stefan@xapa.se>
1652
1653 * docs/html/ext/mt_allocator.html: New.
1654
16552004-02-11 Benjamin Kosnik <bkoz@redhat.com>
1656
1657 * docs/html/20_util/allocator.html: New file, consolidate
1658 allocator information here. Revamp.
1659 * docs/html/documentation.html: Change links.
1660 * docs/html/20_util/howto.html: Same.
1661 * docs/html/ext/howto.html: Same.
1662
98e96784
PC
16632004-02-11 Paolo Carlini <pcarlini@suse.de>
1664
1665 PR libstdc++/13731 (first part: write)
1666 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1667 New, declare.
1668 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
1669 Define it: a wrapper around write() handling partial write.
1670 (__basic_file<char>::xsputn): Use it.
1671 (__basic_file<char>::xsputn_2): Likewise.
1672
a2af66c1
PC
16732004-02-11 Paolo Carlini <pcarlini@suse.de>
1674 Petur Runolfsson <peturr02@ru.is>
1675
1676 PR libstdc++/14078
1677 * include/std/std_istream.h (operator>>(__istream_type& (*)
1678 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
1679 operator>>(ios_base& (*)(ios_base&))): Declare inline.
1680 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
1681 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
1682 operator<<(ios_base& (*) (ios_base&))): Likewise.
1683 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
1684
64bd39cc
LR
16852004-02-10 Loren J. Rittle <ljrittle@acm.org>
1686
1687 PR libstdc++/14098
1688 * config/linker-map.gnu: Add typeinfo and typeinfo name for
1689 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
1690
d318a8ba
LR
1691 PR libstdc++/14097
1692 * config/linker-map.gnu: Add typeinfo and typeinfo name for
1693 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
1694
a39c16dd
LR
16952004-02-09 Loren J. Rittle <ljrittle@acm.org>
1696
1697 * include/ext/pool_allocator.h: Include c++config.h.
1698
1ef00312
SO
16992004-02-09 Stefan Olsson <stefan@xapa.se>
1700
1701 * include/ext/mt_allocator.h: thread_id is unused in non threaded
1702 applications and now has a ifdef to remove it completely on
1703 compilers without thread support. Include stdlib.h due to a
1704 compiler warning on getenv().
1705
1b81e1b5
PB
17062004-02-09 Paul Brook <paul@codesourcery.com>
1707
1708 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
1709
cf0d2c40
PC
17102004-02-09 Paolo Carlini <pcarlini@suse.de>
1711
1712 PR libstdc++/14071
1713 * src/locale_init.cc (locale::global(const locale&)): Use
1714 locale::name() in order to decide whether calling setlocale.
1715 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
1716
1717 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
1718 Avoid computing &= unnecessarily.
1719
664fc5df
JW
17202004-02-09 James E Wilson <wilson@specifixinc.com>
1721
1722 PR libstdc++/5625
1723 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
1724 __builtin_extend_pointer.
1725
86fd2b51
PC
17262004-02-09 Paolo Carlini <pcarlini@suse.de>
1727
1728 PR libstdc++/14072
1729 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
1730 Don't leave dangling pointers.
1731 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
1732 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
1733 facet is needed in the final test.
1734
f19e9e4d
BI
17352004-02-09 Bernardo Innocenti <bernie@develer.com>
1736
1737 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
1738 * configure: Regenerate.
1739
c3862806
RH
17402004-02-08 Richard Henderson <rth@redhat.com>
1741
1742 PR libstdc++/14026
76e9802c 1743 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
c3862806
RH
1744 uncaughtExceptions during nested catch rethrow.
1745 * testsuite/18_support/14026.cc: New.
1746
fd95f498
PC
17472004-02-08 Paolo Carlini <pcarlini@suse.de>
1748
1749 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
1750 When working in place remember to set the state to sharable
1751 (otherwise, _M_mutate does it).
1752
ed6814f7
BI
17532004-02-08 Bernardo Innocenti <bernie@develer.com>
1754
1755 * include/bits/allocator.h, include/bits/basic_ios.h,
1756 include/bits/basic_ios.tcc, include/bits/basic_string.h,
1757 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
1758 include/bits/char_traits.h, include/bits/codecvt.h,
1759 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
1760 include/bits/demangle.h, include/bits/deque.tcc,
1761 include/bits/fstream.tcc, include/bits/functexcept.h,
1762 include/bits/gslice.h, include/bits/gslice_array.h,
1763 include/bits/indirect_array.h, include/bits/ios_base.h,
1764 include/bits/istream.tcc, include/bits/list.tcc,
1765 include/bits/locale_classes.h, include/bits/locale_facets.h,
1766 include/bits/locale_facets.tcc, include/bits/localefwd.h,
1767 include/bits/mask_array.h, include/bits/ostream.tcc,
1768 include/bits/postypes.h, include/bits/slice_array.h,
1769 include/bits/sstream.tcc, include/bits/stl_algo.h,
1770 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
1771 include/bits/stl_construct.h, include/bits/stl_deque.h,
1772 include/bits/stl_function.h, include/bits/stl_heap.h,
1773 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
1774 include/bits/stl_list.h, include/bits/stl_map.h,
1775 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
1776 include/bits/stl_numeric.h, include/bits/stl_pair.h,
1777 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
1778 include/bits/stl_relops.h, include/bits/stl_set.h,
1779 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
1780 include/bits/stl_threads.h, include/bits/stl_tree.h,
1781 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
1782 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
1783 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
1784 include/bits/type_traits.h, include/bits/valarray_after.h,
1785 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
1786 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
1787 trailing whitespace.
1788
eee54836
PC
17892004-02-06 Paolo Carlini <pcarlini@suse.de>
1790
1791 * include/bits/basic_string.h: Fix comment.
1792
15d72060
PC
17932004-02-06 Paolo Carlini <pcarlini@suse.de>
1794
1795 * include/bits/stl_construct.h: Wrap overlong lines, reformat
1796 according to the coding standards.
1797 * include/bits/stl_pair.h: Likewise.
1798 * include/bits/stl_raw_storage_iter.h: Likewise.
1799 * include/bits/stl_stack.h: Likewise.
1800 * include/bits/stl_uninitialized.h: Likewise.
1801 * include/bits/stream_iterator.h: Likewise.
1802 * include/bits/streambuf_iterator.h: Likewise.
1803 * include/bits/type_traits.h: Likewise.
1804
c5dd98f3
PC
18052004-02-06 Paolo Carlini <pcarlini@suse.de>
1806
1807 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1808 Adjust timings.
1809
462f4a81
LR
18102004-02-05 Loren J. Rittle <ljrittle@acm.org>
1811
1812 * scripts/check_performance: Support PCH.
1813
fbdf188d
LR
1814 * scripts/check_performance (CXX): Add -DNOTHREAD.
1815 * testsuite/performance/20_util/allocator/insert.cc: Integrate
1816 threaded tests from insert_insert.cc. Tweak iterations,
1817 remove special cases.
1818 * testsuite/performance/20_util/allocator/insert_insert.cc:
1819 Make all tests single-threaded. Tweak iterations.
1820 * testsuite/performance/20_util/allocator/map_thread.cc:
1821 Tweak iterations.
1822 * testsuite/performance/20_util/allocator/producer_consumer.cc:
1823 Likewise.
1824
0314451d
GK
18252004-02-05 Geoffrey Keating <geoffk@apple.com>
1826
1827 PR 12179
1828 * .cvsignore: New.
1829 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
1830 'gcc-lib'. Add comment about poorly-named variables.
1831 * aclocal.m4: Regenerate.
1832 * configure: Regenerate.
1833
d9010fca
PC
18342004-02-05 Paolo Carlini <pcarlini@suse.de>
1835
1836 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1837 Thousands-sep are always optional; thousands-sep are not allowed
1838 after the decimal_point.
1839 * testsuite/22_locale/money_get/get/char/12.cc: New.
1840 * testsuite/22_locale/money_get/get/char/13.cc: New.
1841 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
1842 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
1843
1844 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
1845 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1846 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1847 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1848 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1849 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1850 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1851 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1852
1853 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
1854 the standard.
1855 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
1856
d232925f
RS
18572004-02-05 Richard Sandiford <rsandifo@redhat.com>
1858
1859 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
1860 Define.
1861 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
1862 it to decide whether FIONREAD should take an off_t or int argument.
1863
92ff3e43
PC
18642004-02-05 Paolo Carlini <pcarlini@suse.de>
1865
1866 * include/bits/stl_function.h: Minor formatting changes.
1867
9fe7e2b7
ZW
18682004-02-04 Zack Weinberg <zack@codesourcery.com>
1869
1870 Revert previous change to config/abi/*/baseline_symbols.txt.
1871
6a734d61
BK
18722004-02-04 Benjamin Kosnik <bkoz@redhat.com>
1873 Zack Weinberg <zack@codesourcery.com>
1874
1875 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
1876 New function.
1877 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
1878 (__basic_file<char>::_M_open_mode): Delete.
1879 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
1880
1881 * testsuite/27_io/basic_filebuf/close/char/9964.cc
1882 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1883 Correct flags to filebuf::open calls.
1884
1885 * config/abi/alpha-freebsd5/baseline_symbols.txt
1886 * config/abi/alpha-linux-gnu/baseline_symbols.txt
1887 * config/abi/hppa-linux-gnu/baseline_symbols.txt
1888 * config/abi/i386-freebsd4/baseline_symbols.txt
1889 * config/abi/i386-freebsd5/baseline_symbols.txt
1890 * config/abi/i486-linux-gnu/baseline_symbols.txt
1891 * config/abi/ia64-linux-gnu/baseline_symbols.txt
1892 * config/abi/mips-linux-gnu/baseline_symbols.txt
1893 * config/abi/sparc-freebsd5/baseline_symbols.txt
1894 * config/abi/sparc-linux-gnu/baseline_symbols.txt
1895 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
1896 Remove entry for __basic_file<char>::_M_open_mode.
1897
f63fd68b
LR
18982004-02-04 Loren J. Rittle <ljrittle@acm.org>
1899
1900 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
1901
de8a2f87
BK
19022004-02-04 Felix Yen <fwy@alumni.brown.edu>
1903
1904 * testsuite/performance/20_util/producer_consumer.cc: New.
1905 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
6a734d61 1906
de8a2f87 19072004-02-04 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 1908
de8a2f87 1909 * testsuite/performance/20_util/allocator.cc: Move to..
6a734d61 1910 * testsuite/performance/20_util/allocator/insert.cc: ...here.
de8a2f87
BK
1911 * testsuite/performance/20_util/allocator_thread.cc: Move to...
1912 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
1913 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
1914 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
6a734d61 1915
772fec9a
JW
19162004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
1917
1918 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
1919 * docs/html/faq/index.txt: Regenerate.
1920
56766e0d
DM
19212004-02-04 Dhruv Matani <dhruvbird@gmx.net>
1922
1923 * include/ext/debug_allocator.h: _M_extra now stands for the
1924 number of extra objects instead of the number of extra bytes.
1925 (debug_allocator::allocate): Adjust.
1926 (debug_allocator::deallocate): Adjust.
1927
1928 * include/ext/pool_allocator.h: Fix typo.
1929
22269632
FY
19302004-02-03 Felix Yen <fwy@alumni.brown.edu>
1931 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 1932
22269632
FY
1933 * testsuite/performance/20_util/allocator.cc: Add map,
1934 deque, set tests.
1935 * testsuite/performance/20_util/allocator_thread.cc: Same.
6a734d61 1936
129e9210
PC
19372004-02-03 Paolo Carlini <pcarlini@suse.de>
1938
1939 * include/bits/basic_string.h (insert(iterator)): Remove,
1940 non-standard and already scheduled for removal.
1941
83042fca
PC
19422004-02-03 Paolo Carlini <pcarlini@suse.de>
1943
1944 * include/bits/stl_iterator_base_funcs.h: Minor formatting
1945 and indentation tweaks.
1946 * include/bits/stl_iterator_base_types.h: Likewise.
1947 * include/bits/stl_list.h: Likewise.
1948 * include/bits/stl_map.h: Likewise.
1949 * include/bits/stl_tempbuf.h: Likewise.
1950
06a81b60
JQ
19512004-02-02 Jerry Quinn <jlquinn@optonline.net>
1952
1953 * include/bits/gslice.h, include/bits/gslice_array.h,
1954 include/bits/indirect_array.h, include/bits/mask_array.h,
1955 include/bits/slice_array.h, include/bits/stl_numeric.h,
1956 include/std/std_valarray.h: Update copyright years.
1957
7fb397a4
JQ
19582004-02-02 Jerry Quinn <jlquinn@optonline.net>
1959
1960 * include/bits/gslice.h (gslice): Document.
1961 * include/bits/gslice_array.h (gslice_array): Document.
1962 * include/bits/indirect_array (indirect_array): Document.
1963 * include/bits/mask_array (mask_array): Document.
1964 * include/bits/slice_array.h (slice,slice_array): Document.
1965 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
1966 adjacent_difference): Document
1967 * include/std/std_valarray.h (valarray): Document.
1968
7f7fb4ef
BK
19692004-02-02 Benjamin Kosnik <bkoz@redhat.com>
1970
6a734d61
BK
1971 * docs/html/19_diagnostics/howto.html: Move verbose terminate
1972 documentation...
1973 * docs/html/18_support/howto.html: Here.
1974 * docs/html/documentation.html: Add reference here.
1975
9924f721
PC
19762004-02-02 Paolo Carlini <pcarlini@suse.de>
1977
1978 * config/locale/gnu/c++locale_internal.h: Remove prototypes
1979 of no longer used GLIBC thread locale functions.
1980
2ba43229 19812004-02-02 Eric Christopher <echristo@redhat.com>
6a734d61 1982 Zack Weinberg <zack@codesourcery.com>
16dd5cfe
EC
1983
1984 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
6a734d61
BK
1985 -finput-charset.
1986 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
1987 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
16dd5cfe 1988 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
6a734d61
BK
1989 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
1990 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
1991 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
1992 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
1993 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
16dd5cfe
EC
1994 Ditto.
1995
7c920151
PC
19962004-02-02 Paolo Carlini <pcarlini@suse.de>
1997
1998 * include/bits/stl_function.h: Additional minor tweaks.
1999 * include/bits/stl_multiset.h: Likewise.
2000
2001 * include/bits/stl_queue.h: Minor tweaks.
2002
dcec0389
PC
20032004-02-02 Paolo Carlini <pcarlini@suse.de>
2004
2005 PR libstdc++/13976 (continued)
2006 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
2007 Make the second parameter unnamed, to void unused parameter
2008 warnings.
2009 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
2010
90f8b692
PC
20112004-02-02 Paolo Carlini <pcarlini@suse.de>
2012
2013 PR libstdc++/13976
2014 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
2015 Make the second parameter unnamed, to void unused parameter
2016 warnings.
2017 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
2018 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
2019
737ab798
PC
20202004-02-01 Paolo Carlini <pcarlini@suse.de>
2021
2022 * include/bits/stl_algo.h: Additional minor tweaks.
2023 * include/bits/stl_map.h: Likewise.
2024 * include/bits/stl_multimap.h: Likewise.
2025 * include/bits/stl_multiset.h: Likewise.
2026 * include/bits/stl_set.h: Likewise.
2027 * include/bits/stl_tree.h: Likewise.
2028
64ebadac
PC
20292004-02-01 Paolo Carlini <pcarlini@suse.de>
2030
2031 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
2032 Remove, unused.
2033
afd4cbbb
PC
20342004-02-01 Paolo Carlini <pcarlini@suse.de>
2035
2036 * include/bits/stl_function.h: Additional minor tweaks.
2037
f6592a9e
PC
20382004-02-01 Paolo Carlini <pcarlini@suse.de>
2039
2040 * include/bits/deque.tcc: Wrap overlong lines, constify
2041 a few variables, reformat according to the coding standards.
2042 * include/bits/list.tcc: Likewise.
2043 * include/bits/stl_deque.h: Likewise.
2044 * include/bits/stl_function.h: Likewise.
2045 * include/bits/stl_iterator.h: Likewise.
2046 * include/bits/stl_iterator_base_funcs.h: Likewise.
2047 * include/bits/stl_iterator_base_types.h: Likewise.
2048 * include/bits/stl_list.h: Likewise.
2049 * include/bits/stl_map.h: Likewise.
2050 * include/bits/stl_multimap.h: Likewise.
2051 * include/bits/stl_multiset.h: Likewise.
2052 * include/bits/stl_relops.h: Likewise.
2053 * include/bits/stl_set.h: Likewise.
2054
62e67651
PC
20552004-02-01 Paolo Carlini <pcarlini@suse.de>
2056
2057 * include/bits/stl_bvector.h: Wrap overlong lines, constify
2058 a few variables, reformat according to the coding standards.
2059 * include/bits/stl_tree.h: Likewise.
2060
8f7ca398
PC
20612004-01-31 Paolo Carlini <pcarlini@suse.de>
2062
2063 * include/bits/stl_algo.h: Minor additional reformat, add
2064 copyright year.
2065 * include/bits/stl_algobase.h: Add copyright year.
2066
ffa67767
PC
20672004-01-31 Paolo Carlini <pcarlini@suse.de>
2068
2069 * include/bits/stl_algo.h: Wrap overlong lines, constify
2070 a few variables, reformat according to the coding standards.
2071 * include/bits/stl_algobase.h: Likewise.
2072 * include/bits/stl_heap.h: Likewise.
2073
8de63ee0
PC
20742004-01-31 Paolo Carlini <pcarlini@suse.de>
2075
2076 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
2077
2078 * include/bits/basic_string.h: Fix two comments.
2079
af3fb3d6
PB
20802004-01-31 Per Bothner <per@bothner.com>
2081
2082 * include/ext/mt_allocator.h
2083 (__mt_alloc::_S_thread_freelist_mutex): Guard with
2084 __GTHREAD_MUTEX_INIT.
2085
24f33069
PC
20862004-01-31 Paolo Carlini <pcarlini@suse.de>
2087
2088 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
2089
7c960b3d
PC
20902004-01-30 Paolo Carlini <pcarlini@suse.de>
2091
2092 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
2093 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
2094 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
16dd5cfe 2095
7b1d1edf
FY
20962004-01-30 Felix Yen <fwy@alumni.brown.edu>
2097
2098 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
2099 Don't use clear, but instead assign. Use insert.
2100
c9732ce7
BK
21012004-01-30 Benjamin Kosnik <bkoz@redhat.com>
2102
2103 * src/demangle.cc: Add instantiations.
2104 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
2105 * src/Makefile.in: Regenerate.
16dd5cfe 2106
25d24447
DE
21072004-01-30 David Edelsohn <edelsohn@gnu.org>
2108
2109 * src/allocator.cc: Protect _S_get_thread_id() and
2110 _S_thread_key_destr() with #ifdef __GTHREADS.
2111
33e95e9d
PC
21122004-01-30 Paolo Carlini <pcarlini@suse.de>
2113
2114 Reshuffle performance testsuite.
2115 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
2116 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
2117 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
2118 fstream_seek_write.cc, ifstream_extract_float.cc,
2119 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
2120 list_create_fill_sort.cc, map_create_fill.cc,
2121 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
2122 ofstream_insert_float.cc, ofstream_insert_int.cc,
2123 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
2124 wchar_t_out.cc: Split into...
2125 * testsuite/performance/20_util/allocator.cc: New.
2126 * testsuite/performance/20_util/allocator_map_thread.cc: New.
2127 * testsuite/performance/20_util/allocator_thread.cc: New.
2128 * testsuite/performance/21_strings/string_append: New.
2129 * testsuite/performance/22_locale/is_wchar_t.cc: New.
2130 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
2131 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
2132 * testsuite/performance/22_locale/wchar_t_in.cc: New.
2133 * testsuite/performance/22_locale/wchar_t_length.cc: New.
2134 * testsuite/performance/22_locale/wchar_t_out.cc: New.
2135 * testsuite/performance/23_containers/container_benchmark.cc: New.
2136 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
2137 * testsuite/performance/23_containers/map_create_fill.cc: New.
2138 * testsuite/performance/26_numerics/complex_norm.cc: New.
2139 * testsuite/performance/27_io/cout_insert_int.cc: New.
2140 * testsuite/performance/27_io/filebuf_copy.cc: New.
2141 * testsuite/performance/27_io/filebuf_sputc.cc: New.
2142 * testsuite/performance/27_io/fstream_seek_write.cc: New.
2143 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
2144 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
2145 * testsuite/performance/27_io/ifstream_getline.cc: New.
2146 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
2147 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
2148
d1615643
PC
21492004-01-30 Paolo Carlini <pcarlini@suse.de>
2150
2151 * include/bits/basic_string.tcc (_Rep::_S_create):
2152 Never allocate a string bigger than max_size(); always keep
2153 __capacity and __size in sync to avoid memory leaks at
2154 deallocation time.
2155
690495b0
PC
21562004-01-30 Paolo Carlini <pcarlini@suse.de>
2157
2158 * include/bits/basic_string.tcc (_S_construct(_InIterator,
2159 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
2160 the double loop, streamline.
2161
2162 * include/bits/basic_string.tcc: Very minor tweaks.
2163
f64f4406
LR
21642004-01-30 Loren J. Rittle <ljrittle@acm.org>
2165
2166 * scripts/check_performance: Only compile with $THREAD_FLAG
2167 when test is marked to require it. Allow multiple
2168 compilations/executions of marked tests.
2169 * testsuite/testsuite_performance.h (report_performance):
2170 Report dynamic thread support status.
2171 (report_header): Likewise.
2172 * testsuite/performance/allocator.cc: Stabilize iteration
2173 count. Support more allocators. Mark each allocator test to
2174 run and report independently.
2175 * testsuite/performance/allocator_map_thread.cc: Likewise.
2176 * testsuite/performance/allocator_thread.cc: Likewise.
2177
917a9fd4
SW
21782004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
2179
2180 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
bb9f8a85
CW
2181 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
2182 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
917a9fd4
SW
2183 std::get_temporary_buffer() instead of duplicating its code.
2184 Update to C++STYLE conventions.
bb9f8a85 2185 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
917a9fd4
SW
2186 new() instead of std::malloc().
2187 (return_temporary_buffer): Use ::operator delete() instead of
2188 std::free().
2189
6efc84f4
BK
21902004-01-29 Benjamin Kosnik <bkoz@redhat.com>
2191
2192 * include/bits/allocator.h: Temporary switch to new_allocator as
2193 the default to unjam bootstraps.
16dd5cfe 2194
ba9d552e
BK
21952004-01-28 Benjamin Kosnik <bkoz@redhat.com>
2196
2197 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
2198 * include/Makefile.in: Regenerate.
2199 * include/bits/allocator_traits.h: Remove.
2200 * include/bits/allocator.h: Remove allocator_traits.h include, and
2201 relevant comments.
2202 (allocator): Empty base class, inherit from the underlying allocator.
2203 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
2204 * src/allocator.cc: ...here. New. For the underlying allocators.
2205 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
2206 * config/linker-map.gnu: Remove __pool_alloc bits.
2207 * src/Makefile.am (sources): Add allocator.cc.
2208 * src/Makefile.in: Regenerate.
2209 * testsuite/20_util/allocator/1.cc: Split second test into...
16dd5cfe 2210 * testsuite/20_util/allocator/8230.cc: ...this.
ba9d552e
BK
2211 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
2212 typedef to use std::allocatore. Format.
2213 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
2214 _Alloc_traits.
2215 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
2216 __throw_bad_alloc calls. Don't include <memory>.
2217 * include/ext/malloc_allocator.h: Remove <memory> include.
2218 * include/ext/new_allocator.h (new_allocator): Same.
2219 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
2220 declaration. Switch __alloc to _Alloc.
2221 * include/ext/hashtable.h: Remove __alloc.
2222 * include/backward/alloc.h: Only inject allocator, not
2223 implementation details.
2224
2225 * include/ext/mt_allocator.h: Replace free with delete.
16dd5cfe 2226
ff4cf05b
BK
22272004-01-28 Benjamin Kosnik <bkoz@redhat.com>
2228
2229 * src/globals_io.cc: Change to __gnu_internal namespace.
2230 * src/globals_locale.cc: Same.
2231 * src/locale_init.cc: Same.
2232 * src/ios_init.cc: Same.
16dd5cfe 2233
f15f99a1
SO
22342004-01-28 Stefan Olsson <stefan@snon.net>
2235
8de63ee0 2236 * include/ext/mt_allocator.h: Replaced all malloc() calls with
f15f99a1
SO
2237 operator new(). Added support for the env variable
2238 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
2239 one in allocate() as well). Fix typos.
2240
234e0d31
PC
22412004-01-28 Paolo Carlini <pcarlini@suse.de>
2242
2243 * include/bits/basic_string.h (_S_create(size_t,
2244 const _Alloc&): Change signature to take two size_type
2245 arguments.
2246 * include/bits/basic_string.tcc (_S_construct(_InIterator,
2247 _InIterator, const _Alloc&, input_iterator_tag)): Update
2248 call, tweak a bit.
2249 (_S_construct(_InIterator, _InIterator, const _Alloc&,
2250 forward_iterator_tag)): Likewise.
2251 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
2252 (_M_mutate(size_type, size_type, size_type)): Don't
2253 implement the exponential growth policy, demand it to
2254 _S_create, update call and simplify.
2255 (_M_clone(const _Alloc&, size_type)): Likewise.
2256 (_S_create(size_type, size_type, const _Alloc&)): Implement
2257 the growth policy, simplify otherwise.
2258
2259 * include/bits/basic_string.h (_Rep::operator[]): Tweak
2260 signature to take a size_type, consistently with the other
2261 members.
16dd5cfe 2262
62b21ea0
BK
22632004-01-27 Benjamin Kosnik <bkoz@redhat.com>
2264
2265 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
2266 delete declarations, add include and test variable.
2267
0b563420
JQ
22682003-01-27 Jerry Quinn <jlquinn@optonline.net>
2269
2270 * include/bits/codecvt.h, include/bits/locale_facets.h,
2271 include/bits/postypes.h, include/bits/stl_bvector.h,
2272 include/bits/stl_multiset.h, include/bits/stl_set.h,
2273 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
2274 include/std/std_complex.h: Document.
2275
2a837cf8
JQ
22762004-01-27 Jerry Quinn <jlquinn@optonline.net>
2277
2278 PR libstdc++/11584
2279 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
6a734d61 2280 iword/pword selector.
2a837cf8
JQ
2281 (ios_base::iword, ios_base::pword): Use it.
2282 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
6a734d61 2283 iword or pword member on alloc failure.
2a837cf8
JQ
2284 * testsuite/27_io/ios_base/storage/11584.cc: New test.
2285
6e198ee0
UW
22862004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
2287 PJ Darcy <darcypj@us.ibm.com>
2288
2289 * configure.host: Add support for *-tpf.
2290 * crossconfig.m4: Likewise.
2291 * configure: Regenerate.
2292 * config/os/tpf: New directory.
2293 * config/os/tpf/os_defines.h: New file.
2294 * config/os/tpf/ctype_base.h: Likewise.
2295 * config/os/tpf/ctype_inline.h: Likewise.
2296 * config/os/tpf/ctype_noninline.h: Likewise.
2297
51b6facb
PC
22982004-01-27 Paolo Carlini <pcarlini@suse.de>
2299
2300 PR libstdc++/13884
2301 * include/bits/sstream.tcc: Guard use of extern template.
16dd5cfe 2302
a3af79ea
PC
23032004-01-27 Paolo Carlini <pcarlini@suse.de>
2304
2305 * include/bits/basic_string.tcc
2306 (basic_string(const basic_string&, size_type, size_type),
2307 basic_string(const basic_string&, size_type, size_type,
2308 const _Alloc&)): Avoid unnecessarily constructing iterators.
2309
ba9119ec
PC
23102004-01-26 Paolo Carlini <pcarlini@suse.de>
2311
2312 * config/locale/generic/c_locale.cc: Fix throw messages
2313 to use the __N marker.
2314 * config/locale/gnu/c_locale.cc: Likewise.
2315 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2316 Likewise.
2317 * docs/html/17_intro/C++STYLE: Likewise.
2318 * include/bits/basic_ios.tcc: Likewise.
2319 * include/bits/fstream.tcc: Likewise.
2320 * include/bits/vector.tcc: Likewise.
2321 * include/ext/ropeimpl.h: Likewise.
2322 * include/std/std_bitset.h: Likewise.
2323 * src/ios.cc: Likewise.
2324 * src/locale.cc: Likewise.
2325 * src/localename.cc: Likewise.
2326
0e50667c
PC
23272004-01-26 Paolo Carlini <pcarlini@suse.de>
2328
2329 * include/bits/basic_string.h (_M_replace_aux): Use the
2330 __N marker in throw message.
2331 * include/bits/basic_string.tcc (assign(const _CharT*,
2332 size_type), insert(size_type, const _CharT*, size_type),
2333 replace(size_type, size_type, const _CharT*, size_type),
2334 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
2335 Likewise.
2336
2337 * include/bits/basic_string.h, include/bits/basic_string.tcc:
2338 Fold overlong lines, minor formatting changes.
2339
4d39d873
PC
23402004-01-26 Paolo Carlini <pcarlini@suse.de>
2341
2342 * include/bits/basic_string.h (replace(iterator, iterator,
2343 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
2344 (replace(iterator, iterator, const _CharT*)): Ditto.
2345 (replace(iterator, iterator, const _CharT*, size_type)):
2346 Add missing _GLIBCXX_DEBUG_PEDASSERT.
2347
2cb612d1
PC
23482004-01-26 Paolo Carlini <pcarlini@suse.de>
2349
2350 * include/bits/basic_string.tcc (replace(size_type,
2351 size_type, const _CharT*, size_type)): Implement optimized
2352 in-place algorithm for non-overlapping ranges.
2353 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
2354 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
2355
2356 * include/bits/basic_string.tcc (insert(size_type,
2357 const _CharT*, size_type)): Tweak slightly.
2358
f942e78d
AS
23592004-01-26 Andreas Schwab <schwab@suse.de>
2360
2361 * config/locale/gnu/monetary_members.cc: Restore locale before
2362 rethrowing exception.
2363
91eab378
PC
23642004-01-25 Paolo Carlini <pcarlini@suse.de>
2365
2366 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
2367 Define inline here.
2368 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
2369 Move inline.
2370
2371 * include/bits/basic_string.tcc: Very minor tweaks.
2372
9c519c93
PC
23732004-01-25 Paolo Carlini <pcarlini@suse.de>
2374
2375 * testsuite/performance/string_append.cc: Increase number
2376 of iterations.
2377
30f315cd
PC
23782004-01-25 Paolo Carlini <pcarlini@suse.de>
2379
2380 * include/bits/basic_string.h (erase(size_type, size_type),
2381 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
2382 instead, thus avoiding redundant check for length_error.
2383
2384 * include/bits/basic_string.h: Tweak some comments.
2385
bb9909b0
PC
23862004-01-24 Paolo Carlini <pcarlini@suse.de>
2387
2388 * include/bits/basic_string.tcc (operator+(const _CharT*,
2389 const basic_string&)): No need to go through the append
2390 taking two iterators.
2391
04cc8aef
PC
23922004-01-24 Paolo Carlini <pcarlini@suse.de>
2393
2394 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
2395 Revert last change to use std::min: machine language is worse.
2396 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
2397 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2398 (find_last_not_of(_CharT, size_type)): Ditto.
2399
2400 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
2401 size_type)): Discard the value returned by _M_check.
2402 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
2403 (append(const basic_string&, size_type, size_type)): Ditto.
2404 (copy(_CharT*, size_type, size_type)): Ditto.
2405 (compare(size_type, size_type, const basic_string&)): Ditto.
2406 (compare(size_type, size_type, const basic_string&,
2407 size_type, size_type)): Ditto.
2408 (compare(size_type, size_type, const _CharT*)): Ditto.
2409 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2410
8865bf80
PC
24112004-01-24 Paolo Carlini <pcarlini@suse.de>
2412
2413 * include/bits/basic_string.h (insert(size_type,
2414 const basic_string&, size_type, size_type)): Define inline here.
2415 * include/bits/basic_string.tcc (insert(size_type,
2416 const basic_string&, size_type, size_type)): Move inline.
2417
fefe561e
PC
24182004-01-24 Paolo Carlini <pcarlini@suse.de>
2419
2420 * include/bits/basic_string.h (assign(const basic_string&,
2421 size_type, size_type)): Define inline here.
2422 (replace(size_type, size_type, const basic_string&,
2423 size_type, size_type)): Ditto.
2424 (_M_replace_dispatch(iterator, iterator, _InputIterator,
2425 _InputIterator, __false_type)): Only declare.
2426 (_M_replace(iterator, iterator, _InputIterator,
2427 _InputIterator)): Remove.
2428 * include/bits/basic_string.tcc (assign(const basic_string&,
2429 size_type, size_type)): Move inline.
2430 (replace(size_type, size_type, const basic_string&,
2431 size_type, size_type)): Ditto.
2432 (_M_replace_dispatch(iterator, iterator, _InputIterator,
2433 _InputIterator, __false_type)): Define, now does also what
2434 _M_replace did before.
2435 * src/string-inst.cc (_M_replace): Don't instantiate.
2436
2437 * include/bits/basic_string.tcc (find(const _CharT*,
2438 size_type, size_type)): Tidy.
2439 (rfind(_CharT, size_type)): Ditto.
2440 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
2441 (find_first_not_of(_CharT, size_type)): Ditto.
2442 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2443 (find_last_not_of(_CharT, size_type)): Ditto.
2444
72afd981
PC
24452004-01-23 Paolo Carlini <pcarlini@suse.de>
2446
2447 PR libstdc++/13838
2448 * include/debug/bitset (operator|=): Fix typo.
2449 * testsuite/23_containers/bitset/operations/13838.cc: New.
2450
251804e6
PC
24512004-01-23 Paolo Carlini <pcarlini@suse.de>
2452
2453 * include/bits/basic_string.tcc (insert(size_type,
2454 const _CharT*, size_type __n)): Fix length_error check.
2455 (replace(size_type, size_type, const _CharT*, size_type):
2456 Ditto; call _M_replace_safe.
2457 (_M_replace_aux(size_type, size_type, size_type, _CharT):
2458 Fix length_error check.
2459 (_M_replace(iterator, iterator, _InputIterator,
2460 _InputIterator)): Ditto, tweak.
2461 (_M_replace_safe(size_type, size_type, const _CharT*,
2462 size_type)): Remove length_error check.
2463
2464 * include/bits/basic_string.tcc (append(const basic_string&),
2465 append(const basic_string&, size_type, size_type)): Tweak
2466 comment.
2467
2468 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
2469 size_type)): If __n == 0 don't call traits::copy.
2470
3cfb44c2
SO
24712004-01-23 Stefan Olsson <stefan@snon.net>
2472
2473 * include/ext/mt_allocator.h: Reduce lock contention.
2474
22352844
PC
24752004-01-23 Paolo Carlini <pcarlini@suse.de>
2476
2477 PR libstdc++/13831
2478 * include/bits/fstream.tcc (underflow): Remove unused
2479 variable.
2480 * include/bits/streambuf_iterator.h (equal): Ditto.
2481 * include/bits/locale_facets.h (_M_convert_from_char):
2482 Ditto.
2483
129057c1
KG
24842004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2485
2486 PR c/13814
2487 * config/linker-map.gnu (nan): Delete.
2488 * libmath/mathconf.h (NAN, nan): Delete.
2489 * linkage.m4 (nan): Don't check for it.
2490 * libmath/nan.c: Delete file.
2491
2492 * config.h.in, configure: Regenerate.
2493
0e707673
PC
24942004-01-23 Paolo Carlini <pcarlini@suse.de>
2495
2496 * include/bits/basic_string.h (push_back(_CharT)):
2497 Call _M_replace_aux.
2498 (insert(size_type, const basic_string&)): Trivial tweak.
2499 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
2500 (insert(iterator, _CharT)): Ditto.
2501 (erase(size_type, size_type)): Ditto.
2502 (erase(iterator)): Ditto.
2503 (erase(iterator, iterator)): Ditto.
2504 (replace(size_type, size_type, size_type, _CharT)): Ditto.
2505
402b0954
LR
25062004-01-23 Loren J. Rittle <ljrittle@acm.org>
2507
2508 libstdc++/13823
2509 * testsuite/performance/allocator_map_thread.cc: New test.
2510
ba46e66a
PC
25112004-01-22 Paolo Carlini <pcarlini@suse.de>
2512
2513 * include/bits/locale_facets.tcc
2514 (money_put::do_put(..., long double)): Use the basic_string
2515 constructor for char arrays, not that for C-strings, to pass
2516 __digits to do_put(..., const string_type&): __ws isn't
2517 null-terminated.
2518
7bb9b33b
PC
25192004-01-22 Paolo Carlini <pcarlini@suse.de>
2520
2521 * include/bits/basic_string.h (_M_replace_safe): Change
2522 signatures to take size_types and const _CharT*.
2523 (_M_replace_aux): Likewise, takes size_types instead of
2524 iterators.
2525 (append(size_type, _CharT)): Update call.
2526 (assign(size_type, _CharT)): Ditto.
2527 (replace(iterator, iterator, size_type, _CharT)): Ditto.
2528 (_M_replace_dispatch(iterator, iterator, _Integer,
2529 _Integer, __true_type)): Ditto.
2530 * include/bits/basic_string.tcc (assign(const _CharT*,
2531 size_type)): Ditto.
2532 (insert(size_type, const _CharT*, size_type)): Ditto.
2533 (replace(size_type, size_type, const _CharT*,
2534 size_type)): Ditto.
2535 (_M_replace(iterator, iterator, _InputIterator,
2536 _InputIterator)): Ditto.
2537 (append(const basic_string&)): Ditto.
2538 (append(const basic_string&, size_type, size_type): Ditto.
2539 (append(const _CharT*, size_type): Ditto.
2540 (_M_replace_safe, _M_replace_safe): Change definitions
2541 accordingly, simplify.
2542 * string-inst.cc (_M_replace_safe): Don't instantiate.
2543
3e7782b2
PC
25442004-01-21 Paolo Carlini <pcarlini@suse.de>
2545
2546 * include/bits/basic_string.tcc (append(const basic_string&)):
2547 Revert previous change.
2548 (append(const basic_string&, size_type, size_type)): Revert
2549 previous change, use _M_check and _M_limit.
2550
e03a6fb7
PC
25512004-01-21 Paolo Carlini <pcarlini@suse.de>
2552
2553 * include/bits/basic_string.h (_M_check): Change to return
2554 a checked __pos and take an additional const char* argument.
2555 (_M_fold): Rename to _M_limit, change to return a size_type,
2556 corresponding to the __off limited to the actual length.
2557 (insert(size_type, size_type, _CharT)): Update call, call
2558 replace.
2559 (insert(iterator, _CharT)): Call replace(iterator, iterator,
2560 size_type, _CharT) instead.
2561 (erase(size_type, size_type)): Update calls.
2562 (replace(size_type, size_type, size_type, _CharT)): Ditto.
2563 (substr(size_type, size_type)): Use _M_check.
2564 * include/bits/basic_string.tcc (basic_string(const basic_string&,
2565 size_type, size_type)): Update calls.
2566 (basic_string(const basic_string&, size_type, size_type,
2567 const _Alloc&)): Ditto.
2568 (assign(const basic_string&, size_type, size_type)): Use the
2569 new _M_check and _M_limit.
2570 (insert(size_type, const basic_string&, size_type, size_type):
2571 Ditto.
2572 (insert(size_type, const _CharT*, size_type)): Ditto.
2573 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
2574 (replace(size_type, size_type, const basic_string&,
2575 size_type, size_type)): Ditto.
2576 (append(const basic_string&)): Ditto.
2577 (append(const basic_string&, size_type, size_type)): Ditto.
2578 (copy(_CharT*, size_type, size_type)): Ditto.
2579 (compare(size_type, size_type, const basic_string&)): Ditto.
2580 (compare(size_type, size_type, const basic_string&,size_type,
2581 size_type)): Ditto.
2582 (compare(size_type, size_type, const _CharT*)): Ditto.
2583 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2584
cec73eb5
SO
25852004-01-19 Stefan Olsson <stefan@snon.net>
2586
2587 * include/ext/mt_allocator.h: If a thread, when it dies, still has
2588 memory on it's freelist this memory is not returned to global
2589 list. Simplification of deallocate so that memory is always
2590 returned to the calling thread id's freelist instead of to
2591 global. Fix typos. Add volatile where appropriate.
2592
87d11ccc
LR
25932004-01-19 Loren J. Rittle <ljrittle@acm.org>
2594
2595 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
2596 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
2597 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
2598
f18be892
PC
25992004-01-19 Paolo Carlini <pcarlini@suse.de>
2600
2601 * src/debug.cc: Make sure all the names are prefixed with
2602 double (or single) underscore.
2603
33d4e9b2
PC
26042004-01-19 Paolo Carlini <pcarlini@suse.de>
2605
2606 * src/debug.cc: Trivial formatting change.
2607
954b12d2
PC
26082004-01-19 Paolo Carlini <pcarlini@suse.de>
2609
2610 * include/bits/basic_string.tcc (_S_construct(size_type,
2611 _CharT, const _Alloc&)): Remove redundant try/catch.
2612 (_M_mutate(size_type, size_type, size_type)): Ditto.
2613 (_M_clone(const _Alloc&, size_type)): Ditto.
16dd5cfe 2614
acbab5bf
PC
26152004-01-18 Paolo Carlini <pcarlini@suse.de>
2616
2617 * include/bits/basic_string.h (c_str()): Simplify, due to
2618 21.3.4 the internal representation is always kept null-terminated.
2619 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
2620 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
2621 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
2622 Ditto.
2623
9c96a689
PC
26242004-01-18 Paolo Carlini <pcarlini@suse.de>
2625
2626 * include/bits/basic_string.h (append(size_type, _CharT)):
2627 Moved inline, just call _M_replace_aux, no source iterators at
2628 risk of being clobbered.
2629 (assign(size_type, _CharT)): Call directly _M_replace_aux.
2630 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2631 input_iterator_tag)): Remove fifth unused argument.
2632 (_M_replace_dispatch(iterator, iterator, _InputIterator,
2633 _InputIterator, __false_type)): Update call.
2634 * include/bits/basic_string.tcc (replace(size_type, size_type,
2635 const _CharT*, size_type)): Update call.
2636 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
2637 throw string literal.
2638 (_M_replace_safe(iterator, iterator, _ForwardIterator,
2639 _ForwardIterator)): Likewise.
2640 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2641 input_iterator_tag)): Remove fifth unused argument.
2642 (append(size_type __n, _CharT __c)): Move inline.
2643 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
2644 const C*, const C*, input_iterator_tag)): Remove fifth unused
2645 argument.
2646
d517f626
BK
26472004-01-16 Benjamin Kosnik <bkoz@redhat.com>
2648
2649 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
16dd5cfe 2650 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
d517f626 2651
701b701b
DS
26522004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
2653
2654 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
2655 mkfifo for mingw32.
2656
2913770f
SO
26572004-01-15 Stefan Olsson <stefan@snon.net>
2658
2659 * include/ext/mt_allocator.h: Reuse thread id's as soon as
2660 possible by changing the behaviour of thread_freelist to do
2661 push_front when threads die instead of push_back.
2662
47f62b27
PC
26632004-01-14 Paolo Carlini <pcarlini@suse.de>
2664
2665 * include/bits/locale_facets.h (struct __numpunct_cache):
2666 Add member _M_grouping_size, caching the length of _M_grouping.
2667 (__numpunct_cache<>::_M_cache): Assign the latter.
2668 (__verify_grouping): Move declaration...
2669 * include/bits/locale_facets.tcc (__verify_grouping):
2670 ... here, change signature to take a const char* and a size_t
2671 for the grouping; not a template anymore.
2672 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
16dd5cfe 2673 Likewise change signature and tweak consistently.
47f62b27
PC
2674 (num_get::_M_extract_float, num_get::_M_extract_int,
2675 num_put::_M_insert_int, num_put::_M_insert_float,
2676 money_get::do_get(string_type&), money_get::do_put(string_type)):
16dd5cfe 2677 Update callers.
47f62b27 2678 * config/locale/generic/numeric_members.cc
16dd5cfe 2679 (numpunct<>::_M_initialize_numpunct): Assign the new member.
47f62b27 2680 * config/locale/gnu/numeric_members.cc
16dd5cfe 2681 (numpunct<>::_M_initialize_numpunct): Likewise.
47f62b27
PC
2682 * src/locale-inst.cc (__add_grouping): Tweak signature.
2683 (__verify_grouping): Don't instantiate, not a template anymore.
2684
2685 * include/bits/locale_facets.h: Rename _M_truename_len ->
2686 _M_truename_size, _M_falsename_len -> _M_falsename_size.
2687 * include/bits/locale_facets.tcc: Likewise.
2688 * config/locale/generic/numeric_members.cc: Likewise.
2689 * config/locale/gnu/numeric_members.cc: Likewise.
2690
41f24725
SO
26912004-01-14 Stefan Olsson <stefan@snon.net>
2692
2693 * include/ext/mt_allocator.h: Fixups.
2694 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
2695 * testsuite/performance/allocator_thread.cc: Same.
16dd5cfe 2696
070ce57b
BK
26972004-01-13 Benjamin Kosnik <bkoz@redhat.com>
2698
2699 * testsuite/performance/ifstream_extract_float.cc: Add higher
2700 precision tests.
2701 * testsuite/performance/ofstream_insert_float.cc: Same.
16dd5cfe 2702
c9513590
PC
27032004-01-13 Paolo Carlini <pcarlini@suse.de>
2704
2705 * src/locale-misc-inst.cc (__convert_from_v(long),
2706 __convert_from_v(unsigned long), __convert_from_v(long long),
2707 __convert_from_v(unsigned long long)): Remove, unused.
2708
60af005f
BK
27092004-01-13 Benjamin Kosnik <bkoz@redhat.com>
2710
2711 * testsuite/performance/ifstream_extract_float.cc: New.
2712 * testsuite/performance/ofstream_insert_float.cc: Float generation
2713 matches above.
2714
2715 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
2716 * 20_util/auto_ptr/1.cc: ...this.
2717 * 20_util/auto_ptr/2.cc: Same.
2718 * 20_util/auto_ptr/3.cc: Same.
2719 * 20_util/auto_ptr/3946.cc: Same.
2720 * 20_util/auto_ptr/4.cc: Same.
2721 * 20_util/auto_ptr/5.cc: Same.
2722 * 20_util/auto_ptr/6.cc: Same.
2723 * 20_util/auto_ptr/7.cc: Same.
2724 * 20_util/auto_ptr/assign_neg.cc
2725 * 20_util/pairs.cc: Break into...
2726 * 20_util/pair/1.cc: ...this.
2727 * 20_util/pair/2.cc: Same.
2728 * 20_util/pair/3.cc: Same.
2729 * 20_util/pair/4.cc: Same.
2730
d8ef7dec
PC
27312004-01-13 Paolo Carlini <pcarlini@suse.de>
2732
2733 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
2734 Set correctly just basefield, the only group that matters.
2735
5640461d
PC
27362004-01-13 Paolo Carlini <pcarlini@suse.de>
2737
2738 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
2739 (_Rope_rep_base): Inherit directly from the rope allocator;
2740 use rebinding instead of _Alloc_traits; pick up data member
2741 from _Rope_rep_alloc_base.
2742 (_Rope_alloc_base): Eliminate.
2743 (_Rope_base): Inherit directly from the rope allocator; use
2744 rebinding instead of _Alloc_traits; pick up data member from
2745 _Rope_alloc_base.
2746 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
2747 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
2748
95c9624f
PC
27492004-01-13 Paolo Carlini <pcarlini@suse.de>
2750
2751 PR libstdc++/13650
2752 * include/bits/basic_string.tcc (compare(size_type, size_type,
2753 const _CharT*, size_type)): Implement correctly the resolution
2754 of DR 5: basically, s is a char array, -not- a C string.
2755 * include/bits/basic_string.h: Tweak some comments.
2756 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
2757 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
2758
c91de77a
AT
27592004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
2760
2761 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
2762 Solaris.
2763
300b3317
PC
27642004-01-12 Paolo Carlini <pcarlini@suse.de>
2765
2766 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
2767 Use try_mkfifo.
2768 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
2769 Likewise.
2770
dc6798f8
PC
27712004-01-12 Paolo Carlini <pcarlini@suse.de>
2772
2773 * include/bits/locale_facets.h (struct __numpunct_cache):
2774 Add members _M_truename_len and _M_falsename_len, caching
2775 the lengths of _M_truename and _M_falsename.
2776 (__numpunct_cache<>::_M_cache): Assign the latter.
2777 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
2778 num_put::do_put(bool)): Use the new members, thus avoiding
2779 computing string lengths again and again.
2780 * config/locale/generic/numeric_members.cc
2781 (numpunct<>::_M_initialize_numpunct): Assign the new members.
2782 * config/locale/gnu/numeric_members.cc
2783 (numpunct<>::_M_initialize_numpunct): Likewise.
2784
ea1ea21a
MM
27852004-01-12 Mark Mitchell <mark@codesourcery.com>
2786
2787 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
2788 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
2789 it.
2790 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
2791 and remove Cygwin XFAIL.
2792 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
2793 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
2794 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
2795 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
2796 Likewise.
2797 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2798 * testsuite/27_io/objects/char/7.cc: Likewise.
2799 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
2800 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
2801 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
2802
3b3bfc0e
GDR
28032004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
2804
2805 * include/std/std_complex.h (std::complex<>::real): Return a
2806 reference. Add non-const overload.
2807 (std::complex<>::real): Likewise.
2808 (std::real): Likewise.
2809 (std::imag): Likewise.
2810 (std::operator+): Tidy.
2811 (std::operator-): Likewise.
2812 (std::operator*): Likewise.
2813 (std::operator/): Likewise.
2814 (std::operator>>): Likewise.
2815
09625c16
PC
28162004-01-11 Paolo Carlini <pcarlini@suse.de>
2817
2818 PR libstdc++/13582
2819 * include/bits/fstream.tcc (imbue): Exploit the external
2820 buffer to imbue 'on the fly' a new locale and convert its
2821 remainder with the new codecvt facet.
2822 (underflow): Tweak slightly to deal with this special case.
2823 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
2824 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
2825 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
2826 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
2827 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
16dd5cfe 2828
a8d65349
PC
28292004-01-10 Paolo Carlini <pcarlini@suse.de>
2830
2831 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
2832 Import Revision 28.
2833
b656faa8
PC
28342004-01-10 Paolo Carlini <pcarlini@suse.de>
2835
2836 PR libstdc++/13630
2837 * include/bits/locale_classes.h (class locale): Fix category
2838 typedef.
2839 * testsuite/22_locale/locale/13630.cc: Add.
2840
f88e4715
GB
28412004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2842
2843 * include/bits/locale_facets.h: Make a name really dependent. This
2844 will be needed when Core Issue 224 is implemented.
2845
64cb2c4a
PC
28462004-01-09 Paolo Carlini <pcarlini@suse.de>
2847
2848 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
2849 * testsuite/performance/allocator_thread.cc: Likewise.
2850
158960ba
BK
28512004-01-07 Benjamin Kosnik <bkoz@redhat.com>
2852
2853 * crossconfig.m4: Add LFS, io bits to linux cross config.
2854 * acconfig.h: Remove obsolete bits, reorder.
2855 * config.h.in: Regenerate.
2856 * aclocal.m4: Same.
2857 * configure: Same.
16dd5cfe 2858
e135a038
BK
28592004-01-07 Gawain Bolton <gp.bolton@computer.org>
2860
2861 * include/bits/stl_list.h:
2862 * include/bits/list.tc:
2863 * src/list.cc:
6a734d61
BK
2864 Performance enhancements for destructor, push_front(),
2865 push_back(), pop_front(), pop_back(), sort()
2866 Eliminated static_casts where possible.
2867 Moved code out of header files into new src/list.cc
2868 implementation file for library where possible.
2869 Remove inheritance from iterator class and create separate
2870 classes for non-constant and constant iterators.
e135a038 2871 * include/bits/stl_tree.h (_Rb_tree class):
16dd5cfe 2872 * src/tree.cc:
6a734d61
BK
2873 Only erase contents in destructor.
2874 Eliminate unnecessary initialization in assignment operator.
2875 Optimize for the nominal case by not checking whether
2876 container is empty in clear().
2877 Re-order test in _M_insert() to improve performance.
2878 Move initialization of new node's left & right pointers to
2879 src/tree.cc to where new node's colour is initialized
2880 and to reduce the amount of inline code.
2881 Use _M_leftmost() and _M_end() to improve readability where
2882 appropriate.
2883 Create separate classes for non-constant and constant
2884 iterators to clarify code, avoid extra template parameters and
2885 casting away constness.
16dd5cfe 2886
e135a038
BK
28872004-01-07 Benjamin Kosnik <bkoz@redhat.com>
2888
2889 * src/Makefile.am (sources): Add list.cc, tree.cc.
2890 * src/stl_tree.cc: Move to...
2891 * src/tree.cc: ...here.
2892 * src/list.cc: Add.
2893 * config/linker-map.gnu: Tweaks.
2894 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
2895 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
2896
2897 * bits/stl_vector.h: Column wrap comments.
16dd5cfe 2898
677e7ddc
LR
28992004-01-07 Loren J. Rittle <ljrittle@acm.org>
2900
2901 (re-open) PR libstdc++/12658
2902 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
2903 (locale::global): Likewise.
2904
d8f5bd50
PC
29052004-01-07 Paolo Carlini <pcarlini@suse.de>
2906
2907 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
2908 Remove redundant #include.
2909 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
2910 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
2911 re-enable normal testing.
2912 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
2913 #include.
2914 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
2915 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
2916 Likewise.
2917 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
2918 Likewise.
2919 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
2920 Likewise.
2921 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
2922 Likewise.
2923 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
2924 Likewise.
2925 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
2926 Likewise.
2927 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
2928 Likewise.
2929 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
2930 More properly, #include <locale>.
2931 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
2932 Remove redundant #include.
2933 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
2934 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
2935 redundant DejaGnu directive.
2936 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
2937 redundant #include.
2938
b61f9bf0 29392004-01-06 Benjamin Kosnik <bkoz@redhat.com>
6a734d61 2940 Stefan Olsson <stefan@snon.net>
b61f9bf0
BK
2941
2942 * scripts/check_performance: Use -pthread.
2943 * testsuite/performance/allocator.cc: Tweaks, add list.
2944 * testsuite/performance/allocator_thread.cc: New.
2945
b74a6851 29462004-01-06 Jerry Quinn <jlquinn@optonline.net>
9a01c9b0
JQ
2947
2948 * include/bits/locale_facets.h: Document public classes and
2949 functions.
2950 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
2951 Add comment.
2952
b80115c4
PC
29532004-01-06 Paolo Carlini <pcarlini@suse.de>
2954
2955 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
2956 Remove redundant #includes.
2957 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
2958 Likewise.
2959 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
2960 Likewise.
2961 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
2962 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
2963 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
2964 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
2965 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
2966 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
2967 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
2968 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
2969 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
2970 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
2971 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
2972 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
2973 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
2974 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
2975 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
2976 Likewise.
2977 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
2978 Likewise.
2979 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
2980 Likewise.
2981 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
2982 Likewise.
2983 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
2984 Likewise.
2985 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
2986 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
2987 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
2988
22ed0590 29892004-01-04 Paolo Carlini <pcarlini@suse.de>
223b5084
PC
2990
2991 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
2992 Remove redundant #includes.
2993 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
2994 Likewise.
2995 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
2996 Likewise.
2997 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
2998 Likewise.
2999 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
3000 Likewise.
3001 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
3002 Likewise.
3003 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
3004 Likewise.
3005 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
3006 Likewise.
3007 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
3008 Likewise.
3009 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
3010 Likewise.
3011 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
3012 Likewise.
3013 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
3014 Likewise.
3015 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3016 Likewise.
3017
4f8163b1
MM
30182004-01-04 Mark Mitchell <mark@codesourcery.com>
3019
3020 PR c++/12226
3021 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
3022 constructor.
3023 * testsuite/27_io/basic_fstream/4.cc: Likewise.
3024 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
3025 * testsuite/27_io/basic_ios/4.cc: Likewise.
3026 * testsuite/27_io/basic_iostream/4.cc: Likewise.
3027 * testsuite/27_io/basic_istream/4.cc: Likewise.
3028 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
3029 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
3030 * testsuite/27_io/basic_ostream/4.cc: Likewise.
3031 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
3032 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
3033 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
3034
17fa5560
PC
30352004-01-04 Paolo Carlini <pcarlini@suse.de>
3036
3037 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
3038 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
3039 always use double underscored names.
3040 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
3041 Likewise.
3042 * include/bits/locale_facets.h (struct __numpunct_cache):
3043 Dimension _M_atoms_out and _M_atoms_in one position smaller.
3044 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
3045 and _M_atoms_in.