OSDN Git Service

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