1 2006-02-16 Joseph S. Myers <joseph@codesourcery.com>
4 * config/os/uclibc/ctype_base.h, config/os/uclibc/ctype_inline.h,
5 config/os/uclibc/ctype_noninline.h, config/os/uclibc/os_defines.h:
7 * acinclude.m4 (GLIBCXX_CONFIGURE): Test whether using uClibc.
8 * configure.host: Use os/uclibc for uClibc.
9 * crossconfig.m4 (*-linux*): Use link tests. Don't hardcode
10 presence of math functions.
11 * configure: Regenerate.
13 2006-02-12 Paolo Carlini <pcarlini@suse.de>
16 * include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
17 seekg(off_type, ios_base::seekdir)): Construct a sentry, as per
19 * testsuite/27_io/basic_istream/seekg/char/26211.cc: New.
20 * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
21 * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
22 * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
23 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Adjust.
24 * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
25 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
26 * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
27 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
28 * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
30 2006-02-10 Paolo Carlini <pcarlini@suse.de>
33 * include/bits/streambuf.tcc (__copy_streambufs_eof): New, like
34 the existing __copy_streambufs but reporting eof in input.
35 (__copy_streambufs): Just use the latter.
36 * src/streambuf.cc (__copy_streambufs_eof): Adjust specializations
38 * include/bits/istream.tcc (operator>>(__streambuf_type*)): Use
39 __copy_streambufs_eof instead.
40 * include/std/std_streambuf.h: Adjust.
41 * src/streambuf-inst.cc: Adjust.
42 * config/abi/pre/gnu.ver: Export the new symbols.
43 * testsuite/27_io/basic_istream/extractors_other/char/26181.cc: New.
44 * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
46 * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Adjust.
47 * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc:
50 2006-02-08 Benjamin Kosnik <bkoz@redhat.com>
53 * include/debug/debug.h: Move debug alias inside namespace std,
54 same with namespace __gnu_cxx. Add top-level __gnu_debug
56 * include/debug/hash_multimap.h: Nest within __gnu_cxx, not
57 std. Also, change nesting namespace name from __gnu_debug_def to
59 * include/debug/hash_map.h: Same.
60 * include/debug/hash_multiset.h: Same.
61 * include/debug/hash_set.h: Same.
62 * docs/html/debug.html: Same.
63 * testsuite/23_containers/vector/26412.cc: New.
64 * testsuite/23_containers/vector/invalidation/1.cc: Correct
65 qualifications for debug namespace change.
66 * testsuite/23_containers/vector/invalidation/2.cc: Same.
67 * testsuite/23_containers/vector/invalidation/3.cc: Same.
68 * testsuite/23_containers/vector/invalidation/4.cc: Same.
69 * testsuite/23_containers/deque/invalidation/1.cc: Same.
70 * testsuite/23_containers/deque/invalidation/2.cc: Same.
71 * testsuite/23_containers/deque/invalidation/3.cc: Same.
72 * testsuite/23_containers/deque/invalidation/4.cc: Same.
73 * testsuite/23_containers/multiset/invalidation/1.cc: Same.
74 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
75 * testsuite/23_containers/multimap/invalidation/1.cc: Same.
76 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
77 * testsuite/23_containers/bitset/invalidation/1.cc: Same.
78 * testsuite/23_containers/bitset/cons/16020.cc: Same.
79 * testsuite/23_containers/bitset/operations/13838.cc: Same.
80 * testsuite/23_containers/list/invalidation/1.cc: Same.
81 * testsuite/23_containers/list/invalidation/2.cc: Same.
82 * testsuite/23_containers/list/invalidation/3.cc: Same.
83 * testsuite/23_containers/list/invalidation/4.cc: Same.
84 * testsuite/23_containers/set/invalidation/1.cc: Same.
85 * testsuite/23_containers/set/invalidation/2.cc: Same.
86 * testsuite/23_containers/map/invalidation/1.cc: Same.
87 * testsuite/23_containers/map/invalidation/2.cc: Same.
88 * testsuite/23_containers/map/modifiers/insert/16813.cc: Same.
89 * testsuite/21_strings/basic_string/2.cc: Same.
91 2006-02-08 Paolo Carlini <pcarlini@suse.de>
93 PR libstdc++/26133 (DR 241, [WP])
94 * include/bits/stl_algo.h (__unique_copy(,,, forward_iterator_tag,
95 output_iterator_tag), __unique_copy(,,, input_iterator_tag,
96 output_iterator_tag), __unique_copy(,,, input_iterator_tag,
97 forward_iterator_tag), and predicated counterparts): Add.
98 (__unique_copy(,,, output_iterator_tag), __unique_copy(,,,
99 forward_iterator_tag), and predicated counterparts): Remove.
100 (unique_copy): Adjust, dispatch to the three helpers above.
101 * testsuite/25_algorithms/unique_copy/2.cc: New.
102 * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
103 * testsuite/25_algorithms/unique_copy/3.cc: Likewise.
104 * docs/html/ext/howto.html: Add an entry for DR 241.
106 * testsuite/25_algorithms/unique_copy/1.cc: Minor cosmetic changes.
108 2006-02-07 Jakub Jelinek <jakub@redhat.com>
109 Benjamin Kosnik <bkoz@redhat.com>
111 * configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
112 If true, set also port_specific_symbol_files and create
114 (GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
115 * configure: Rebuilt.
116 * config.h.in: Rebuilt.
117 * config/os/gnu-linux/ldbl-extra.ver: New file.
118 * config/abi/pre/gnu.ver: Make sure no __float128 symbols are
120 * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
121 _GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
122 _GLIBCXX_END_LDBL_NAMESPACE): Define.
123 * include/bits/localefwd.h: Use them to conditionally scope facets.
124 * include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
125 with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
126 Surround std::{money,num}_{get,put}
127 with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
128 [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
129 [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
130 [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
131 [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
132 * include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
133 with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
134 (std::money_get::__do_get, std::money_put::__do_put,
135 std::num_get::__do_get, std::num_put::__do_put): New
137 * include/Makefile.am: Conditionally define
138 _GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
139 * include/Makefile.in: Regenerate.
140 * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
141 _GLIBCXX_SYNC_ID): Define, use them.
142 * src/compatibility-ldbl.cc: New file.
143 * src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
145 * src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
146 * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
147 * src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
148 * src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
149 * src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
150 * src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
151 * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
152 * src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
153 * src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
154 * config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
156 * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
158 * src/Makefile.am (libstdc++-symbol.ver): Append instead of
159 insert in the middle if port specific symbol file requests it.
160 (ldbl_compat_sources): New variable.
162 (compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
163 * src/Makefile.in: Rebuilt.
164 * testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
165 GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.
167 2006-02-07 Paolo Carlini <pcarlini@suse.de>
169 * include/tr1/hashtable: Trivial formatting fixes.
171 2006-02-07 Paolo Carlini <pcarlini@suse.de>
172 Zak Kipling <zak@transversal.com>
175 * include/tr1/hashtable (hashtable<>::key_equal): Define.
176 (hashtable<>::bucket, rehash_base<>::max_load_factor): Fix.
177 * testsuite/tr1/6_containers/unordered/hashtable/26127.cc: New.
179 2006-02-07 Paolo Carlini <pcarlini@suse.de>
181 * include/tr1/cmath: New.
182 * include/tr1/cstdlib: Likewise.
183 * include/tr1/ctime: Likewise.
184 * include/tr1/math.h: Likewise.
185 * include/tr1/stdlib.h: Likewise.
186 * include/Makefile.am: Add.
187 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <math.h> checks.
188 * testsuite/tr1/8_c_compatibility/cmath/functions.cc: New.
189 * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Likewise.
190 * testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Likewise.
191 * testsuite/tr1/headers.cc: Update.
193 * include/tr1/cinttypes: Do not provide abs and div, conflicting
194 with the above overloads for _Longlong types.
195 * include/tr1/inttypes.h: Adjust.
196 * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Adjust.
198 * docs/html/ext/tr1.html: Update.
200 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.
202 * include/Makefile.in: Regenerate.
203 * config.h.in: Likewise.
204 * configure: Likewise.
206 2006-02-07 Mark Mitchell <mark@codesourcery.com>
208 * testsuite/testsuite_tr1.h (test_property): New function.
209 * testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc
212 2006-02-05 Paolo Carlini <pcarlini@suse.de>
214 * include/tr1/cstdio: New.
215 * include/tr1/stdio.h: Likewise.
216 * include/Makefile.am: Add.
217 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: New.
218 * testsuite/tr1/headers.cc: Update.
219 * docs/html/ext/tr1.html: Update.
221 * include/tr1/cwchar: Simplify, use _GLIBCXX_USE_C99, consistently
222 with the facilities in std::.
223 * include/tr1/cwctype: Likewise.
224 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.
225 * testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
226 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Remove <wchar.h> and
229 * include/Makefile.in: Regenerate.
230 * config.h.in: Likewise.
231 * configure: Likewise.
233 2006-02-04 Paolo Carlini <pcarlini@suse.de>
235 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Fix.
237 2006-02-04 Paolo Carlini <pcarlini@suse.de>
239 * testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: Avoid
240 warning on string constant.
242 2006-02-03 Paolo Carlini <pcarlini@suse.de>
244 * include/tr1/cwchar: New.
245 * include/tr1/cwctype: Likewise.
246 * include/tr1/wchar.h: Likewise.
247 * include/tr1/wctype.h: Likewise.
248 * include/Makefile.am: Add.
249 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: New.
250 * testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
251 * testsuite/tr1/headers.cc: Update.
252 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <wchar.h> and
254 * docs/html/ext/tr1.html: Update.
255 * include/Makefile.in: Regenerate.
256 * config.h.in: Likewise.
257 * configure: Likewise.
259 * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Cosmetic tweak.
261 2006-02-02 Paolo Carlini <pcarlini@suse.de>
263 * include/tr1/cfloat: New.
264 * include/tr1/climits: Likewise.
265 * include/tr1/cstdarg: Likewise.
266 * include/tr1/ctype.h: Likewise.
267 * include/tr1/fenv.h: Likewise.
268 * include/tr1/float.h: Likewise.
269 * include/tr1/inttypes.h: Likewise.
270 * include/tr1/limits.h: Likewise.
271 * include/tr1/stdint.h: Likewise.
272 * include/tr1/stdarg.h: Likewise.
273 * include/Makefile.am: Add.
274 * include/Makefile.in: Regenerate.
275 * docs/html/ext/tr1.html: Update.
276 * testsuite/tr1/headers.cc: New.
278 * include/tr1/cctype: Include <cctype> instead.
280 2006-01-31 Paolo Carlini <pcarlini@suse.de>
283 * include/tr1/array (array<>::_M_instance): Maximally align.
284 * testsuite/ext/array_allocator/2.cc: Do not xfail for powerpc.
286 2006-01-31 Ed Smith-Rowland <3dw4rd@verizon.net>
288 * docs/html/faq/index.html ([1.0]): Replace references to CVS
289 with appropriate references to SVN.
293 * docs/html/faq/index.txt: Regenerated.
295 2006-01-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
297 * include/bits/valarray_array.h (__valarray_default_construct):
298 Replace use __is_fundamental with __is_pod.
299 (__valarray_fill_construct): Likewise.
300 (__valarray_copy_construct): Likewise.
301 (__valarray_destroy_elements): Likewise.
302 (__valarray_copy): Likewise.
304 2006-01-30 Paolo Carlini <pcarlini@suse.de>
306 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Do the <inttypes.h>
307 checks only if the <stdint.h> checks are successful.
308 * configure: Regenerate.
310 2006-01-30 Paolo Carlini <pcarlini@suse.de>
312 * include/tr1/cinttypes: New.
313 * include/Makefile.am: Add.
314 * testsuite/tr1/8_c_compatibility/cinttypes/functions: New.
315 * testsuite/tr1/8_c_compatibility/cinttypes/types: Likewise.
316 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <inttypes.h> checks.
317 * docs/html/ext/tr1.html: Update.
318 * include/Makefile.in: Regenerate.
319 * config.h.in: Likewise.
320 * configure: Likewise.
322 * testsuite/tr1/8_c_compatibility/cfenv/functions.cc: Cosmetic tweak.
323 * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
325 * testsuite/tr1/8_c_compatibility/cstdint/types.cc: Fix, check in
328 2006-01-29 Paolo Carlini <pcarlini@suse.de>
330 * include/tr1/cstdint: New.
331 * include/Makefile.am: Add.
332 * testsuite/tr1/8_c_compatibility/cstdint/types: New.
333 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <stdint.h> checks.
334 * docs/html/ext/tr1.html: Update.
335 * include/Makefile.in: Regenerate.
336 * config.h.in: Likewise.
337 * configure: Likewise.
339 * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Cosmetic tweak.
341 2006-01-29 Paolo Carlini <pcarlini@suse.de>
344 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten <ctype.h> and
346 * configure: Regenerate.
348 2006-01-26 Paolo Carlini <pcarlini@suse.de>
350 * include/std/std_bitset.h (bitset<>::_M_copy_to_string):
351 Call the internal _Unchecked_set(size_t) instead of set.
353 2006-01-26 Paolo Carlini <pcarlini@suse.de>
355 * docs/html/install.html ([Tools you will need beforehand]):
356 Clarify that the de_DE locale is used by configure; clarify
357 that missing localedata leads to skipped tests, not fails.
359 2006-01-26 Paolo Carlini <pcarlini@suse.de>
361 * include/tr1/cfenv: New.
362 * include/Makefile.am: Add.
363 * testsuite/tr1/8_c_compatibility/cfenv/functions.cc: New.
364 * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
365 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <fenv.h> checks.
366 * docs/html/ext/tr1.html: Update; add note.
367 * include/Makefile.in: Regenerate.
368 * config.h.in: Likewise.
369 * configure: Likewise.
371 * testsuite/tr1/8_c_compatibility/complex/functions.cc: Tweak.
372 * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Likewise.
374 * docs/html/faq/index.html: Fix link to tr1.html text; fix
377 2006-01-25 Paolo Carlini <pcarlini@suse.de>
379 * include/tr1/cctype: New.
380 * include/Makefile.am: Add.
381 * testsuite/tr1/8_c_compatibility/cctype/functions.cc: New.
382 * include/Makefile.in: Regenerate.
384 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): New, check for C99
385 support to TR1, Chapter 8.
386 * configure.ac: Use it.
387 * include/tr1/complex: Adjust.
388 * config.h.in: Regenerate.
389 * configure: Likewise.
391 2006-01-25 Benjamin Kosnik <bkoz@redhat.com>
393 * docs/html/configopts.html: Tweak docs.
395 * libsupc++/eh_personality.cc: Fix typos.
397 2006-01-24 Paolo Carlini <pcarlini@suse.de>
400 * include/std/std_istream.h (operator>>(short&), operator>>(int&)):
402 * include/bits/istream.tcc: ... here.
403 * include/std/std_ostream.h (operator<<(short), operator<<(int)):
405 * include/bits/ostream.tcc: ... here.
407 2006-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
409 * docs/html/faq/index.html ([5.2]): Mention TR1 and point to
410 paragraph [5.5], describing it.
412 * docs/html/ext/tr1.html: New.
414 2006-01-20 Benjamin Kosnik <bkoz@redhat.com>
416 * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Verbose ld version
417 reporting. Disable --gc-sections for old binutils, by version.
418 * configure: Regenerate.
420 2006-01-20 Joseph S. Myers <joseph@codesourcery.com>
423 * include/Makefile.am: Install host-specific headers in multilib
425 * include/Makefile.in: Regenerate.
427 2006-01-19 Paolo Carlini <pcarlini@suse.de>
429 Implement list::splice (and merge) bits of N1599
430 * include/bits/stl_list.h (list<>::_M_check_equal_allocators): New.
431 (list<>::splice(iterator, list&), splice(iterator, list&, iterator),
432 splice(iterator, list&, iterator, iterator)): Use it.
433 * include/bits/list.tcc (list<>::merge(list&), merge(list&,
434 _StrictWeakOrdering)): Likewise.
435 * testsuite/23_containers/list/operators/5.cc: New.
437 2006-01-19 H.J. Lu <hongjiu.lu@intel.com>
440 * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Remove -Werror
441 from CFLAGS. Check if linker really supports --gc-sections.
442 * configure: Regenerated.
444 2006-01-18 Paul Brook <paul@codesourcery.com>
446 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort.
448 2006-01-18 Paolo Carlini <pcarlini@suse.de>
450 * include/bits/allocator.h: Include <bits/cpp_type_traits.h>.
452 2006-01-18 Perry Smith <pedz@easesoftware.net>
456 * libsupc++/eh_alloc.cc: Fix return type of memset declaration.
457 * libsupc++/eh_globals.cc: If !_GLIBCXX_HOSTED declare malloc and free.
459 2006-01-18 Paolo Carlini <pcarlini@suse.de>
461 * include/ext/pb_assoc/detail/value_type_adapter/
462 value_type_adapter.hpp: Include <tr1/type_traits>.
463 * include/ext/pb_assoc/detail/value_type_adapter/
464 it_value_type_traits.hpp (it_value_type_traits_<>::value_type_holder):
465 Use tr1::aligned_storage and tr1::alignment_of.
466 (it_value_type_traits_<>::buf_t): Remove.
467 (it_value_type_traits_<>::make_valid, recast): Adjust.
469 2006-01-16 Benjamin Kosnik <bkoz@redhat.com>
472 * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Add -Werror to
473 CFLAGS for --gc-sections test. Correct compile test.
474 * configure: Regenerated.
476 2006-01-15 Paolo Carlini <pcarlini@suse.de>
477 Gabriel Dos Reis <gdr@integrable-solutions.net>
480 * include/std/std_valarray.h (valarray(const slice_array<>&),
481 valarray(const gslice_array<>&), valarray(const mask_array<>&),
482 valarray(const indirect_array<>&), valarray(const _Expr<>&)):
483 Forward to __valarray_copy_construct, not __valarray_copy.
484 * include/bits/valarray_array.h
485 (__valarray_copy_construct(_Array<>, _Array<>, _Array<>, size_t),
486 __valarray_copy_construct(_Array<>, size_t, size_t, _Array<>)):
489 2006-01-15 Paolo Carlini <pcarlini@suse.de>
491 * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
492 Fix norm test, use casts everywhere.
494 2006-01-14 Paolo Carlini <pcarlini@suse.de>
496 * testsuite/testsuite_tr1.h: Add missing include; use std::__are_same.
498 2006-01-14 Paolo Carlini <pcarlini@suse.de>
500 * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
501 Fix wrong test (don't pick by mistake the (const complex<>&, int)
504 2006-01-13 Paolo Carlini <pcarlini@suse.de>
505 Howard Hinnant <hhinnant@apple.com>
507 * include/tr1/complex (arg, conj, imag, norm, polar, pow, real):
508 Add, implementing TR1, 8.1.9.
510 * include/tr1/common.h: New, provides __promote, __promote_2.
511 * include/Makefile.am: Add.
512 * include/Makefile.in: Regenerate.
513 * testsuite/testsuite_tr1.h (check_ret_type): New.
514 * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: New.
515 * testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: New.
517 2006-01-12 Benjamin Kosnik <bkoz@redhat.com>
519 * acinclude.m4(GLIBCXX_CHECK_LINKER_FEATURES): Enable
520 --gc-sections in more cases.
521 * configure: Regenerate.
522 * scripts/testsuite_flags.in: Remove SECTION_LDFLAGS.
523 * scripts/testsuite_flags.in (cxxldflags): New.
524 * testsuite/lib/libstdc++.exp (v3_target_compile): Add cxxldflags.
525 (libstdc++_init ): Same.
527 2006-01-12 Jan Beulich <jbeulich@novell.com>
529 * crossconfig.m4: Add AC_DEFINE-s for HAVE_HYPOT, HAVE_ISINF, and
530 HAVE_ISNAN for *-*-netware*.
531 * configure: Refresh.
533 2006-01-11 Benjamin Kosnik <bkoz@redhat.com>
535 * acinclude.m4(GLIBCXX_CHECK_LINKER_FEATURES): Use -Wl,-z,relro if
537 * configure: Regenerate.
539 2006-01-10 Paolo Carlini <pcarlini@suse.de>
541 * include/tr1/complex: New file, hosts the additions to header
542 <complex> described in TR1, Chapter 8 [tr.c99].
543 * include/Makefile.am: Add.
544 * include/Makefile.in: Regenerate.
545 * testsuite/tr1/8_c_compatibility/complex/functions.cc: New.
547 2006-01-09 Paolo Carlini <pcarlini@suse.de>
550 * testsuite/23_containers/deque/cons/assign/1.cc: Divide
553 2006-01-08 Paolo Carlini <pcarlini@suse.de>
555 PR libstdc++/22102 (insert as close to hint as possible)
556 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_lower,
557 _M_insert_equal_lower): New.
558 (_M_insert_equal(iterator, const _Val&),
559 _M_insert_equal(const_iterator, const _Val&)): Use the above.
560 * docs/html/ext/howto.html: Add an entry for DR 233.
561 * testsuite/23_containers/multiset/modifiers/insert/22102.cc: New.
562 * testsuite/23_containers/multimap/modifiers/insert/22102.cc: New.
564 * testsuite/23_containers/set/insert/: Move...
565 * testsuite/23_containers/set/modifiers/insert/: ...here.
566 * testsuite/23_containers/map/insert/: Move...
567 * testsuite/23_containers/map/modifiers/insert/: ...here.
568 * testsuite/23_containers/multiset/insert/: Move...
569 * testsuite/23_containers/multiset/modifiers/insert/: ...here.
571 2006-01-06 Paolo Carlini <pcarlini@suse.de>
573 * include/bits/stl_tree.h (_Rb_tree<>::insert_unique): Rename
575 (_Rb_tree<>::insert_equal): Rename to _M_insert_equal.
576 * include/bits/stl_map.h (class map<>): Update callers.
577 * include/bits/stl_set.h (class set<>): Likewise.
578 * include/bits/stl_multimap.h (class multimap<>): Likewise.
579 * include/bits/stl_multiset.h (class multiset<>): Likewise.
581 2006-01-06 Paolo Carlini <pcarlini@suse.de>
583 * include/bits/stl_bvector.h (vector<bool>::erase(iterator,
584 iterator)): Just use _M_erase_at_end.
586 2006-01-06 Paolo Carlini <pcarlini@suse.de>
588 * include/bits/stl_bvector.h (class vector<bool>): Move all the
589 helpers under protected access mode, consistently with the primary
591 (vector<bool>::_M_erase_at_end): Add.
592 (erase(iterator, iterator), clear, resize, _M_fill_assign,
593 _M_assign_aux): Use it.
594 * testsuite/23_containers/vector/bool/modifiers/erase/1.cc: New.
596 2006-01-06 Paolo Carlini <pcarlini@suse.de>
598 Implement Option 3 of DR 431 for vector<bool>.
599 * include/bits/stl_bvector.h (class _Bvector_base): Change to
600 a struct, consistently with the primary vector template.
601 (class vector<bool>): Adjust to protected inheritance, tidy
603 (_Bvector_base<>::_M_get_Bit_allocator): Add.
604 (vector<bool>::vector(const vector&)): Use it.
605 (_Bvector_base<>::get_allocator): Tidy.
606 (vector<bool>::swap): Use __alloc_swap.
607 * testsuite/23_containers/vector/bool/modifiers/swap/1.cc: New.
608 * testsuite/23_containers/vector/bool/modifiers/swap/2.cc: New.
610 2006-01-05 Paolo Carlini <pcarlini@suse.de>
612 * testsuite/testsuite_hooks.h (test_tm(unsigned)): Change to
613 take all the tm members.
614 * testsuite/testsuite_hooks.cc (test_tm): Adjust.
615 * testsuite/22_locale/time_put/put/wchar_t/10.cc: Update.
616 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
617 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
618 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
619 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
620 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
621 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
622 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
623 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
624 * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
625 * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
626 * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
627 * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
628 * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
629 * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
630 * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
631 * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
632 * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
633 * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
634 * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
635 * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
636 * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
637 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
638 * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
639 * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
640 * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
641 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
642 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
643 * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
644 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
645 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
646 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
647 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
648 * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
649 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
650 * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
651 * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
652 * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
653 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
654 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
655 * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
656 * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
657 * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
658 * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
659 * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
660 * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
661 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
662 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
663 * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
664 * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
665 * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
666 * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
667 * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
668 * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
670 2006-01-05 Paolo Carlini <pcarlini@suse.de>
672 * testsuite/testsuite_hooks.h (test_tm(unsigned)): New.
673 * testsuite/testsuite_hooks.cc (test_tm(unsigned)): Define.
674 * testsuite/22_locale/time_put/put/wchar_t/10.cc: Use it.
675 * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
676 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
677 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
678 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
679 * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
680 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
681 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
682 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
683 * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
684 * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
685 * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
686 * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
687 * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
688 * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
689 * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
690 * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
691 * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
692 * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
693 * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
694 * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
695 * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
696 * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
697 * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
698 * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
699 * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
700 * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
701 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
702 * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
703 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
704 * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
705 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
706 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
707 * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
708 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
709 * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
710 * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
711 * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
712 * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
713 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
714 * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
715 * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
716 * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
717 * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
718 * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
719 * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
720 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
721 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
722 * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
723 * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
724 * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
725 * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
726 * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
727 * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
729 2006-01-04 Paolo Carlini <pcarlini@suse.de>
731 * include/ext/sso_string_base.h (__sso_string_base<>::_M_dataplus):
732 Use _CharT_alloc_type as base class.
733 (_M_get_allocator, _M_swap, _M_create, _M_destroy): Adjust.
734 * include/ext/vstring.h (get_allocator): Tidy.
736 2006-01-04 Paolo Carlini <pcarlini@suse.de>
738 Implement Option 3 of DR 431 for all the containers.
739 * include/bits/allocator.h (struct __alloc_swap): Add, swaps
740 allocators, optimized to nothing in case they are empty.
741 * include/bits/stl_deque.h (deque<>::swap): Use it.
742 * include/bits/stl_list.h (list<>::swap): Likewise.
743 * include/bits/stl_tree.h (_Rb_tree<>::swap): Likewise.
744 * include/bits/stl_vector.h (vector<>::swap): Likewise.
745 * include/tr1/hashtable (hashtable<>::swap): Likewise.
746 * include/ext/rc_string_base.h (__rc_string_base<>::_M_swap):
748 * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
750 * include/ext/vstring_util.h (__vstring_utility<>::_Alloc_hider):
751 Clean-up (now vstring uses the generic __alloc_swap facility).
752 * include/tr1/unordered_map: Adjust includes.
753 * include/tr1/unordered_set: Likewise.
754 * docs/html/ext/howto.html: Add an entry for DR 431.
755 * testsuite/23_containers/deque/modifiers/swap.cc: Move to...
756 * testsuite/23_containers/deque/modifiers/swap/1.cc: ... here.
757 * testsuite/23_containers/deque/modifiers/swap/2.cc: New.
758 * testsuite/23_containers/deque/modifiers/swap/3.cc: New.
759 * testsuite/23_containers/list/modifiers/swap.cc: Move to...
760 * testsuite/23_containers/list/modifiers/swap/1.cc: ... here.
761 * testsuite/23_containers/list/modifiers/swap/2.cc: New.
762 * testsuite/23_containers/list/modifiers/swap/3.cc: New.
763 * testsuite/23_containers/vector/modifiers/swap.cc: Move to...
764 * testsuite/23_containers/vector/modifiers/swap/1.cc: ... here.
765 * testsuite/23_containers/vector/modifiers/swap/2.cc: New.
766 * testsuite/23_containers/vector/modifiers/swap/3.cc: New.
767 * testsuite/23_containers/set/modifiers/swap.cc: Move to...
768 * testsuite/23_containers/set/modifiers/swap/1.cc: ... here.
769 * testsuite/23_containers/set/modifiers/swap/2.cc: New.
770 * testsuite/23_containers/set/modifiers/swap/3.cc: New.
771 * testsuite/23_containers/map/modifiers/swap.cc: Move to...
772 * testsuite/23_containers/map/modifiers/swap/1.cc: ... here.
773 * testsuite/23_containers/map/modifiers/swap/2.cc: New.
774 * testsuite/23_containers/map/modifiers/swap/3.cc: New.
775 * testsuite/23_containers/multiset/modifiers/swap.cc: Move to...
776 * testsuite/23_containers/multiset/modifiers/swap/1.cc: ... here.
777 * testsuite/23_containers/multiset/modifiers/swap/2.cc: New.
778 * testsuite/23_containers/multiset/modifiers/swap/3.cc: New.
779 * testsuite/23_containers/multimap/modifiers/swap.cc: Move to...
780 * testsuite/23_containers/multimap/modifiers/swap/1.cc: ... here.
781 * testsuite/23_containers/multimap/modifiers/swap/2.cc: New.
782 * testsuite/23_containers/multimap/modifiers/swap/3.cc: New.
783 * testsuite/tr1/6_containers/unordered/swap/unordered_set/1.cc: New.
784 * testsuite/tr1/6_containers/unordered/swap/unordered_set/2.cc: New.
785 * testsuite/tr1/6_containers/unordered/swap/unordered_map/1.cc: New.
786 * testsuite/tr1/6_containers/unordered/swap/unordered_map/2.cc: New.
787 * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/1.cc: New.
788 * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/2.cc: New.
789 * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/1.cc: New.
790 * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/2.cc: New.
792 2006-01-03 Paolo Carlini <pcarlini@suse.de>
794 * include/bits/stl_list.h (_List_base<>::_M_get_Node_allocator): Add.
795 (_M_get_Tp_allocator, get_allocator): Tidy.
796 (list<>::list(const list&), insert(iterator, size_type, const
797 value_type&), insert(iterator, _InputIterator, _InputIterator)):
798 Use _M_get_Node_allocator.
799 * include/bits/stl_tree.h (_Rb_tree<>::_M_get_Node_allocator()): Add.
800 (_Rb_tree(const _Rb_tree<>&): Use it.
801 * include/bits/stl_deque.h (_Deque_base<>::_M_get_map_allocator,
802 get_allocator): Tidy.
803 * include/bits/stl_vector.h (_Vector_base<>::get_allocator): Tidy.
804 * testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
806 * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
808 * testsuite/testsuite_allocator.h (uneq_allocator<>::swap): Fix.
810 * testsuite/testsuite_allocator.h (class uneq_allocator): A simple
811 non-empty testing allocator which can be endowed of a "personality"
812 at construction time.
814 2006-01-03 Paolo Carlini <pcarlini@suse.de>
816 * testsuite/27_io/basic_stringstream/str/char/1.cc: Initialize vars.
817 * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
818 * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise, tidy.
819 * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
821 2006-01-02 Mark Mitchell <mark@codesourcery.com>
823 * src/Makefile.am (LTLDFLAGS): New variable.
824 (CXXLINK): Use LTLDFLAGS.
825 * src/Makefile.in: Regenerated.
826 * libsupc++/Makefile.am (LTLDFLAGS): New variable.
827 (CXXLINK): Use LTLDFLAGS.
828 * libsupc++/Makefile.in: Regenerated.
830 2006-01-02 Paolo Carlini <pcarlini@suse.de>
833 * include/std/std_istream.h (basic_istream<>::_M_extract): New.
834 (operator>>(bool&), operator>>(short&), operator>>(unsigned short&),
835 operator>>(int&), operator>>(unsigned int&), operator>>(long&),
836 operator>>(unsigned long&), operator>>(long long&), operator>>
837 (unsigned long long&), operator>>(float&), operator>>(double&),
838 operator>>(long double&), operator>>(void*&)): Use it.
839 * include/bits/istream.tcc (basic_istream<>::_M_extract): Define.
840 * include/std/std_ostream.h (basic_ostream<>::_M_insert): New.
841 (operator<<(long), operator<<(unsigned long), operator<<(bool),
842 operator<<(short), operator<<(unsigned short), operator<<(int),
843 operator<<(unsigned int), operator<<(long long), operator<<
844 (unsigned long long), operator<<(double), operator<<(float),
845 operator<<(long double), operator<<(const void*): Use it.
846 * include/bits/ostream.tcc (basic_ostream<>::_M_insert): Define.
847 * src/istream-inst.cc: Add _M_extract instantiations.
848 * src/ostream-inst.cc: Add _M_insert instantiations.
849 * config/abi/pre/gnu.ver: Export the new symbols @GLIBCXX_3.4.7;
850 detail existing @GLIBCXX_3.4 exports of basic_ostream, num_put,
851 money_put, etc., symbols to avoid exporting _M_insert symbols