OSDN Git Service

gcc:
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2006-02-16  Joseph S. Myers  <joseph@codesourcery.com>
2
3         PR libstdc++/14939
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:
6         New.
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.
12
13 2006-02-12  Paolo Carlini  <pcarlini@suse.de>
14
15         PR libstdc++/26211
16         * include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
17         seekg(off_type, ios_base::seekdir)): Construct a sentry, as per
18         27.6.1.3/1.
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.
29
30 2006-02-10  Paolo Carlini  <pcarlini@suse.de>
31
32         PR libstdc++/26181
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
37         of __copy_streambufs.
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:
45         Likewise.
46         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Adjust.
47         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc:
48         Likewise.
49
50 2006-02-08  Benjamin Kosnik  <bkoz@redhat.com>
51
52         PR libstdc++/26142
53         * include/debug/debug.h: Move debug alias inside namespace std,
54         same with namespace __gnu_cxx. Add top-level __gnu_debug
55         namespace.      
56         * include/debug/hash_multimap.h: Nest within __gnu_cxx, not
57         std. Also, change nesting namespace name from __gnu_debug_def to
58         __gnu_debug.    
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.
90
91 2006-02-08  Paolo Carlini  <pcarlini@suse.de>
92
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.
105
106         * testsuite/25_algorithms/unique_copy/1.cc: Minor cosmetic changes.
107
108 2006-02-07  Jakub Jelinek  <jakub@redhat.com>
109             Benjamin Kosnik  <bkoz@redhat.com>
110
111         * configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
112         If true, set also port_specific_symbol_files and create
113         as_symver_specs.
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
119         exported.
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
136         specializations.
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
144         symbols.
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]:
155         Likewise.
156         * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
157         Likewise.
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.
161         (sources): Use it.
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.    
166
167 2006-02-07  Paolo Carlini  <pcarlini@suse.de>   
168
169         * include/tr1/hashtable: Trivial formatting fixes.
170
171 2006-02-07  Paolo Carlini  <pcarlini@suse.de>
172             Zak Kipling  <zak@transversal.com>
173
174         PR libstdc++/26127
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.
178
179 2006-02-07  Paolo Carlini  <pcarlini@suse.de>
180
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.     
192
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.
197
198         * docs/html/ext/tr1.html: Update.
199         
200         * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.
201
202         * include/Makefile.in: Regenerate.
203         * config.h.in: Likewise.
204         * configure: Likewise.
205
206 2006-02-07  Mark Mitchell  <mark@codesourcery.com>
207
208         * testsuite/testsuite_tr1.h (test_property): New function.
209         * testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc 
210         (test01) 
211
212 2006-02-05  Paolo Carlini  <pcarlini@suse.de>
213
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.
220
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
227         <wctype.h> checks.
228
229         * include/Makefile.in: Regenerate.
230         * config.h.in: Likewise.
231         * configure: Likewise.
232
233 2006-02-04  Paolo Carlini  <pcarlini@suse.de>
234
235         * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Fix.
236
237 2006-02-04  Paolo Carlini  <pcarlini@suse.de>
238
239         * testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: Avoid
240         warning on string constant.
241
242 2006-02-03  Paolo Carlini  <pcarlini@suse.de>
243
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
253         <wctype.h> checks.
254         * docs/html/ext/tr1.html: Update.
255         * include/Makefile.in: Regenerate.
256         * config.h.in: Likewise.
257         * configure: Likewise.
258
259         * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Cosmetic tweak.
260
261 2006-02-02  Paolo Carlini  <pcarlini@suse.de>
262
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.
277
278         * include/tr1/cctype: Include <cctype> instead.
279
280 2006-01-31  Paolo Carlini  <pcarlini@suse.de>
281
282         PR libstdc++/21554
283         * include/tr1/array (array<>::_M_instance): Maximally align.
284         * testsuite/ext/array_allocator/2.cc: Do not xfail for powerpc.
285
286 2006-01-31  Ed Smith-Rowland  <3dw4rd@verizon.net>
287
288         * docs/html/faq/index.html ([1.0]): Replace references to CVS
289         with appropriate references to SVN.
290         ([1.3]): Likewise.
291         ([1.4]): Likewise.
292         ([2.3]): Likewise.
293         * docs/html/faq/index.txt: Regenerated.
294
295 2006-01-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
296
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.
303
304 2006-01-30  Paolo Carlini  <pcarlini@suse.de>
305
306         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Do the <inttypes.h>
307         checks only if the <stdint.h> checks are successful.
308         * configure: Regenerate.
309
310 2006-01-30  Paolo Carlini  <pcarlini@suse.de>
311
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.
321
322         * testsuite/tr1/8_c_compatibility/cfenv/functions.cc: Cosmetic tweak.
323         * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
324
325         * testsuite/tr1/8_c_compatibility/cstdint/types.cc: Fix, check in
326         std::tr1.
327
328 2006-01-29  Paolo Carlini  <pcarlini@suse.de>
329
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.
338
339         * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Cosmetic tweak.
340
341 2006-01-29  Paolo Carlini  <pcarlini@suse.de>
342
343         PR libstdc++/26006
344         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten <ctype.h> and
345         <fenv.h> checks.
346         * configure: Regenerate.
347
348 2006-01-26  Paolo Carlini  <pcarlini@suse.de>
349
350         * include/std/std_bitset.h (bitset<>::_M_copy_to_string):
351         Call the internal _Unchecked_set(size_t) instead of set.
352
353 2006-01-26  Paolo Carlini  <pcarlini@suse.de>
354
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.
358
359 2006-01-26  Paolo Carlini  <pcarlini@suse.de>
360
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.  
370
371         * testsuite/tr1/8_c_compatibility/complex/functions.cc: Tweak.
372         * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Likewise.
373
374         * docs/html/faq/index.html: Fix link to tr1.html text; fix
375         formatting.
376
377 2006-01-25  Paolo Carlini  <pcarlini@suse.de>
378
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.
383
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.
390
391 2006-01-25  Benjamin Kosnik  <bkoz@redhat.com>
392
393         * docs/html/configopts.html: Tweak docs.
394
395         * libsupc++/eh_personality.cc: Fix typos.
396
397 2006-01-24  Paolo Carlini  <pcarlini@suse.de>
398
399         PR libstdc++/25649
400         * include/std/std_istream.h (operator>>(short&), operator>>(int&)):
401         Move out of line...
402         * include/bits/istream.tcc: ... here.
403         * include/std/std_ostream.h (operator<<(short), operator<<(int)):
404         Move out of line...
405         * include/bits/ostream.tcc: ... here.
406
407 2006-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
408
409         * docs/html/faq/index.html ([5.2]): Mention TR1 and point to
410         paragraph [5.5], describing it.
411         ([5.5]): New.
412         * docs/html/ext/tr1.html: New.
413
414 2006-01-20  Benjamin Kosnik  <bkoz@redhat.com>
415
416         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Verbose ld version
417         reporting.  Disable --gc-sections for old binutils, by version.
418         * configure: Regenerate.
419
420 2006-01-20  Joseph S. Myers  <joseph@codesourcery.com>
421
422         PR libstdc++/25524
423         * include/Makefile.am: Install host-specific headers in multilib
424         subdirectory.
425         * include/Makefile.in: Regenerate.
426
427 2006-01-19  Paolo Carlini  <pcarlini@suse.de>
428
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.
436
437 2006-01-19  H.J. Lu  <hongjiu.lu@intel.com>
438
439         PR libstdc++/25797
440         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Remove -Werror
441         from CFLAGS.  Check if linker really supports --gc-sections.
442         * configure: Regenerated.
443
444 2006-01-18  Paul Brook  <paul@codesourcery.com>
445
446         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort.
447
448 2006-01-18  Paolo Carlini  <pcarlini@suse.de>
449
450         * include/bits/allocator.h: Include <bits/cpp_type_traits.h>.
451
452 2006-01-18  Perry Smith  <pedz@easesoftware.net>
453
454         PR libstdc++/25823
455         PR libstdc++/25824
456         * libsupc++/eh_alloc.cc: Fix return type of memset declaration.
457         * libsupc++/eh_globals.cc: If !_GLIBCXX_HOSTED declare malloc and free.
458
459 2006-01-18  Paolo Carlini  <pcarlini@suse.de>
460
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.
468
469 2006-01-16  Benjamin Kosnik  <bkoz@redhat.com>
470
471         PR libstdc++/25797
472         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Add -Werror to
473         CFLAGS for --gc-sections test.  Correct compile test.
474         * configure: Regenerated.
475         
476 2006-01-15  Paolo Carlini  <pcarlini@suse.de>
477             Gabriel Dos Reis  <gdr@integrable-solutions.net>
478
479         PR libstdc++/25626
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<>)):
487         New.
488
489 2006-01-15  Paolo Carlini  <pcarlini@suse.de>
490
491         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
492         Fix norm test, use casts everywhere.
493
494 2006-01-14  Paolo Carlini  <pcarlini@suse.de>
495
496         * testsuite/testsuite_tr1.h: Add missing include; use std::__are_same.
497
498 2006-01-14  Paolo Carlini  <pcarlini@suse.de>
499
500         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
501         Fix wrong test (don't pick by mistake the (const complex<>&, int)
502         overload); add some.
503
504 2006-01-13  Paolo Carlini  <pcarlini@suse.de>
505             Howard Hinnant  <hhinnant@apple.com>
506
507         * include/tr1/complex (arg, conj, imag, norm, polar, pow, real):
508         Add, implementing TR1, 8.1.9.
509         (__promote_2): New.
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.
516
517 2006-01-12  Benjamin Kosnik  <bkoz@redhat.com>
518
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.
526                 
527 2006-01-12  Jan Beulich  <jbeulich@novell.com>
528
529         * crossconfig.m4: Add AC_DEFINE-s for HAVE_HYPOT, HAVE_ISINF, and
530         HAVE_ISNAN for *-*-netware*.
531         * configure: Refresh.
532
533 2006-01-11  Benjamin Kosnik  <bkoz@redhat.com>
534
535         * acinclude.m4(GLIBCXX_CHECK_LINKER_FEATURES): Use -Wl,-z,relro if
536         possible.  
537         * configure: Regenerate.
538
539 2006-01-10  Paolo Carlini  <pcarlini@suse.de>
540
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.
546
547 2006-01-09  Paolo Carlini  <pcarlini@suse.de>
548
549         PR libstdc++/25658
550         * testsuite/23_containers/deque/cons/assign/1.cc: Divide
551         sizes by 10.
552
553 2006-01-08  Paolo Carlini  <pcarlini@suse.de>
554
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.
563
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.
570
571 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
572
573         * include/bits/stl_tree.h (_Rb_tree<>::insert_unique): Rename
574         to _M_insert_unique.
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.
580
581 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
582
583         * include/bits/stl_bvector.h (vector<bool>::erase(iterator,
584         iterator)): Just use _M_erase_at_end.
585
586 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
587
588         * include/bits/stl_bvector.h (class vector<bool>): Move all the
589         helpers under protected access mode, consistently with the primary
590         vector template.
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.
595
596 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
597
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
602         typedefs.
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.
609
610 2006-01-05  Paolo Carlini  <pcarlini@suse.de>
611         
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.
669
670 2006-01-05  Paolo Carlini  <pcarlini@suse.de>
671         
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.
728
729 2006-01-04  Paolo Carlini  <pcarlini@suse.de>
730
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.
735
736 2006-01-04  Paolo Carlini  <pcarlini@suse.de>
737
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):
747         Likewise.
748         * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
749         Likewise.
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.
791
792 2006-01-03  Paolo Carlini  <pcarlini@suse.de>
793
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
805         line numbers.
806         * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
807         
808         * testsuite/testsuite_allocator.h (uneq_allocator<>::swap): Fix.
809
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.
813
814 2006-01-03  Paolo Carlini  <pcarlini@suse.de>
815
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.
820
821 2006-01-02  Mark Mitchell  <mark@codesourcery.com>
822
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.
829
830 2006-01-02  Paolo Carlini  <pcarlini@suse.de>
831
832         PR libstdc++/24645
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
852         @GLIBCXX_3.4.