OSDN Git Service

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