OSDN Git Service

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