OSDN Git Service

2010-02-02 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2010-02-02  Benjamin Kosnik  <bkoz@redhat.com>
2
3         * include/bits/allocator.h: Fix for -fno-exceptions.
4         * include/bits/basic_string.h (basic_string::shrink_to_fit): Same.
5
6 2010-02-02  Paolo Carlini  <paolo.carlini@oracle.com>
7
8         * testsuite/30_threads/unique_future: Rename to /future.
9
10 2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
11
12         PR libstdc++/42408
13         * include/bits/random.h (linear_congruential_engine<>::
14         linear_congruential_engine(seed_seq&),
15         linear_congruential_engine<>::seed(seed_seq&),
16         mersenne_twister<>::mersenne_twister(seed_seq&),
17         mersenne_twister<>::seed(seed_seq&),
18         subtract_with_carry_engine<>::subtract_with_carry_engine(seed_seq&),
19         subtract_with_carry_engine<>::seed(seed_seq&),
20         discard_block_engine<>::discard_block_engine(seed_seq&),
21         discard_block_engine<>::seed(seed_seq&),
22         independent_bits_engine<>::independent_bits_engine(seed_seq&),
23         independent_bits_engine<>::seed(seed_seq&),
24         shuffle_order_engine<>::shuffle_order_engine(seed_seq&),
25         shuffle_order_engine<>::seed(seed_seq&)): Templatize.
26         * include/bits/random.tcc: Adjust.
27         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
28         seed_seq.cc: New.
29         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
30         seed_seq.cc: Likewise.
31         * testsuite/26_numerics/random/linear_congruential_engine/
32         cons/seed_seq.cc: Likewise.
33
34 2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
35
36         * include/bits/forward_list.h (forward_list<>::resize(size_type),
37         forward_list(size_type)): Only declare.
38         * include/bits/forward_list.tcc (forward_list<>::resize(size_type),
39         forward_list(size_type)): Define, don't assume CopyConstructible.
40         * testsuite/23_containers/forward_list/cons/10.cc: New.
41         * testsuite/23_containers/forward_list/modifiers/6.cc: Likewis.
42         * testsuite/23_containers/forward_list/requirements/dr438/
43         assign_neg.cc: Adjust dg-error line numbers.
44         * testsuite/23_containers/forward_list/requirements/dr438/
45         insert_neg.cc: Likewise.
46         * testsuite/23_containers/forward_list/requirements/dr438/
47         constructor_1_neg.cc: Likewise.
48         * testsuite/23_containers/forward_list/requirements/dr438/
49         constructor_2_neg.cc: Likewise.
50
51         * include/bits/forward_list.h: Use _M_get_Node_allocator throughout.
52
53 2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
54
55         * testsuite/23_containers/array/requirements/exception/
56         generation_prohibited.c: Remove, swap can indeed throw (DR 774).
57
58         * testsuite/util/exception/safety.h (insert_base<__versa_string>): Fix.
59         * testsuite/util/testsuite_container_traits.h
60         (traits<__versa_string>): Enable insert tests.
61
62 2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
63
64         * include/bits/forward_list.h (forward_list<>::insert_after
65         (const_iterator, size_type, const _Tp&), insert_after(const_iterator,
66         _InputIterator, _InputIterator), insert_after(const_iterator,
67         std::initializer_list<>)): Fix return type per N3000.
68         * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
69         Adjust.
70         * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
71         * testsuite/23_containers/forward_list/requirements/dr438/
72         assign_neg.cc: Adjust dg-error line numbers.
73         * testsuite/23_containers/forward_list/requirements/dr438/
74         insert_neg.cc: Likewise.
75         * testsuite/23_containers/forward_list/requirements/dr438/
76         constructor_1_neg.cc: Likewise.
77         * testsuite/23_containers/forward_list/requirements/dr438/
78         constructor_2_neg.cc: Likewise.
79
80 2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
81
82         Revert last changes. Also revert, among the previous changes:
83         * include/std/condition_variable (condition_variable_any::
84         wait<>(_Lock&)): Provide definition.
85
86 2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
87
88         * include/std/condition_variable (condition_variable_any::
89         __wait_until_impl): Add.
90         (condition_variable_any::wait_until): Provide definitions.
91         * testsuite/30_threads/condition_variable_any/members/2.cc: New.
92         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
93         Adjust dg-error line number.
94         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
95         Likewise.
96
97         * testsuite/30_threads/condition_variable/members/1.cc: Minor
98         stylistic changes.
99         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
100
101 2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
102
103         * include/std/condition_variable (enum class cv_status): Add and
104         use it throughout, per N3000.
105         (condition_variable_any::wait<>(_Lock&), wait<>(_Lock&, _Predicate),
106         wait_until<>(_Lock&, const chrono::time_point<>&, _Predicate)):
107         Provide definitions.
108         * src/condition_variable.cc (condition_variable_any::notify_one,
109         condition_variable_any::notify_all): Likewise.
110         * config/abi/pre/gnu.ver: Export.
111         * testsuite/30_threads/condition_variable_any/requirements/
112         typedefs.cc: New.
113         * testsuite/30_threads/condition_variable_any/requirements/
114         standard_layout.cc: Likewise.
115         * testsuite/30_threads/condition_variable/members/1.cc: Adjust.
116         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
117         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Adjust
118         dg-error line numbers.
119         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
120         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
121         Likewise.
122         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
123         Likewise.
124
125 2010-01-28  François Dumont  <francois.cppdevs@free.fr>
126
127         * include/bits/stl_algobase.h (struct __iter_base): Add.
128         (__niter_base, __miter_base): Adjust, use the latter.
129
130 2010-01-28  Paolo Carlini  <paolo.carlini@oracle.com>
131
132         * testsuite/21_strings/basic_string/element_access/char/21674.cc:
133         Extend xfail to all systems.
134         * testsuite/21_strings/basic_string/element_access/wchar_T/21674.cc:
135         Likewise.
136         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
137         Extend xfail to darwin10 systems.
138
139 2010-01-27  Benjamin Kosnik  <bkoz@redhat.com>
140
141         PR c++/42346
142         * testsuite/23_containers/unordered_map/requirements/exception/: Remove
143         -O1 workaround.
144         * testsuite/23_containers/multimap/requirements/exception/: Same.
145         * testsuite/23_containers/map/requirements/exception: Same.
146
147 2010-01-27  Richard Guenther  <rguenther@suse.de>
148
149         PR libstdc++/42832
150         * include/std/functional (function<>::swap): Perform bytewise
151         swap of _M_functor.
152         * include/tr1/functional (function<>::swap): Likewise.
153
154 2010-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
155
156         * config/abi/pre/gnu.ver: Avoid time_get pattern conflicts.
157
158 2010-01-26  François Dumont  <francois.cppdevs@free.fr>
159
160         * doc/xml/manual/allocator.xml: Minor updates and fixes.
161         * doc/xml/manual/containers.xml: Likewise.
162         * doc/xml/manual/using.xml: Likewise.
163         * doc/xml/manual/locale.xml: Likewise.
164         * doc/xml/manual/appendix_contributing.xml: Likewise.
165
166 2010-01-26  Daniel Frey  <d.frey@gmx.de>
167
168         * include/std/functional: Use enable_if instead of __enable_if
169         throughout, do not include ext/type_traits.h.
170         (is_placeholder, is_bind_expression): Use integral_constant.
171
172 2010-01-25  Paolo Carlini  <paolo.carlini@oracle.com>
173
174         * testsuite/util/testsuite_common_types.h (has_bitwise_operators):
175         Avoid -Wall warnings.
176
177 2010-01-25  Paolo Carlini  <paolo.carlini@oracle.com>
178
179         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Use an int
180         as loop variable, to avoid -Wall warnings.
181         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
182         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
183         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
184         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
185
186         * testsuite/20_util/reference_wrapper/24803.cc: Remove unused vars.
187         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
188
189 2010-01-22  Daniel Frey  <d.frey@gmx.de>
190
191         * include/std/functional (_Index_tuple, _Build_index_tuple):
192         Simplify and speed-up.
193
194 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
195
196         PR libstdc++/36101, PR libstdc++/42813
197         * acinclude.m4 (enable_parallel): Test ${TARGET_CONFIGDIRS} instead of
198         looking for omp.h.
199         * configure: Regenerate.
200
201 2010-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
202
203         PR libstdc++/42201
204         * include/std/future: Update to latest WP.
205         * src/functexcept.cc (__throw_future_error): Use make_error_code.
206         * testsuite/30_threads/async/any.cc: New.
207         * testsuite/30_threads/async/async.cc: New.
208         * testsuite/30_threads/async/sync.cc: New.
209         * testsuite/30_threads/packaged_task/cons/alloc.cc: New.
210         * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
211         * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Adjust.
212         * testsuite/30_threads/packaged_task/members/get_future.cc: Adjust.
213         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
214         * testsuite/30_threads/packaged_task/members/invoke.cc: Adjust.
215         * testsuite/30_threads/packaged_task/members/invoke2.cc: Adjust.
216         * testsuite/30_threads/packaged_task/members/invoke3.cc: Adjust.
217         * testsuite/30_threads/packaged_task/members/invoke4.cc: Adjust.
218         * testsuite/30_threads/packaged_task/members/reset.cc: Adjust.
219         * testsuite/30_threads/packaged_task/members/reset2.cc: Adjust.
220         * testsuite/30_threads/shared_future/cons/assign_neg.cc: Remove.
221         * testsuite/30_threads/shared_future/cons/default_neg.cc: Remove.
222         * testsuite/30_threads/shared_future/cons/default.cc: New.
223         * testsuite/30_threads/shared_future/cons/assign.cc: New.
224         * testsuite/30_threads/shared_future/cons/copy.cc: Adjust.
225         * testsuite/30_threads/shared_future/cons/move.cc: Adjust.
226         * testsuite/30_threads/shared_future/cons/move_assign.cc: New.
227         * testsuite/30_threads/shared_future/members/is_ready.cc: Remove.
228         * testsuite/30_threads/shared_future/members/has_value.cc: Remove.
229         * testsuite/30_threads/shared_future/members/has_exception.cc: Remove.
230         * testsuite/30_threads/shared_future/members/valid.cc: New.
231         * testsuite/30_threads/unique_future/cons/default_neg.cc: Remove.
232         * testsuite/30_threads/unique_future/cons/default.cc: New.
233         * testsuite/30_threads/unique_future/cons/move_assign.cc: New.
234         * testsuite/30_threads/unique_future/cons/assign_neg.cc: Adjust.
235         * testsuite/30_threads/unique_future/cons/copy_neg.cc: Adjust.
236         * testsuite/30_threads/unique_future/cons/move.cc: Adjust.
237         * testsuite/30_threads/unique_future/requirements/
238         explicit_instantiation.cc: Adjust.
239         * testsuite/30_threads/unique_future/members/is_ready.cc: Remove.
240         * testsuite/30_threads/unique_future/members/has_value.cc: Remove.
241         * testsuite/30_threads/unique_future/members/has_exception.cc: Remove.
242         * testsuite/30_threads/unique_future/members/valid.cc: New.
243         * testsuite/30_threads/unique_future/members/get.cc: Adjust.
244         * testsuite/30_threads/unique_future/members/get2.cc: Adjust.
245         * testsuite/30_threads/unique_future/members/wait.cc: Adjust.
246         * testsuite/30_threads/unique_future/members/wait_for.cc: Adjust.
247         * testsuite/30_threads/unique_future/members/wait_until.cc: Adjust.
248         * testsuite/30_threads/headers/future/types_std_c++0x.cc: Adjust.
249         * testsuite/30_threads/promise/cons/alloc.cc: New.
250         * testsuite/30_threads/promise/cons/assign_neg.cc: Adjust.
251         * testsuite/30_threads/promise/cons/copy_neg.cc: Adjust.
252         * testsuite/30_threads/promise/cons/move.cc: Adjust.
253         * testsuite/30_threads/promise/cons/move_assign.cc: Adjust.
254         * testsuite/30_threads/promise/members/get_future.cc: Adjust.
255         * testsuite/30_threads/promise/members/set_value.cc: Adjust.
256         * testsuite/30_threads/promise/members/set_exception.cc: Adjust.
257         * testsuite/30_threads/promise/members/set_exception2.cc: Adjust.
258         * testsuite/30_threads/promise/members/set_value2.cc: Adjust.
259         * testsuite/30_threads/promise/members/set_value3.cc: Adjust.
260         * testsuite/30_threads/promise/members/swap.cc: Adjust.
261
262 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
263             Paolo Carlini  <paolo.carlini@oracle.com>
264
265         PR libstdc++/21769
266         * testsuite/lib/dg-options.exp (add_options_for_no_pch): Add.
267         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
268         Use it.
269
270 2010-01-19  Johannes Singler  <singler@kit.edu>
271
272         PR libstdc++/42712
273         * include/parallel/settings.h (_Settings): Add search_minimal_n.
274         * include/parallel/algo.h (__search_switch):
275         Add serial fallback for too small inputs.
276         (__search_n_switch): Likewise.  Call serial fallback on higher level
277         to gain special treatment for __count 0 or 1.
278         * testsuite/25_algorithms/search_n/iterator.cc:
279         Reenable full test depth for parallel mode.
280
281 2010-01-18  Daniel Frey  <d.frey@gmx.de>
282
283         * include/std/functional (_Bind<_Functor(_Bound_args...)>::
284         operator()): "Pass" _Result to __call*.
285         (_Bind<_Functor(_Bound_args...)>::__call*): Adjust, simplify.
286
287 2010-01-18  Johannes Singler  <singler@kit.edu>
288
289         * include/parallel/base.h (__unary_negate): Correct comment.
290
291 2010-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
292
293         * include/std/functional (_Bind<_Functor(_Bound_args...)>::__call):
294         Rename const version to __call_c and remove _Sfinae template
295         parameter.
296         (_Bind<_Functor(_Bound_args...)>::operator()): Adjust.
297
298         * include/std/functional: Pass everywhere temporary tuple<_Args...>
299         arguments by rvalue reference.
300
301         * testsuite/20_util/bind/cv_quals.cc: New.
302
303         * testsuite/20_util/bind/ref2.cc: Add missing test variables.
304
305 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
306
307         PR libstdc++/35942
308         * configure.ac: Remove -lstdc++ from libtool's postdeps_CXX.
309         * configure: Regenerate.
310
311 2010-01-15  Phil Muldoon  <pmuldoon@redhat.com>
312
313         * python/libstdcxx/v6/printers.py (StdStringPrinter.__init__):
314         Remove encoding argument.
315         (StdStringPrinter.to_string): Do not compute or pass encoding.
316         Use lazy_string over string function.
317
318 2010-01-14  Paolo Carlini  <paolo.carlini@oracle.com>
319
320         * include/c_std/cstring (memchr): Forward to the builtin.
321         * include/c_std/cstring: Remove redundant casts; use names consistent
322         with the letter of the Standard.
323         * include/c_global/cstring: Likewise.
324
325 2010-01-13  Benjamin Kosnik  <bkoz@redhat.com>
326
327         * include/profile/iterator_tracker.h: Add copyright.
328
329 2010-01-13  Paolo Carlini  <paolo.carlini@oracle.com>
330
331         * testsuite/Makefile.am (check-debug): Add.
332         * testsuite/Makefile.in: Regenerate.
333         * config.h.in: Likewise.
334
335 2010-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
336
337         * testsuite/17_intro/using_namespace_std_tr1_neg.cc: Do not run
338         in parallel-mode.
339         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewiwse.
340         * testsuite/25_algorithms/rotate/moveable.cc: Likewiwse.
341         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewiwse.
342         * testsuite/25_algorithms/remove/moveable.c: Likewiwse.
343         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewiwse.
344         * testsuite/25_algorithms/nth_element/moveable.cc: Likewiwse.
345         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewiwse.
346         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewiwse.
347         * testsuite/25_algorithms/partition/moveable.cc: Likewiwse.
348         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewiwse.
349         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewiwse.
350         * testsuite/25_algorithms/sort/moveable.cc: Likewiwse.
351         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewiwse.
352         * testsuite/25_algorithms/unique/moveable.cc: Likewiwse.
353         * testsuite/25_algorithms/remove_if/moveable.cc: Likewiwse.
354         * testsuite/25_algorithms/heap/moveable.cc: Likewiwse.
355
356         * testsuite/25_algorithms/search_n/iterator.cc: Reduce iteration #
357         in parallel-mode.
358
359 2010-01-12  Hans-Peter Nilsson  <hp@axis.com>
360
361         * testsuite/ext/profile/all.cc: Pass -D_GLIBCXX_PROFILE_NO_THREADS
362         for non-tls_native targets.
363
364 2010-01-12  Benjamin Kosnik  <bkoz@redhat.com>
365
366         * scripts/run_doxygen: Correct nested scope on the man pages.
367         * doc/xml/faq.xml: Edits, linkcheck, doxygen link reassociate.
368         * doc/xml/manual/mt_allocator.xml: Same.
369         * doc/xml/manual/allocator.xml: Same.
370         * doc/xml/manual/codecvt.xml: Same.
371         * doc/xml/manual/backwards_compatibility.xml: Same.
372         * doc/xml/manual/concurrency.xml: Same.
373         * doc/xml/manual/parallel_mode.xml: Same.
374         * doc/xml/manual/io.xml: Same.
375         * doc/xml/manual/support.xml: Same.
376         * doc/xml/manual/evolution.xml: Same.
377         * doc/xml/manual/using.xml: Same.
378         * doc/xml/manual/extensions.xml: Same.
379         * doc/xml/manual/appendix_contributing.xml: Same.
380         * doc/xml/manual/prerequisites.xml: Same.
381         * doc/xml/manual/diagnostics.xml: Same.
382         * doc/xml/manual/spine.xml: Same.
383         * doc/xml/manual/status_cxx200x.xml: Same.
384         * doc/xml/manual/test.xml: Same.
385         * doc/xml/spine.xml: Same.
386         * doc/html/*: Regenerate.
387
388         * include/profile/impl/profiler.h: Remove duplicate markup.
389
390 2010-01-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
391
392         PR libstdc++/24803
393         PR libstdc++/35569
394         PR libstdc++/42593
395         * include/std/functional (bind): Forward rvalues and detect correct
396         result type of bound function object.
397         * include/std/mutex (call_once): Specify bind result type.
398         * testsuite/20_util/reference_wrapper/invoke.cc: Remove invalid tests.
399         * testsuite/20_util/reference_wrapper/24803.cc: Remove invalid tests
400         and enable FIXME tests.
401         * testsuite/20_util/bind/35569.cc: New.
402         * testsuite/20_util/bind/ref2.cc: New.
403         * testsuite/20_util/bind/38889.cc: New.
404         * testsuite/20_util/bind/ref_neg.cc: New.
405         * testsuite/20_util/bind/42593.cc: New.
406
407 2010-01-11  Paolo Carlini  <paolo.carlini@oracle.com>
408
409         * include/parallel/base.h (decode2): Rename to __decode2.
410         (binder2nd): Likewise to __binder2nd.
411         * include/parallel/quicksort.h: Adjust callers.
412         * include/parallel/balanced_quicksort.h: Likewise.
413         * include/parallel/partition.h: Likewise.
414         * include/parallel/queue.h: Likewise.
415
416         * include/parallel/algo.h: Qualify with std:: binder2nd use.
417
418 2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>
419
420         * include/debug/string (basic_string<>::basic_string(basic_string&&),
421         operator=(basic_string&&), assign(basic_string&&)): Add.
422
423         * include/debug/string: Fully qualify initializer_list with std; fix
424         _Allocator misspellings as _Alloc.
425
426 2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>
427
428         * include/bits/basic_string.h (basic_string<>::
429         basic_string(basic_string&&), operator=(basic_string&&),
430         assign(basic_string&&)): Add.
431         * config/abi/pre/gnu.ver: Export new symbols.
432         * include/ext/vstring.h (__versa_string<>::assign(__versa_string&&)):
433         Add.
434         (operator=(__versa_string&&)): Don't call clear unnecessarily.
435         * include/ext/rc_string_base.h (__rc_string_base<>::
436         __rc_string_base(__rc_string_base&&)): Simplify a tad.
437         * testsuite/21_strings/basic_string/cons/char/moveable.cc: New.
438         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
439         * testsuite/ext/vstring/assign/move_assign.cc: Likewise.
440         * testsuite/21_strings/basic_string/assign/char/move_assign.cc:
441         Likewise.
442         * testsuite/21_strings/basic_string/assign/wchar_t/move_assign.cc:
443         Likewise.
444
445         * testsuite/ext/vstring/cons/moveable.cc: Fix comment nit.
446
447 2010-01-10  Silvius Rus  <rus@google.com>
448
449         * configure.ac: Add detection of execinfo.h.
450         * configure: Regenerate.
451         * config.h.in: Likewise.
452         * doc/xml/manual/profile_mode.xml: Add list_to_slist manual.
453         Also, correct user interface mistakes.
454         * include/Makefile.am: Add references to new include files.
455         * include/Makefile.in: Regenerate.
456         * include/backward/hash_map: Remove profile include.
457         * include/backward/hash_set: Likewise.
458         * include/profile/hashtable.h: Delete file.
459         * include/profile/iterator_tracker.h: New file.
460         * include/profile/vector: Add instrumentation for tracked iterator.
461         * include/profile/list: Same.
462         * include/profile/impl/profiler_list_to_slist.h: New file.
463         * include/profile/impl/profiler_list_to_vector.h: Same.
464         * include/profile/impl/profiler.h: Add list_to_slist and
465         list_to_vector instrumentation hook interfaces.  Fixed broken
466         diagnostic disabling mechanism.
467         (_GLIBCXX_PROFILE_DEFINE_DATA,_GLIBCXX_PROFILE_DATA) New macros.
468         (__reentrance_guard) Fix bug.
469         * include/profile/impl/profiler_trace.h: Replace dummy templates
470         with _GLIBCXX_PROFILE_DEFINE_DATA.
471         * include/profile/impl/profiler_container_size.h: Same.
472         * include/profile/impl/profiler_vector_size.h: Same.
473         * include/profile/impl/profiler_hash_func.h: Same.
474         * include/profile/impl/profiler_vector_to_list.h: Same.
475         * include/profile/impl/profiler_map_to_unordered_map.h: Same.
476         * include/profile/impl/profiler_hashtable_size.h: Same.
477         * include/profile/impl/profiler_node.h: Same.
478         * include/profile/impl/profiler_state.h: Same.  Also, remove
479         class __state. Also, use __sync_val_compare_and_swap to set state.
480
481 2010-01-09  H.J. Lu  <hongjiu.lu@intel.com>
482
483         PR other/42230
484         * testsuite/abi/pr42230.cc: New.
485
486 2010-01-09  Paolo Carlini  <paolo.carlini@oracle.com>
487
488         * include/debug/set.h: Revert last change, per DR 1204 [Ready];
489         mention the latter in comment.
490         * include/debug/unordered_map: Likewise.
491         * include/debug/multiset.h: Likewise.
492         * include/debug/vector: Likewise.
493         * include/debug/unordered_set: Likewise.
494         * include/debug/deque: Likewise.
495         * include/debug/map.h: Likewise.
496         * include/debug/list: Likewise.
497         * include/debug/multimap.h: Likewise.
498         * include/tr1_impl/unordered_map: Likewise.
499         * include/tr1_impl/unordered_set: Likewise.
500         * include/profile/set.h: Likewise.
501         * include/profile/unordered_map: Likewise.
502         * include/profile/multiset.h: Likewise.
503         * include/profile/unordered_set: Likewise.
504         * include/profile/vector: Likewise.
505         * include/profile/deque: Likewise.
506         * include/profile/map.h: Likewise.
507         * include/profile/list: Likewise.
508         * include/profile/multimap.h: Likewise.
509         * include/ext/vstring.h: Likewise.
510         * include/bits/stl_list.h: Likewise.
511         * include/bits/stl_map.h: Likewise.
512         * include/bits/stl_set.h: Likewise.
513         * include/bits/stl_multimap.h: Likewise.
514         * include/bits/stl_vector.h: Likewise.
515         * include/bits/stl_deque.h: Likewise.
516         * include/bits/stl_multiset.h: Likewise.
517
518         * include/bits/forward_list.h: Remove pre-existing check.
519         * include/ext/vstring.h: Likewise.
520
521         * testsuite/ext/vstring/cons/self_move_assign.cc: Remove.
522         * testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
523         Likewise.
524         * testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
525         * testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
526         * testsuite/23_containers/unordered_multimap/cons/
527         self_move_assign.cc: Likewise.
528         * testsuite/23_containers/forward_list/cons/self_move_assign.cc:
529         Likewise.
530         * testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
531         Likewise.
532         * testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
533         * testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
534         * testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
535         * testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
536         * testsuite/23_containers/unordered_multiset/cons/
537         self_move_assign.cc: Likewise.
538         * testsuite/23_containers/map/cons/self_move_assign.cc: Likewise.
539
540         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
541         Adjust dg-error line numbers.
542         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
543         Likewise.
544         * testsuite/23_containers/vector/requirements/dr438/
545         constructor_1_neg.cc: Likewise.
546         * testsuite/23_containers/vector/requirements/dr438/
547         constructor_2_neg.cc: Likewise.
548         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
549         Likewise.
550         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
551         Likewise.
552         * testsuite/23_containers/deque/requirements/dr438/
553         constructor_1_neg.cc: Likewise.
554         * testsuite/23_containers/forward_list/requirements/dr438/
555         assign_neg.cc: Likewise.
556         * testsuite/23_containers/forward_list/requirements/dr438/
557         insert_neg.cc: Likewise.
558         * testsuite/23_containers/forward_list/requirements/dr438/
559         constructor_1_neg.cc: Likewise.
560         * testsuite/23_containers/forward_list/requirements/dr438/
561         constructor_2_neg.cc: Likewise.
562         * testsuite/23_containers/deque/requirements/dr438/
563         constructor_2_neg.cc: Likewise.
564         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
565         Likewise.
566         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
567         Likewise.
568         * testsuite/23_containers/list/requirements/dr438/
569         constructor_1_neg.cc: Likewise.
570         * testsuite/23_containers/list/requirements/dr438/
571         constructor_2_neg.cc: Likewise.
572
573 2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
574
575         * include/debug/set.h: Protect move assignment operator vs self
576         assignment.
577         * include/debug/unordered_map: Likewise.
578         * include/debug/multiset.h: Likewise.
579         * include/debug/vector: Likewise.
580         * include/debug/unordered_set: Likewise.
581         * include/debug/deque: Likewise.
582         * include/debug/map.h: Likewise.
583         * include/debug/list: Likewise.
584         * include/debug/multimap.h: Likewise.
585         * include/tr1_impl/unordered_map: Likewise.
586         * include/tr1_impl/unordered_set: Likewise.
587         * include/profile/set.h: Likewise.
588         * include/profile/unordered_map: Likewise.
589         * include/profile/multiset.h: Likewise.
590         * include/profile/unordered_set: Likewise.
591         * include/profile/vector: Likewise.
592         * include/profile/deque: Likewise.
593         * include/profile/map.h: Likewise.
594         * include/profile/list: Likewise.
595         * include/profile/multimap.h: Likewise.
596         * include/ext/vstring.h: Likewise.
597         * include/bits/stl_list.h: Likewise.
598         * include/bits/stl_map.h: Likewise.
599         * include/bits/stl_set.h: Likewise.
600         * include/bits/stl_multimap.h: Likewise.
601         * include/bits/stl_vector.h: Likewise.
602         * include/bits/stl_deque.h: Likewise.
603         * include/bits/stl_multiset.h: Likewise.
604         * include/ext/vstring.h: Use clear().
605         * testsuite/ext/vstring/cons/self_move_assign.cc: New.
606         * testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
607         Likewise.
608         * testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
609         * testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
610         * testsuite/23_containers/unordered_multimap/cons/
611         self_move_assign.cc: Likewise.
612         * testsuite/23_containers/forward_list/cons/self_move_assign.cc:
613         Likewise.
614         * testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
615         Likewise.
616         * testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
617         * testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
618         * testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
619         * testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
620         * testsuite/23_containers/unordered_multiset/cons/
621         self_move_assign.cc: Likewise.
622         * testsuite/23_containers/map/cons/self_move_assign.cc: Likewise.
623
624         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
625         Adjust dg-error line numbers.
626         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
627         Likewise.
628         * testsuite/23_containers/vector/requirements/dr438/
629         constructor_1_neg.cc: Likewise.
630         * testsuite/23_containers/vector/requirements/dr438/
631         constructor_2_neg.cc: Likewise.
632         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
633         Likewise.
634         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
635         Likewise.
636         * testsuite/23_containers/deque/requirements/dr438/
637         constructor_1_neg.cc: Likewise.
638         * testsuite/23_containers/deque/requirements/dr438/
639         constructor_2_neg.cc: Likewise.
640         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
641         Likewise.
642         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
643         Likewise.
644         * testsuite/23_containers/list/requirements/dr438/
645         constructor_1_neg.cc: Likewise.
646         * testsuite/23_containers/list/requirements/dr438/
647         constructor_2_neg.cc: Likewise.
648
649         * testsuite/ext/vstring/moveable.cc: Move to...
650         * testsuite/ext/vstring/cons/moveable.cc: ... here.
651         * testsuite/23_containers/unordered_map/moveable.cc: Move to...
652         * testsuite/23_containers/unordered_map/cons/moveable.cc ... here.
653         * testsuite/23_containers/multimap/moveable.cc: Move to...
654         * testsuite/23_containers/multimap/cons/moveable.cc: ... here.
655         * testsuite/23_containers/set/moveable.cc: Move to...
656         * testsuite/23_containers/set/cons/moveable.cc: ... here.
657         * testsuite/23_containers/unordered_multimap/moveable.cc: Move to...
658         * testsuite/23_containers/unordered_multimap/cons/moveable.cc:
659         ... here.
660         * testsuite/23_containers/forward_list/moveable.cc: Move to...
661         * testsuite/23_containers/forward_list/cons/moveable.cc: ... here.
662         * testsuite/23_containers/unordered_set/moveable.cc Move to...
663         * testsuite/23_containers/unordered_set/moveable.cc: ... here.
664         * testsuite/23_containers/vector/cons/moveable.cc Move to...
665         * testsuite/23_containers/vector/cons/moveable2.cc: ... this.
666         * testsuite/23_containers/deque/cons/moveable.cc Move to...
667         * testsuite/23_containers/deque/cons/moveable2.cc: ... this.
668         * testsuite/23_containers/multiset/moveable.cc Move to...
669         * testsuite/23_containers/multiset/cons/moveable.cc: ... here.
670         * testsuite/23_containers/list/moveable.h Move to...
671         * testsuite/23_containers/list/cons/moveable.h: ... here.
672         * testsuite/23_containers/list/moveable.cc Move to...
673         * testsuite/23_containers/list/cons/moveable.cc: ... here.
674         * testsuite/23_containers/unordered_multiset/moveable.cc Move to...
675         * testsuite/23_containers/unordered_multiset/cons/moveable.cc:
676         ... here.
677         * testsuite/23_containers/map/moveable.cc Move to...
678         * testsuite/23_containers/map/cons/moveable.cc: ... here.
679         * testsuite/23_containers/vector/moveable.cc: Move to...
680         * testsuite/23_containers/vector/cons/moveable.cc: ... here.
681         * testsuite/23_containers/deque/moveable.cc: Move to...
682         * testsuite/23_containers/deque/cons/moveable.cc: ... here.
683
684 2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
685
686         PR libstdc++/42573
687         * include/bits/allocator.h (struct __shrink_to_fit): Add.
688         * include/bits/stl_deque.h (deque<>::shrink_to_fit): Add.
689         * include/bits/stl_vector.h (vector<>::shrink_to_fit): Likewise.
690         * include/bits/stl_bvector.h (vector<bool>::shrink_to_fit): Likewise.
691         * include/bits/basic_string.h (basic_string<>::shrink_to_fit):
692         Likewise.
693         * include/ext/vstring.h (__versa_string<>::shrink_to_fit): Likewise.
694         * include/debug/deque: Add corresponding using declaration.
695         * include/debug/vector: Likewise.
696         * include/debug/string: Likewise.
697         * include/profile/deque: Likewise.
698         * include/profile/vector: Likewise.
699         * config/abi/pre/gnu.ver: Export new symbols.
700         * testsuite/23_containers/deque/capacity/shrink_to_fit.cc: New.
701         * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
702         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
703         Likewise.
704         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
705         Likewise.
706         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
707         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
708         Adjust dg-error line number.
709         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
710         Likewise.
711         * testsuite/23_containers/deque/requirements/dr438/
712         constructor_1_neg.cc: Likewise.
713         * testsuite/23_containers/deque/requirements/dr438/
714         constructor_2_neg.cc: Likewise.
715         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
716         Adjust dg-error line number.
717         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
718         Likewise.
719         * testsuite/23_containers/vector/requirements/dr438/
720         constructor_1_neg.cc: Likewise.
721         * testsuite/23_containers/vector/requirements/dr438/
722         constructor_2_neg.cc: Likewise.
723
724 2010-01-07  Benjamin Kosnik  <bkoz@redhat.com>
725
726         * doc/xml/manual/evolution.xml: Fix typos, update.
727
728 2010-01-07  Paolo Carlini  <paolo.carlini@oracle.com>
729
730         * include/bits/locale_facets_nonio.tcc (time_put<>::do_put): Avoid
731         pointless __builtin_alloca use.
732
733 2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
734
735         PR libstdc++/26701
736         * include/bits/locale_facets_nonio.tcc (time_get<>::_M_extract_num):
737         Encode short two digits over four parsings to negative numbers.
738         (time_get<>::_M_extract_via_format): Adjust, accept both two digits
739         and four digits for both 'y' and 'Y'.
740         (time_get<>::do_get_year): Call time_get<>::_M_extract_num.
741         * doc/xml/manual/prerequisites.xml: Add en_GB.
742         * testsuite/lib/libstdc++.exp: Adjust
743         * testsuite/22_locale/time_get/get_date/char/26701.cc: New.
744         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
745
746 2010-01-06  Benjamin Kosnik  <bkoz@redhat.com>
747
748         PR libstdc++/42491
749         * scripts/check_performance (CXX): Add -std=gnu++0x.
750         * testsuite/performance/30_threads/future/polling.cc: Mark up as
751         using threads.
752
753 2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
754
755         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc:
756         Add dg-require-namedlocale.
757
758 2010-01-05  Benjamin Kosnik  <bkoz@redhat.com>
759
760         * doc/xml/manual/evolution.xml: Update for 4.4 and 4.5 releases.
761         * doc/html: Regenerate.
762
763 2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>
764
765         PR libstdc++/38081
766         * include/bits/locale_facets_nonio.h (time_get<>::
767         _M_extract_wday_or_month): New, declare.
768         * include/bits/locale_facets_nonio.tcc (time_get<>::
769         _M_extract_wday_or_month): Define.
770         (time_get<>::do_get_weekday, time_get<>::do_get_monthname): Use it.
771         * config/abi/pre/gnu.ver: Export new symbols.
772         * doc/xml/manual/prerequisites.xml: Add ru_RU.UTF-8 and
773         ru_RU.ISO-8859-5.
774         * testsuite/lib/libstdc++.exp: Adjust.
775         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: New.
776         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
777
778 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
779
780         * configure: Regenerate.
781
782 2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>
783
784         * testsuite/22_locale/time_get/get_monthname/char/6.cc: New.
785         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
786         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
787         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
788
789 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
790
791         * include/profile/list: Implement DR 1133 here too.
792
793         * testsuite/25_algorithms/set_intersection/34730.cc: Do not force
794         debug-mode, leads to spurious failures in profile-mode.
795         * testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
796         * testsuite/25_algorithms/lower_bound/33613.cc: Likewise.
797         * testsuite/25_algorithms/set_difference/35541.cc: Likewise.
798         * testsuite/21_strings/basic_string/40160.cc: Likewise.
799         * testsuite/26_numerics/random/uniform_real_distribution/
800         cons/parms_neg.cc: Likewise.
801         * testsuite/26_numerics/random/uniform_int_distribution/
802         cons/parms_neg.cc: Likewise.
803         * testsuite/23_containers/unordered_map/requirements/debug_mode.cc:
804         Likewise.
805         * testsuite/23_containers/multimap/14340.cc: Likewise.
806         * testsuite/23_containers/bitset/18604.cc: Likewise.
807         * testsuite/23_containers/set/14340.cc: Likewise.
808         * testsuite/23_containers/set/18604.cc: Likewise.
809         * testsuite/23_containers/unordered_set/requirements/
810         debug_mode.cc: Likewise.
811         * testsuite/23_containers/vector/
812         debug_mode_requires_reallocation-1.cc: Likewise.
813         * testsuite/23_containers/vector/
814         debug_mode_requires_reallocation-2.cc: Likewise.
815         * testsuite/23_containers/vector/14340.cc: Likewise.
816         * testsuite/23_containers/vector/15523.cc: Likewise.
817         * testsuite/23_containers/vector/18604.cc: Likewise.
818         * testsuite/23_containers/deque/14340.cc: Likewise.
819         * testsuite/23_containers/deque/18604.cc: Likewise.
820         * testsuite/23_containers/multiset/14340.cc: Likewise.
821         * testsuite/23_containers/list/operations/35969.cc: Likewise.
822         * testsuite/23_containers/list/14340.cc: Likewise.
823         * testsuite/23_containers/list/18604.cc: Likewise.
824         * testsuite/23_containers/map/14340.cc: Likewise.
825         * testsuite/23_containers/map/18604.cc: Likewise.
826         * testsuite/tr1/5_numerical_facilities/random/uniform_int/
827         cons/range_neg.cc: Likewise.
828
829         * testsuite/23_containers/unordered_map/requirements/
830         explicit_instantiation/2.cc: Do not instantiate for
831         non-defaultconstructible mapped_type.
832
833 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
834
835         * include/debug/set.h: Implement DR 130 here too.
836         * include/debug/multiset.h: Likewise.
837         * include/debug/map.h: Likewise.
838         * include/debug/multimap.h: Likewise.
839         * include/profile/set.h: Implement DR 130 fully.
840         * include/profile/multiset.h: Likewise.
841         * include/profile/map.h: Likewise.
842         * include/profile/multimap.h: Likewise.
843         * include/debug/list: Implement DR 1133 here too.
844         * include/ext/pb_ds/detail/debug_map_base.hpp: Comment out for
845         now uses of __gnu_cxx::throw_allocator.
846         * testsuite/21_strings/basic_string/40160.cc: Don't pass
847         explicitly -D_GLIBCXX_DEBUG, doesn't play well with profile-mode
848         testing.
849
850 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
851
852         * include/profile/bitset (bitset<>::bitset(unsigned long long)): Add
853         in C++0x mode.
854         * include/debug/bitset (bitset<>::bitset(unsigned long long)):
855         Likewise.
856
857 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
858
859         * include/tr1_impl/hashtable (_Hashtable<>): Remove insert_return_type
860         typedef.
861         * include/profile/unordered_map (unordered_map<>::insert(const
862         value_type&), unordered_multimap<>::insert(const value_type&)): Adjust.
863         * include/profile/unordered_set (unordered_set<>::insert(const
864         value_type&), unordered_multimap<>::insert(const value_type&)):
865         Likewise.
866
867 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
868
869         * include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&),
870         pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)):
871         Use std::is_constructible instead of std::is_convertible.
872
873 2010-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
874
875         Revert last change, reinstantiate basic_string and vstring tests.
876
877 2010-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
878
879         * testsuite/21_strings/basic_string/requirements/exception/
880         propagation_consistent.cc: Remove, cannot instantiate basic_string
881         for non-PODs (21/1).
882         * testsuite/21_strings/basic_string/requirements/exception/
883         basic.cc: Likewise.
884         * testsuite/21_strings/basic_string/requirements/exception/
885         generation_prohibited.cc: Likewise.
886         * testsuite/ext/vstring/requirements/exception/
887         propagation_consistent.cc: Likewise.
888         * testsuite/ext/vstring/requirements/exception/basic.cc:
889         Likewise.
890         * testsuite/ext/vstring/requirements/exception/
891         generation_prohibited.cc: Likewise.