OSDN Git Service

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