OSDN Git Service

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