OSDN Git Service

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