OSDN Git Service

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