OSDN Git Service

2010-03-02 Paolo Carlini <paolo.carlini@oracle.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>
2
3         * include/std/bitset (_Base_bitset<>::_M_getdata()): Add.
4         (hash<_GLIBCXX_STD_D::bitset<_Nb>>): Add, use the latter.
5         * include/debug/bitset (hash<std::__debug::bitset<_Nb>>): Add.
6         * include/profile/bitset (hash<std::__profile::bitset<_Nb>>): Likewise.
7         * testsuite/23_containers/bitset/hash/1.cc: New.
8
9 2010-03-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
10
11         PR libstdc++/43183
12         * include/bits/unique_ptr.h (reset): Fix as per working paper.
13         (operator*, operator->, operator[], operator bool, release): Use
14         pointer's null value instead of 0.
15         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust.
16         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
17         * testsuite/20_util/unique_ptr/modifiers/43183.cc: New.
18
19 2010-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
20
21         * include/std/iomanip (get_money, put_money): Add in C++0x mode; tidy.
22         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: New.
23         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
24         Likewise.
25         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
26         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
27         Likewise.
28
29 2010-03-01  Benjamin Kosnik  <bkoz@redhat.com>
30
31         * include/bits/atomicfwd_cxx.h: Add typedefs to group.
32
33 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
34
35         PR libstdc++/32499
36         * testsuite/Makefile.am (check-DEJAGNU
37         $(check_DEJAGNU_normal_targets)): Export AR, RANLIB.
38         * testsuite/Makefile.in: Regenerate.
39
40 2010-02-28  Gerald Pfeifer  <gerald@pfeifer.com>
41
42         * doc/html/ext/pb_ds/references.html: Adjust link to SGI's STL
43         site.
44
45 2010-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
46
47        * src/hash-long-double-aux.cc (hash<long double>::
48        operator()(long double)): Hash both -0 and +0 to 0.
49
50 2010-02-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
51
52         * include/bits/random.tcc (operator<<): Use max_digits10.
53
54 2010-02-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
55
56         * include/std/limits (__numeric_limits_base::max_digits10,
57         numeric_limits<>::max_digits10, numeric_limits<>::lowest): Add.
58         * src/limits.cc: Define max_digits10.
59         * config/abi/pre/gnu.ver: Adjust.
60         * testsuite/18_support/numeric_limits/dr559.cc: Test max_digits10
61         and lowest too.
62         * testsuite/18_support/numeric_limits/lowest.cc: New.
63         * testsuite/18_support/numeric_limits/max_digits10.cc: New.
64
65 2010-02-25  Paolo Carlini  <paolo.carlini@oracle.com>
66
67         * include/bits/functional_hash.h (__hash_combine): Remove.
68         (_Fnv_hash_base<>::hash(const char*, size_t)): Add defaulted
69         hash parameter.
70         (_Fnv_hash::__hash_combine(const _Tp&, size_t)): Add.
71         * include/std/system_error (hash<system_error>): Adjust.
72         * src/compatibility-c++0x.cc (hash<system_error>): Likewise.
73
74 2010-02-24  Benjamin Kosnik  <bkoz@redhat.com>
75
76         * doc/xml/faq.xml: Adjust structure for pdf index.
77         * doc/xml/manual/mt_allocator.xml: Same.
78         * doc/xml/manual/allocator.xml: Same.
79         * doc/xml/manual/ctype.xml: Same.
80         * doc/xml/manual/numerics.xml: Same.
81         * doc/xml/manual/codecvt.xml: Same.
82         * doc/xml/manual/intro.xml: Same.
83         * doc/xml/manual/shared_ptr.xml: Same.
84         * doc/xml/manual/status_cxxtr1.xml: Same.
85         * doc/xml/manual/auto_ptr.xml: Same.
86         * doc/xml/manual/internals.xml: Same.
87         * doc/xml/manual/status_cxx1998.xml: Same.
88         * doc/xml/manual/parallel_mode.xml: Same.
89         * doc/xml/manual/profile_mode.xml: Same.
90         * doc/xml/manual/containers.xml: Same.
91         * doc/xml/manual/io.xml: Same.
92         * doc/xml/manual/concurrency_extensions.xml: Same.
93         * doc/xml/manual/appendix_porting.xml: Same.
94         * doc/xml/manual/utilities.xml: Same.
95         * doc/xml/manual/support.xml: Same.
96         * doc/xml/manual/bitmap_allocator.xml: Same.
97         * doc/xml/manual/configure.xml: Same.
98         * doc/xml/manual/build_hacking.xml: Same.
99         * doc/xml/manual/evolution.xml: Same.
100         * doc/xml/manual/using.xml: Same.
101         * doc/xml/manual/debug.xml: Same.
102         * doc/xml/manual/localization.xml: Same.
103         * doc/xml/manual/strings.xml: Same.
104         * doc/xml/manual/debug_mode.xml: Same.
105         * doc/xml/manual/locale.xml: Same.
106         * doc/xml/manual/extensions.xml: Same.
107         * doc/xml/manual/appendix_contributing.xml: Same.
108         * doc/xml/manual/prerequisites.xml: Same.
109         * doc/xml/manual/messages.xml: Same.
110         * doc/xml/manual/diagnostics.xml: Same.
111         * doc/xml/manual/algorithms.xml: Same.
112         * doc/xml/manual/appendix_free.xml: Same.
113         * doc/xml/manual/iterators.xml: Same.
114         * doc/xml/manual/spine.xml: Same.
115         * doc/xml/manual/status_cxxtr24733.xml: Same.
116         * doc/xml/manual/status_cxx200x.xml: Same.
117         * doc/Makefile.am: Refactor.
118         * doc/Makefile.in: Regenerate.
119
120         * include/bits/c++0x_warning.h: Tweak doxygen file markup.
121
122 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
123
124         * testsuite/ext/new_allocator/deallocate_global.cc: Require
125         __cxa_atexit.
126         * testsuite/ext/throw_allocator/deallocate_global.cc: Likewise.
127
128 2010-02-23  Benjamin Kosnik  <bkoz@redhat.com>
129
130         * doc/xml/manual/concurrency.xml: Move...
131         * doc/xml/manual/concurrency_extensions.xml: ...here.
132         * doc/xml/manual/extensions.xml: Adjust.
133         * doc/Makefile.am: Adjust.
134         * doc/Makefile.in: Regenerate.
135
136 2010-02-23  Benjamin Kosnik  <bkoz@redhat.com>
137
138         * include/bits/random.h: Doxygen group markup fixes.
139
140 2010-02-23  Paolo Carlini  <paolo.carlini@oracle.com>
141
142         * include/bits/functional_hash.h (struct _Fnv_hash): Rename
143         to _Fnv_hash_base.
144         (struct _Fnv_hash): Add, derives from the latter.
145         (__hash_combine): Add.
146         (hash<float>::operator()(float), hash<double>::operator()(double)):
147         Adjust.
148         * include/bits/basic_string.h (hash<string>, hash<wstring>,
149         hash<u16string>, hash<u32string>): Adjust.
150         * src/hash-string-aux.cc: Adjust.
151         * src/compatibility-c++0x.cc (hash<error_code>): Use __hash_combine.
152         * include/std/system_error (hash<error_code>): Likewise.
153         * include/std/thread (struct hash<thread::id>): Add.
154         * include/tr1/functional_hash.h : Rename to _Fnv_hash_base.
155         (struct _Fnv_hash): Add, derives from the latter.
156         (hash<float>::operator()(float), hash<double>::operator()(double)):
157         Adjust.
158         * testsuite/30_threads/thread/id/hash.cc: New.
159         * testsuite/30_threads/thread/cons/assign_neg.cc: Adjust dg-error
160         line number.
161         * testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.
162
163 2010-02-22  Janis Johnson  <janis187@us.ibm.com>
164
165         * src/compatibility-ldbl.cc: Include new hash-long-double-aux.cc.
166
167 2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>
168
169         * src/hash-aux.cc: Rename to...
170         * src/hash-string-aux.cc: ... this.
171         * src/hash-long-double-aux.cc: New.
172         * src/hash_c++0x.cc: Adjust.
173         * src/hash_tr1.cc: Likewise.
174         * src/compatibility-c++0x.cc: Likewise.
175
176 2010-02-22  Benjamin Kosnik  <bkoz@redhat.com>
177
178         * doc/xml/class.txml: Adjust biblio markup.
179         * doc/xml/manual/allocator.xml: Same.
180         * doc/xml/manual/ctype.xml: Same.
181         * doc/xml/manual/codecvt.xml: Same.
182         * doc/xml/manual/backwards_compatibility.xml: Same.
183         * doc/xml/manual/abi.xml: Same.
184         * doc/xml/manual/shared_ptr.xml: Same.
185         * doc/xml/manual/profile_mode.xml: Same.
186         * doc/xml/manual/using_exceptions.xml: Same.
187         * doc/xml/manual/locale.xml: Same.
188         * doc/xml/manual/appendix_contributing.xml: Same.
189         * doc/xml/manual/messages.xml: Same.
190         * doc/Makefile.am (DBLATEX_FLAGS): Adjust.
191         * doc/Makefile.in: Regenerate.
192
193 2010-02-22  François Dumont  <francois.cppdevs@free.fr>
194
195        * doc/xml/manual/profile_mode.xml: Minor updates and fixes.
196        * doc/xml/manual/debug_mode.xml: Likewise.
197        * doc/xml/manual/test.xml: Likewise.
198
199 2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>
200
201         * include/tr1_impl/complex (arg): Use std::signbit only when
202         available.
203
204 2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>
205
206         * include/bits/functional_hash.h (hash<string>, hash<wstring>,
207         hash<u16string>, hash<u32string>, hash<error_code>): Move, per
208         DR 1182 to...
209         * include/bits/basic_string.h: ... here.
210         * include/std/system_error: ... and here, respectively.
211         * src/hash-aux.cc (hash<long double>::operator()(long double)):
212         Move definition...
213         * src/hash_c++0x.cc: ... here, new file.
214         * src/hash_tr1.cc: ... and here, tweak includes.
215         * src/compatibility-c++0x.cc (hash, _Fnv_hash): Remove.
216         * src/Makefile.am: Adjust.
217         * src/Makefile.in: Regenerate.
218         * include/std/functional: Include <bits/functexcept.h>.
219         * include/std/unordered_set: Remove redundant include.
220         * include/std/unordered_map: Likewise.
221         * include/tr1/functional_hash.h: Remove spurious trailing semicolon.
222         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Remove
223         dg-excess.
224
225 2010-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
226
227         * include/std/complex (proj): Change return type per DR 1137.
228         (conj): Copy from tr1_impl, likewise adjust return type.
229         * include/tr1_impl/complex (conj): Remove.
230         * include/tr1/complex (conj): Add both overloads.
231         * testsuite/26_numerics/complex/dr781.cc: Rename to...
232         * testsuite/26_numerics/complex/dr781_dr1137.cc: ... this, and extend.
233
234         * include/tr1_impl/complex (arg): Optimize.
235
236 2010-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
237
238         * testsuite/20_util/is_trivial/requirements/typedefs.cc: New.
239         * testsuite/20_util/is_trivial/requirements/
240         explicit_instantiation.cc: Likewise.
241         * testsuite/20_util/is_pod/value.cc: Likewise.
242         * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise.
243         * testsuite/20_util/is_pod/requirements/
244         explicit_instantiation.cc: Likewise.
245         * testsuite/20_util/is_standard_layout/requiremenents/
246         typedefs.cc: Likewise.
247         * testsuite/20_util/is_standard_layout/requiremenents/
248         explicit_instantiation.cc: Likewise.
249
250 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
251
252         PR c++/35669
253         * testsuite/18_support/headers/cstddef/macros.cc: Add
254         -Wno-conversion-null.
255
256 2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>
257
258         * include/tr1_impl/array (array): Add pointer and const_pointer
259         typedefs in C++0x mode, per DR 1306.
260         * testsuite/util/testsuite_containers.h (basic_types): Add pointer
261         and const_pointer typedefs.
262         (pointer_aware_types): Remove.
263         * testsuite/util/testsuite_container_traits.h: Adjust.
264
265 2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>
266
267         * include/bits/stl_algo.h (for_each): Implement resolution of DR 1110.
268         * testsuite/25_algorithms/for_each/1.cc: New.
269
270 2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>
271
272         * include/bits/shared_ptr_base.h (__weak_ptr): Remove deleted
273         comparison operators, per DR 1256.
274         * include/bits/shared_ptr.h (weak_ptr): Likewise.
275         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.
276
277 2010-02-18  Benjamin Kosnik  <bkoz@redhat.com>
278
279         * scripts/run_doxygen: Add shortnames option.
280         * doc/Makefile.am (doc-man-doxygen): Use it.
281         (doc-html-doxygen): Use it.
282         (doc-xml-doxygen): Use it, but default to NO.
283         (doc-pdf-dblatex): Add.
284         * doc/Makefile.in: Regenerate.
285         * doc/doxygen/user.cfg.in: Update filelist.
286         * include/bits/locale_facets.h: Fix markup warning.
287
288 2010-02-18  Benjamin Kosnik  <bkoz@redhat.com>
289
290         * doc/xml/manual/using.xml: Update.
291         * doc/xml/manual/status_cxx1998.xml: Same.
292         * doc/xml/manual/status_cxx200x.xml: Add link.
293         * doc/html/*: Regenerate.
294
295         * testsuite/17_intro/freestanding.cc: Add.
296
297 2010-02-18  Paolo Carlini  <paolo.carlini@oracle.com>
298
299         * libsupc++/typeinfo: Add system_header pragma.
300         * libsupc++/exception: Likewise.
301         * libsupc++/cxxabi-forced.h: Likewise.
302         * libsupc++/new: Likewise.
303         * libsupc++/cxxabi.h: Likewise.
304         * libsupc++/initializer_list: Likewise.
305
306 2010-02-18  Paolo Carlini  <paolo.carlini@oracle.com>
307
308         * libsupc++/nested_exception.h: Fix <bits/c++0x_warning.h> include.
309
310 2010-02-17  Benjamin Kosnik  <bkoz@redhat.com>
311
312         * doc/xml/manual/appendix_contributing.xml: Update markup rules
313         for quoting and functions.
314
315 2010-02-17  Chris Jefferson  <chris@bubblescope.net>
316
317         * include/bits/locale_facets.h (__convert_to_v): Add empty
318         exception-specification.
319
320 2010-02-17  Paolo Carlini  <paolo.carlini@oracle.com>
321
322         * include/std/limits: Implement resolution of DR 559 (CD1) in
323         C++0x mode.
324         * testsuite/18_support/numeric_limits/dr559.cc: New.
325
326 2010-02-16  Benjamin Kosnik  <bkoz@redhat.com>
327
328         * src/ios_locale.cc: Fixes for -pedantic.
329         * src/system_error.cc: Same.
330         * src/locale.cc: Same.
331         * src/list.cc: Same.
332         * src/locale_facets.cc: Same.
333         * src/locale_init.cc: Same.
334         * src/ios.cc: Same.
335         * config/locale/darwin/ctype_members.cc: Same.
336         * config/locale/gnu/collate_members.cc: Same.
337         * config/locale/gnu/ctype_members.cc: Same.
338         * config/locale/gnu/c_locale.cc: Same.
339         * config/locale/gnu/monetary_members.cc: Same.
340         * config/locale/gnu/time_members.cc: Same.
341         * config/locale/ieee_1003.1-2001/c_locale.cc: Same.
342         * config/locale/generic/collate_members.cc: Same.
343         * config/locale/generic/ctype_members.cc: Same.
344         * config/locale/generic/c_locale.cc: Same.
345         * config/locale/generic/monetary_members.cc: Same.
346         * config/locale/generic/time_members.cc: Same.
347         * config/io/basic_file_stdio.cc: Same.
348
349         * libsupc++/pbase_type_info.cc: Fixes for -fno-rtti.
350         * libsupc++/pointer_type_info.cc: Same.
351         * libsupc++/eh_personality.cc: Same.
352
353         * include/std/system_error: Throw spacing.
354         * include/bits/locale_classes.h: Same.
355         * include/bits/locale_facets.h: Same.
356         * include/bits/ios_base.h: Same.
357
358         * testsuite/17_intro/headers/c++200x/all_no_rtti.cc: New.
359         * testsuite/17_intro/headers/c++1998/all_no_rtti.cc: New.
360
361 2010-02-16  Paolo Carlini  <paolo.carlini@oracle.com>
362
363         * include/bits/random.h (linear_congruential_engine(_Sseq&),
364         mersenne_twister_engine(_Sseq&), subtract_with_carry_engine(_Sseq&)):
365         Do not enable for the type itself.
366         (discard_block_engine(_Sseq&), independent_bits_engine(_Sseq&),
367         shuffle_order_engine(_Sseq&)): Do not enable for the type itself too.
368         (linear_congruential_engine<>::seed(_Sseq&),
369         mersenne_twister_engine<>::seed(_Sseq&),
370         subtract_with_carry_engine<>::seed(_Sseq&)): Use enable_if on the
371         return type.
372         (discard_block_engine<>::seed(_Sseq&),
373         independent_bits_engine<>::seed(_Sseq&),
374         shuffle_order_engine<>::seed(_Sseq&)): Do not use enable_if.
375         * include/bits/random.tcc: Adjust definitions.
376         * testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc:
377         New.
378         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
379         copy.cc: Likewise.
380         * testsuite/26_numerics/random/discard_block_engine/cons/
381         copy.cc: Likewise.
382         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
383         copy.cc: Likewise.
384         * testsuite/26_numerics/random/linear_congruential_engine/cons/
385         copy.cc: Likewise.
386         * testsuite/26_numerics/random/shuffle_order_engine/cons/
387         copy.cc: Likewise.
388
389         * testsuite/26_numerics/random/independent_bits_engine/cons/
390         base_move.cc: Minor tweaks.
391         * testsuite/26_numerics/random/independent_bits_engine/cons/seed1.cc:
392         Likewise.
393         * testsuite/26_numerics/random/independent_bits_engine/cons/seed2.cc:
394         Likewise.
395         * testsuite/26_numerics/random/independent_bits_engine/cons/
396         base_copy.cc: Likewise.
397         * testsuite/26_numerics/random/independent_bits_engine/cons/
398         default.cc: Likewise.
399         * testsuite/26_numerics/random/independent_bits_engine/cons/
400         seed_seq.cc: Likewise.
401         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
402         seed1.cc: Likewise.
403         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
404         seed2.cc: Likewise.
405         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
406         default.cc: Likewise.
407         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
408         seed_seq.cc: Likewise.
409         * testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc:
410         Likewise.
411         * testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc:
412         Likewise.
413         * testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc:
414         Likewise.
415         * testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc:
416         Likewise.
417         * testsuite/26_numerics/random/discard_block_engine/cons/default.cc:
418         Likewise.
419         * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc:
420         Likewise.
421         * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed1.cc:
422         Likewise.
423         * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed2.cc:
424         Likewise.
425         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
426         default.cc: Likewise.
427         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
428         seed_seq.cc: Likewise.
429         * testsuite/26_numerics/random/linear_congruential_engine/cons/
430         seed1.cc: Likewise.
431         * testsuite/26_numerics/random/linear_congruential_engine/cons/
432         seed2.cc: Likewise.
433         * testsuite/26_numerics/random/linear_congruential_engine/cons/
434         seed_seq.cc: Likewise.
435         * testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc:
436         Likewise.
437         * testsuite/26_numerics/random/shuffle_order_engine/cons/seed1.cc:
438         Likewise.
439         * testsuite/26_numerics/random/shuffle_order_engine/cons/seed2.cc:
440         Likewise.
441         * testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc:
442         Likewise.
443         * testsuite/26_numerics/random/shuffle_order_engine/cons/default.cc:
444         Likewise.
445         * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq.cc:
446         Likewise.
447
448 2010-02-16  Paolo Carlini  <paolo.carlini@oracle.com>
449
450         * include/bits/unique_ptr.h: (unique_ptr<>::
451         unique_ptr(const unique_ptr<_Up, _Up_Deleter>&),
452         operator=(const unique_ptr<_Up, _Up_Deleter>&)): Remove, redundant,
453         per DR 1303.
454         * include/bits/shared_ptr.h (shared_ptr<>::
455         shared_ptr(const unique_ptr<_Up, _Up_Deleter>&),
456         operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise.
457         * include/bits/shared_ptr_base.h (__shared_ptr<>::
458         __shared_ptr(const unique_ptr<_Up, _Up_Deleter>&),
459         operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise.
460         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
461         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.
462         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
463         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
464         Likewise.
465
466 2010-02-15  Paolo Carlini  <paolo.carlini@oracle.com>
467
468         * testsuite/ext/median.cc: Adjust.
469
470 2010-02-15  Paolo Carlini  <paolo.carlini@oracle.com>
471
472         * include/bits/stl_algo.h (__median): Move...
473         * include/ext/algorithm: ... here, being an SGI extension.
474
475 2010-02-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
476             Paolo Carlini  <paolo.carlini@oracle.com>
477
478         PR libstdc++/42819, DR 1315
479         * include/std/future (async): Use std::result_of for the template
480         argument of the std::future return type; adjust everywhere.
481         * testsuite/30_threads/async/42819.cc: New.
482         * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust
483         dg-error line number.
484         * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
485         * testsuite/30_threads/future/cons/assign_neg.cc: Likewise.
486         * testsuite/30_threads/future/cons/copy_neg.cc: Likewise.
487         * testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
488         * testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
489
490 2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
491
492         * config/abi/pre/gnu.ver: Revert last changes.
493
494 2010-02-11  Jason Merrill  <jason@redhat.com>
495
496         * include/std/thread (~_Impl_base): Declare inline.
497         * libsupc++/nested_exception.h (~nested_exception): Likewise.
498
499 2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
500
501         PR libstdc++/41975, DR 579
502         * include/bits/hashtable.h (_Hashtable<>::_M_erase_node): Remove.
503         (erase(const_iterator), erase(const_iterator, const_iterator)):
504         Change return type to void.
505         * include/debug/unordered_map: Adjust.
506         * include/debug/unordered_set: Likewise.
507         * testsuite/util/exception/safety.h: Likewise.
508         * testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
509         * testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
510         * testsuite/23_containers/unordered_set/erase/1.cc:  Likewise.
511         * testsuite/23_containers/unordered_set/erase/24061-map.cc: Likewise.
512         * testsuite/23_containers/unordered_multimap/erase/1.cc:  Likewise.
513         * testsuite/23_containers/unordered_multimap/erase/24061-map.cc:
514         Likewise.
515         * testsuite/23_containers/unordered_multiset/erase/1.cc:  Likewise.
516         * testsuite/23_containers/unordered_multiset/erase/24061-map.cc:
517         Likewise.
518
519 2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
520
521         * config/abi/pre/gnu.ver: Avoid exporting inadvertently
522         std::nested_exception symbols at GLIBCXX_3.4.
523
524 2010-02-10  Jason Merrill  <jason@redhat.com>
525
526         Core issue 906
527         * include/std/thread (~_Impl_base): Move defaulted dtor out of line.
528         * libsupc++/nested_exception.h (~nested_exception): Likewise.
529         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
530         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
531
532 2010-02-10  Paolo Carlini  <paolo.carlini@oracle.com>
533
534         * include/tr1/hashtable.h: Fold in include/tr1_impl/hashtable.h
535         contents.
536         * include/tr1_impl/hashtable.h: Remove.
537         * include/tr1_impl/hashtable_policy.h: Move and rename...
538         * include/tr1/hashtable_policy.h: ... here.
539         * include/tr1_impl/unordered_map: Move and rename...
540         * include/tr1/unordered_map.h: ... here.
541         * include/tr1_impl/unordered_set: Move and rename...
542         * include/tr1/unordered_set.h: ... here.
543         * include/tr1_impl/unordered_map: Move and rename...
544         * include/tr1/unordered_map.h: ... here.
545         * include/tr1/unordered_map: Adjust.
546         * include/tr1/unordered_set: Likewise.
547         * include/Makefile.am: Adjust.
548         * include/Makefile.in: Regenerate.
549
550         * include/std/c++0x_warning.h: Move...
551         * include/bits/c++0x_warning.h: ... here.
552         * include/debug/unordered_map: Adjust.
553         * include/debug/unordered_set: Likewise.
554         * include/std/tuple: Likewise.
555         * include/std/system_error: Likewise.
556         * include/std/forward_list: Likewise.
557         * include/std/thread: Likewise.
558         * include/std/type_traits: Likewise.
559         * include/std/future: Likewise.
560         * include/std/regex: Likewise.
561         * include/std/atomic: Likewise.
562         * include/std/ratio: Likewise.
563         * include/std/random: Likewise.
564         * include/std/unordered_map: Likewise.
565         * include/std/chrono: Likewise.: Likewise.
566         * include/std/condition_variable: Likewise.
567         * include/std/mutex: Likewise.
568         * include/std/unordered_set: Likewise.
569         * include/std/array: Likewise.
570         * include/profile/unordered_map: Likewise.
571         * include/profile/unordered_set: Likewise.
572         * include/c_global/cinttypes: Likewise.
573         * include/c_global/ctgmath: Likewise.
574         * include/c_global/cfenv: Likewise.
575         * include/c_global/cstdint: Likewise.
576         * include/c_global/cstdbool: Likewise.
577         * include/c_global/ccomplex: Likewise.
578
579         * include/bits/shared_ptr.h: Do not include <bits/c++0x_warning.h>
580         at all, the file is not meant to be included by the users.
581         * include/bits/functional_hash.h: Likewise.
582         * include/bits/unique_ptr.h: Likewise.
583         * include/bits/forward_list.h: Likewise.
584
585         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-*
586         line numbers.
587         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
588         * testsuite/23_containers/forward_list/requirements/dr438/
589         assign_neg.cc: Likewise.
590         * testsuite/23_containers/forward_list/requirements/dr438/
591         insert_neg.cc: Likewise.
592         * testsuite/23_containers/forward_list/requirements/dr438/
593         constructor_1_neg.cc: Likewise.
594         * testsuite/23_containers/forward_list/requirements/dr438/
595         constructor_2_neg.cc: Likewise.
596         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Likewise.
597         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.
598
599 2010-02-10  Paolo Carlini  <paolo.carlini@oracle.com>
600
601         * include/bits/hashtable.h: Fold in include/tr1_impl/hashtable.h
602         for C++0x use.
603         * include/bits/hashtable_policy.h: New, copy and adjust for
604         C++0x use, include/tr1_impl/hashtable_policy.h; fix erase and
605         insert member functions per n3000.
606         * include/bits/unordered_map.h: Likewise for include/tr1_impl/
607         unordered_map.
608         * include/bits/unordered_set.h: Likewise for include/tr1_impl/
609         unordered_set.
610         * include/Makefile.am: Adjust.
611         * include/Makefile.in: Regenerate.
612         * include/tr1/unordered_map: Adjust.
613         * include/tr1/unordered_set: Likewise.
614         * include/tr1_impl/unordered_map: Adjust, now used only by tr1.
615         * include/tr1_impl/hashtable: Likewise.
616         * include/tr1_impl/hashtable_policy.h: Likewise.
617         * include/tr1_impl/unordered_set: Likewise.
618         * include/std/unordered_map: Adjust and simplify includes.
619         * include/std/unordered_set: Likewise.
620         * include/debug/unordered_map: Adjuse erase and insert members.
621         * include/debug/unordered_set: Likewise.
622         * include/profile/unordered_map: Likewise.
623         * include/profile/unordered_set: Likewise.
624         * testsuite/util/exception/safety.h: Fix for the updated erase and
625         insert member functions of the unordered_containers.
626         * testsuite/23_containers/unordered_map/erase/1.cc: New.
627         * testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
628         * testsuite/23_containers/unordered_map/insert/map_single.cc:
629         Likewise.
630         * testsuite/23_containers/unordered_map/insert/array_syntax.cc:
631         Likewise.
632         * testsuite/23_containers/unordered_map/insert/24061-map.cc: Likewise.
633         * testsuite/23_containers/unordered_map/insert/map_range.cc: Likewise.
634         * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
635         * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
636         * testsuite/23_containers/unordered_multimap/erase/
637         24061-multimap.cc: Likewise.
638         * testsuite/23_containers/unordered_multimap/insert/
639         24061-multimap.cc: Likewise.
640         * testsuite/23_containers/unordered_multimap/insert/
641         multimap_range.cc: Likewise.
642         * testsuite/23_containers/unordered_multimap/insert/
643         multimap_single.cc: Likewise.
644         * testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
645         * testsuite/23_containers/unordered_set/erase/24061-set.cc: Likewise.
646         * testsuite/23_containers/unordered_set/insert/set_single.cc: Likewise.
647         * testsuite/23_containers/unordered_set/insert/24061-set.cc: Likewise.
648         * testsuite/23_containers/unordered_set/insert/set_range.cc: Likewise.
649         * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
650         * testsuite/23_containers/unordered_multiset/erase/
651         24061-multiset.cc: Likewise.
652         * testsuite/23_containers/unordered_multiset/insert/
653         24061-multiset.cc: Likewise.
654         * testsuite/23_containers/unordered_multiset/insert/
655         multiset_range.cc: Likewise.
656         * testsuite/23_containers/unordered_multiset/insert/
657         multiset_single.cc: Likewise.
658
659         * testsuite/23_containers/set/operators/1_neg.cc: Tweak dg-errors
660         to avoid spurious fails in debug-mode.
661         * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
662
663 2010-02-09  Benjamin Kosnik  <bkoz@redhat.com>
664
665         * include/std/streambuf: Adjust doxygen group markup.
666         * include/std/functional: Same.
667         * include/ext/vstring.h: Same.
668         * include/ext/pb_ds/assoc_container.hpp: Same.
669         * include/ext/stdio_filebuf.h: Same.
670         * include/ext/stdio_sync_filebuf.h: Same.
671         * include/bits/localefwd.h: Same.
672         * include/bits/functional_hash.h: Same.
673         * include/bits/locale_classes.h: Same.
674         * include/bits/locale_facets.h: Same.
675         * include/bits/ios_base.h: Same.
676         * include/bits/codecvt.h: Same.
677         * include/bits/locale_facets_nonio.h: Same.
678
679         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
680         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
681
682 2010-02-08  Benjamin Kosnik  <bkoz@redhat.com>
683
684         PR libstdc++/42460
685         * include/tr1_impl/regex: Fix quoting issues in doxygen markup.
686         * include/bits/random.h: Fix multi-line doxygen function markup.
687
688 2010-02-08  Matthias Klose  <doko@debian.org>
689
690         PR libstdc++/42460
691         * include/std/istream: Fix '\' quoting in doxygen markup.
692
693 2010-02-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
694
695         * include/bits/random.tcc (uniform_int_distribution<>::
696         operator()(_UniformRandomNumberGenerator&, const param_type&)):
697         Use make_unsigned instead of __add_unsigned and conditional
698         instead of __conditional_type.
699         * include/std/random: Do not include <ext/type_traits.h> and
700         <ext/numeric_traits.h>.
701
702 2010-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
703
704         PR libstdc++/16896
705         * include/bits/stl_list.h (_List_node_base::transfer): Rename
706         to _M_transfer.
707         (_List_node_base::reverse): Rename to _M_reverse.
708         (_List_node_base::hook): Rename to _M_hook.
709         (_List_node_base::unhook): Rename to _M_unhook; adjust callers.
710         * include/bits/list.tcc: Adjust callers.
711         * src/list.cc: Adjust.
712         * src/compatibility.cc: Likewise.
713         * src/compatibility-list.cc: New.
714         * src/compatibility-debug_list.cc: Likewise.
715         * src/compatibility-parallel_list.cc: Likewise.
716         * src/Makefile.am: Add.
717         * src/Makefile.in: Regenerate.
718         * config/abi/pre/gnu.ver: Export _M_* symbols.
719
720         * src/hash.cc: Rename to hash-aux.cc.
721         * src/compatibility-ldbl.cc: Adjust.
722         * src/compatibility-c++0x.cc: Likewise.
723         * src/hash_tr1.cc: Likewise.
724
725         * src/hashtable.cc: Rename to hashtable-aux.cc.
726         * src/hashtable_c++0x.cc: Adjust.
727         * src/hashtable_tr1.cc: Likewise.
728
729         * src/limits_c++0x.cc: Fold...
730         * src/limits.cc... here.
731
732 2010-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
733
734         * include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&),
735         pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)):
736         Revert to std::is_convertible, basing on DR 811.
737
738 2010-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
739
740         PR libstdc++/42989
741         * config/abi/pre/gnu.ver: Fix wstring move assignment operator typo.
742
743 2010-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
744
745         PR libstdc++/27340
746         * include/bits/valarray_before.h: Uglify the structs wrapping
747         cmath functions differently, eg, _Cos instead of __cos.
748         * include/bits/valarray_after.h: Adjust.
749
750 2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>
751
752         * include/std/future (swap(packaged_task<>&, packaged_task<>&)): Fix
753         typo in last commit.
754
755 2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>
756
757         * include/std/future (swap(packaged_task<>&, packaged_task<>&),
758         swap(promise<>&, promise<>&)): Add; minor formatting fixes.
759         * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust
760         dg-error line number.
761         * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
762         * testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
763         * testsuite/30_threads/promise/cons/copy_neg.cc: Likewise.
764
765 2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>
766
767         * include/bits/stl_algobase.h (struct __iter_base): Rename to
768         _Iter_base; add iterator_type typedef.
769         (struct __miter_base): Rename to _Miter_base.
770         (struct __niter_base): Rename to _Niter_base.
771         (__miter_base, __niter_base): Add, use the latter; adjust everywhere.
772
773 2010-02-04  Benjamin Kosnik  <bkoz@redhat.com>
774
775         PR libstdc++/42460
776         * doc/doxygen/user.cfg.in: Update file list.
777         * include/debug/safe_sequence.h: Doxygen markup fixes for '' and "".
778         * include/debug/safe_base.h: Same.
779         * include/debug/macros.h: Same.
780         * include/tr1_impl/regex: Same.
781         * include/std/iostream: Same.
782         * include/std/streambuf: Same.
783         * include/std/bitset: Same.
784         * include/std/iosfwd: Same.
785         * include/std/limits: Same.
786         * include/std/fstream: Same.
787         * include/std/istream: Same.
788         * include/std/ostream: Same.
789         * include/std/sstream: Same.
790         * include/parallel/multiway_merge.h: Same.
791         * include/parallel/for_each.h: Same.
792         * include/parallel/workstealing.h: Same.
793         * include/parallel/omp_loop_static.h: Same.
794         * include/parallel/omp_loop.h: Same.
795         * include/c_std/csignal: Same.
796         * include/c_std/cstdlib: Same.
797         * include/c_std/cstdio: Same.
798         * include/c_std/cstdarg: Same.
799         * include/c_std/cctype: Same.
800         * include/c_std/cerrno: Same.
801         * include/c_std/cmath: Same.
802         * include/c_std/ciso646: Same.
803         * include/c_std/ctime: Same.
804         * include/c_std/clocale: Same.
805         * include/c_std/climits: Same.
806         * include/c_std/cassert: Same.
807         * include/c_std/csetjmp: Same.
808         * include/c_std/cwchar: Same.
809         * include/c_std/cfloat: Same.
810         * include/c_std/cstring: Same.
811         * include/c_std/cstddef: Same.
812         * include/c_std/cwctype: Same.
813         * include/profile/iterator_tracker.h: Same.
814         * include/profile/impl/profiler_trace.h: Same.
815         * include/ext/vstring.h: Same.
816         * include/ext/algorithm: Same.
817         * include/ext/pb_ds/detail/pat_trie_/pat_trie_.h.pp: Same.
818         * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.h.pp: Same.
819         * include/ext/pb_ds/detail/type_utils.hpp: Same.
820         * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same
821         * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
822         * include/ext/rc_string_base.h: Same.
823         * include/ext/stdio_sync_filebuf.h: Same.
824         * include/ext/functional: Same.
825         * include/ext/mt_allocator.h: Same.
826         * include/bits/basic_ios.h: Same.
827         * include/bits/stl_map.h: Same.
828         * include/bits/stl_algobase.h: Same.
829         * include/bits/stl_queue.h: Same.
830         * include/bits/locale_classes.h: Same.
831         * include/bits/stl_set.h: Same.
832         * include/bits/locale_facets.h: Same.
833         * include/bits/stl_stack.h: Same.
834         * include/bits/stl_iterator_base_types.h: Same.
835         * include/bits/basic_string.h: Same.
836         * include/bits/stl_multimap.h: Same.
837         * include/bits/ios_base.h: Same.
838         * include/bits/stl_deque.h: Same.
839         * include/bits/stl_multiset.h: Same.
840         * include/bits/stl_iterator_base_funcs.h: Same.
841         * include/bits/char_traits.h: Same.
842         * include/bits/stl_algo.h: Same.
843         * include/bits/stl_iterator.h: Same.
844         * include/bits/stl_tempbuf.h: Same.
845         * include/bits/random.tcc: Same.
846         * include/bits/stl_function.h: Same.
847         * include/bits/cpp_type_traits.h: Same.
848         * include/bits/random.h: Same.
849         * include/bits/allocator.h: Same.
850         * include/bits/locale_facets_nonio.h: Same.
851         * include/c_global/csignal: Same.
852         * include/c_global/cstdlib: Same.
853         * include/c_global/cstdio: Same.
854         * include/c_global/cstdarg: Same.
855         * include/c_global/cctype: Same.
856         * include/c_global/cerrno: Same.
857         * include/c_global/cmath: Same.
858         * include/c_global/ciso646: Same.
859         * include/c_global/ctime: Same.
860         * include/c_global/clocale: Same.
861         * include/c_global/climits: Same.
862         * include/c_global/cassert: Same.
863         * include/c_global/csetjmp: Same.
864         * include/c_global/cwchar: Same.
865         * include/c_global/cfloat: Same.
866         * include/c_global/cstring: Same.
867         * include/c_global/cstddef: Same.
868         * include/c_global/cwctype: Same.
869         * include/tr1/hypergeometric.tcc: Same.
870         * include/tr1/random.tcc: Same.
871         * include/tr1/functional: Same.
872         * include/tr1/random.h: Same.
873         * include/backward/auto_ptr.h: Same.
874         * include/backward/binders.h: Same.
875         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
876         Adjust line numbers.
877         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
878         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
879         Same.
880         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
881         Same.
882
883 2010-02-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
884
885         * include/std/condition_variable (condition_variable_any): Provide
886         definitions for all members.
887         * src/condition_variable.cc (condition_variable_any): Adjust
888         definitions.
889         * config/abi/pre/gnu.ver: Adjust exports for condition_variable_any.
890         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
891         Adjust dg-error line number.
892         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
893         Likewise.
894         * testsuite/30_threads/condition_variable_any/members/1.cc: New.
895         * testsuite/30_threads/condition_variable_any/members/2.cc: New.
896         * testsuite/30_threads/condition_variable_any/requirements/
897         standard_layout.cc: Remove.
898         * testsuite/30_threads/condition_variable_any/native_handle/
899         typesizes.cc: Remove.
900
901 2010-02-02  Paolo Carlini  <paolo.carlini@oracle.com>
902
903         * include/ext/vstring.h (__versa_string::shrink_to_fit): Fix
904         for -fno-exceptions.
905
906 2010-02-02  Benjamin Kosnik  <bkoz@redhat.com>
907
908         * include/bits/allocator.h: Fix for -fno-exceptions.
909         * include/bits/basic_string.h (basic_string::shrink_to_fit): Same.
910
911 2010-02-02  Paolo Carlini  <paolo.carlini@oracle.com>
912
913         * testsuite/30_threads/unique_future: Rename to /future.
914
915 2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
916
917         PR libstdc++/42408
918         * include/bits/random.h (linear_congruential_engine<>::
919         linear_congruential_engine(seed_seq&),
920         linear_congruential_engine<>::seed(seed_seq&),
921         mersenne_twister<>::mersenne_twister(seed_seq&),
922         mersenne_twister<>::seed(seed_seq&),
923         subtract_with_carry_engine<>::subtract_with_carry_engine(seed_seq&),
924         subtract_with_carry_engine<>::seed(seed_seq&),
925         discard_block_engine<>::discard_block_engine(seed_seq&),
926         discard_block_engine<>::seed(seed_seq&),
927         independent_bits_engine<>::independent_bits_engine(seed_seq&),
928         independent_bits_engine<>::seed(seed_seq&),
929         shuffle_order_engine<>::shuffle_order_engine(seed_seq&),
930         shuffle_order_engine<>::seed(seed_seq&)): Templatize.
931         * include/bits/random.tcc: Adjust.
932         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
933         seed_seq.cc: New.
934         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
935         seed_seq.cc: Likewise.
936         * testsuite/26_numerics/random/linear_congruential_engine/
937         cons/seed_seq.cc: Likewise.
938
939 2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
940
941         * include/bits/forward_list.h (forward_list<>::resize(size_type),
942         forward_list(size_type)): Only declare.
943         * include/bits/forward_list.tcc (forward_list<>::resize(size_type),
944         forward_list(size_type)): Define, don't assume CopyConstructible.
945         * testsuite/23_containers/forward_list/cons/10.cc: New.
946         * testsuite/23_containers/forward_list/modifiers/6.cc: Likewis.
947         * testsuite/23_containers/forward_list/requirements/dr438/
948         assign_neg.cc: Adjust dg-error line numbers.
949         * testsuite/23_containers/forward_list/requirements/dr438/
950         insert_neg.cc: Likewise.
951         * testsuite/23_containers/forward_list/requirements/dr438/
952         constructor_1_neg.cc: Likewise.
953         * testsuite/23_containers/forward_list/requirements/dr438/
954         constructor_2_neg.cc: Likewise.
955
956         * include/bits/forward_list.h: Use _M_get_Node_allocator throughout.
957
958 2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
959
960         * testsuite/23_containers/array/requirements/exception/
961         generation_prohibited.c: Remove, swap can indeed throw (DR 774).
962
963         * testsuite/util/exception/safety.h (insert_base<__versa_string>): Fix.
964         * testsuite/util/testsuite_container_traits.h
965         (traits<__versa_string>): Enable insert tests.
966
967 2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
968
969         * include/bits/forward_list.h (forward_list<>::insert_after
970         (const_iterator, size_type, const _Tp&), insert_after(const_iterator,
971         _InputIterator, _InputIterator), insert_after(const_iterator,
972         std::initializer_list<>)): Fix return type per N3000.
973         * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
974         Adjust.
975         * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
976         * testsuite/23_containers/forward_list/requirements/dr438/
977         assign_neg.cc: Adjust dg-error line numbers.
978         * testsuite/23_containers/forward_list/requirements/dr438/
979         insert_neg.cc: Likewise.
980         * testsuite/23_containers/forward_list/requirements/dr438/
981         constructor_1_neg.cc: Likewise.
982         * testsuite/23_containers/forward_list/requirements/dr438/
983         constructor_2_neg.cc: Likewise.
984
985 2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
986
987         Revert last changes. Also revert, among the previous changes:
988         * include/std/condition_variable (condition_variable_any::
989         wait<>(_Lock&)): Provide definition.
990
991 2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
992
993         * include/std/condition_variable (condition_variable_any::
994         __wait_until_impl): Add.
995         (condition_variable_any::wait_until): Provide definitions.
996         * testsuite/30_threads/condition_variable_any/members/2.cc: New.
997         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
998         Adjust dg-error line number.
999         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
1000         Likewise.
1001
1002         * testsuite/30_threads/condition_variable/members/1.cc: Minor
1003         stylistic changes.
1004         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1005
1006 2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
1007
1008         * include/std/condition_variable (enum class cv_status): Add and
1009         use it throughout, per N3000.
1010         (condition_variable_any::wait<>(_Lock&), wait<>(_Lock&, _Predicate),
1011         wait_until<>(_Lock&, const chrono::time_point<>&, _Predicate)):
1012         Provide definitions.
1013         * src/condition_variable.cc (condition_variable_any::notify_one,
1014         condition_variable_any::notify_all): Likewise.
1015         * config/abi/pre/gnu.ver: Export.
1016         * testsuite/30_threads/condition_variable_any/requirements/
1017         typedefs.cc: New.
1018         * testsuite/30_threads/condition_variable_any/requirements/
1019         standard_layout.cc: Likewise.
1020         * testsuite/30_threads/condition_variable/members/1.cc: Adjust.
1021         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1022         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Adjust
1023         dg-error line numbers.
1024         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
1025         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
1026         Likewise.
1027         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
1028         Likewise.
1029
1030 2010-01-28  François Dumont  <francois.cppdevs@free.fr>
1031
1032         * include/bits/stl_algobase.h (struct __iter_base): Add.
1033         (__niter_base, __miter_base): Adjust, use the latter.
1034
1035 2010-01-28  Paolo Carlini  <paolo.carlini@oracle.com>
1036
1037         * testsuite/21_strings/basic_string/element_access/char/21674.cc:
1038         Extend xfail to all systems.
1039         * testsuite/21_strings/basic_string/element_access/wchar_T/21674.cc:
1040         Likewise.
1041         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1042         Extend xfail to darwin10 systems.
1043
1044 2010-01-27  Benjamin Kosnik  <bkoz@redhat.com>
1045
1046         PR c++/42346
1047         * testsuite/23_containers/unordered_map/requirements/exception/: Remove
1048         -O1 workaround.
1049         * testsuite/23_containers/multimap/requirements/exception/: Same.
1050         * testsuite/23_containers/map/requirements/exception: Same.
1051
1052 2010-01-27  Richard Guenther  <rguenther@suse.de>
1053
1054         PR libstdc++/42832
1055         * include/std/functional (function<>::swap): Perform bytewise
1056         swap of _M_functor.
1057         * include/tr1/functional (function<>::swap): Likewise.
1058
1059 2010-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1060
1061         * config/abi/pre/gnu.ver: Avoid time_get pattern conflicts.
1062
1063 2010-01-26  François Dumont  <francois.cppdevs@free.fr>
1064
1065         * doc/xml/manual/allocator.xml: Minor updates and fixes.
1066         * doc/xml/manual/containers.xml: Likewise.
1067         * doc/xml/manual/using.xml: Likewise.
1068         * doc/xml/manual/locale.xml: Likewise.
1069         * doc/xml/manual/appendix_contributing.xml: Likewise.
1070
1071 2010-01-26  Daniel Frey  <d.frey@gmx.de>
1072
1073         * include/std/functional: Use enable_if instead of __enable_if
1074         throughout, do not include ext/type_traits.h.
1075         (is_placeholder, is_bind_expression): Use integral_constant.
1076
1077 2010-01-25  Paolo Carlini  <paolo.carlini@oracle.com>
1078
1079         * testsuite/util/testsuite_common_types.h (has_bitwise_operators):
1080         Avoid -Wall warnings.
1081
1082 2010-01-25  Paolo Carlini  <paolo.carlini@oracle.com>
1083
1084         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Use an int
1085         as loop variable, to avoid -Wall warnings.
1086         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
1087         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
1088         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
1089         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
1090
1091         * testsuite/20_util/reference_wrapper/24803.cc: Remove unused vars.
1092         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
1093
1094 2010-01-22  Daniel Frey  <d.frey@gmx.de>
1095
1096         * include/std/functional (_Index_tuple, _Build_index_tuple):
1097         Simplify and speed-up.
1098
1099 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
1100
1101         PR libstdc++/36101, PR libstdc++/42813
1102         * acinclude.m4 (enable_parallel): Test ${TARGET_CONFIGDIRS} instead of
1103         looking for omp.h.
1104         * configure: Regenerate.
1105
1106 2010-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
1107
1108         PR libstdc++/42201
1109         * include/std/future: Update to latest WP.
1110         * src/functexcept.cc (__throw_future_error): Use make_error_code.
1111         * testsuite/30_threads/async/any.cc: New.
1112         * testsuite/30_threads/async/async.cc: New.
1113         * testsuite/30_threads/async/sync.cc: New.
1114         * testsuite/30_threads/packaged_task/cons/alloc.cc: New.
1115         * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
1116         * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Adjust.
1117         * testsuite/30_threads/packaged_task/members/get_future.cc: Adjust.
1118         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
1119         * testsuite/30_threads/packaged_task/members/invoke.cc: Adjust.
1120         * testsuite/30_threads/packaged_task/members/invoke2.cc: Adjust.
1121         * testsuite/30_threads/packaged_task/members/invoke3.cc: Adjust.
1122         * testsuite/30_threads/packaged_task/members/invoke4.cc: Adjust.
1123         * testsuite/30_threads/packaged_task/members/reset.cc: Adjust.
1124         * testsuite/30_threads/packaged_task/members/reset2.cc: Adjust.
1125         * testsuite/30_threads/shared_future/cons/assign_neg.cc: Remove.
1126         * testsuite/30_threads/shared_future/cons/default_neg.cc: Remove.
1127         * testsuite/30_threads/shared_future/cons/default.cc: New.
1128         * testsuite/30_threads/shared_future/cons/assign.cc: New.
1129         * testsuite/30_threads/shared_future/cons/copy.cc: Adjust.
1130         * testsuite/30_threads/shared_future/cons/move.cc: Adjust.
1131         * testsuite/30_threads/shared_future/cons/move_assign.cc: New.
1132         * testsuite/30_threads/shared_future/members/is_ready.cc: Remove.
1133         * testsuite/30_threads/shared_future/members/has_value.cc: Remove.
1134         * testsuite/30_threads/shared_future/members/has_exception.cc: Remove.
1135         * testsuite/30_threads/shared_future/members/valid.cc: New.
1136         * testsuite/30_threads/unique_future/cons/default_neg.cc: Remove.
1137         * testsuite/30_threads/unique_future/cons/default.cc: New.
1138         * testsuite/30_threads/unique_future/cons/move_assign.cc: New.
1139         * testsuite/30_threads/unique_future/cons/assign_neg.cc: Adjust.
1140         * testsuite/30_threads/unique_future/cons/copy_neg.cc: Adjust.
1141         * testsuite/30_threads/unique_future/cons/move.cc: Adjust.
1142         * testsuite/30_threads/unique_future/requirements/
1143         explicit_instantiation.cc: Adjust.
1144         * testsuite/30_threads/unique_future/members/is_ready.cc: Remove.
1145         * testsuite/30_threads/unique_future/members/has_value.cc: Remove.
1146         * testsuite/30_threads/unique_future/members/has_exception.cc: Remove.
1147         * testsuite/30_threads/unique_future/members/valid.cc: New.
1148         * testsuite/30_threads/unique_future/members/get.cc: Adjust.
1149         * testsuite/30_threads/unique_future/members/get2.cc: Adjust.
1150         * testsuite/30_threads/unique_future/members/wait.cc: Adjust.
1151         * testsuite/30_threads/unique_future/members/wait_for.cc: Adjust.
1152         * testsuite/30_threads/unique_future/members/wait_until.cc: Adjust.
1153         * testsuite/30_threads/headers/future/types_std_c++0x.cc: Adjust.
1154         * testsuite/30_threads/promise/cons/alloc.cc: New.
1155         * testsuite/30_threads/promise/cons/assign_neg.cc: Adjust.
1156         * testsuite/30_threads/promise/cons/copy_neg.cc: Adjust.
1157         * testsuite/30_threads/promise/cons/move.cc: Adjust.
1158         * testsuite/30_threads/promise/cons/move_assign.cc: Adjust.
1159         * testsuite/30_threads/promise/members/get_future.cc: Adjust.
1160         * testsuite/30_threads/promise/members/set_value.cc: Adjust.
1161         * testsuite/30_threads/promise/members/set_exception.cc: Adjust.
1162         * testsuite/30_threads/promise/members/set_exception2.cc: Adjust.
1163         * testsuite/30_threads/promise/members/set_value2.cc: Adjust.
1164         * testsuite/30_threads/promise/members/set_value3.cc: Adjust.
1165         * testsuite/30_threads/promise/members/swap.cc: Adjust.
1166
1167 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
1168             Paolo Carlini  <paolo.carlini@oracle.com>
1169
1170         PR libstdc++/21769
1171         * testsuite/lib/dg-options.exp (add_options_for_no_pch): Add.
1172         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1173         Use it.
1174
1175 2010-01-19  Johannes Singler  <singler@kit.edu>
1176
1177         PR libstdc++/42712
1178         * include/parallel/settings.h (_Settings): Add search_minimal_n.
1179         * include/parallel/algo.h (__search_switch):
1180         Add serial fallback for too small inputs.
1181         (__search_n_switch): Likewise.  Call serial fallback on higher level
1182         to gain special treatment for __count 0 or 1.
1183         * testsuite/25_algorithms/search_n/iterator.cc:
1184         Reenable full test depth for parallel mode.
1185
1186 2010-01-18  Daniel Frey  <d.frey@gmx.de>
1187
1188         * include/std/functional (_Bind<_Functor(_Bound_args...)>::
1189         operator()): "Pass" _Result to __call*.
1190         (_Bind<_Functor(_Bound_args...)>::__call*): Adjust, simplify.
1191
1192 2010-01-18  Johannes Singler  <singler@kit.edu>
1193
1194         * include/parallel/base.h (__unary_negate): Correct comment.
1195
1196 2010-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
1197
1198         * include/std/functional (_Bind<_Functor(_Bound_args...)>::__call):
1199         Rename const version to __call_c and remove _Sfinae template
1200         parameter.
1201         (_Bind<_Functor(_Bound_args...)>::operator()): Adjust.
1202
1203         * include/std/functional: Pass everywhere temporary tuple<_Args...>
1204         arguments by rvalue reference.
1205
1206         * testsuite/20_util/bind/cv_quals.cc: New.
1207
1208         * testsuite/20_util/bind/ref2.cc: Add missing test variables.
1209
1210 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1211
1212         PR libstdc++/35942
1213         * configure.ac: Remove -lstdc++ from libtool's postdeps_CXX.
1214         * configure: Regenerate.
1215
1216 2010-01-15  Phil Muldoon  <pmuldoon@redhat.com>
1217
1218         * python/libstdcxx/v6/printers.py (StdStringPrinter.__init__):
1219         Remove encoding argument.
1220         (StdStringPrinter.to_string): Do not compute or pass encoding.
1221         Use lazy_string over string function.
1222
1223 2010-01-14  Paolo Carlini  <paolo.carlini@oracle.com>
1224
1225         * include/c_std/cstring (memchr): Forward to the builtin.
1226         * include/c_std/cstring: Remove redundant casts; use names consistent
1227         with the letter of the Standard.
1228         * include/c_global/cstring: Likewise.
1229
1230 2010-01-13  Benjamin Kosnik  <bkoz@redhat.com>
1231
1232         * include/profile/iterator_tracker.h: Add copyright.
1233
1234 2010-01-13  Paolo Carlini  <paolo.carlini@oracle.com>
1235
1236         * testsuite/Makefile.am (check-debug): Add.
1237         * testsuite/Makefile.in: Regenerate.
1238         * config.h.in: Likewise.
1239
1240 2010-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
1241
1242         * testsuite/17_intro/using_namespace_std_tr1_neg.cc: Do not run
1243         in parallel-mode.
1244         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewiwse.
1245         * testsuite/25_algorithms/rotate/moveable.cc: Likewiwse.
1246         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewiwse.
1247         * testsuite/25_algorithms/remove/moveable.c: Likewiwse.
1248         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewiwse.
1249         * testsuite/25_algorithms/nth_element/moveable.cc: Likewiwse.
1250         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewiwse.
1251         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewiwse.
1252         * testsuite/25_algorithms/partition/moveable.cc: Likewiwse.
1253         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewiwse.
1254         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewiwse.
1255         * testsuite/25_algorithms/sort/moveable.cc: Likewiwse.
1256         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewiwse.
1257         * testsuite/25_algorithms/unique/moveable.cc: Likewiwse.
1258         * testsuite/25_algorithms/remove_if/moveable.cc: Likewiwse.
1259         * testsuite/25_algorithms/heap/moveable.cc: Likewiwse.
1260
1261         * testsuite/25_algorithms/search_n/iterator.cc: Reduce iteration #
1262         in parallel-mode.
1263
1264 2010-01-12  Hans-Peter Nilsson  <hp@axis.com>
1265
1266         * testsuite/ext/profile/all.cc: Pass -D_GLIBCXX_PROFILE_NO_THREADS
1267         for non-tls_native targets.
1268
1269 2010-01-12  Benjamin Kosnik  <bkoz@redhat.com>
1270
1271         * scripts/run_doxygen: Correct nested scope on the man pages.
1272         * doc/xml/faq.xml: Edits, linkcheck, doxygen link reassociate.
1273         * doc/xml/manual/mt_allocator.xml: Same.
1274         * doc/xml/manual/allocator.xml: Same.
1275         * doc/xml/manual/codecvt.xml: Same.
1276         * doc/xml/manual/backwards_compatibility.xml: Same.
1277         * doc/xml/manual/concurrency.xml: Same.
1278         * doc/xml/manual/parallel_mode.xml: Same.
1279         * doc/xml/manual/io.xml: Same.
1280         * doc/xml/manual/support.xml: Same.
1281         * doc/xml/manual/evolution.xml: Same.
1282         * doc/xml/manual/using.xml: Same.
1283         * doc/xml/manual/extensions.xml: Same.
1284         * doc/xml/manual/appendix_contributing.xml: Same.
1285         * doc/xml/manual/prerequisites.xml: Same.
1286         * doc/xml/manual/diagnostics.xml: Same.
1287         * doc/xml/manual/spine.xml: Same.
1288         * doc/xml/manual/status_cxx200x.xml: Same.
1289         * doc/xml/manual/test.xml: Same.
1290         * doc/xml/spine.xml: Same.
1291         * doc/html/*: Regenerate.
1292
1293         * include/profile/impl/profiler.h: Remove duplicate markup.
1294
1295 2010-01-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
1296
1297         PR libstdc++/24803
1298         PR libstdc++/35569
1299         PR libstdc++/42593
1300         * include/std/functional (bind): Forward rvalues and detect correct
1301         result type of bound function object.
1302         * include/std/mutex (call_once): Specify bind result type.
1303         * testsuite/20_util/reference_wrapper/invoke.cc: Remove invalid tests.
1304         * testsuite/20_util/reference_wrapper/24803.cc: Remove invalid tests
1305         and enable FIXME tests.
1306         * testsuite/20_util/bind/35569.cc: New.
1307         * testsuite/20_util/bind/ref2.cc: New.
1308         * testsuite/20_util/bind/38889.cc: New.
1309         * testsuite/20_util/bind/ref_neg.cc: New.
1310         * testsuite/20_util/bind/42593.cc: New.
1311
1312 2010-01-11  Paolo Carlini  <paolo.carlini@oracle.com>
1313
1314         * include/parallel/base.h (decode2): Rename to __decode2.
1315         (binder2nd): Likewise to __binder2nd.
1316         * include/parallel/quicksort.h: Adjust callers.
1317         * include/parallel/balanced_quicksort.h: Likewise.
1318         * include/parallel/partition.h: Likewise.
1319         * include/parallel/queue.h: Likewise.
1320
1321         * include/parallel/algo.h: Qualify with std:: binder2nd use.
1322
1323 2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>
1324
1325         * include/debug/string (basic_string<>::basic_string(basic_string&&),
1326         operator=(basic_string&&), assign(basic_string&&)): Add.
1327
1328         * include/debug/string: Fully qualify initializer_list with std; fix
1329         _Allocator misspellings as _Alloc.
1330
1331 2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>
1332
1333         * include/bits/basic_string.h (basic_string<>::
1334         basic_string(basic_string&&), operator=(basic_string&&),
1335         assign(basic_string&&)): Add.
1336         * config/abi/pre/gnu.ver: Export new symbols.
1337         * include/ext/vstring.h (__versa_string<>::assign(__versa_string&&)):
1338         Add.
1339         (operator=(__versa_string&&)): Don't call clear unnecessarily.
1340         * include/ext/rc_string_base.h (__rc_string_base<>::
1341         __rc_string_base(__rc_string_base&&)): Simplify a tad.
1342         * testsuite/21_strings/basic_string/cons/char/moveable.cc: New.
1343         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
1344         * testsuite/ext/vstring/assign/move_assign.cc: Likewise.
1345         * testsuite/21_strings/basic_string/assign/char/move_assign.cc:
1346         Likewise.
1347         * testsuite/21_strings/basic_string/assign/wchar_t/move_assign.cc:
1348         Likewise.
1349
1350         * testsuite/ext/vstring/cons/moveable.cc: Fix comment nit.
1351
1352 2010-01-10  Silvius Rus  <rus@google.com>
1353
1354         * configure.ac: Add detection of execinfo.h.
1355         * configure: Regenerate.
1356         * config.h.in: Likewise.
1357         * doc/xml/manual/profile_mode.xml: Add list_to_slist manual.
1358         Also, correct user interface mistakes.
1359         * include/Makefile.am: Add references to new include files.
1360         * include/Makefile.in: Regenerate.
1361         * include/backward/hash_map: Remove profile include.
1362         * include/backward/hash_set: Likewise.
1363         * include/profile/hashtable.h: Delete file.
1364         * include/profile/iterator_tracker.h: New file.
1365         * include/profile/vector: Add instrumentation for tracked iterator.
1366         * include/profile/list: Same.
1367         * include/profile/impl/profiler_list_to_slist.h: New file.
1368         * include/profile/impl/profiler_list_to_vector.h: Same.
1369         * include/profile/impl/profiler.h: Add list_to_slist and
1370         list_to_vector instrumentation hook interfaces.  Fixed broken
1371         diagnostic disabling mechanism.
1372         (_GLIBCXX_PROFILE_DEFINE_DATA,_GLIBCXX_PROFILE_DATA) New macros.
1373         (__reentrance_guard) Fix bug.
1374         * include/profile/impl/profiler_trace.h: Replace dummy templates
1375         with _GLIBCXX_PROFILE_DEFINE_DATA.
1376         * include/profile/impl/profiler_container_size.h: Same.
1377         * include/profile/impl/profiler_vector_size.h: Same.
1378         * include/profile/impl/profiler_hash_func.h: Same.
1379         * include/profile/impl/profiler_vector_to_list.h: Same.
1380         * include/profile/impl/profiler_map_to_unordered_map.h: Same.
1381         * include/profile/impl/profiler_hashtable_size.h: Same.
1382         * include/profile/impl/profiler_node.h: Same.
1383         * include/profile/impl/profiler_state.h: Same.  Also, remove
1384         class __state. Also, use __sync_val_compare_and_swap to set state.
1385
1386 2010-01-09  H.J. Lu  <hongjiu.lu@intel.com>
1387
1388         PR other/42230
1389         * testsuite/abi/pr42230.cc: New.
1390
1391 2010-01-09  Paolo Carlini  <paolo.carlini@oracle.com>
1392
1393         * include/debug/set.h: Revert last change, per DR 1204 [Ready];
1394         mention the latter in comment.
1395         * include/debug/unordered_map: Likewise.
1396         * include/debug/multiset.h: Likewise.
1397         * include/debug/vector: Likewise.
1398         * include/debug/unordered_set: Likewise.
1399         * include/debug/deque: Likewise.
1400         * include/debug/map.h: Likewise.
1401         * include/debug/list: Likewise.
1402         * include/debug/multimap.h: Likewise.
1403         * include/tr1_impl/unordered_map: Likewise.
1404         * include/tr1_impl/unordered_set: Likewise.
1405         * include/profile/set.h: Likewise.
1406         * include/profile/unordered_map: Likewise.
1407         * include/profile/multiset.h: Likewise.
1408         * include/profile/unordered_set: Likewise.
1409         * include/profile/vector: Likewise.
1410         * include/profile/deque: Likewise.
1411         * include/profile/map.h: Likewise.
1412         * include/profile/list: Likewise.
1413         * include/profile/multimap.h: Likewise.
1414         * include/ext/vstring.h: Likewise.
1415         * include/bits/stl_list.h: Likewise.
1416         * include/bits/stl_map.h: Likewise.
1417         * include/bits/stl_set.h: Likewise.
1418         * include/bits/stl_multimap.h: Likewise.
1419         * include/bits/stl_vector.h: Likewise.
1420         * include/bits/stl_deque.h: Likewise.
1421         * include/bits/stl_multiset.h: Likewise.
1422
1423         * include/bits/forward_list.h: Remove pre-existing check.
1424         * include/ext/vstring.h: Likewise.
1425
1426         * testsuite/ext/vstring/cons/self_move_assign.cc: Remove.
1427         * testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
1428         Likewise.
1429         * testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
1430         * testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
1431         * testsuite/23_containers/unordered_multimap/cons/
1432         self_move_assign.cc: Likewise.
1433         * testsuite/23_containers/forward_list/cons/self_move_assign.cc:
1434         Likewise.
1435         * testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
1436         Likewise.
1437         * testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
1438         * testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
1439         * testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
1440         * testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
1441         * testsuite/23_containers/unordered_multiset/cons/
1442         self_move_assign.cc: Likewise.
1443         * testsuite/23_containers/map/cons/self_move_assign.cc: Likewise.
1444
1445         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1446         Adjust dg-error line numbers.
1447         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1448         Likewise.
1449         * testsuite/23_containers/vector/requirements/dr438/
1450         constructor_1_neg.cc: Likewise.
1451         * testsuite/23_containers/vector/requirements/dr438/
1452         constructor_2_neg.cc: Likewise.
1453         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1454         Likewise.
1455         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1456         Likewise.
1457         * testsuite/23_containers/deque/requirements/dr438/
1458         constructor_1_neg.cc: Likewise.
1459         * testsuite/23_containers/forward_list/requirements/dr438/
1460         assign_neg.cc: Likewise.
1461         * testsuite/23_containers/forward_list/requirements/dr438/
1462         insert_neg.cc: Likewise.
1463         * testsuite/23_containers/forward_list/requirements/dr438/
1464         constructor_1_neg.cc: Likewise.
1465         * testsuite/23_containers/forward_list/requirements/dr438/
1466         constructor_2_neg.cc: Likewise.
1467         * testsuite/23_containers/deque/requirements/dr438/
1468         constructor_2_neg.cc: Likewise.
1469         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1470         Likewise.
1471         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1472         Likewise.
1473         * testsuite/23_containers/list/requirements/dr438/
1474         constructor_1_neg.cc: Likewise.
1475         * testsuite/23_containers/list/requirements/dr438/
1476         constructor_2_neg.cc: Likewise.
1477
1478 2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
1479
1480         * include/debug/set.h: Protect move assignment operator vs self
1481         assignment.
1482         * include/debug/unordered_map: Likewise.
1483         * include/debug/multiset.h: Likewise.
1484         * include/debug/vector: Likewise.
1485         * include/debug/unordered_set: Likewise.
1486         * include/debug/deque: Likewise.
1487         * include/debug/map.h: Likewise.
1488         * include/debug/list: Likewise.
1489         * include/debug/multimap.h: Likewise.
1490         * include/tr1_impl/unordered_map: Likewise.
1491         * include/tr1_impl/unordered_set: Likewise.
1492         * include/profile/set.h: Likewise.
1493         * include/profile/unordered_map: Likewise.
1494         * include/profile/multiset.h: Likewise.
1495         * include/profile/unordered_set: Likewise.
1496         * include/profile/vector: Likewise.
1497         * include/profile/deque: Likewise.
1498         * include/profile/map.h: Likewise.
1499         * include/profile/list: Likewise.
1500         * include/profile/multimap.h: Likewise.
1501         * include/ext/vstring.h: Likewise.
1502         * include/bits/stl_list.h: Likewise.
1503         * include/bits/stl_map.h: Likewise.
1504         * include/bits/stl_set.h: Likewise.
1505         * include/bits/stl_multimap.h: Likewise.
1506         * include/bits/stl_vector.h: Likewise.
1507         * include/bits/stl_deque.h: Likewise.
1508         * include/bits/stl_multiset.h: Likewise.
1509         * include/ext/vstring.h: Use clear().
1510         * testsuite/ext/vstring/cons/self_move_assign.cc: New.
1511         * testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
1512         Likewise.
1513         * testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
1514         * testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
1515         * testsuite/23_containers/unordered_multimap/cons/
1516         self_move_assign.cc: Likewise.
1517         * testsuite/23_containers/forward_list/cons/self_move_assign.cc:
1518         Likewise.
1519         * testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
1520         Likewise.
1521         * testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
1522         * testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
1523         * testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
1524         * testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
1525         * testsuite/23_containers/unordered_multiset/cons/
1526         self_move_assign.cc: Likewise.
1527         * testsuite/23_containers/map/cons/self_move_assign.cc: Likewise.
1528
1529         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1530         Adjust dg-error line numbers.
1531         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1532         Likewise.
1533         * testsuite/23_containers/vector/requirements/dr438/
1534         constructor_1_neg.cc: Likewise.
1535         * testsuite/23_containers/vector/requirements/dr438/
1536         constructor_2_neg.cc: Likewise.
1537         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1538         Likewise.
1539         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1540         Likewise.
1541         * testsuite/23_containers/deque/requirements/dr438/
1542         constructor_1_neg.cc: Likewise.
1543         * testsuite/23_containers/deque/requirements/dr438/
1544         constructor_2_neg.cc: Likewise.
1545         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1546         Likewise.
1547         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1548         Likewise.
1549         * testsuite/23_containers/list/requirements/dr438/
1550         constructor_1_neg.cc: Likewise.
1551         * testsuite/23_containers/list/requirements/dr438/
1552         constructor_2_neg.cc: Likewise.
1553
1554         * testsuite/ext/vstring/moveable.cc: Move to...
1555         * testsuite/ext/vstring/cons/moveable.cc: ... here.
1556         * testsuite/23_containers/unordered_map/moveable.cc: Move to...
1557         * testsuite/23_containers/unordered_map/cons/moveable.cc ... here.
1558         * testsuite/23_containers/multimap/moveable.cc: Move to...
1559         * testsuite/23_containers/multimap/cons/moveable.cc: ... here.
1560         * testsuite/23_containers/set/moveable.cc: Move to...
1561         * testsuite/23_containers/set/cons/moveable.cc: ... here.
1562         * testsuite/23_containers/unordered_multimap/moveable.cc: Move to...
1563         * testsuite/23_containers/unordered_multimap/cons/moveable.cc:
1564         ... here.
1565         * testsuite/23_containers/forward_list/moveable.cc: Move to...
1566         * testsuite/23_containers/forward_list/cons/moveable.cc: ... here.
1567         * testsuite/23_containers/unordered_set/moveable.cc Move to...
1568         * testsuite/23_containers/unordered_set/moveable.cc: ... here.
1569         * testsuite/23_containers/vector/cons/moveable.cc Move to...
1570         * testsuite/23_containers/vector/cons/moveable2.cc: ... this.
1571         * testsuite/23_containers/deque/cons/moveable.cc Move to...
1572         * testsuite/23_containers/deque/cons/moveable2.cc: ... this.
1573         * testsuite/23_containers/multiset/moveable.cc Move to...
1574         * testsuite/23_containers/multiset/cons/moveable.cc: ... here.
1575         * testsuite/23_containers/list/moveable.h Move to...
1576         * testsuite/23_containers/list/cons/moveable.h: ... here.
1577         * testsuite/23_containers/list/moveable.cc Move to...
1578         * testsuite/23_containers/list/cons/moveable.cc: ... here.
1579         * testsuite/23_containers/unordered_multiset/moveable.cc Move to...
1580         * testsuite/23_containers/unordered_multiset/cons/moveable.cc:
1581         ... here.
1582         * testsuite/23_containers/map/moveable.cc Move to...
1583         * testsuite/23_containers/map/cons/moveable.cc: ... here.
1584         * testsuite/23_containers/vector/moveable.cc: Move to...
1585         * testsuite/23_containers/vector/cons/moveable.cc: ... here.
1586         * testsuite/23_containers/deque/moveable.cc: Move to...
1587         * testsuite/23_containers/deque/cons/moveable.cc: ... here.
1588
1589 2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
1590
1591         PR libstdc++/42573
1592         * include/bits/allocator.h (struct __shrink_to_fit): Add.
1593         * include/bits/stl_deque.h (deque<>::shrink_to_fit): Add.
1594         * include/bits/stl_vector.h (vector<>::shrink_to_fit): Likewise.
1595         * include/bits/stl_bvector.h (vector<bool>::shrink_to_fit): Likewise.
1596         * include/bits/basic_string.h (basic_string<>::shrink_to_fit):
1597         Likewise.
1598         * include/ext/vstring.h (__versa_string<>::shrink_to_fit): Likewise.
1599         * include/debug/deque: Add corresponding using declaration.
1600         * include/debug/vector: Likewise.
1601         * include/debug/string: Likewise.
1602         * include/profile/deque: Likewise.
1603         * include/profile/vector: Likewise.
1604         * config/abi/pre/gnu.ver: Export new symbols.
1605         * testsuite/23_containers/deque/capacity/shrink_to_fit.cc: New.
1606         * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
1607         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
1608         Likewise.
1609         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
1610         Likewise.
1611         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
1612         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1613         Adjust dg-error line number.
1614         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1615         Likewise.
1616         * testsuite/23_containers/deque/requirements/dr438/
1617         constructor_1_neg.cc: Likewise.
1618         * testsuite/23_containers/deque/requirements/dr438/
1619         constructor_2_neg.cc: Likewise.
1620         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1621         Adjust dg-error line number.
1622         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1623         Likewise.
1624         * testsuite/23_containers/vector/requirements/dr438/
1625         constructor_1_neg.cc: Likewise.
1626         * testsuite/23_containers/vector/requirements/dr438/
1627         constructor_2_neg.cc: Likewise.
1628
1629 2010-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1630
1631         * doc/xml/manual/evolution.xml: Fix typos, update.
1632
1633 2010-01-07  Paolo Carlini  <paolo.carlini@oracle.com>
1634
1635         * include/bits/locale_facets_nonio.tcc (time_put<>::do_put): Avoid
1636         pointless __builtin_alloca use.
1637
1638 2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
1639
1640         PR libstdc++/26701
1641         * include/bits/locale_facets_nonio.tcc (time_get<>::_M_extract_num):
1642         Encode short two digits over four parsings to negative numbers.
1643         (time_get<>::_M_extract_via_format): Adjust, accept both two digits
1644         and four digits for both 'y' and 'Y'.
1645         (time_get<>::do_get_year): Call time_get<>::_M_extract_num.
1646         * doc/xml/manual/prerequisites.xml: Add en_GB.
1647         * testsuite/lib/libstdc++.exp: Adjust
1648         * testsuite/22_locale/time_get/get_date/char/26701.cc: New.
1649         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
1650
1651 2010-01-06  Benjamin Kosnik  <bkoz@redhat.com>
1652
1653         PR libstdc++/42491
1654         * scripts/check_performance (CXX): Add -std=gnu++0x.
1655         * testsuite/performance/30_threads/future/polling.cc: Mark up as
1656         using threads.
1657
1658 2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
1659
1660         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc:
1661         Add dg-require-namedlocale.
1662
1663 2010-01-05  Benjamin Kosnik  <bkoz@redhat.com>
1664
1665         * doc/xml/manual/evolution.xml: Update for 4.4 and 4.5 releases.
1666         * doc/html: Regenerate.
1667
1668 2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>
1669
1670         PR libstdc++/38081
1671         * include/bits/locale_facets_nonio.h (time_get<>::
1672         _M_extract_wday_or_month): New, declare.
1673         * include/bits/locale_facets_nonio.tcc (time_get<>::
1674         _M_extract_wday_or_month): Define.
1675         (time_get<>::do_get_weekday, time_get<>::do_get_monthname): Use it.
1676         * config/abi/pre/gnu.ver: Export new symbols.
1677         * doc/xml/manual/prerequisites.xml: Add ru_RU.UTF-8 and
1678         ru_RU.ISO-8859-5.
1679         * testsuite/lib/libstdc++.exp: Adjust.
1680         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: New.
1681         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
1682
1683 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1684
1685         * configure: Regenerate.
1686
1687 2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>
1688
1689         * testsuite/22_locale/time_get/get_monthname/char/6.cc: New.
1690         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
1691         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
1692         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
1693
1694 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
1695
1696         * include/profile/list: Implement DR 1133 here too.
1697
1698         * testsuite/25_algorithms/set_intersection/34730.cc: Do not force
1699         debug-mode, leads to spurious failures in profile-mode.
1700         * testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
1701         * testsuite/25_algorithms/lower_bound/33613.cc: Likewise.
1702         * testsuite/25_algorithms/set_difference/35541.cc: Likewise.
1703         * testsuite/21_strings/basic_string/40160.cc: Likewise.
1704         * testsuite/26_numerics/random/uniform_real_distribution/
1705         cons/parms_neg.cc: Likewise.
1706         * testsuite/26_numerics/random/uniform_int_distribution/
1707         cons/parms_neg.cc: Likewise.
1708         * testsuite/23_containers/unordered_map/requirements/debug_mode.cc:
1709         Likewise.
1710         * testsuite/23_containers/multimap/14340.cc: Likewise.
1711         * testsuite/23_containers/bitset/18604.cc: Likewise.
1712         * testsuite/23_containers/set/14340.cc: Likewise.
1713         * testsuite/23_containers/set/18604.cc: Likewise.
1714         * testsuite/23_containers/unordered_set/requirements/
1715         debug_mode.cc: Likewise.
1716         * testsuite/23_containers/vector/
1717         debug_mode_requires_reallocation-1.cc: Likewise.
1718         * testsuite/23_containers/vector/
1719         debug_mode_requires_reallocation-2.cc: Likewise.
1720         * testsuite/23_containers/vector/14340.cc: Likewise.
1721         * testsuite/23_containers/vector/15523.cc: Likewise.
1722         * testsuite/23_containers/vector/18604.cc: Likewise.
1723         * testsuite/23_containers/deque/14340.cc: Likewise.
1724         * testsuite/23_containers/deque/18604.cc: Likewise.
1725         * testsuite/23_containers/multiset/14340.cc: Likewise.
1726         * testsuite/23_containers/list/operations/35969.cc: Likewise.
1727         * testsuite/23_containers/list/14340.cc: Likewise.
1728         * testsuite/23_containers/list/18604.cc: Likewise.
1729         * testsuite/23_containers/map/14340.cc: Likewise.
1730         * testsuite/23_containers/map/18604.cc: Likewise.
1731         * testsuite/tr1/5_numerical_facilities/random/uniform_int/
1732         cons/range_neg.cc: Likewise.
1733
1734         * testsuite/23_containers/unordered_map/requirements/
1735         explicit_instantiation/2.cc: Do not instantiate for
1736         non-defaultconstructible mapped_type.
1737
1738 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
1739
1740         * include/debug/set.h: Implement DR 130 here too.
1741         * include/debug/multiset.h: Likewise.
1742         * include/debug/map.h: Likewise.
1743         * include/debug/multimap.h: Likewise.
1744         * include/profile/set.h: Implement DR 130 fully.
1745         * include/profile/multiset.h: Likewise.
1746         * include/profile/map.h: Likewise.
1747         * include/profile/multimap.h: Likewise.
1748         * include/debug/list: Implement DR 1133 here too.
1749         * include/ext/pb_ds/detail/debug_map_base.hpp: Comment out for
1750         now uses of __gnu_cxx::throw_allocator.
1751         * testsuite/21_strings/basic_string/40160.cc: Don't pass
1752         explicitly -D_GLIBCXX_DEBUG, doesn't play well with profile-mode
1753         testing.
1754
1755 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
1756
1757         * include/profile/bitset (bitset<>::bitset(unsigned long long)): Add
1758         in C++0x mode.
1759         * include/debug/bitset (bitset<>::bitset(unsigned long long)):
1760         Likewise.
1761
1762 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
1763
1764         * include/tr1_impl/hashtable (_Hashtable<>): Remove insert_return_type
1765         typedef.
1766         * include/profile/unordered_map (unordered_map<>::insert(const
1767         value_type&), unordered_multimap<>::insert(const value_type&)): Adjust.
1768         * include/profile/unordered_set (unordered_set<>::insert(const
1769         value_type&), unordered_multimap<>::insert(const value_type&)):
1770         Likewise.
1771
1772 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
1773
1774         * include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&),
1775         pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)):
1776         Use std::is_constructible instead of std::is_convertible.
1777
1778 2010-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
1779
1780         Revert last change, reinstantiate basic_string and vstring tests.
1781
1782 2010-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
1783
1784         * testsuite/21_strings/basic_string/requirements/exception/
1785         propagation_consistent.cc: Remove, cannot instantiate basic_string
1786         for non-PODs (21/1).
1787         * testsuite/21_strings/basic_string/requirements/exception/
1788         basic.cc: Likewise.
1789         * testsuite/21_strings/basic_string/requirements/exception/
1790         generation_prohibited.cc: Likewise.
1791         * testsuite/ext/vstring/requirements/exception/
1792         propagation_consistent.cc: Likewise.
1793         * testsuite/ext/vstring/requirements/exception/basic.cc:
1794         Likewise.
1795         * testsuite/ext/vstring/requirements/exception/
1796         generation_prohibited.cc: Likewise.