OSDN Git Service

Fix PR52822 (stable_partition move-assigns object to itself) by
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2012-04-12   Jeffrey Yasskin  <jyasskin@google.com>
2
3         PR libstdc++/52822
4         * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
5         (__find_if_not_n): Like __find_if_not, but works on and updates a
6         counted range instead of a bounded range.
7         (stable_partition): Guarantee !__pred(*__first) in call to
8         __stable_partition_adaptive() or __inplace_stable_partition().
9         (__stable_partition_adaptive): Use new precondition to avoid
10         moving/copying objects onto themselves.  Guarantee new
11         precondition to recursive calls.
12         (__inplace_stable_partition): Use new precondition to simplify
13         base case, remove __last parameter.  Guarantee new precondition to
14         recursive calls.
15         * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
16         Test a sequence that starts with a value matching the predicate.
17         * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
18         vectors, which have a destructive self-move-assignment.
19
20 2012-04-12  Paolo Carlini  <paolo.carlini@oracle.com>
21
22         PR libstdc++/52942
23         * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
24         In C++11 mode do not derive from std::unary_function.
25         * include/ext/functional (identity, select1st, select2nd): Adjust.
26         * testsuite/23_containers/unordered_map/requirements/52942.cc: New.
27         * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
28
29 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
30
31         PR libstdc++/52924
32         * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
33         user-defined destructor.
34         (_Sp_counted_inplace): Likewise.
35         * testsuite/20_util/shared_ptr/cons/52924.cc: New.
36         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
37         line numbers.
38
39 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
40
41         * testsuite/performance/30_threads/future/polling.cc: Adjust.
42
43 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
44
45         PR libstdc++/52591
46         * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch
47         to _M_move_assign depending on whether allocator is moved.
48         (vector::_M_move_assign): Add overloaded functions.
49         * testsuite/23_containers/vector/52591.cc: New.
50         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
51         Adjust dg-error line number.
52         * testsuite/23_containers/vector/requirements/dr438/
53         constructor_1_neg.cc:
54         Likewise.
55         * testsuite/23_containers/vector/requirements/dr438/
56         constructor_2_neg.cc:
57         Likewise.
58         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
59         Likewise.
60
61 2012-04-09  François Dumont  <fdumont@gcc.gnu.org>
62
63         PR libstdc++/52476
64         * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add.
65         (_Hashtable<>::_M_rehash): Use the latter.
66         * testsuite/23_containers/unordered_multimap/insert/52476.cc: New.
67         * testsuite/23_containers/unordered_multiset/insert/52476.cc: New.
68
69 2012-04-09  Terry Guo  <terry.guo@arm.com>
70
71         Backport from mainline
72         2012-03-28  Terry Guo  <terry.guo@arm.com>
73
74         * testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
75         * testsuite/Makefile.in: Regenerated.
76
77 2012-03-30  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
78             Paolo Carlini  <paolo.carlini@oracle.com>
79
80         PR libstdc++/52799
81         * include/bits/deque.tcc (emplace): Fix thinko, replace push_front
82         -> emplace_front, and likewise for *_back.
83         * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New.
84         * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise.
85         * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise.
86
87 2012-03-23  David S. Miller  <davem@davemloft.net>
88
89         * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
90
91 2012-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
92
93         * include/bits/forward_list.h: Fix comments.
94
95 2012-03-23  Paweł Sikora  <pawel.sikora@agmk.net>
96
97         PR libstdc++/52540
98         * include/Makefile.am (c++config.h): Fix sed rule to not break
99         the _GLIBCXX_EXTERN_TEMPLATE redefinition.
100         * include/Makefile.in: Regenerate.
101
102 2012-03-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
103
104         PR libstdc++/52433
105         * include/debug/safe_iterator.h (_Safe_iterator): Add move
106         constructor and move assignment operator.
107         * testsuite/23_containers/vector/debug/52433.cc: New.
108
109 2012-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
110
111         * include/std/array (array<>::at(size_type) const): Fix version
112         for undefined __EXCEPTIONS.
113
114 2012-03-22  Release Manager
115
116         * GCC 4.7.0 released.
117
118 2012-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
119
120         PR libstdc++/52456
121         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
122
123 2012-03-09  Andreas Schwab  <schwab@linux-m68k.org>
124
125         * config/locale/gnu/monetary_members.cc
126         (moneypunct<char,true>::_M_initialize_moneypunct): Throw caught
127         exception again.
128         (moneypunct<char,false>::_M_initialize_moneypunct): Likewise.
129         * testsuite/22_locale/locale/cons/12352.cc: Also test en_US
130         locale.
131
132 2012-03-02  Benjamin Kosnik  <bkoz@redhat.com>
133
134         * include/c_global/cstdio: Remove extraneous extern.
135         * include/c_std/cstdio: Same.
136
137 2012-03-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
138
139         * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
140         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
141         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
142         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
143         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
144
145 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
146             Ramana Radhakrishnan <ramana@gcc.gnu.org>
147
148         PR libstdc++/51785
149         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): New.
150         * configure.ac: Call it.
151         * configure: Regenerate.
152         * config.h.in: Same.
153         * config/os/gnu-linux/os_defines.h: Conditionally undefine
154         _GLIBCXX_HAVE_GETS.
155         * include/c_global/cstdio: Conditionally declare deprecated gets.
156         * include/c_std/cstdio: Same.
157
158 2012-03-01  Michael Spertus  <mike_spertus@symantec.com>
159
160         * include/tr2/type_traits (typelist): To __reflection_typelist.
161         (first, rest, empty): Remove.
162
163 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
164
165         * testsuite/Makefile.am (CLEANFILES): Add *.gdb.
166         * testsuite/Makefile.in: Regenerate.
167
168 2012-02-29  H.J. Lu  <hongjiu.lu@intel.com>
169
170         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
171
172 2012-02-28  Benjamin Kosnik  <bkoz@redhat.com>
173
174         PR libstdc++/52191
175         * testsuite/util/testsuite_abi.cc (compare_symbols): Check new
176         symbols added into the latest version. Mark tls entities as
177         undesignated.
178
179 2012-02-28  Jakub Jelinek  <jakub@redhat.com>
180
181         PR bootstrap/52414
182         * src/Makefile.am (libstdc++-symbols.ver): Only remove comment lines
183         if they are at the beginning of lines (with optional whitespace before
184         #).
185         * src/Makefile.in: Regenerated.
186
187 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
188
189         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
190         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
191         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
192         Likewise.
193         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
194         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
195         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
196         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
197         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
198         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
199
200 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
201
202         PR libstdc++/52188
203         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Remove symvers_renaming.
204         Remove ENABLE_SYMVERS_SOL2.
205         * configure: Regenerate.
206         * src/Makefile.am [ENABLE_SYMVERS] (libstdc++-symbols.ver):
207         Postprocess mapfile.
208         [ENABLE_SYMVERS_GNU]: Remove ENABLE_SYMVERS_SOL2 handling.
209         * src/Makefile.in: Regenerate.
210
211         * config/abi/pre/gnu.ver (GLIBCXX_3.4.5) [!__sun__ && !__svr4__]:
212         Don't export
213         _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv.
214
215 2012-02-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
216
217         PR testsuite/52201
218         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
219         Require atomic builtins.
220         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
221
222 2012-02-23  Jason Merrill  <jason@redhat.com>
223
224         * include/bits/locale_facets.h (class num_get): Undo reordering of
225         do_get virtual functions.
226
227 2012-02-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
228
229         * testsuite/26_numerics/random/
230         uniform_real_distribution/requirements/typedefs.cc: Check param_type.
231         * testsuite/26_numerics/random/
232         piecewise_constant_distribution/requirements/typedefs.cc: Ditto.
233         * testsuite/26_numerics/random/
234         chi_squared_distribution/requirements/typedefs.cc: Ditto.
235         * testsuite/26_numerics/random/
236         normal_distribution/requirements/typedefs.cc: Ditto.
237         * testsuite/26_numerics/random/
238         uniform_int_distribution/requirements/typedefs.cc: Ditto.
239         * testsuite/26_numerics/random/
240         poisson_distribution/requirements/typedefs.cc: Ditto.
241         * testsuite/26_numerics/random/
242         bernoulli_distribution/requirements/typedefs.cc: Ditto.
243         * testsuite/26_numerics/random/
244         discrete_distribution/requirements/typedefs.cc: Ditto.
245         * testsuite/26_numerics/random/
246         weibull_distribution/requirements/typedefs.cc: Ditto.
247         * testsuite/26_numerics/random/
248         cauchy_distribution/requirements/typedefs.cc: Ditto.
249         * testsuite/26_numerics/random/
250         negative_binomial_distribution/requirements/typedefs.cc: Ditto.
251         * testsuite/26_numerics/random/
252         gamma_distribution/requirements/typedefs.cc: Ditto.
253         * testsuite/26_numerics/random/
254         fisher_f_distribution/requirements/typedefs.cc: Ditto.
255         * testsuite/26_numerics/random/
256         exponential_distribution/requirements/typedefs.cc: Ditto.
257         * testsuite/26_numerics/random/
258         binomial_distribution/requirements/typedefs.cc: Ditto.
259         * testsuite/26_numerics/random/
260         lognormal_distribution/requirements/typedefs.cc: Ditto.
261         * testsuite/26_numerics/random/
262         extreme_value_distribution/requirements/typedefs.cc: Ditto.
263         * testsuite/26_numerics/random/
264         piecewise_linear_distribution/requirements/typedefs.cc: Ditto.
265         * testsuite/26_numerics/random/
266         student_t_distribution/requirements/typedefs.cc: Ditto.
267         * testsuite/26_numerics/random/
268         geometric_distribution/requirements/typedefs.cc: Ditto.
269
270 2012-02-21  Benjamin Kosnik  <bkoz@redhat.com>
271
272         PR libstdc++/50349
273         * config/abi/pre/gnu.ver: Only one local.
274         * config/abi/pre/gnu-versioned-namespace.ver: Same.
275
276 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
277
278         PR libstdc++/52317 (cont)
279         * include/profile/unordered_map: Ad Library Exception comment.
280         * include/profile/set: Likewise.
281         * include/profile/base.h: Likewise.
282         * include/profile/impl/profiler_list_to_slist.h: Likewise.
283         * include/profile/impl/profiler_container_size.h: Likewise.
284         * include/profile/impl/profiler_vector_size.h: Likewise.
285         * include/profile/impl/profiler_hash_func.h: Likewise.
286         * include/profile/impl/profiler_trace.h: Likewise.
287         * include/profile/impl/profiler_list_to_vector.h: Likewise.
288         * include/profile/impl/profiler_vector_to_list.h: Likewise.
289         * include/profile/impl/profiler.h: Likewise.
290         * include/profile/impl/profiler_state.h: Likewise.
291         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
292         * include/profile/impl/profiler_algos.h: Likewise.
293         * include/profile/impl/profiler_hashtable_size.h: Likewise.
294         * include/profile/impl/profiler_node.h: Likewise.
295         * include/profile/vector: Likewise.
296         * include/profile/unordered_set: Likewise.
297         * include/profile/map.h: Likewise.
298         * include/profile/map: Likewise.
299
300 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
301
302         PR libstdc++/52317
303         * python/Makefile.am: Update boilerplate license text to GPLv3.
304         * include/profile/unordered_map: Likewise.
305         * include/profile/set: Likewise.
306         * include/profile/base.h: Likewise.
307         * include/profile/impl/profiler_list_to_slist.h: Likewise.
308         * include/profile/impl/profiler_container_size.h: Likewise.
309         * include/profile/impl/profiler_vector_size.h: Likewise.
310         * include/profile/impl/profiler_hash_func.h: Likewise.
311         * include/profile/impl/profiler_trace.h: Likewise.
312         * include/profile/impl/profiler_list_to_vector.h: Likewise.
313         * include/profile/impl/profiler_vector_to_list.h: Likewise.
314         * include/profile/impl/profiler.h: Likewise.
315         * include/profile/impl/profiler_state.h: Likewise.
316         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
317         * include/profile/impl/profiler_algos.h: Likewise.
318         * include/profile/impl/profiler_hashtable_size.h: Likewise.
319         * include/profile/impl/profiler_node.h: Likewise.
320         * include/profile/vector: Likewise.
321         * include/profile/unordered_set: Likewise.
322         * include/profile/map.h: Likewise.
323         * include/profile/map: Likewise.
324         * testsuite/21_strings/basic_string/numeric_conversions/
325         wchar_t/dr1261.cc: Likewise.
326         * testsuite/21_strings/basic_string/numeric_conversions/
327         char/dr1261.cc: Likewise.
328         * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
329
330 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
331
332         PR libstdc++/52241
333         * src/c++98/tree.cc (local_Rb_tree_increment,
334         local_Rb_tree_decrement): Add.
335         (_Rb_tree_increment(const _Rb_tree_node_base*),
336         _Rb_tree_decrement(const _Rb_tree_node_base*)): Use the latter.
337         (_Rb_tree_increment(_Rb_tree_node_base*),
338         _Rb_tree_decrement(_Rb_tree_node_base*)): New.
339
340 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
341
342         PR libstdc++/52309
343         * include/bits/hashtable_policy.h (_Equality_base<, true,>::
344         _M_equal(const _Hashtable&)): Compare values with operator==.
345         * testsuite/23_containers/unordered_set/operators/52309.cc: New.
346
347 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
348
349         PR libstdc++/51798 continued.
350         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Grep for
351         __atomic_, not __sync.
352         * configure: Regenerated.
353
354 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
355
356         PR libstdc++/47058
357         * acinclude.m4 (GLIBCXX_ENABLE_WERROR): New.
358         (GLIBCXX_EXPORT_FLAGS): Add -Wabi to WARN_FLAGS
359         * configure.ac: Use it.
360         * fragment.am: Set WERROR_FLAG conditionally on --disable-werror.
361         * configure: Regenerate.
362         * python/Makefile.in: Same.
363         * Makefile.in: Same.
364         * doc/Makefile.in: Same.
365         * include/Makefile.in: Same.
366         * po/Makefile.in: Same.
367         * python/Makefile.in: Same.
368         * src/Makefile.in: Same.
369         * src/c++11/Makefile.in: Same.
370         * src/c++98/Makefile.in: Same.
371         * testsuite/Makefile.in: Same.
372
373 2012-02-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
374
375         PR libstdc++/52189
376         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Handle
377         --enable-libstdcxx-threads.
378         Disable on Solaris 8/9 with symbol versioning.
379         * configure.ac (GLIBCXX_CHECK_GTHREADS): Move after
380         GLIBCXX_ENABLE_SYMVERS.
381         * configure: Regenerate.
382         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Explain.
383
384 2012-02-15  DJ Delorie  <dj@redhat.com>
385
386         * src/c++98/locale.cc (locale::facet::_S_get_c_locale): Fix typo.
387
388 2012-02-15  Benjamin Kosnik  <bkoz@redhat.com>
389
390         PR libstdc++/51368
391         * acinclude.m4 (GLIBCXX_ENABLE_PYTHON): New.
392         * configure.ac: Use it.
393         * python/Makefile.am: Same.
394         * configure: Regenerate.
395         * python/Makefile.in: Regenerate.
396         * Makefile.in: Same.
397         * doc/Makefile.in: Same.
398         * include/Makefile.in: Same.
399         * po/Makefile.in: Same.
400         * src/Makefile.in: Same.
401         * src/c++11/Makefile.in: Same.
402         * src/c++98/Makefile.in: Same.
403         * testsuite/Makefile.in: Same.
404
405 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
406
407         * 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin.
408
409 2012-02-14  Tom Tromey  <tromey@redhat.com>
410
411         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new
412         tests.
413         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__):
414         Rewrite.
415         (Tr1HashtableIterator.update): Remove.
416         (Tr1HashtableIterator.next): Rewrite.
417
418 2012-02-13  Benjamin Kosnik  <bkoz@redhat.com>
419
420         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
421         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
422
423 2012-02-13  Richard Henderson  <rth@redhat.com>
424
425         PR libstdc++/51798 continued.
426         * include/bits/shared_ptr_base.h
427         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
428         outside compare_exchange loop.
429         * include/tr1/shared_ptr.h: Same.
430         * include/parallel/compatibility.h (__compare_and_swap_32): Use strong
431         version of compare_exchange.
432         (__compare_and_swap_64): Same.
433         * include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
434         * libsupc++/guard.cc (__cxa_guard_acquire): Same.
435
436 2012-02-10  Benjamin Kosnik  <bkoz@redhat.com>
437             Jonathan Wakely  <jwakely.gcc@gmail.com>
438
439         PR libstdc++/51798 continued.
440         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_*
441         builtins instead of __sync_* builtins for atomic functionality.
442         * include/bits/shared_ptr_base.h: Same.
443         * include/parallel/compatibility.h: Same.
444         * include/profile/impl/profiler_state.h: Same.
445         * include/tr1/shared_ptr.h: Same.
446         * libsupc++/eh_ptr.cc: Same.
447         * libsupc++/eh_throw.cc: Same.
448         * libsupc++/eh_tm.cc: Same.
449         * libsupc++/guard.cc: Same.
450         * configure: Regenerated.
451         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
452         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
453
454 2012-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
455
456         PR libstdc++/51296
457         * config/os/osf/ctype_base.h,
458         config/os/osf/ctype_configure_char.cc,
459         config/os/osf/ctype_inline.h, config/os/osf/error_constants.h:
460         Copy from config/os/generic.
461         * config/os/osf/os_defines.h: Likewise.
462         (_GTHREAD_USE_MUTEX_INIT_FUNC, _GTHREAD_USE_COND_INIT_FUNC):
463         Define.
464         * configure.host <osf*>: Use os/osf for os_include_dir.
465
466 2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
467
468         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
469
470 2012-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
471
472         * doc/xml/manual/documentation_hacking.xml: Fix invalid attribute.
473
474 2012-02-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
475
476         * doc/xml/manual/status_cxx2011.xml: Update C++11 status table.
477
478 2012-02-07  Benjamin Kosnik  <bkoz@redhat.com>
479
480         * doc/doxygen/user.cfg.in: Update to doxygen 1.7.6.1.
481         * doc/xml/manual/documentation_hacking.xml: Update.
482
483 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
484
485         * testsuite/30_threads/call_once/39909.cc: Remove duplicate target
486         selector.
487         * testsuite/30_threads/call_once/49668.cc: Likewise.
488         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
489         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
490         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
491         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
492         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
493         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
494         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
495         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
496         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
497         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
498         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
499         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
500         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
501         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
502         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
503         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
504         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
505         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
506         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
507         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
508         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
509         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
510
511 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
512
513         PR libstdc++/51296
514         * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
515         * src/c++11/condition_variable.cc (condition_variable): Use macro for
516         initializer function.
517
518         PR libstdc++/51906
519         * config/os/bsd/darwin/os_defines.h: Disable static initializer for
520         recursive mutexes.
521
522 2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
523
524         PR libstdc++/52128
525         * src/c++11/future.cc: Add explicit instantiation.
526
527 2012-02-06  François Dumont  <fdumont@gcc.gnu.org>
528
529         * include/debug/safe_iterator.h
530         (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
531         creation of a _Safe_iterator instance to do the check.
532
533 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
534
535         PR libstdc++/52104
536         * include/std/future (__future_base::_Async_state_common): Define
537         destructor inline for targets without TLS.
538         * src/c++11/future.cc (__future_base::_Async_state_common): Only
539         define destructor for TLS targets.
540
541 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
542
543         PR libstdc++/51956
544         * python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
545         (SharedPointerPrinter): This. Also show weak count.
546         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.
547
548 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
549
550         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to
551         PASS instead of XFAIL.
552
553 2012-02-05  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
554             Paolo Carlini  <paolo.carlini@oracle.com>
555
556         PR libstdc++/52119
557         * include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
558
559 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
560
561         PR libstdc++/49445
562         * testsuite/29_atomics/atomic/cons/49445.cc: Add.
563
564 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
565
566         PR libstdc++/51811
567         * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets.
568         * testsuite/29_atomics/atomic/operators/51811.cc: New.
569         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New.
570
571 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
572
573         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
574         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
575         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
576         Likewise.
577         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
578         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
579         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
580         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
581         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
582         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
583
584 2012-02-02  Benjamin Kosnik  <bkoz@redhat.com>
585
586         PR libstdc++/52068
587         * src/c++11/Makefile.am (toolexeclib_LTLIBRARIES,
588         libc__11_la_SOURCES): Remove.
589         * src/c++11/Makefile.in: Regenerate.
590         * src/c++98/Makefile.am (toolexeclib_LTLIBRARIES,
591         libc__98_la_SOURCES): Remove.
592         * src/c++98/Makefile.in: Regenerate.
593
594 2012-02-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
595
596         PR libstdc++/49204
597         * include/std/future (__future_base::_State_base::wait()): Use lambda
598         expression for predicate and remove redundant test.
599         (__future_base::_State_base::wait_for()): Return future_status and
600         use lambda expression for predicate.
601         (__future_base::_State_base::wait_until()): Likewise.
602         (__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
603         (__future_base::_Async_state): Replace with _Async_state_common
604         class for non-dependent functionality and _Async_state_impl class
605         template for dependent functionality.
606         (__future_base::_Async_state_common::_M_join): Serialize attempts to
607         join thread.
608         (__future_base::_Async_state_common::_M_run_deferred): Join.
609         (__future_base::_Async_state::_M_do_run): Replace with lambda.
610         * src/c++11/future.cc (__future_base::_Async_state_common): Define
611         destructor, so key function is in the library.
612         * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
613         * testsuite/30_threads/packaged_task/members/get_future.cc: Expect
614         future_status return instead of bool.
615         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
616         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
617         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
618         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
619         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
620         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
621         * testsuite/30_threads/promise/members/swap.cc: Likewise.
622
623 2012-01-30  Tom Tromey  <tromey@redhat.com>
624
625         PR libstdc++/51649:
626         * testsuite/libstdc++-prettyprinters/debug.cc: New file.
627         * testsuite/lib/gdb-test.exp (regexp-test): New proc.
628         (note-test): Update.
629         (gdb-test): Handle regexp tests.  Add some logging.
630         * testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
631         (placeholder, use): Remove.
632         (main): Add tests for deque, list, map, and set iterators.  Add
633         tests for slist and slist iterator.
634         * testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
635         namespace.
636         * python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
637         the type's _Node typedef.
638         (StdListIteratorPrinter.to_string): Change how node type is
639         computed.
640         (StdSlistPrinter.children): Use the type's _Node typedef.
641         (StdSlistIteratorPrinter.to_string): Likewise.
642         (StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
643         typedef.
644         (StdMapPrinter.children): Change how the node's type is computed.
645         (StdSetPrinter.children): Likewise.
646         (StdForwardListPrinter.children): Use the type's _Node typedef.
647         (Printer.add_version): New method.
648         (Printer.add_container): New method.
649         (build_libstdcxx_dictionary): Handle __7 and __cxx1998
650         namespaces.
651         (find_type): New function.
652
653 2012-01-27  Paolo Carlini  <paolo.carlini@oracle.com>
654
655         PR libstdc++/51795
656         * include/bits/random.h (linear_congruential_generator): Add
657         static_assert preventing instantiation for values of 'a' and 'm'
658         currently handled incorrectly by _Mod::__calc.
659         * include/bits/random.tcc (seed_seq::generate): Avoid unsafe
660         uses of _Mod::__calc.
661
662 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
663
664         PR libstdc++/51798
665         * config/cpu/generic/atomicity_builtins/atomicity.h
666         (__exchange_and_add, __atomic_add): Use __atomic_fetch_add
667         with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
668         * include/ext/atomicity.h (__exchange_and_add, __atomic_add):
669         Likewise.
670
671 2011-01-27  Rafael Avila de Espindola  <rafael.espindola@gmail.com>
672
673         * libsupc++/typeinfo: Correctly match #pragma GCC visibility
674         pop with #pragma GCC visibility push.
675
676 2012-01-27  Benjamin Kosnik  <bkoz@redhat.com>
677             Matthias Klose  <doko@ubuntu.com>
678
679         * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
680         * configure.in: Regenerated.
681         * src/Makefile.am (all-once, install-data-once): New rules.
682         (all-local, install-data-local): Use them.
683         (build-debug, install-debug): Tweak.
684         * src/Makefile.in: Regenerate.
685
686 2012-01-27  Richard Henderson  <rth@redhat.com>
687
688         * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
689         based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
690         (ATOMIC_FLAG_INIT): Initialize with 0, not false.
691         (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
692
693 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
694
695         PR bootstrap/51985
696         * src/c++98/Makefile.am (libc__98_la_SOURCES,
697         libc__98convenience_la_SOURCES): Remove $(inst_sources).
698         * src/c++98/Makefile.in: Regenerated.
699
700 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
701
702         * testsuite/20_util/system_clock/1.cc: Add dg-require-time.
703         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
704         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
705         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
706         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add
707         dg-require-fileio.
708         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
709         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
710         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
711         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc:
712         Likewise.
713         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
714
715 2012-01-25  Matthias Klose  <doko@ubuntu.com>
716
717         * testsuite/30_threads/condition_variable_any/requirements: Remove
718         empty directory.
719
720 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
721
722         * src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
723         * src/Makefile.in: Regenerate.
724
725 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
726
727         PR libstdc++/49829
728         Add libc++98convenience.la, libc++11convenience.la.
729         * src/c++98: New directory.
730         * src/c++11: New directory.
731         * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
732         * configure: Regenerated.
733         * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
734         * Makefile.in: Regenerate.
735         * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
736         -fno-implicit-templates.
737         * libsupc++/Makefile.in: Regenerate.
738         * src/Makefile.am (inst_sources): Move... C++11 files into
739         separate directory for libstdc++11convenience.la. Files are:
740         fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
741         (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
742         compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
743         functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
744         system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
745         mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
746         (libstdc++convenience.la): Add new target.
747         (SUBDIRS): Add c++11, c++98.
748         * src/Makefile.in: Regenerate.
749         * src/c++11/Makefile.am: New.
750         * src/c++11/Makefile.in: Generate.
751         * src/c++98/Makefile.am: New, C++98 files.
752         * src/c++98/Makefile.in: Generate.
753
754 2012-01-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
755
756         libstdc++-v3:
757         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
758         32-bit Solaris 10/x86.
759         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
760
761 2012-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
762
763         PR libstdc++/50982
764         * testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors.
765
766 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
767
768         PR libstdc++/51845
769         * include/bits/hashtable.h
770         (_Hashtable<>::erase(const_iterator, const_iterator)): Also update
771         _M_buckets[__n_bkt] if __is_bucket_begin.
772         * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc:
773         New test.
774
775 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
776
777         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting.
778
779 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
780
781         * configure.ac: Move epub checks...
782         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use
783         test -f instead of AC_CHECK_FILES.
784
785 2012-01-18  François Dumont  <fdumont@gcc.gnu.org>
786             Roman Kononov  <roman@binarylife.net>
787
788         PR libstdc++/51866
789         * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)):
790         Do not keep a reference to a potentially moved instance.
791         * testsuite/23_containers/unordered_multiset/insert/51866.cc: New.
792         * testsuite/23_containers/unordered_multimap/insert/51866.cc: New.
793
794 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
795
796         * doc/html/*: Regenerate.
797
798 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
799
800         * configure.ac (BUILD_EPUB): Adjust for epub3.
801         * configure: Regenerate.
802         * Makefile.in: Same.
803         * doc/Makefile.am (stamp-epub-docbook): Update for epub3.
804         * doc/Makefile.in: Regenerate.
805         * include/Makefile.in: Same.
806         * libsupc++/Makefile.in: Same.
807         * po/Makefile.in: Same.
808         * python/Makefile.in: Same.
809         * src/Makefile.in: Same.
810         * testsuite/Makefile.in: Same.
811
812         * doc/xml/manual/documentation_hacking.xml: Update.
813
814 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
815
816         PR target/47852
817         * configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS.
818
819 2012-01-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
820
821         * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
822
823 2012-01-13  François Dumont  <fdumont@gcc.gnu.org>
824
825         * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
826         base class of ...
827         (_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
828         * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
829         by _M_before_begin. Review implementation so that we do not need to
830         look for previous non-empty bucket when inserting nodes.
831
832 2012-01-09  Kai Tietz  <ktietz@redhat.com>
833
834         PR libstc++/51673 part 2
835         * config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
836         operators signature for LLP64 size_t, and adjusted signatures for
837         mt-allocator using size_t.
838
839 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
840
841         PR libstc++/51673 part 1
842         * config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
843         with gnu.ver.
844
845 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
846
847         * fragment.am (WARN_CXXFLAGS): Add -Wabi.
848         * Makefile.in: Regenerate.
849         * doc/Makefile.in: Same.
850         * include/Makefile.in: Same.
851         * libsupc++/Makefile.in: Same.
852         * src/Makefile.in: Same.
853         * testsuite/Makefile.in: Same.
854         * po/Makefile.in: Same.
855         * python/Makefile.in: Same.
856
857 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
858
859         * python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
860         * testsuite/libstdc++-prettyprinters/cxx11.cc: New.
861
862 2012-01-06  Jason Merrill  <jason@redhat.com>
863
864         * testsuite/abi/demangle/regression/cw-16.cc (main): Adjust
865         expected demangling.
866
867 2012-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
868
869         PR libstdc++/51504
870         * doc/xml/manual/debug.xml: Suggest using symbol interposition
871         to override symbols using annotation macros.
872
873 2012-01-05  François Dumont  <fdumont@gcc.gnu.org>
874
875         * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
876         protected rather than private, use it...
877         * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
878         * testsuite/23_containers/unordered_set/observers.cc: New.
879         * testsuite/23_containers/unordered_multiset/observers.cc: New.
880         * testsuite/23_containers/unordered_map/observers.cc: New.
881         * testsuite/23_containers/unordered_multimap/observers.cc: New.
882
883 2012-01-03  François Dumont  <fdumont@gcc.gnu.org>
884
885         * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
886         specific _Hashtable_ebo_helper. Hide this implementation detail thanks
887         to private inheritance.
888
889 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
890
891         PR c++/51738
892         * testsuite/23_containers/map/element_access/39901.cc: New.