OSDN Git Service

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