OSDN Git Service

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