OSDN Git Service

2012-11-02 Paolo Carlini <paolo.carlini@oracle.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2012-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
2
3         PR libstdc++/55169
4         * include/bits/random.h: Remove all uses of param().
5
6 2012-11-01   Haakan Younes  <hyounes@google.com>
7              Paolo Carlini  <paolo.carlini@oracle.com>
8
9         PR libstdc++/55047
10         * include/bits/random.h (exponential_distribution<>::operator):
11         Fix formula to std::log(result_type(1) - __aurng()).
12         * include/bits/random.tcc: Likewise, everywhere.
13
14 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
15
16         PR libstdc++/55123
17         * include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
18         Do not instantiate allocator with element_type.
19         * testsuite/20_util/shared_ptr/cons/55123.cc: New.
20
21 2012-10-10  Andrew MacLeod  <amacleod@redhat.com>
22
23         PR libstdc++/54861
24         * include/bits/atomic_base.h (atomic_signal_fence): Call
25         __atomic_signal_fence instead of __atomic_thread_fence.
26
27 2012-09-20  Benjamin Kosnik  <bkoz@redhat.com>
28
29         PR libstdc++/54102, part 2
30         * doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
31         * doc/Makefile.in: Regenerate.
32         * doc/html/*: Same.
33
34 2012-09-20  Benjamin Kosnik  <bkoz@redhat.com>
35
36         * doc/html/*: Regenerate.
37
38 2012-09-20  Benjamin Kosnik  <bkoz@redhat.com>
39
40         PR libstdc++/54102
41         * doc/xsl/customization.xsl.in: New.
42         * configure.ac: Output local copy of customization xsl.
43         * doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
44         (stamp-html-docbook): Set stringparam to UTF-8.
45         * Makefile.in: Regenerated.
46         * configure: Same.
47         * doc/Makefile.in: Same.
48
49 2012-09-20  Release Manager
50
51         * GCC 4.7.2 released.
52
53 2012-09-11  Jakub Jelinek  <jakub@redhat.com>
54
55         PR libstdc++/54172
56         * libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
57         argument of the first __atomic_compare_exchange_n.
58
59 2012-09-09  Thiago Macieira  <thiago.macieira@intel.com>
60
61         PR libstdc++/54172
62         * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
63         we detect that another thread has had success. Don't compare_exchange
64         from a finished state back to a waiting state. Comment.
65
66 2012-09-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
67
68         PR libstdc++/54388
69         * include/std/array (array::at() const): Ensure lvalue result.
70         * testsuite/23_containers/array/element_access/54388.cc: New.
71
72 2012-09-06  Marc Glisse  <marc.glisse@inria.fr>
73             Paolo Carlini  <paolo.carlini@oracle.com>
74
75         PR libstdc++/54376
76         * include/bits/random.h (lognormal_distribution<>::operator==,
77         gamma_distribution<>::operator==,
78         chi_squared_distribution<>::operator==,
79         fisher_f_distribution<>::operator==,
80         student_t_distribution<>::operator==,
81         binomial_distribution<>::operator==,
82         negative_binomial_distribution<>::operator==,
83         poisson_distribution<>::operator==): Change inline friend definition
84         to non-template.
85         * testsuite/26_numerics/random/binomial_distribution/requirements/
86         explicit_instantiation/1.cc: New.
87         * testsuite/26_numerics/random/cauchy_distribution/requirements/
88         explicit_instantiation/1.cc: Likewise.
89         * testsuite/26_numerics/random/chi_squared_distribution/
90         requirements/explicit_instantiation/1.cc: Likewise.
91         * testsuite/26_numerics/random/discrete_distribution/requirements/
92         explicit_instantiation/1.cc: Likewise.
93         * testsuite/26_numerics/random/exponential_distribution/
94         requirements/explicit_instantiation/1.cc: Likewise.
95         * testsuite/26_numerics/random/extreme_value_distribution/
96         requirements/explicit_instantiation/1.cc: Likewise.
97         * testsuite/26_numerics/random/fisher_f_distribution/requirements/
98         explicit_instantiation/1.cc: Likewise.
99         * testsuite/26_numerics/random/gamma_distribution/requirements/
100         explicit_instantiation/1.cc: Likewise.
101         * testsuite/26_numerics/random/geometric_distribution/requirements/
102         explicit_instantiation/1.cc: Likewise.
103         * testsuite/26_numerics/random/lognormal_distribution/requirements/
104         explicit_instantiation/1.cc: Likewise.
105         * testsuite/26_numerics/random/negative_binomial_distribution/
106         requirements/explicit_instantiation/1.cc: Likewise.
107         * testsuite/26_numerics/random/normal_distribution/requirements/
108         explicit_instantiation/1.cc: Likewise.
109         * testsuite/26_numerics/random/piecewise_constant_distribution/
110         requirements/explicit_instantiation/1.cc: Likewise.
111         * testsuite/26_numerics/random/piecewise_linear_distribution/
112         requirements/explicit_instantiation/1.cc: Likewise.
113         * testsuite/26_numerics/random/poisson_distribution/requirements/
114         explicit_instantiation/1.cc: Likewise.
115         * testsuite/26_numerics/random/student_t_distribution/requirements/
116         explicit_instantiation/1.cc: Likewise.
117         * testsuite/26_numerics/random/uniform_int_distribution/
118         requirements/explicit_instantiation/1.cc: Likewise.
119         * testsuite/26_numerics/random/uniform_real_distribution/
120         requirements/explicit_instantiation/1.cc: Likewise.
121         * testsuite/26_numerics/random/weibull_distribution/requirements/
122         explicit_instantiation/1.cc: Likewise.
123
124 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
125
126         * testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
127
128 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
129
130         PR libstdc++/54297
131         * src/c++11/future.cc (~_Async_state_common): Move to...
132         * src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
133         Here.
134         (_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
135         * include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.
136
137 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
138             Geoff Romer  <gromer@google.com>
139
140         PR libstdc++/54351
141         * include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
142         reset().
143         (unique_ptr<T[]>::~unique_ptr()): Likewise.
144         * testsuite/20_util/unique_ptr/54351.cc: New.
145         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
146         line numbers.
147
148 2012-08-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
149
150         PR libstdc++/54297
151         * include/std/future (~_Async_state_impl): Join thread before
152         derived class members are destroyed.
153         (~_Async_state_common): Only define non-trivial destructor when
154         included from future.cc for ABI compatibility reasons.
155         * src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
156         * testsuite/30_threads/async/54297.cc: New.
157
158 2012-08-13  David Adler  <d.adler.s@gmail.com>
159
160         PR libstdc++/54185
161         * src/c++11/condition_variable.cc (condition_variable): Always
162         destroy native type in destructor.
163         * testsuite/30_threads/condition_variable/54185.cc: New.
164
165 2012-08-06  Peter Bergner  <bergner@vnet.ibm.com>
166
167         PR libstdc++/54036
168         * include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
169         a unary operator.
170         * testsuite/decimal/pr54036-1.cc: New test.
171         * testsuite/decimal/pr54036-2.cc: Likewise.
172         * testsuite/decimal/pr54036-3.cc: Likewise.
173
174 2012-08-02  Michael Hope  <michael.hope@linaro.org>
175
176         Backport from mainline r186389:
177         2012-04-12  Andreas Schwab  <schwab@linux-m68k.org>
178
179         * testsuite/Makefile.am (check_DEJAGNUnormal0): Run
180         prettyprinters.exp.
181         * testsuite/Makefile.in: Regenerated.
182
183 2012-07-29  François Dumont  <fdumont@gcc.gnu.org>
184
185         PR libstdc++/54075
186         * include/bits/hashtable_policy.h
187         (_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
188         to boost growth in the number of buckets.
189         * testsuite/performance/23_containers/insert/unordered_set.cc: New.
190
191 2012-07-26  François Dumont  <fdumont@gcc.gnu.org>
192
193         PR libstdc++/54075
194         * include/bits/hashtable.h
195         (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
196         size_type, ...): Remove std::max usage to guarantee that hashtable
197         state is consistent with hash policy state.
198         (_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
199         the hashtable shrinking on next insertion.
200         * testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
201         * testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
202         * testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
203         * testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
204
205 2012-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
206
207         * testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
208
209 2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
210
211         PR libstdc++/53270
212         * include/ext/concurrence.h: Use NSDMI for gthreads types.
213         * include/ext/rope: Likewise. Destroy mutexes in destructors. Add
214         system_header pragma.
215
216         Revert:
217         2012-06-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
218
219         PR libstdc++/53270
220         * config/os/gnu-linux/os_defines.h: Disable static initializer macros
221         for gthreads types in C++11 mode.
222
223 2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
224
225         PR libstdc++/53978
226         * include/bits/alloc_traits.h (allocator_traits): Define static
227         constants.
228         * include/bits/ptr_traits.h (pointer_traits): Likewise.
229         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
230         Likewise.
231
232 2012-07-13  Paolo Carlini  <paolo.carlini@oracle.com>
233
234         PR libstdc++/53657
235         * include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
236         per C++11.
237         * include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
238         (const_iterator, _Pair&&)): Constrain with std::is_constructible,
239         per LWG2005.
240         * include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
241         multimap<>::insert(const_iterator, _Pair&&)): Likewise.
242         * include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
243         _Insert<>::insert(const_iterator, _Pair&&)): Likewise.
244         * include/debug/unordered_map: Adjust.
245         * include/debug/map.h: Likewise.
246         * include/debug/multimap.h: Likewise.
247         * include/profile/unordered_map: Likewise.
248         * include/profile/map.h: Likewise.
249         * include/profile/multimap.h: Likewise.
250
251 2012-07-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
252
253         PR libstdc++/53578
254         * include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
255         narrowing conversion.
256         * include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
257
258 2012-07-06  Paolo Carlini  <paolo.carlini@oracle.com>
259
260         PR libstdc++/53872
261         * include/std/thread (thread::_M_make_routine): Qualify make_shared
262         to prevent ADL.
263         * testsuite/30_threads/thread/adl.cc: New.
264
265 2012-07-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
266
267         * include/std/condition_variable: Update copyright years.
268
269 2012-07-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
270
271         PR libstdc++/53830
272         * include/std/condition_variable (condition_variable_any::wait):
273         Move _Unlock type to class scope.
274         (condition_variable_any::wait_until): Reuse it.
275         * testsuite/30_threads/condition_variable_any/53830.cc: New.
276
277 2012-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
278
279         Revert:
280         2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
281
282         PR libstdc++/49561
283         * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
284         Add in C++0x mode.
285         (_List_base<>::_List_impl, _List_base<>::_M_get_node,
286         _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
287         list<>::size, list<>::swap, list<>::splice): Use it.
288         (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
289         * include/bits/list.tcc (list<>::erase): Likewise.
290         (list<>::merge): Adjust in C++0x mode.
291         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
292         Adjust dg-error line number.
293         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
294         Likewise.
295         * testsuite/23_containers/list/requirements/dr438/
296         constructor_1_neg.cc: Likewise.
297         * testsuite/23_containers/list/requirements/dr438/
298         constructor_2_neg.cc: Likewise.
299
300 2012-06-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
301
302         PR libstdc++/53270
303         * config/os/gnu-linux/os_defines.h: Disable static initializer macros
304         for gthreads types in C++11 mode.
305
306 2012-06-19  Jörg Sonnenberger <joerg@britannica.bec.de>
307             Jonathan Wakely  <jwakely.gcc@gmail.com>
308
309         PR libstdc++/53678
310         * config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
311         * testsuite/22_locale/ctype_base/53678.cc: New.
312
313 2012-06-14  Release Manager
314
315         * GCC 4.7.1 released.
316
317 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
318
319         PR c++/53503
320         * testsuite/26_numerics/headers/cmath/53503.cc: New.
321
322 2012-05-10  DJ Delorie  <dj@redhat.com>
323
324         * include/bits/random.tcc (seed_seq::generate): Cast max()
325         operands to size_t to ensure a template match.
326         * include/std/bitset (_M_copy_from_ptr): Cast min() operands to
327         size_t to ensure a template match.
328
329 2012-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
330
331         PR libstdc++/53193
332         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
333         dg-error line number.
334
335 2012-05-01  François Dumont  <fdumont@gcc.gnu.org>
336
337         PR libstdc++/53115
338         * include/bits/hashtable.h
339         (_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets
340         after insertion of several equivalent elements.
341         * testsuite/23_containers/unordered_multiset/insert/53115.cc: New.
342         * testsuite/23_containers/unordered_multimap/insert/53115.cc: New.
343
344 2012-04-30  Andreas Tobler  <andreast@fgznet.ch>
345
346         Backport from mainline
347         2012-03-21  Andreas Tobler  <andreast@fgznet.ch>
348
349         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
350         Skip this test on powerpc64-*-freebsd*.
351
352 2012-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
353
354         * include/std/scoped_allocator (scoped_allocator::__outermost): Do
355         not pass non-POD to varargs function.
356         * testsuite/20_util/scoped_allocator/1.cc: Fix test.
357
358 2012-04-23  Chris Jefferson  <chris@bubblescope.net>
359
360         PR testsuite/53046
361         * testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
362         of array A.
363         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
364
365 2012-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
366
367         PR libstdc++/53067
368         * include/bits/hashtable_policy.h: Change inheritances to public.
369         * testsuite/23_containers/unordered_map/requirements/53067.cc: New.
370         * testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.
371
372 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
373
374         PR libstdc++/53027
375         * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
376         * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
377         rebind works.
378
379 2012-04-21  Alan Modra  <amodra@gmail.com>
380
381         PR libstdc++/52839
382         * acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
383         glibcxx_cv_atomic_long_long.
384         * configure: Regenerate.
385
386 2012-04-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
387
388         PR bootstrap/52840
389         * src/Makefile.am (build-debug): Do not adjust vpath dir, remove
390         Makefile.tmp
391         * src/Makefile.in: Adjust as per above.
392
393 2012-04-16  Benjamin Kosnik  <bkoz@redhat.com>
394
395         PR libstdc++/52689
396         * libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
397         * libsupc++/Makefile.in: Regenerated.
398         * src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
399         (libstdc___la_SOURCES): Add in compatiblity files, with content
400         that varies with -DPIC.
401         * src/Makefile.in: Regenerated.
402         * src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
403         * src/c++11/Makefile.in: Regenerated.
404         * src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC.
405         * src/c++11/compatibility-c++0x.cc: Same.
406         * src/c++11/future.cc: Consolidate compatibility bits into..
407         * src/c++11/mutex.cc: Consolidate compatibility bits into..
408         * src/c++11/compatibility-thread-cxx0x.cc: ...here. New.
409         * src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
410         * src/c++98/Makefile.in: Regenerated.
411         * src/c++98/compatibility-list-2.cc: Guard with PIC.
412         * src/c++98/compatibility.cc: Tweak comments.
413
414 2012-04-16  Benjamin Kosnik  <bkoz@redhat.com>
415
416             * include/ext/pb_ds/detail/pat_trie_/
417             constructors_destructor_fn_imps.hpp: Increment after recursion.
418             * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert
419             node_type markup from brief.
420
421 2012-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
422
423         PR libstdc++/52699
424         * include/bits/random.tcc (independent_bits_engine<>::operator()())
425         Avoid various overflows; use common_type on result_type and
426         _RandomNumberEngine::result_type; avoid floating point computations;
427         other smaller tweaks.
428
429         * include/bits/random.tcc (uniform_int_distribution<>::operator())
430         Use common_type; assume _UniformRandomNumberGenerator::result_type
431         unsigned; tidy.
432
433         * include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
434         __lg(unsigned long long)): Add.
435
436 2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
437
438         * include/debug/safe_iterator.h (_BeforeBeginHelper<>::
439         _S_Is_Beginnest): Add.
440         * include/debug/forward_list (_BeforeBeginHelper<>::
441         _S_Is_Beginnest): Likewise.
442         (_Safe_iterator<>::_M_is_beginnest): Add.
443         * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
444         Use the latter.
445         * testsuite/23_containers/forward_list/debug/splice_after.cc:
446         Add test.
447
448 2012-04-12  Paolo Carlini  <paolo.carlini@oracle.com>
449
450         * include/bits/forward_list.h (splice_after(const_iterator,
451         forward_list&), splice_after(const_iterator, forward_list&,
452         consst_iterator), splice_after(const_iterator, forward_list&,
453         const_iterator, const_iterator), merge(forward_list&),
454         merge(forward_list&, _Comp)): Add per C++11 as published (and
455         LWG 1310).
456         * include/debug/forward_list: Adjust.
457
458         * include/bits/forward_list.h (splice_after(const_iterator,
459         forward_list&&, const_iterator)): Only declare.
460         (_M_transfer_after): Remove.
461         (_M_splice_after(const_iterator, forward_list&&)): Change signature.
462         (splice_after(const_iterator, forward_list&&, const_iterator,
463         const_iterator)): Use the latter.
464         * include/bits/forward_list.tcc (splice_after(const_iterator,
465         forward_list&&, const_iterator)): Define here.
466         (_M_splice_after): Define, use throughout.
467
468         * include/bits/forward_list.h (insert_after(const_iterator,
469         std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
470         _InputIterator, _InputIterator).
471         * include/bits/forward_list.tcc: Remove definition.
472
473         * testsuite/23_containers/forward_list/modifiers/6.cc: New.
474         * testsuite/23_containers/forward_list/operations/1.cc: Adjust.
475
476         * testsuite/23_containers/forward_list/requirements/dr438/
477         assign_neg.cc: Adjust dg-error line number.
478         * testsuite/23_containers/forward_list/requirements/dr438/
479         insert_neg.cc: Likewise.
480         * testsuite/23_containers/forward_list/requirements/dr438/
481         constructor_1_neg.cc: Likewise.
482         * testsuite/23_containers/forward_list/requirements/dr438/
483         constructor_2_neg.cc: Likewise.
484
485 2012-04-12   Jeffrey Yasskin  <jyasskin@google.com>
486
487         PR libstdc++/52822
488         * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
489         (__find_if_not_n): Like __find_if_not, but works on and updates a
490         counted range instead of a bounded range.
491         (stable_partition): Guarantee !__pred(*__first) in call to
492         __stable_partition_adaptive() or __inplace_stable_partition().
493         (__stable_partition_adaptive): Use new precondition to avoid
494         moving/copying objects onto themselves.  Guarantee new
495         precondition to recursive calls.
496         (__inplace_stable_partition): Use new precondition to simplify
497         base case, remove __last parameter.  Guarantee new precondition to
498         recursive calls.
499         * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
500         Test a sequence that starts with a value matching the predicate.
501         * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
502         vectors, which have a destructive self-move-assignment.
503
504 2012-04-12  Paolo Carlini  <paolo.carlini@oracle.com>
505
506         PR libstdc++/52942
507         * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
508         In C++11 mode do not derive from std::unary_function.
509         * include/ext/functional (identity, select1st, select2nd): Adjust.
510         * testsuite/23_containers/unordered_map/requirements/52942.cc: New.
511         * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
512
513 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
514
515         PR libstdc++/52924
516         * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
517         user-defined destructor.
518         (_Sp_counted_inplace): Likewise.
519         * testsuite/20_util/shared_ptr/cons/52924.cc: New.
520         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
521         line numbers.
522
523 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
524
525         * testsuite/performance/30_threads/future/polling.cc: Adjust.
526
527 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
528
529         PR libstdc++/52591
530         * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch
531         to _M_move_assign depending on whether allocator is moved.
532         (vector::_M_move_assign): Add overloaded functions.
533         * testsuite/23_containers/vector/52591.cc: New.
534         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
535         Adjust dg-error line number.
536         * testsuite/23_containers/vector/requirements/dr438/
537         constructor_1_neg.cc:
538         Likewise.
539         * testsuite/23_containers/vector/requirements/dr438/
540         constructor_2_neg.cc:
541         Likewise.
542         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
543         Likewise.
544
545 2012-04-09  François Dumont  <fdumont@gcc.gnu.org>
546
547         PR libstdc++/52476
548         * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add.
549         (_Hashtable<>::_M_rehash): Use the latter.
550         * testsuite/23_containers/unordered_multimap/insert/52476.cc: New.
551         * testsuite/23_containers/unordered_multiset/insert/52476.cc: New.
552
553 2012-04-09  Terry Guo  <terry.guo@arm.com>
554
555         Backport from mainline
556         2012-03-28  Terry Guo  <terry.guo@arm.com>
557
558         * testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
559         * testsuite/Makefile.in: Regenerated.
560
561 2012-03-30  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
562             Paolo Carlini  <paolo.carlini@oracle.com>
563
564         PR libstdc++/52799
565         * include/bits/deque.tcc (emplace): Fix thinko, replace push_front
566         -> emplace_front, and likewise for *_back.
567         * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New.
568         * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise.
569         * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise.
570
571 2012-03-23  David S. Miller  <davem@davemloft.net>
572
573         * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
574
575 2012-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
576
577         * include/bits/forward_list.h: Fix comments.
578
579 2012-03-23  Paweł Sikora  <pawel.sikora@agmk.net>
580
581         PR libstdc++/52540
582         * include/Makefile.am (c++config.h): Fix sed rule to not break
583         the _GLIBCXX_EXTERN_TEMPLATE redefinition.
584         * include/Makefile.in: Regenerate.
585
586 2012-03-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
587
588         PR libstdc++/52433
589         * include/debug/safe_iterator.h (_Safe_iterator): Add move
590         constructor and move assignment operator.
591         * testsuite/23_containers/vector/debug/52433.cc: New.
592
593 2012-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
594
595         * include/std/array (array<>::at(size_type) const): Fix version
596         for undefined __EXCEPTIONS.
597
598 2012-03-22  Release Manager
599
600         * GCC 4.7.0 released.
601
602 2012-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
603
604         PR libstdc++/52456
605         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
606
607 2012-03-09  Andreas Schwab  <schwab@linux-m68k.org>
608
609         * config/locale/gnu/monetary_members.cc
610         (moneypunct<char,true>::_M_initialize_moneypunct): Throw caught
611         exception again.
612         (moneypunct<char,false>::_M_initialize_moneypunct): Likewise.
613         * testsuite/22_locale/locale/cons/12352.cc: Also test en_US
614         locale.
615
616 2012-03-02  Benjamin Kosnik  <bkoz@redhat.com>
617
618         * include/c_global/cstdio: Remove extraneous extern.
619         * include/c_std/cstdio: Same.
620
621 2012-03-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
622
623         * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
624         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
625         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
626         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
627         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
628
629 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
630             Ramana Radhakrishnan <ramana@gcc.gnu.org>
631
632         PR libstdc++/51785
633         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): New.
634         * configure.ac: Call it.
635         * configure: Regenerate.
636         * config.h.in: Same.
637         * config/os/gnu-linux/os_defines.h: Conditionally undefine
638         _GLIBCXX_HAVE_GETS.
639         * include/c_global/cstdio: Conditionally declare deprecated gets.
640         * include/c_std/cstdio: Same.
641
642 2012-03-01  Michael Spertus  <mike_spertus@symantec.com>
643
644         * include/tr2/type_traits (typelist): To __reflection_typelist.
645         (first, rest, empty): Remove.
646
647 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
648
649         * testsuite/Makefile.am (CLEANFILES): Add *.gdb.
650         * testsuite/Makefile.in: Regenerate.
651
652 2012-02-29  H.J. Lu  <hongjiu.lu@intel.com>
653
654         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
655
656 2012-02-28  Benjamin Kosnik  <bkoz@redhat.com>
657
658         PR libstdc++/52191
659         * testsuite/util/testsuite_abi.cc (compare_symbols): Check new
660         symbols added into the latest version. Mark tls entities as
661         undesignated.
662
663 2012-02-28  Jakub Jelinek  <jakub@redhat.com>
664
665         PR bootstrap/52414
666         * src/Makefile.am (libstdc++-symbols.ver): Only remove comment lines
667         if they are at the beginning of lines (with optional whitespace before
668         #).
669         * src/Makefile.in: Regenerated.
670
671 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
672
673         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
674         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
675         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
676         Likewise.
677         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
678         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
679         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
680         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
681         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
682         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
683
684 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
685
686         PR libstdc++/52188
687         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Remove symvers_renaming.
688         Remove ENABLE_SYMVERS_SOL2.
689         * configure: Regenerate.
690         * src/Makefile.am [ENABLE_SYMVERS] (libstdc++-symbols.ver):
691         Postprocess mapfile.
692         [ENABLE_SYMVERS_GNU]: Remove ENABLE_SYMVERS_SOL2 handling.
693         * src/Makefile.in: Regenerate.
694
695         * config/abi/pre/gnu.ver (GLIBCXX_3.4.5) [!__sun__ && !__svr4__]:
696         Don't export
697         _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv.
698
699 2012-02-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
700
701         PR testsuite/52201
702         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
703         Require atomic builtins.
704         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
705
706 2012-02-23  Jason Merrill  <jason@redhat.com>
707
708         * include/bits/locale_facets.h (class num_get): Undo reordering of
709         do_get virtual functions.
710
711 2012-02-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
712
713         * testsuite/26_numerics/random/
714         uniform_real_distribution/requirements/typedefs.cc: Check param_type.
715         * testsuite/26_numerics/random/
716         piecewise_constant_distribution/requirements/typedefs.cc: Ditto.
717         * testsuite/26_numerics/random/
718         chi_squared_distribution/requirements/typedefs.cc: Ditto.
719         * testsuite/26_numerics/random/
720         normal_distribution/requirements/typedefs.cc: Ditto.
721         * testsuite/26_numerics/random/
722         uniform_int_distribution/requirements/typedefs.cc: Ditto.
723         * testsuite/26_numerics/random/
724         poisson_distribution/requirements/typedefs.cc: Ditto.
725         * testsuite/26_numerics/random/
726         bernoulli_distribution/requirements/typedefs.cc: Ditto.
727         * testsuite/26_numerics/random/
728         discrete_distribution/requirements/typedefs.cc: Ditto.
729         * testsuite/26_numerics/random/
730         weibull_distribution/requirements/typedefs.cc: Ditto.
731         * testsuite/26_numerics/random/
732         cauchy_distribution/requirements/typedefs.cc: Ditto.
733         * testsuite/26_numerics/random/
734         negative_binomial_distribution/requirements/typedefs.cc: Ditto.
735         * testsuite/26_numerics/random/
736         gamma_distribution/requirements/typedefs.cc: Ditto.
737         * testsuite/26_numerics/random/
738         fisher_f_distribution/requirements/typedefs.cc: Ditto.
739         * testsuite/26_numerics/random/
740         exponential_distribution/requirements/typedefs.cc: Ditto.
741         * testsuite/26_numerics/random/
742         binomial_distribution/requirements/typedefs.cc: Ditto.
743         * testsuite/26_numerics/random/
744         lognormal_distribution/requirements/typedefs.cc: Ditto.
745         * testsuite/26_numerics/random/
746         extreme_value_distribution/requirements/typedefs.cc: Ditto.
747         * testsuite/26_numerics/random/
748         piecewise_linear_distribution/requirements/typedefs.cc: Ditto.
749         * testsuite/26_numerics/random/
750         student_t_distribution/requirements/typedefs.cc: Ditto.
751         * testsuite/26_numerics/random/
752         geometric_distribution/requirements/typedefs.cc: Ditto.
753
754 2012-02-21  Benjamin Kosnik  <bkoz@redhat.com>
755
756         PR libstdc++/50349
757         * config/abi/pre/gnu.ver: Only one local.
758         * config/abi/pre/gnu-versioned-namespace.ver: Same.
759
760 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
761
762         PR libstdc++/52317 (cont)
763         * include/profile/unordered_map: Ad Library Exception comment.
764         * include/profile/set: Likewise.
765         * include/profile/base.h: Likewise.
766         * include/profile/impl/profiler_list_to_slist.h: Likewise.
767         * include/profile/impl/profiler_container_size.h: Likewise.
768         * include/profile/impl/profiler_vector_size.h: Likewise.
769         * include/profile/impl/profiler_hash_func.h: Likewise.
770         * include/profile/impl/profiler_trace.h: Likewise.
771         * include/profile/impl/profiler_list_to_vector.h: Likewise.
772         * include/profile/impl/profiler_vector_to_list.h: Likewise.
773         * include/profile/impl/profiler.h: Likewise.
774         * include/profile/impl/profiler_state.h: Likewise.
775         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
776         * include/profile/impl/profiler_algos.h: Likewise.
777         * include/profile/impl/profiler_hashtable_size.h: Likewise.
778         * include/profile/impl/profiler_node.h: Likewise.
779         * include/profile/vector: Likewise.
780         * include/profile/unordered_set: Likewise.
781         * include/profile/map.h: Likewise.
782         * include/profile/map: Likewise.
783
784 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
785
786         PR libstdc++/52317
787         * python/Makefile.am: Update boilerplate license text to GPLv3.
788         * include/profile/unordered_map: Likewise.
789         * include/profile/set: Likewise.
790         * include/profile/base.h: Likewise.
791         * include/profile/impl/profiler_list_to_slist.h: Likewise.
792         * include/profile/impl/profiler_container_size.h: Likewise.
793         * include/profile/impl/profiler_vector_size.h: Likewise.
794         * include/profile/impl/profiler_hash_func.h: Likewise.
795         * include/profile/impl/profiler_trace.h: Likewise.
796         * include/profile/impl/profiler_list_to_vector.h: Likewise.
797         * include/profile/impl/profiler_vector_to_list.h: Likewise.
798         * include/profile/impl/profiler.h: Likewise.
799         * include/profile/impl/profiler_state.h: Likewise.
800         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
801         * include/profile/impl/profiler_algos.h: Likewise.
802         * include/profile/impl/profiler_hashtable_size.h: Likewise.
803         * include/profile/impl/profiler_node.h: Likewise.
804         * include/profile/vector: Likewise.
805         * include/profile/unordered_set: Likewise.
806         * include/profile/map.h: Likewise.
807         * include/profile/map: Likewise.
808         * testsuite/21_strings/basic_string/numeric_conversions/
809         wchar_t/dr1261.cc: Likewise.
810         * testsuite/21_strings/basic_string/numeric_conversions/
811         char/dr1261.cc: Likewise.
812         * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
813
814 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
815
816         PR libstdc++/52241
817         * src/c++98/tree.cc (local_Rb_tree_increment,
818         local_Rb_tree_decrement): Add.
819         (_Rb_tree_increment(const _Rb_tree_node_base*),
820         _Rb_tree_decrement(const _Rb_tree_node_base*)): Use the latter.
821         (_Rb_tree_increment(_Rb_tree_node_base*),
822         _Rb_tree_decrement(_Rb_tree_node_base*)): New.
823
824 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
825
826         PR libstdc++/52309
827         * include/bits/hashtable_policy.h (_Equality_base<, true,>::
828         _M_equal(const _Hashtable&)): Compare values with operator==.
829         * testsuite/23_containers/unordered_set/operators/52309.cc: New.
830
831 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
832
833         PR libstdc++/51798 continued.
834         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Grep for
835         __atomic_, not __sync.
836         * configure: Regenerated.
837
838 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
839
840         PR libstdc++/47058
841         * acinclude.m4 (GLIBCXX_ENABLE_WERROR): New.
842         (GLIBCXX_EXPORT_FLAGS): Add -Wabi to WARN_FLAGS
843         * configure.ac: Use it.
844         * fragment.am: Set WERROR_FLAG conditionally on --disable-werror.
845         * configure: Regenerate.
846         * python/Makefile.in: Same.
847         * Makefile.in: Same.
848         * doc/Makefile.in: Same.
849         * include/Makefile.in: Same.
850         * po/Makefile.in: Same.
851         * python/Makefile.in: Same.
852         * src/Makefile.in: Same.
853         * src/c++11/Makefile.in: Same.
854         * src/c++98/Makefile.in: Same.
855         * testsuite/Makefile.in: Same.
856
857 2012-02-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
858
859         PR libstdc++/52189
860         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Handle
861         --enable-libstdcxx-threads.
862         Disable on Solaris 8/9 with symbol versioning.
863         * configure.ac (GLIBCXX_CHECK_GTHREADS): Move after
864         GLIBCXX_ENABLE_SYMVERS.
865         * configure: Regenerate.
866         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Explain.
867
868 2012-02-15  DJ Delorie  <dj@redhat.com>
869
870         * src/c++98/locale.cc (locale::facet::_S_get_c_locale): Fix typo.
871
872 2012-02-15  Benjamin Kosnik  <bkoz@redhat.com>
873
874         PR libstdc++/51368
875         * acinclude.m4 (GLIBCXX_ENABLE_PYTHON): New.
876         * configure.ac: Use it.
877         * python/Makefile.am: Same.
878         * configure: Regenerate.
879         * python/Makefile.in: Regenerate.
880         * Makefile.in: Same.
881         * doc/Makefile.in: Same.
882         * include/Makefile.in: Same.
883         * po/Makefile.in: Same.
884         * src/Makefile.in: Same.
885         * src/c++11/Makefile.in: Same.
886         * src/c++98/Makefile.in: Same.
887         * testsuite/Makefile.in: Same.
888
889 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
890
891         * 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin.
892
893 2012-02-14  Tom Tromey  <tromey@redhat.com>
894
895         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new
896         tests.
897         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__):
898         Rewrite.
899         (Tr1HashtableIterator.update): Remove.
900         (Tr1HashtableIterator.next): Rewrite.
901
902 2012-02-13  Benjamin Kosnik  <bkoz@redhat.com>
903
904         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
905         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
906
907 2012-02-13  Richard Henderson  <rth@redhat.com>
908
909         PR libstdc++/51798 continued.
910         * include/bits/shared_ptr_base.h
911         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
912         outside compare_exchange loop.
913         * include/tr1/shared_ptr.h: Same.
914         * include/parallel/compatibility.h (__compare_and_swap_32): Use strong
915         version of compare_exchange.
916         (__compare_and_swap_64): Same.
917         * include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
918         * libsupc++/guard.cc (__cxa_guard_acquire): Same.
919
920 2012-02-10  Benjamin Kosnik  <bkoz@redhat.com>
921             Jonathan Wakely  <jwakely.gcc@gmail.com>
922
923         PR libstdc++/51798 continued.
924         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_*
925         builtins instead of __sync_* builtins for atomic functionality.
926         * include/bits/shared_ptr_base.h: Same.
927         * include/parallel/compatibility.h: Same.
928         * include/profile/impl/profiler_state.h: Same.
929         * include/tr1/shared_ptr.h: Same.
930         * libsupc++/eh_ptr.cc: Same.
931         * libsupc++/eh_throw.cc: Same.
932         * libsupc++/eh_tm.cc: Same.
933         * libsupc++/guard.cc: Same.
934         * configure: Regenerated.
935         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
936         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
937
938 2012-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
939
940         PR libstdc++/51296
941         * config/os/osf/ctype_base.h,
942         config/os/osf/ctype_configure_char.cc,
943         config/os/osf/ctype_inline.h, config/os/osf/error_constants.h:
944         Copy from config/os/generic.
945         * config/os/osf/os_defines.h: Likewise.
946         (_GTHREAD_USE_MUTEX_INIT_FUNC, _GTHREAD_USE_COND_INIT_FUNC):
947         Define.
948         * configure.host <osf*>: Use os/osf for os_include_dir.
949
950 2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
951
952         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
953
954 2012-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
955
956         * doc/xml/manual/documentation_hacking.xml: Fix invalid attribute.
957
958 2012-02-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
959
960         * doc/xml/manual/status_cxx2011.xml: Update C++11 status table.
961
962 2012-02-07  Benjamin Kosnik  <bkoz@redhat.com>
963
964         * doc/doxygen/user.cfg.in: Update to doxygen 1.7.6.1.
965         * doc/xml/manual/documentation_hacking.xml: Update.
966
967 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
968
969         * testsuite/30_threads/call_once/39909.cc: Remove duplicate target
970         selector.
971         * testsuite/30_threads/call_once/49668.cc: Likewise.
972         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
973         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
974         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
975         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
976         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
977         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
978         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
979         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
980         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
981         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
982         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
983         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
984         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
985         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
986         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
987         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
988         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
989         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
990         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
991         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
992         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
993         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
994
995 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
996
997         PR libstdc++/51296
998         * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
999         * src/c++11/condition_variable.cc (condition_variable): Use macro for
1000         initializer function.
1001
1002         PR libstdc++/51906
1003         * config/os/bsd/darwin/os_defines.h: Disable static initializer for
1004         recursive mutexes.
1005
1006 2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1007
1008         PR libstdc++/52128
1009         * src/c++11/future.cc: Add explicit instantiation.
1010
1011 2012-02-06  François Dumont  <fdumont@gcc.gnu.org>
1012
1013         * include/debug/safe_iterator.h
1014         (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
1015         creation of a _Safe_iterator instance to do the check.
1016
1017 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1018
1019         PR libstdc++/52104
1020         * include/std/future (__future_base::_Async_state_common): Define
1021         destructor inline for targets without TLS.
1022         * src/c++11/future.cc (__future_base::_Async_state_common): Only
1023         define destructor for TLS targets.
1024
1025 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1026
1027         PR libstdc++/51956
1028         * python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
1029         (SharedPointerPrinter): This. Also show weak count.
1030         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.
1031
1032 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1033
1034         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to
1035         PASS instead of XFAIL.
1036
1037 2012-02-05  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
1038             Paolo Carlini  <paolo.carlini@oracle.com>
1039
1040         PR libstdc++/52119
1041         * include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
1042
1043 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
1044
1045         PR libstdc++/49445
1046         * testsuite/29_atomics/atomic/cons/49445.cc: Add.
1047
1048 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
1049
1050         PR libstdc++/51811
1051         * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets.
1052         * testsuite/29_atomics/atomic/operators/51811.cc: New.
1053         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New.
1054
1055 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
1056
1057         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1058         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1059         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1060         Likewise.
1061         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1062         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1063         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1064         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1065         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1066         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1067
1068 2012-02-02  Benjamin Kosnik  <bkoz@redhat.com>
1069
1070         PR libstdc++/52068
1071         * src/c++11/Makefile.am (toolexeclib_LTLIBRARIES,
1072         libc__11_la_SOURCES): Remove.
1073         * src/c++11/Makefile.in: Regenerate.
1074         * src/c++98/Makefile.am (toolexeclib_LTLIBRARIES,
1075         libc__98_la_SOURCES): Remove.
1076         * src/c++98/Makefile.in: Regenerate.
1077
1078 2012-02-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
1079
1080         PR libstdc++/49204
1081         * include/std/future (__future_base::_State_base::wait()): Use lambda
1082         expression for predicate and remove redundant test.
1083         (__future_base::_State_base::wait_for()): Return future_status and
1084         use lambda expression for predicate.
1085         (__future_base::_State_base::wait_until()): Likewise.
1086         (__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
1087         (__future_base::_Async_state): Replace with _Async_state_common
1088         class for non-dependent functionality and _Async_state_impl class
1089         template for dependent functionality.
1090         (__future_base::_Async_state_common::_M_join): Serialize attempts to
1091         join thread.
1092         (__future_base::_Async_state_common::_M_run_deferred): Join.
1093         (__future_base::_Async_state::_M_do_run): Replace with lambda.
1094         * src/c++11/future.cc (__future_base::_Async_state_common): Define
1095         destructor, so key function is in the library.
1096         * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
1097         * testsuite/30_threads/packaged_task/members/get_future.cc: Expect
1098         future_status return instead of bool.
1099         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
1100         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
1101         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
1102         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
1103         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1104         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
1105         * testsuite/30_threads/promise/members/swap.cc: Likewise.
1106
1107 2012-01-30  Tom Tromey  <tromey@redhat.com>
1108
1109         PR libstdc++/51649:
1110         * testsuite/libstdc++-prettyprinters/debug.cc: New file.
1111         * testsuite/lib/gdb-test.exp (regexp-test): New proc.
1112         (note-test): Update.
1113         (gdb-test): Handle regexp tests.  Add some logging.
1114         * testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
1115         (placeholder, use): Remove.
1116         (main): Add tests for deque, list, map, and set iterators.  Add
1117         tests for slist and slist iterator.
1118         * testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
1119         namespace.
1120         * python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
1121         the type's _Node typedef.
1122         (StdListIteratorPrinter.to_string): Change how node type is
1123         computed.
1124         (StdSlistPrinter.children): Use the type's _Node typedef.
1125         (StdSlistIteratorPrinter.to_string): Likewise.
1126         (StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
1127         typedef.
1128         (StdMapPrinter.children): Change how the node's type is computed.
1129         (StdSetPrinter.children): Likewise.
1130         (StdForwardListPrinter.children): Use the type's _Node typedef.
1131         (Printer.add_version): New method.
1132         (Printer.add_container): New method.
1133         (build_libstdcxx_dictionary): Handle __7 and __cxx1998
1134         namespaces.
1135         (find_type): New function.
1136
1137 2012-01-27  Paolo Carlini  <paolo.carlini@oracle.com>
1138
1139         PR libstdc++/51795
1140         * include/bits/random.h (linear_congruential_generator): Add
1141         static_assert preventing instantiation for values of 'a' and 'm'
1142         currently handled incorrectly by _Mod::__calc.
1143         * include/bits/random.tcc (seed_seq::generate): Avoid unsafe
1144         uses of _Mod::__calc.
1145
1146 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
1147
1148         PR libstdc++/51798
1149         * config/cpu/generic/atomicity_builtins/atomicity.h
1150         (__exchange_and_add, __atomic_add): Use __atomic_fetch_add
1151         with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
1152         * include/ext/atomicity.h (__exchange_and_add, __atomic_add):
1153         Likewise.
1154
1155 2011-01-27  Rafael Avila de Espindola  <rafael.espindola@gmail.com>
1156
1157         * libsupc++/typeinfo: Correctly match #pragma GCC visibility
1158         pop with #pragma GCC visibility push.
1159
1160 2012-01-27  Benjamin Kosnik  <bkoz@redhat.com>
1161             Matthias Klose  <doko@ubuntu.com>
1162
1163         * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
1164         * configure.in: Regenerated.
1165         * src/Makefile.am (all-once, install-data-once): New rules.
1166         (all-local, install-data-local): Use them.
1167         (build-debug, install-debug): Tweak.
1168         * src/Makefile.in: Regenerate.
1169
1170 2012-01-27  Richard Henderson  <rth@redhat.com>
1171
1172         * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
1173         based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
1174         (ATOMIC_FLAG_INIT): Initialize with 0, not false.
1175         (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
1176
1177 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
1178
1179         PR bootstrap/51985
1180         * src/c++98/Makefile.am (libc__98_la_SOURCES,
1181         libc__98convenience_la_SOURCES): Remove $(inst_sources).
1182         * src/c++98/Makefile.in: Regenerated.
1183
1184 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
1185
1186         * testsuite/20_util/system_clock/1.cc: Add dg-require-time.
1187         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
1188         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
1189         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
1190         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add
1191         dg-require-fileio.
1192         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1193         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1194         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1195         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc:
1196         Likewise.
1197         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1198
1199 2012-01-25  Matthias Klose  <doko@ubuntu.com>
1200
1201         * testsuite/30_threads/condition_variable_any/requirements: Remove
1202         empty directory.
1203
1204 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
1205
1206         * src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
1207         * src/Makefile.in: Regenerate.
1208
1209 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
1210
1211         PR libstdc++/49829
1212         Add libc++98convenience.la, libc++11convenience.la.
1213         * src/c++98: New directory.
1214         * src/c++11: New directory.
1215         * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
1216         * configure: Regenerated.
1217         * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
1218         * Makefile.in: Regenerate.
1219         * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
1220         -fno-implicit-templates.
1221         * libsupc++/Makefile.in: Regenerate.
1222         * src/Makefile.am (inst_sources): Move... C++11 files into
1223         separate directory for libstdc++11convenience.la. Files are:
1224         fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
1225         (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
1226         compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
1227         functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
1228         system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
1229         mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
1230         (libstdc++convenience.la): Add new target.
1231         (SUBDIRS): Add c++11, c++98.
1232         * src/Makefile.in: Regenerate.
1233         * src/c++11/Makefile.am: New.
1234         * src/c++11/Makefile.in: Generate.
1235         * src/c++98/Makefile.am: New, C++98 files.
1236         * src/c++98/Makefile.in: Generate.
1237
1238 2012-01-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1239
1240         libstdc++-v3:
1241         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
1242         32-bit Solaris 10/x86.
1243         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1244
1245 2012-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
1246
1247         PR libstdc++/50982
1248         * testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors.
1249
1250 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
1251
1252         PR libstdc++/51845
1253         * include/bits/hashtable.h
1254         (_Hashtable<>::erase(const_iterator, const_iterator)): Also update
1255         _M_buckets[__n_bkt] if __is_bucket_begin.
1256         * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc:
1257         New test.
1258
1259 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
1260
1261         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting.
1262
1263 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
1264
1265         * configure.ac: Move epub checks...
1266         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use
1267         test -f instead of AC_CHECK_FILES.
1268
1269 2012-01-18  François Dumont  <fdumont@gcc.gnu.org>
1270             Roman Kononov  <roman@binarylife.net>
1271
1272         PR libstdc++/51866
1273         * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)):
1274         Do not keep a reference to a potentially moved instance.
1275         * testsuite/23_containers/unordered_multiset/insert/51866.cc: New.
1276         * testsuite/23_containers/unordered_multimap/insert/51866.cc: New.
1277
1278 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
1279
1280         * doc/html/*: Regenerate.
1281
1282 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
1283
1284         * configure.ac (BUILD_EPUB): Adjust for epub3.
1285         * configure: Regenerate.
1286         * Makefile.in: Same.
1287         * doc/Makefile.am (stamp-epub-docbook): Update for epub3.
1288         * doc/Makefile.in: Regenerate.
1289         * include/Makefile.in: Same.
1290         * libsupc++/Makefile.in: Same.
1291         * po/Makefile.in: Same.
1292         * python/Makefile.in: Same.
1293         * src/Makefile.in: Same.
1294         * testsuite/Makefile.in: Same.
1295
1296         * doc/xml/manual/documentation_hacking.xml: Update.
1297
1298 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1299
1300         PR target/47852
1301         * configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS.
1302
1303 2012-01-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1304
1305         * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
1306
1307 2012-01-13  François Dumont  <fdumont@gcc.gnu.org>
1308
1309         * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
1310         base class of ...
1311         (_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
1312         * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
1313         by _M_before_begin. Review implementation so that we do not need to
1314         look for previous non-empty bucket when inserting nodes.
1315
1316 2012-01-09  Kai Tietz  <ktietz@redhat.com>
1317
1318         PR libstc++/51673 part 2
1319         * config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
1320         operators signature for LLP64 size_t, and adjusted signatures for
1321         mt-allocator using size_t.
1322
1323 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
1324
1325         PR libstc++/51673 part 1
1326         * config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
1327         with gnu.ver.
1328
1329 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
1330
1331         * fragment.am (WARN_CXXFLAGS): Add -Wabi.
1332         * Makefile.in: Regenerate.
1333         * doc/Makefile.in: Same.
1334         * include/Makefile.in: Same.
1335         * libsupc++/Makefile.in: Same.
1336         * src/Makefile.in: Same.
1337         * testsuite/Makefile.in: Same.
1338         * po/Makefile.in: Same.
1339         * python/Makefile.in: Same.
1340
1341 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1342
1343         * python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
1344         * testsuite/libstdc++-prettyprinters/cxx11.cc: New.
1345
1346 2012-01-06  Jason Merrill  <jason@redhat.com>
1347
1348         * testsuite/abi/demangle/regression/cw-16.cc (main): Adjust
1349         expected demangling.
1350
1351 2012-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1352
1353         PR libstdc++/51504
1354         * doc/xml/manual/debug.xml: Suggest using symbol interposition
1355         to override symbols using annotation macros.
1356
1357 2012-01-05  François Dumont  <fdumont@gcc.gnu.org>
1358
1359         * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
1360         protected rather than private, use it...
1361         * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
1362         * testsuite/23_containers/unordered_set/observers.cc: New.
1363         * testsuite/23_containers/unordered_multiset/observers.cc: New.
1364         * testsuite/23_containers/unordered_map/observers.cc: New.
1365         * testsuite/23_containers/unordered_multimap/observers.cc: New.
1366
1367 2012-01-03  François Dumont  <fdumont@gcc.gnu.org>
1368
1369         * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
1370         specific _Hashtable_ebo_helper. Hide this implementation detail thanks
1371         to private inheritance.
1372
1373 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
1374
1375         PR c++/51738
1376         * testsuite/23_containers/map/element_access/39901.cc: New.