* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Also check for
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobbd9ef5937768e566c990bef9518876ea5b443f9f
1 2012-11-11  Andreas Schwab  <schwab@linux-m68k.org>
3         * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Also check for
4         /usr/share/xml/docbook/stylesheet/nwalsh5/current.
5         * configure: Regenerate.
7 2012-11-11  Gerald Pfeifer  <gerald@pfeifer.com>
9         * doc/xml/manual/policy_data_structures.xml: Update reference
10         for select.
12 2012-11-10  Jason Merrill  <jason@redhat.com>
14         * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
16 2012-11-08  François Dumont  <fdumont@gcc.gnu.org>
18         PR libstdc++/54075
19         * include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash
20         policy state if no rehash.
21         * testsuite/23_containers/unordered_set/modifiers/reserve.cc
22         (test02): New.
24 2012-11-08  Paolo Carlini  <paolo.carlini@oracle.com>
26         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
27         Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
29 2012-11-08  Florian Weimer  <fweimer@redhat.com>
31         * testsuite/18_support/cxa_vec.cc: Fix typo in comment.
33 2012-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
35         * include/profile/iterator_tracker.h (operator++): Fix returning
36         dangling reference.
37         (operator--): Likewise.
39 2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>
41         * include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move...
42         * include/bits/c++config: ... here.
43         * include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it.
44         * include/ext/pb_ds/exception.hpp: Likewise.
45         * include/ext/throw_allocator.h (__throw_forced_error): Likewise.
46         * include/ext/concurrence.h (__throw_concurrence_lock_error,
47         __throw_concurrence_unlock_error, __throw_concurrence_broadcast_error,
48         __throw_concurrence_wait_error): Likewise.
49         * include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise.
50         * include/tr1/functional (function<_Res(_ArgTypes...)>::operator()
51         (_ArgTypes...)): Likewise.
52         * libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast,
53         __cxxabiv1::__cxa_bad_typeid): Likewise.
54         * libsupc++/vec.cc (compute_size): Likewise.
55         * libsupc++/new_op.cc (operator new (std::size_t)): Likewise.
56         * src/c++11/functexcept.cc: Likewise.
57         * testsuite/util/io/illegal_input_error.hpp
58         (__throw_illegal_input_error): Likewise.
59         * libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions.
60         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
61         numbers.
62         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
63         Likewise.
64         * testsuite/23_containers/array/tuple_interface/
65         tuple_element_debug_neg.cc: Likewise.
66         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
67         Likewise.
68         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
70 2012-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
72         * include/bits/stl_vector.h (vector(size_type)): Add missing allocator
73         parameter.
74         * include/bits/stl_bvector.h: Likewise.
75         * include/debug/vector (vector(size_type)): Likewise.
76         * include/profile/vector (vector(size_type)): Likewise. Pass allocator
77         to base constructor.
78         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
79         Adjust dg-error line numbers.
80         * testsuite/23_containers/vector/requirements/dr438/
81         constructor_1_neg.cc: Likewise.
82         * testsuite/23_containers/vector/requirements/dr438/
83         constructor_2_neg.cc: Likewise.
84         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
85         Likewise.
87 2012-11-06  Paolo Carlini  <paolo.carlini@oracle.com>
89         PR libstdc++/51850
90         * include/debug/array: New, debug-mode implementation.
91         * include/profile/array: New.
92         * include/std/array: Adjust.
93         * include/std/tuple: Just include <array>.
94         * include/Makefile.am: Add.
95         * include/Makefile.in: Regenerate.
96         * testsuite/23_containers/array/debug/front1_neg.cc: New.
97         * testsuite/23_containers/array/debug/
98         square_brackets_operator1_neg.cc: Likewise.
99         * testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
100         * testsuite/23_containers/array/debug/
101         square_brackets_operator2_neg.cc: Likewise.
102         * testsuite/23_containers/array/debug/back1_neg.cc: Likewise.
103         * testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
104         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Tweak
105         to run only in normal-mode.
106         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
107         Likewise.
108         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: New.
109         * testsuite/23_containers/array/tuple_interface/
110         tuple_element_debug_neg.cc: Likewise.
112 2012-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
114         * testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
115         include.
117 2012-11-06  Paolo Carlini  <paolo.carlini@oracle.com>
119         * include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
120         * include/std/atomic: Likewise.
121         * include/tr2/dynamic_bitset: Likewise.
123         * libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
124         std::size_t)): Fix for -fno-exceptions.
126 2012-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
128         * include/profile/map.h (map::emplace_hint): Add missing return.
130 2012-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
132         * include/profile/deque: Constrain InputIterator parameters.
133         * include/profile/forward_list: Likewise.
134         * include/profile/list: Likewise.
135         * include/profile/map.h: Likewise.
136         * include/profile/multimap.h: Likewise.
137         * include/profile/set.h: Likewise.
138         * include/profile/multiset.h: Likewise.
139         * include/profile/vector: Likewise.
141 2012-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
143         * include/profile/forward_list: Update to meet allocator-aware
144         requirements.
145         * include/debug/forward_list: Likewise.
146         * include/debug/vector: Verify allocators are swapped or equal.
147         * include/debug/macros.h (__glibcxx_check_equal_allocs): Define.
148         * include/debug/formatter.h: Add new debug message.
149         * src/c++11/debug.cc: Likewise.
150         * testsuite/23_containers/forward_list/allocator/swap.cc: Do not
151         swap containers with non-propagating, non-equal allocators.
152         * testsuite/23_containers/vector/allocator/swap.cc: Likewise.
154 2012-11-05  Benjamin Kosnik  <bkoz@redhat.com>
155             Oleg Smolsky  <oleg@smolsky.net>
157         PR libstdc++/55028
158         *  config/abi/pre/gnu-versioned-namespace.ver: Add symbols.
159         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New.
161 2012-10-05  François Dumont  <fdumont@gcc.gnu.org>
163         * include/ext/throw_allocator.h (__throw_value_base): Add move
164         semantic, not throwing.
165         (__throw_value_limit): Likewise.
166         (__throw_value_random): Likewise.
167         * testsuite/util/exception/safety.h: Add validation of C++11
168         methods emplace/emplace_front/emplace_back/emplace_hint.
169         * testsuite/util/testsuite_container_traits.h: Signal emplace
170         support on deque, forward_list, list and vector.
171         * testsuite/23_containers/deque/requirements/exception/
172         propagation_consistent.cc: Remove dg-do run fail.
174 2012-11-05  Paolo Carlini  <paolo.carlini@oracle.com>
176         PR libstdc++/55215
177         * include/bits/random.tcc (mersenne_twister_engine<>::seed(_Sseq&)):
178         Assign state_size to _M_p.
179         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
180         New.
181         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
182         Likewise.
183         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
184         Likewise.
185         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
186         55215.cc: Likewise.
187         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
188         Likewise.
189         * testsuite/26_numerics/random/linear_congruential_engine/cons/
190         55215.cc: Likewise.
192 2012-11-03  Florian Weimer  <fweimer@redhat.com>
194         * libsupc++/vec.cc (compute_size): New.
195         (__cxa_vec_new2, __cxa_vec_new3): Use it.
196         * testsuite/18_support/cxa_vec.cc: New.
198 2012-11-03  Robert Mason  <rbmj@verizon.net>
200         * config/os/vxworks/os_defines.h:
201         Keep vxWorks from defining min()/max() as macros
203 2012-11-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
205         * doc/html/*: Regenerate.
207 2012-11-02  Gerald Pfeifer  <gerald@pfeifer.com>
209         * doc/xml/manual/configure.xml: Adjust GNU libc link.
211         * doc/xml/manual/debug.xml: Adjust GDB documentation link.
212         Use GCC instead of gcc.
214         * doc/xml/manual/prerequisites.xml: Remove detailed reference
215         to binutils downloads.
217 2012-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
219         PR libstdc++/55169
220         * include/bits/random.h: Remove all uses of param().
221         (chi_squared_distribution<>::__generate_impl(_ForwardIterator,
222         _ForwardIterator, _UniformRandomNumberGenerator&)): Declare
223         * include/bits/random.tcc: ... define.
224         * include/ext/random: Remove all uses of param().
226 2012-11-02  Gerald Pfeifer  <gerald@pfeifer.com>
228         * doc/xml/manual/allocator.xml: Update reference to Hoard.
229         Update reference to Berger's OOPSLA 2002 paper.
231 2012-11-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
233         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
234         (StdForwardListPrinter): Likewise.
236 2012-11-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
238         * include/bits/forward_list.h (forward_list(size_type)): Add missing
239         allocator parameter.
240         (_Fwd_list_node_base): Use NSDMI and define constructor as defaulted.
241         (_Fwd_list_node::_M_value): Replace with uninitialized storage.
242         (_Fwd_list_node::_M_valptr()): Define functions to access storage.
243         (_Fwd_list_iterator, _Fwd_list_const_iterator): Use _M_valptr.
244         (_Fwd_list_base::_M_create_node): Only use allocator to construct the
245         element not the node.
246         * include/bits/forward_list.tcc (_Fwd_list_base::_M_erase_after): Only
247         use allocator to destroy the element not the node.
248         * testsuite/23_containers/forward_list/cons/11.cc: Remove unused
249         headers.
250         * testsuite/23_containers/forward_list/cons/12.cc: Likewise.
251         * testsuite/23_containers/forward_list/cons/13.cc: New.
252         * testsuite/23_containers/forward_list/cons/14.cc: New.
254 2012-11-02  Gerald Pfeifer  <gerald@pfeifer.com>
256         * doc/xml/manual/codecvt.xml: Fix reference to Austin Common
257         Standards Revision Group.
258         * doc/xml/manual/messages.xml: Ditto.
259         * doc/xml/manual/using_exceptions.xml: Ditto.
261         * doc/xml/manual/messages.xml: Fix reference to GNU gettext.
263         * doc/xml/manual/policy_data_structures.xml: Fix reference to
264         STL at SGI.
265         Update reference to COM at Microsoft.
266         Update reference to Worst-case efficient priority queues at ACM.
268 2012-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
270         * testsuite/18_support/initializer_list/range_access.cc: Fix copying
271         permission statement.
272         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
273         808590.cc: Likewise.
274         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
275         move_iterators/1.cc: Likewise.
276         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
277         move_iterators/1.cc: Likewise.
278         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
279         Likewise.
280         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
281         Likewise.
282         * testsuite/21_strings/basic_string/range_access/char/1.cc: Likewise.
283         * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
284         Likewise.
285         * testsuite/23_containers/array/element_access/at_neg.cc: Likewise.
286         * testsuite/23_containers/array/range_access.cc: Likewise.
287         * testsuite/23_containers/deque/capacity/29134-2.cc: Likewise.
288         * testsuite/23_containers/deque/capacity/29134.cc: Likewise.
289         * testsuite/23_containers/deque/capacity/shrink_to_fit.cc: Likewise.
290         * testsuite/23_containers/deque/range_access.cc: Likewise.
291         * testsuite/23_containers/deque/requirements/do_the_right_thing.cc:
292         Likewise.
293         * testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
294         * testsuite/23_containers/forward_list/cons/1.cc: Likewise.
295         * testsuite/23_containers/forward_list/cons/10.cc: Likewise.
296         * testsuite/23_containers/forward_list/cons/11.cc: Likewise.
297         * testsuite/23_containers/forward_list/cons/12.cc: Likewise.
298         * testsuite/23_containers/forward_list/cons/2.cc: Likewise.
299         * testsuite/23_containers/forward_list/cons/3.cc: Likewise.
300         * testsuite/23_containers/forward_list/cons/4.cc: Likewise.
301         * testsuite/23_containers/forward_list/cons/5.cc: Likewise.
302         * testsuite/23_containers/forward_list/cons/6.cc: Likewise.
303         * testsuite/23_containers/forward_list/cons/7.cc: Likewise.
304         * testsuite/23_containers/forward_list/cons/8.cc: Likewise.
305         * testsuite/23_containers/forward_list/cons/9.cc: Likewise.
306         * testsuite/23_containers/forward_list/debug/clear.cc: Likewise.
307         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
308         Likewise.
309         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
310         Likewise.
311         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
312         Likewise.
313         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
314         Likewise.
315         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
316         Likewise.
317         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
318         Likewise.
319         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
320         Likewise.
321         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
322         Likewise.
323         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
324         Likewise.
325         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
326         Likewise.
327         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
328         Likewise.
329         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
330         Likewise.
331         * testsuite/23_containers/forward_list/debug/move_constructor.cc:
332         Likewise.
333         * testsuite/23_containers/forward_list/debug/splice_after.cc: Likewise.
334         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
335         Likewise.
336         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
337         Likewise.
338         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
339         Likewise.
340         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
341         Likewise.
342         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
343         Likewise.
344         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
345         Likewise.
346         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
347         Likewise.
348         * testsuite/23_containers/forward_list/debug/swap.cc: Likewise.
349         * testsuite/23_containers/forward_list/modifiers/1.cc: Likewise.
350         * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
351         * testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
352         * testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
353         * testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
354         * testsuite/23_containers/forward_list/modifiers/6.cc: Likewise.
355         * testsuite/23_containers/forward_list/operations/1.cc: Likewise.
356         * testsuite/23_containers/forward_list/operations/2.cc: Likewise.
357         * testsuite/23_containers/forward_list/operations/3.cc: Likewise.
358         * testsuite/23_containers/forward_list/operations/4.cc: Likewise.
359         * testsuite/23_containers/forward_list/operations/5.cc: Likewise.
360         * testsuite/23_containers/forward_list/operations/6.cc: Likewise.
361         * testsuite/23_containers/forward_list/operations/7.cc: Likewise.
362         * testsuite/23_containers/forward_list/range_access.cc: Likewise.
363         * testsuite/23_containers/forward_list/requirements/
364         do_the_right_thing.cc: Likewise.
365         * testsuite/23_containers/list/capacity/1.cc: Likewise.
366         * testsuite/23_containers/list/capacity/1.h: Likewise.
367         * testsuite/23_containers/list/capacity/29134.cc: Likewise.
368         * testsuite/23_containers/list/modifiers/1.cc: Likewise.
369         * testsuite/23_containers/list/modifiers/1.h: Likewise.
370         * testsuite/23_containers/list/modifiers/1_c++0x.cc: Likewise.
371         * testsuite/23_containers/list/modifiers/2.cc: Likewise.
372         * testsuite/23_containers/list/modifiers/2.h: Likewise.
373         * testsuite/23_containers/list/modifiers/3.cc: Likewise.
374         * testsuite/23_containers/list/modifiers/3.h: Likewise.
375         * testsuite/23_containers/list/modifiers/insert/25288.cc: Likewise.
376         * testsuite/23_containers/list/modifiers/insert/25288.h: Likewise.
377         * testsuite/23_containers/list/operations/1.cc: Likewise.
378         * testsuite/23_containers/list/operations/1.h: Likewise.
379         * testsuite/23_containers/list/operations/2.cc: Likewise.
380         * testsuite/23_containers/list/operations/2.h: Likewise.
381         * testsuite/23_containers/list/operations/2_c++0x.cc: Likewise.
382         * testsuite/23_containers/list/operations/3.cc: Likewise.
383         * testsuite/23_containers/list/operations/3.h: Likewise.
384         * testsuite/23_containers/list/operations/3_c++0x.cc: Likewise.
385         * testsuite/23_containers/list/operations/4.cc: Likewise.
386         * testsuite/23_containers/list/operations/4.h: Likewise.
387         * testsuite/23_containers/list/operations/42352.cc: Likewise.
388         * testsuite/23_containers/list/operations/5.cc: Likewise.
389         * testsuite/23_containers/list/operations/5.h: Likewise.
390         * testsuite/23_containers/list/range_access.cc: Likewise.
391         * testsuite/23_containers/list/requirements/do_the_right_thing.cc:
392         Likewise.
393         * testsuite/23_containers/map/capacity/29134.cc: Likewise.
394         * testsuite/23_containers/map/range_access.cc: Likewise.
395         * testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
396         * testsuite/23_containers/multimap/range_access.cc: Likewise.
397         * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
398         * testsuite/23_containers/multiset/range_access.cc: Likewise.
399         * testsuite/23_containers/set/capacity/29134.cc: Likewise.
400         * testsuite/23_containers/set/range_access.cc: Likewise.
401         * testsuite/23_containers/unordered_map/final_hash.cc: Likewise.
402         * testsuite/23_containers/unordered_map/observers.cc: Likewise.
403         * testsuite/23_containers/unordered_map/range_access.cc: Likewise.
404         * testsuite/23_containers/unordered_map/requirements/52942.cc:
405         Likewise.
406         * testsuite/23_containers/unordered_map/requirements/53067.cc:
407         Likewise.
408         * testsuite/23_containers/unordered_map/requirements/53339.cc:
409         Likewise.
410         * testsuite/23_containers/unordered_multimap/final_hash.cc: Likewise.
411         * testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
412         * testsuite/23_containers/unordered_multimap/range_access.cc: Likewise.
413         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
414         Likewise.
415         * testsuite/23_containers/unordered_multiset/final_hash.cc: Likewise.
416         * testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
417         * testsuite/23_containers/unordered_multiset/range_access.cc: Likewise.
418         * testsuite/23_containers/unordered_set/final_hash.cc: Likewise.
419         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
420         * testsuite/23_containers/unordered_set/observers.cc: Likewise.
421         * testsuite/23_containers/unordered_set/range_access.cc: Likewise.
422         * testsuite/23_containers/unordered_set/requirements/52942.cc:
423         Likewise.
424         * testsuite/23_containers/unordered_set/requirements/53067.cc:
425         Likewise.
426         * testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
427         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
428         Likewise.
429         * testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
430         * testsuite/23_containers/vector/capacity/29134.cc: Likewise.
431         * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
432         * testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: Likewise.
433         * testsuite/23_containers/vector/range_access.cc: Likewise.
434         * testsuite/23_containers/vector/requirements/do_the_right_thing.cc:
435         Likewise.
436         * testsuite/24_iterators/range_access.cc: Likewise.
437         * testsuite/25_algorithms/copy/1.cc: Likewise.
438         * testsuite/25_algorithms/copy/2.cc: Likewise.
439         * testsuite/25_algorithms/copy/3.cc: Likewise.
440         * testsuite/25_algorithms/copy/34595.cc: Likewise.
441         * testsuite/25_algorithms/copy/4.cc: Likewise.
442         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
443         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
444         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
445         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
446         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
447         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
448         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
449         Likewise.
450         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
451         Likewise.
452         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
453         Likewise.
454         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
455         Likewise.
456         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
457         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
458         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
459         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
460         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
461         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
462         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
463         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
464         * testsuite/25_algorithms/fill/4.cc: Likewise.
465         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
466         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc:
467         Likewise.
468         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc:
469         Likewise.
470         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
471         Likewise.
472         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
473         Likewise.
474         * testsuite/25_algorithms/heap/1.cc: Likewise.
475         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
476         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
477         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
478         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
479         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
480         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
481         * testsuite/25_algorithms/move/1.cc: Likewise.
482         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
483         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
484         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
485         * testsuite/25_algorithms/partition/1.cc: Likewise.
486         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
487         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
488         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
489         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
490         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
491         * testsuite/25_algorithms/stable_partition/pr52822.cc: Likewise.
492         * testsuite/26_numerics/valarray/range_access.cc: Likewise.
493         * testsuite/28_regex/range_access.cc: Likewise.
494         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
495         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
496         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
497         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
498         * testsuite/ext/vstring/range_access.cc: Likewise.
499         * testsuite/ext/vstring/requirements/do_the_right_thing.cc: Likewise.
500         * testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc:
501         Likewise.
502         * testsuite/performance/25_algorithms/copy_deque_iterators.cc:
503         Likewise.
504         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
505         Likewise.
506         * testsuite/tr1/6_containers/unordered_multimap/capacity/
507         29134-multimap.cc: Likewise.
508         * testsuite/tr1/6_containers/unordered_multiset/capacity/
509         29134-multiset.cc: Likewise.
510         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
511         Likewise.
513 2012-11-01  François Dumont  <fdumont@gcc.gnu.org>
515         * include/bits/hashtable_policy.h (__details::_Before_begin<>):
516         New, combine a base node instance and an allocator.
517         * include/bits/hashtable.h (_Hashtable<>::_M_node_allocator): Remove.
518         (_Hashtable<>::_M_before_begin): Rename into _M_bbegin and type
519         modified to __detail::_Before_begin<>.
520         (_Hashtable<>::_M_node_allocator()): New, get the node allocator
521         part of _M_bbegin.
522         (_Hashtable<>::_M_before_begin()): New, get the before begin node
523         part of _M_bbegin.
524         (_Hashtable<>): Adapt to use latter.
526 2012-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
528         * include/bits/forward_list.h (forward_list::assign): Dispatch to new
529         functions based on assignability of elements.
530         (forward_list::_M_assign): Add overloaded functions for assigning
531         via assignment or via clearing and insertion.
532         (forward_list::_M_assign_val): Likewise.
533         (forward_list::_M_move_assign(forward_list&&, false_type)): Do not
534         erase elements that are not moved.
535         * include/bits/forward_list.tcc (forward_list::operator=): Call
536         assign() to copy elements.
537         * testsuite/23_containers/forward_list/cons/10.cc: New.
538         * testsuite/23_containers/forward_list/cons/11.cc: New.
539         * testsuite/23_containers/forward_list/cons/12.cc: New.
541 2012-10-31  Jonathan Yong  <jon_y@users.sourceforge.net>
543         * config/os/mingw32-w64/os_defines.h: Do not define anymore
544         _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
546 2012-10-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
548         * include/bits/forward_list.h (forward_list): Adjust comments.
549         (forward_list(const forward_list&, const _Alloc&)): Use
550         _M_range_initialize to copy elements.
551         (forward_list(forward_list&&, const _Alloc&)): Add exception
552         specification.
553         (_Fwd_list_base(const _Fwd_list_base&, const _Node_alloc_type&)):
554         Remove.
555         * include/bits/forward_list.tcc (_Fwd_list_base(const _Fwd_list_base&,
556         const _Node_alloc_type&)): Remove.
557         (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Fix
558         memory leak when allocators are not equal.
560 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
562         PR libstdc++/55123
563         * include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
564         Do not instantiate allocator with element_type.
565         * testsuite/20_util/shared_ptr/cons/55123.cc: New.
567 2012-10-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
569         PR libstdc++/55041
570         * python/libstdcxx/v6/printers.py (Tr1UnorderedMapPrinter): Update
571         to handle hashtable as member of unordered_map not base class.
572         (Tr1UnorderedSetPrinter): Likewise.
574 2012-10-27  François Dumont  <fdumont@gcc.gnu.org>
576         * include/bits/unordered_map.h (unordered_map<>): Prefer
577         aggregation to inheritance with _Hashtable.
578         (unordered_multimap<>): Likewise.
579         * include/bits/unordered_set.h
580         (unordered_set<>(const unordered_set&)):  Use default
581         implementation.
582         (unordered_set<>(unordered_set&&)): Likewise.
583         (unordered_set<>::operator=(const unordered_set&)): Likewise.
584         (unordered_set<>::operator=(unordered_set&&)): Likewise.
585         (unordered_multiset<>(const unordered_multiset&)): Likewise.
586         (unordered_multiset<>(unordered_multiset&&)): Likewise.
587         (unordered_multiset<>::operator=(const unordered_multiset&)):
588         Likewise.
589         (unordered_multiset<>::operator=(unordered_multiset&&)): Likewise.
590         * include/debug/unordered_map (operator==): Adapt.
591         * include/profile/unordered_map (operator==): Adapt.
593 2012-10-24  Daniel Krugler  <daniel.kruegler@gmail.com>
595         * include/std/type_traits (common_type): Implement LWG 2141.
596         * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
597         Update.
598         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
599         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
600         Likewise.
601         * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
602         Likewise.
603         * testsuite/20_util/common_type/requirements/typedefs-2.cc: Likewise.
605 2012-10-24   Haakan Younes  <hyounes@google.com>
606              Paolo Carlini  <paolo.carlini@oracle.com>
608         PR libstdc++/55047
609         * include/bits/random.h (exponential_distribution<>::operator):
610         Fix formula to std::log(result_type(1) - __aurng()).
611         * include/bits/random.tcc: Likewise, everywhere.
613 2012-10-23  Yufeng Zhang  <yufeng.zhang@arm.com>
615         * config/cpu/aarch64/cxxabi_tweaks.h: New file.
616         * configure.host: Enable aarch64.
618 2012-10-22  François Dumont  <fdumont@gcc.gnu.org>
620         * include/bits/unordered_set.h (unordered_set<>): Prefer
621         aggregation to inheritance with _Hashtable.
622         (unordered_multiset<>): Likewise.
623         * include/debug/unordered_set (operator==): Adapt.
624         * include/profile/unordered_set (operator==): Adapt.
626 2012-10-22  Yufeng Zhang  <yufeng.zhang@arm.com>
627             Jonathan Wakely  <jwakely.gcc@gmail.com>
629         * doc/xml/manual/configure.xml (--enable-clocale): Document the
630         'newlib' and 'darwin' options. Minor stylistic improvements.
632 2012-10-21  François Dumont  <fdumont@gcc.gnu.org>
634         * include/profile/map.h (map::emplace_hint): Remove invalid
635         parenthesis.
637 2012-10-21  Hans-Peter Nilsson  <hp@bitrange.com>
639         * testsuite/23_containers/bitset/45713.cc: Skip for mmix-*-*.
640         Tweak sizetype-related comment.
642 2012-10-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
644         * include/std/scoped_allocator: Avoid badname.
646 2012-10-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
648         * doc/xml/manual/status_cxx2011.xml: Update.
650 2012-10-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
652         * include/std/scoped_allocator (__outermost_alloc_traits): Define.
653         (scoped_allocator_adaptor::destroy): Use it.
654         (scoped_allocator_adaptor::construct): Likewise. Overload for
655         piecewise construction of std::pair objects.
656         * testsuite/20_util/scoped_allocator/2.cc: New.
657         * doc/xml/manual/status_cxx2011.xml: Update.
659 2012-10-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
661         * include/bits/forward_list.h: Add C++11 allocator support.
662         * include/bits/forward_list.tcc: Likewise.
663         * doc/xml/manual/status_cxx2011.xml: Update.
664         * testsuite/23_containers/forward_list/allocator/copy.cc: New.
665         * testsuite/23_containers/forward_list/allocator/copy_assign.cc: New.
666         * testsuite/23_containers/forward_list/allocator/minimal.cc: New.
667         * testsuite/23_containers/forward_list/allocator/move_assign.cc: New.
668         * testsuite/23_containers/forward_list/allocator/noexcept.cc: New.
669         * testsuite/23_containers/forward_list/allocator/swap.cc: New.
671 2012-10-18  François Dumont  <fdumont@gcc.gnu.org>
673         * include/debug/formatter.h (_Debug_msg_id): Add
674         __msg_valid_load_factor.
675         * include/debug/macros.h (__glibcxx_check_max_load_factor): New.
676         * include/debug/unordered_set
677         (unordered_set<>::max_load_factor(float)): Check max load factor
678         is positive.
679         (unordered_multiset<>::max_load_factor(float)): Likewise.
680         * include/debug/unordered_map
681         (unordered_map<>::max_load_factor(float)): Likewise.
682         (unordered_multimap<>::max_load_factor(float)): Likewise.
683         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
684         New.
685         * testsuite/23_containers/unordered_multimap/debug/
686         max_load_factor_neg.cc: New.
687         * testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc:
688         New.
689         * testsuite/23_containers/unordered_multiset/debug/
690         max_load_factor_neg.cc: New.
692 2012-10-17  Benjamin Kosnik  <bkoz@redhat.com>
694         * include/bits/move.h (move_if_noexcept): Mark constexpr.
695         * include/std/array (front, back): Same.
696         * include/std/chrono: Add comment.
697         * include/std/tuple (__tuple_compare): Mark __eq, __less constexpr.
698         (operator ==, <, >, !=, <=, >=): Same.
699         * testsuite/20_util/forward/c_neg.cc: Adjust line numbers.
700         * testsuite/20_util/forward/f_neg.cc: Same.
701         * testsuite/20_util/move_if_noexcept/constexpr.cc: New.
702         * testsuite/20_util/tuple/comparison_operators/constexpr.cc: New.
703         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add.
704         * testsuite/23_containers/array/element_access/
705         constexpr_element_access.cc: Same.
706         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
707         line numbers.
708         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
709         Same.
711         * testsuite/20_util/tuple/comparison_operators/35480_neg.cc:
712           Temporarily add dg-excess-errors.
714 2012-10-16  François Dumont  <fdumont@gcc.gnu.org>
716         * include/debug/formatter.h (_Debug_msg_id): Add
717         __msg_bucket_index_oob.
718         * include/debug/macros.h (__glibcxx_check_bucket_index): New.
719         * include/debug/unordered_set (unordered_set<>::begin(size_type)):
720         Add check on bucket index.
721         (unordered_set<>::begin(size_type) const): Likewise.
722         (unordered_set<>::cbegin(size_type) const): Likewise.
723         (unordered_set<>::end(size_type)): Likewise.
724         (unordered_set<>::end(size_type) const): Likewise.
725         (unordered_set<>::cend(size_type) const): Likewise.
726         (unordered_set<>::bucket_size(size_type)): Likewise.
727         (unordered_multiset<>::begin(size_type)): Likewise.
728         (unordered_multiset<>::begin(size_type) const): Likewise.
729         (unordered_multiset<>::cbegin(size_type) const): Likewise.
730         (unordered_multiset<>::end(size_type)): Likewise.
731         (unordered_multiset<>::end(size_type) const): Likewise.
732         (unordered_multiset<>::cend(size_type) const): Likewise.
733         (unordered_multiset<>::bucket_size(size_type)): Likewise.
734         * include/debug/unordered_map (unordered_map<>::begin(size_type)):
735         Likewise.
736         (unordered_map<>::begin(size_type) const): Likewise.
737         (unordered_map<>::cbegin(size_type) const): Likewise.
738         (unordered_map<>::end(size_type)): Likewise.
739         (unordered_map<>::end(size_type) const): Likewise.
740         (unordered_map<>::cend(size_type) const): Likewise.
741         (unordered_map<>::bucket_size(size_type)): Likewise.
742         (unordered_multimap<>::begin(size_type)): Likewise.
743         (unordered_multimap<>::begin(size_type) const): Likewise.
744         (unordered_multimap<>::cbegin(size_type) const): Likewise.
745         (unordered_multimap<>::end(size_type)): Likewise.
746         (unordered_multimap<>::end(size_type) const): Likewise.
747         (unordered_multimap<>::cend(size_type) const): Likewise.
748         (unordered_multimap<>::bucket_size(size_type)): Likewise.
749         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
750         New.
751         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: New.
752         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: New.
753         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: New.
754         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: New.
755         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: New.
756         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: New.
757         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
758         New.
759         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: New.
760         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: New.
761         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: New.
762         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: New.
763         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: New.
764         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: New.
765         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
766         New.
767         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: New.
768         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: New.
769         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: New.
770         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: New.
771         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: New.
772         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: New.
773         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
774         New.
775         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: New.
776         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: New.
777         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: New.
778         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: New.
779         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: New.
780         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: New.
782 2012-10-15  Matthias Klose  <doko@ubuntu.com>
784         * configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
785         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
786         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
788 2012-10-15  Pavel Chupin  <pavel.v.chupin@intel.com>
790         * Makefile.in: Regenerate.
791         * acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use.
792         * configure: Regenerate.
793         * doc/Makefile.in: Regenerate.
794         * include/Makefile.am: Regenerate.
795         * include/Makefile.in: Rename variable.
796         * libsupc++/Makefile.in: Regenerate.
797         * po/Makefile.in: Regenerate.
798         * python/Makefile.in: Regenerate.
799         * src/Makefile.in: Regenerate.
800         * src/c++11/Makefile.in: Regenerate.
801         * src/c++98/Makefile.in: Regenerate.
802         * testsuite/Makefile.in: Regenerate.
804 2012-10-14  Jason Merrill  <jason@redhat.com>
806         PR target/54908
807         * libsupc++/atexit_thread.cc: Rewrite to keep the cleanup list
808         with get/setspecific.  Destroy the key on dlclose.
810 2012-10-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
812         * include/ext/random: Add __gnu_cxx::arcsine_distribution<>
813         and __gnu_cxx::hoyt_distribution<> classes.
814         * include/ext/random.tcc: Add out-of-line functions for
815         __gnu_cxx::arcsine_distribution<> and __gnu_cxx::hoyt_distribution<>.
816         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: New file.
817         * testsuite/ext/random/hoyt_distribution/cons/default.cc: New file.
818         * testsuite/ext/random/hoyt_distribution/requirements/
819         explicit_instantiation/1.cc: New file.
820         * testsuite/ext/random/hoyt_distribution/requirements/typedefs.cc:
821         New file.
822         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: New file.
823         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: New file.
824         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
825         New file.
826         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: New file.
827         * testsuite/ext/random/arcsine_distribution/cons/default.cc: New file.
828         * testsuite/ext/random/arcsine_distribution/requirements/
829         explicit_instantiation/1.cc: New file.
830         * testsuite/ext/random/arcsine_distribution/requirements/typedefs.cc:
831         New file.
832         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
833         New file.
834         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
835         New file.
836         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
837         New file.
839 2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
841         * include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
842         hacks thanks to the resolution of c++/51213.
844 2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
846         * testsuite/23_containers/bitset/45713.cc: Tweak.
848 2012-10-11  Hans-Peter Nilsson  <hp@axis.com>
850         PR testsuite/54897
851         * testsuite/23_containers/bitset/45713.cc: Skip for avr*-*-*
852         cris*-*-* h8300*-*-* mcore*-*-* moxie*-*-*.
854 2012-10-11  Daniel Krugler  <daniel.kruegler@gmail.com>
856         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
857         Update / extend.
858         * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
859         Likewise.
860         * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
861         Likewise.
863 2012-10-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
865         PR libstdc++/54872
866         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11) [!__sun__ && !__svr4__]:
867         Don't export _ZNSt12system_errorC*.
869 2012-10-10  Jack Howarth  <howarth@bromo.med.uc.edu>
870             Jonathan Wakely  <jwakely.gcc@gmail.com>
872         PR libstdc++/54847
873         * config/os/bsd/darwin/os_defines.h: Define _GLIBCXX_USE_NANOSLEEP
874         and _GLIBCXX_USE_SCHED_YIELD.
875         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add comment.
877 2012-10-10  Mark Kettenis  <kettenis@openbsd.org>
879         * configure.host (*-*-openbsd*) Set cpu_include_dir.
880         * config/os/bsd/openbsd/ctype_base.h: New file.
881         * config/os/bsd/openbsd/ctype_configure_char.cc: New file.
882         * config/os/bsd/openbsd/ctype_inline.h: New file.
883         * config/os/bsd/openbsd/os_defines.h: New file.
884         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Use newlib locale model
885         for OpenBSD.
886         * configure: Regenerated.
888 2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
890         * include/std/type_traits (__do_common_type_impl): Revert for now
891         LWG 2141-related change.
892         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
893         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
894         Adjust.
896 2012-10-09  Daniel Krugler  <daniel.kruegler@gmail.com>
898         * include/std/type_traits (common_type): Provide "SFINAE-friendly"
899         implementation.
900         (__success_type, __failure_type): Fix.
901         * include/std/chrono (common_type): Likewise for the chrono::time_point
902         specialization.
903         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc: New.
904         * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
905         Likewise.
906         * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
907         Likewise.
908         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Adjust wrt
909         LWG 2141.
910         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
911         dg-error line numbers.
912         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
913         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
914         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
915         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
916         Likewise.
917         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
919         * testsuite/20_util/result_of/sfinae_friendly_1.cc: Trivial stylistic
920         tweaks.
921         * testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
923 2012-10-09  Andrew MacLeod  <amacleod@redhat.com>
925         PR libstdc++/54861
926         * include/bits/atomic_base.h (atomic_signal_fence): Call
927         __atomic_signal_fence instead of __atomic_thread_fence.
929 2012-10-09  Benjamin Kosnik  <bkoz@redhat.com>
931         * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc:
932         Fix constant value.
934 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
936         PR libstdc++/54869
937         * include/ext/random (simd_fast_mersenne_twister_engine): Provide
938         only for little endian targets.
939         * include/ext/random.tcc: Likewise.
940         * config/cpu/i486/opt/ext/opt_random.h: Likewise.
941         * testsuite/lib/libstdc++.exp (check_v3_target_little_endian): Add.
942         * testsuite/lib/dg-options.exp (dg-require-little-endian): Add.
943         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
944         operators/equal.cc: Use the latter.
945         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
946         operators/serialize.cc: Likewise.
947         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
948         operators/inequal.cc: Likewise.
949         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
950         cons/copy.cc: Likewise.
951         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
952         cons/seed1.cc: Likewise.
953         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
954         cons/seed2.cc: Likewise.
955         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
956         cons/default.cc: Likewise.
957         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
958         cons/seed_seq.cc: Likewise.
960 2012-10-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
962         PR libstdc++/54754
963         * include/parallel/compatibility.h: Use atomic built-ins when they are
964         lock-free.
966 2012-10-09  Uros Bizjak  <ubizjak@gmail.com>
968         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.7.
970 2012-10-08  Jason Merrill  <jason@redhat.com>
972         * libsupc++/cxxabi.h: Declare __cxa_thread_atexit.
973         * libsupc++/atexit_thread.cc: New.
974         * libsupc++/Makefile.am (nested_exception.lo): Add it.
975         * config/abi/pre/gnu.ver: Add __cxa_thread_atexit.
977 2012-10-07  Matthias Klose  <doko@ubuntu.com>
979         * testsuite/28_regex/algorithms/match/basic: Remove empty directory.
980         * testsuite/28_regex/algorithms/match/extended: Likewise.
981         * testsuite/28_regex/algorithms/match: Likewise.
983 2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>
985         PR c++/52764
986         * include/c_global/cstdint: Remove __STDC_LIMIT_MACROS and
987         __STDC_CONSTANT_MACROS related macros.
989 2012-10-06  Joe Seymour  <jseymour@codesourcery.com>
991         * include/tr2/dynamic_bitset: Fix cxxabi_forced.h include path.
993 2012-10-05  Benjamin Kosnik  <bkoz@redhat.com>
995         * testsuite/28_regex/algorithms/match: Rename to...
996         * testsuite/28_regex/algorithms/regex_match: ...this.
997         * testsuite/28_regex/basic_regex/regex.cc: Rename to...
998         * testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
999         * testsuite/util/testsuite_regex.h: New.
1000         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.
1002 2012-10-05  Jakub Jelinek  <jakub@redhat.com>
1004         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
1005         numbers.
1007 2012-10-05  Marc Glisse  <marc.glisse@inria.fr>
1009         PR libstdc++/54686
1010         * include/c_global/cstdlib (abs(long long)): Define with
1011         __builtin_llabs when we have long long.
1012         (abs(long)): Use __builtin_labs.
1013         (abs(__int128)): Define when we have __int128.
1015 2012-10-05  Paolo Carlini  <paolo.carlini@oracle.com>
1017         * include/c_global/cstdlib: Remove redundant pasto code protected
1018         by __GXX_EXPERIMENTAL_CXX0X__.
1019         * include/c_global/cwctype: Likewise.
1020         * include/c_global/ccomplex: Remove uses of obsolete macro
1021         _GLIBCXX_INCLUDE_AS_TR1.
1022         * include/c_global/cfloat: Likewise.
1024 2012-10-05  Marc Glisse  <marc.glisse@inria.fr>
1026         PR libstdc++/54686
1027         * include/c_std/cstdlib (abs(long long)): Define with
1028         __builtin_llabs when we have long long.
1029         (abs(long)): Use __builtin_labs.
1030         (abs(__int128)): Define when we have __int128.
1031         * testsuite/26_numerics/headers/cstdlib/54686.c: New file.
1033 2012-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
1035         PR libstdc++/53248
1036         * include/std/array (__array_traits<>): Add.
1037         (array<>): Allow for zero-size arrays of non default-constructible
1038         elements.
1039         * testsuite/23_containers/array/requirements/
1040         non_default_constructible.cc: New.
1041         * testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
1042         Adjust.
1043         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1044         dg-error line numbers.
1045         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1046         Likewise.
1048 2012-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1050         PR other/53889
1051         * include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
1052         Use __gthread_recursive_mutex_destroy.
1053         (__recursive_mutex_base::_S_destroy): Remove.
1054         (__recursive_mutex_base::_S_destroy_win32): Likewise.
1055         * include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
1056         Use __gthread_recursive_mutex_destroy.
1057         (__recursive_mutex::_S_destroy): Remove.
1058         (__recursive_mutex::_S_destroy_win32): Likewise.
1060 2012-10-01  Benjamin Kosnik  <bkoz@redhat.com>
1062         * config/abi/pre/gnu-versioned-namespace.ver: Add more
1063         typeinfo/vtable exports.
1065 2012-10-01  Paolo Carlini  <paolo.carlini@oracle.com>
1067         PR libstdc++/54757
1068         * include/ext/random (rice_distribution<>::operator()): Use std::hypot
1069         only if _GLIBCXX_USE_C99_MATH_TR1.
1070         * include/ext/random.tcc (rice_distribution<>::__generate_impl):
1071         Likewise.
1073 2012-10-01  Daniel Krugler  <daniel.kruegler@gmail.com>
1075         * include/std/type_traits (result_of): Provide "SFINAE-friendly"
1076         (see N3436) implementation.
1077         * testsuite/20_util/result_of/sfinae_friendly_1.cc: New.
1078         * testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
1079         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Tweak
1080         dg-error line numbers.
1081         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1082         Likewise.
1083         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1085 2012-09-30  Benjamin Kosnik  <bkoz@redhat.com>
1087         * doc/doxygen/user.cfg.in: Update to doxygen 1.8.2.
1089 2012-09-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
1091         * include/ext/ropeimpl.h (__uninitialized_fill_n_a): Fix using
1092         declaration.
1093         * testsuite/ext/rope/5.cc: New.
1095 2012-09-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
1097         PR libstdc++/54577
1098         * doc/xml/manual/status_cxx2011.xml: N2350 changes are missing from
1099         sequence containers.
1100         * doc/html/*: Regenerate.
1102 2012-09-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1104         PR libstdc++/34106
1105         * include/parallel/compatibility.h: Remove non-GCC code.
1107 2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1109         * fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
1110         * libsupc++/Makefile.am (LTCXXCOMPILE): Add EXTRA_CXX_FLAGS here.
1111         * src/Makefile.am: Same.
1112         * src/c++98/Makefile.am: Same.
1113         * src/c++11/Makefile.am: Same.
1114         * Makefile.in: Regenerated.
1115         * src/Makefile.am: Same.
1116         * src/c++11/Makefile.in: Same.
1117         * src/c++98/Makefile.in: Same.
1118         * include/Makefile.in: Same.
1119         * po/Makefile.in: Same.
1120         * python/Makefile.in: Same.
1121         * testsuite/Makefile.in: Same.
1123 2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1125         * src/c++98/Makefile.am: Fixup PARALLEL_FLAGS.
1127 2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1129         * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
1130         * include/Makefile.am: Same.
1131         * src/c++98/Makefile.am: Same.
1132         * src/Makefile.am: Same.
1133         * Makefile.in: Regenerated.
1134         * aclocal.m4: Same.
1135         * configure: Same.
1136         * doc/Makefile.in: Same.
1137         * include/Makefile.in: Same.
1138         * libsupc++/Makefile.in: Same.
1139         * po/Makefile.in: Same.
1140         * python/Makefile.in: Same.
1141         * src/Makefile.in: Same.
1142         * testsuite/Makefile.in: Same.
1143         * src/c++11/Makefile.in: Same.
1144         * src/c++98/Makefile.in: Same.
1146         * src/c++98/compatibility-debug_list-2.cc: Update comments.
1147         * src/c++98/compatibility-debug_list.cc: Same.
1148         * src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc
1149         * src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc
1150         * src/c++98/compatibility-parallel_list-2.cc: Renamed to
1151         src/c++98/list_associated-2.cc.
1152         * src/c++98/compatibility-parallel_list.cc: Renamed to
1153         src/c++98/list_associated.cc.
1155 2012-09-27  Paolo Carlini  <paolo.carlini@oracle.com>
1157         PR libstdc++/54727
1158         * config/cpu/i486/opt/bits/opt_random.h: Avoid UINT64_C.
1160 2012-09-26  Paolo Carlini  <paolo.carlini@oracle.com>
1162         * include/ext/random: Add include checks for c++11 and <cstdint>.
1164 2012-09-26  Benjamin Kosnik  <bkoz@redhat.com>
1166        PR libstdc++/54314
1167        * config/abi/pre/gnu.ver: Add vtable exports.
1168        * config/abi/pre/gnu-versioned-namespace.ver: Same.
1170 2012-09-26  Akira Takahashi  <faithandbrave@gmail.com>
1172         PR libstdc++/53515
1173         * include/bits/stl_iterator_base_funcs.h (__advance(_InputIterator&,
1174         _Distance, input_iterator_tag)): Add _GLIBCXX_DEBUG_ASSERT(__n >= 0).
1176 2012-09-26  Ulrich Drepper  <drepper@gmail.com>
1178         Optimize bulk mode for normal_distribution<double> for SSE3.
1179         * configure.host: Define cpu_opt_bits_random.
1180         * configure.ac: Substitute CPU_OPT_BITS_RANDOM.
1181         * include/Makefile.am (bits_headers): Add ${bits_host_headers}.
1182         (bits_host_headers): Define.
1183         * include/bits/random.tcc: Move __details::_Power_of_2 to...
1184         * include/bits/random.h: ...here.
1185         * include/std/random: Include <bits/opt_random.h>.
1186         * config/cpu/i486/opt/bits/opt_random.h: New file.
1187         * config/cpu/generic/opt/bits/opt_random.h: New file.
1188         * configure: Regenerated.
1189         * Makefile.in: Regenerated.
1190         * aclocal.m4: Regenerated.
1191         * doc/Makefile.in: Regenerated.
1192         * include/Makefile.in: Regenerated.
1193         * libsupc++/Makefile.in: Regenerated.
1194         * po/Makefile.in: Regenerated.
1195         * python/Makefile.in: Regenerated.
1196         * src/Makefile.in: Regenerated.
1197         * src/c++11/Makefile.in: Regenerated.
1198         * src/c++98/Makefile.in: Regenerated.
1199         * testsuite/Makefile.in: Regenerated.
1201         * config/cpu/generic/opt/ext/opt_random.h: Fix comment.
1203 2012-09-25  Paolo Carlini  <paolo.carlini@oracle.com>
1205         * doc/xml/manual/status_cxx2011.xml: Update vs PR 44436.
1207 2012-09-24  Edward Smith-Rowland  <3dw4rd@verizon.net>
1209         * include/ext/random: Add __gnu_cxx::k_distribution<> class.
1210         * include/ext/random.tcc: Add out-of-line functions for
1211         __gnu_cxx::k_distribution<>.
1212         * testsuite/ext/random/k_distribution/operators/equal.cc: New file.
1213         * testsuite/ext/random/k_distribution/operators/serialize.cc: New file.
1214         * testsuite/ext/random/k_distribution/operators/inequal.cc: New file.
1215         * testsuite/ext/random/k_distribution/cons/parms.cc: New file.
1216         * testsuite/ext/random/k_distribution/cons/default.cc: New file.
1217         * testsuite/ext/random/k_distribution/requirements/typedefs.cc:
1218         New file.
1219         * testsuite/ext/random/k_distribution/requirements/
1220         explicit_instantiation/1.cc: New file.
1222 2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
1224         PR libstdc++/44436
1225         * include/bits/stl_tree.h
1226         (_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
1227         _Const_Base_ptr.
1228         (_Rb_tree<>::_M_insert_node): New.
1229         (_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
1230         _M_insert_unique method.
1231         (_Rb_tree<>::_M_insert_unique): Use latter.
1232         (_Rb_tree<>::_M_emplace_unique): New, likewise.
1233         (_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
1234         _M_insert_equal method.
1235         (_Rb_tree<>::_M_insert_equal): Use latter.
1236         (_Rb_tree<>::_M_emplace_equal): New, likewise.
1237         (_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
1238         _M_insert_unique_ method.
1239         (_Rb_tree<>::_M_insert_unique_): Use latter.
1240         (_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
1241         (_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
1242         _M_insert_equal_ method.
1243         (_Rb_tree<>::_M_insert_equal_): Use latter.
1244         (_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
1245         (_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
1246         useless as always null.
1247         * include/bits/stl_map.h: Include <tuple> in C++11.
1248         (map<>::operator[](const key_type&)): Use
1249         _Rb_tree<>::_M_emplace_hint_unique in C++11.
1250         (map<>::operator[](key_type&&)): Likewise.
1251         (map<>::emplace): New.
1252         (map<>::emplace_hint): New.
1253         * include/bits/stl_multimap.h (multimap<>::emplace): New.
1254         (multimap<>::emplace_hint): New.
1255         * include/bits/stl_set.h (set<>::emplace): New.
1256         (set<>::emplace_hint): New.
1257         * include/bits/stl_multiset.h (multiset<>::emplace): New.
1258         (multiset<>::emplace_hint): New.
1259         * include/debug/map.h (std::__debug::map<>::emplace): New.
1260         (std::__debug::map<>::emplace_hint): New.
1261         * include/debug/multimap.h (std::__debug::multimap<>::emplace):
1262         New.
1263         (std::__debug::multimap<>::emplace_hint): New.
1264         * include/debug/set.h (std::__debug::set<>::emplace): New.
1265         (std::__debug::set<>::emplace_hint): New.
1266         * include/debug/multiset.h (std::__debug::multiset<>::emplace):
1267         New.
1268         (std::__debug::multiset<>::emplace_hint): New.
1269         * include/profile/map.h (std::__profile::map<>::emplace): New.
1270         (std::__profile::map<>::emplace_hint): New.
1271         * include/profile/multimap.h (std::__profile::multimap<>::emplace):
1272         New.
1273         (std::__profile::multimap<>::emplace_hint): New.
1274         * include/profile/set.h (std::__profile::set<>::emplace): New.
1275         (std::__profile::set<>::emplace_hint): New.
1276         * include/profile/multiset.h (std::__profile::multiset<>::emplace):
1277         New.
1278         (std::__profile::multiset<>::emplace_hint): New.
1279         * testsuite/util/testsuite_container_traits.h: Signal that emplace
1280         and emplace_hint are available on std::map, std::multimap,
1281         std::set and std::multiset in C++11.
1282         * testsuite/23_containers/map/operators/2.cc: New.
1283         * testsuite/23_containers/map/modifiers/emplace/1.cc: New.
1284         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
1285         * testsuite/23_containers/set/modifiers/emplace/1.cc: New.
1286         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.
1288 2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
1290         * testsuite/performance/23_containers/insert_erase/41975.cc: Use
1291         __uset_hashtable rather than removed __unordered_set.
1293 2012-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1295         Revert:
1296         2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
1298         * include/bits/stl_algobase.h (max, min): Use conditional operator.
1300 2012-09-23  Uros Bizjak  <ubizjak@gmail.com>
1302         PR libstdc++/54675
1303         * include/ext/random: Avoid the badname __alpha (and, for
1304         consistency, __mu, __nu, __sigma and __omega too).
1305         * include/bits/random.tcc: Likewise.
1307 2012-09-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
1309         * include/ext/random: Add __gnu_cxx::pareto_distribution<> class.
1310         * include/ext/random.tcc: Add out-of-line functions for
1311         __gnu_cxx::pareto_distribution<>.
1312         * testsuite/ext/random/pareto_distribution/operators/equal.cc: New file.
1313         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
1314         New file.
1315         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
1316         New file.
1317         * testsuite/ext/random/pareto_distribution/cons/parms.cc: New file.
1318         * testsuite/ext/random/pareto_distribution/cons/default.cc: New file.
1319         * testsuite/ext/random/pareto_distribution/requirements/typedefs.cc:
1320         New file.
1321         * testsuite/ext/random/pareto_distribution/requirements/
1322         explicit_instantiation/1.cc: New file.
1324 2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
1326         * include/bits/stl_algobase.h (max, min): Use conditional operator.
1328 2012-09-18  Benjamin Kosnik  <bkoz@redhat.com>
1330         PR libstdc++/28811
1331         PR libstdc++/54482
1332         * configure.ac (glibcxx_lt_pic_flag,
1333         glibcxx_compiler_pic_flag,
1334         glibcxx_compiler_shared_flag): New. Use them.
1335         (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
1336         (pic_mode): Set to default.
1337         (PIC_CXXFLAGS): Remove.
1338         * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
1339         * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
1340         glibcxx_compiler_shared_flag. Comment.
1341         * src/c++11/Makefile.am: Same.
1342         * src/c++98/Makefile.am: Same.
1343         * src/Makefile.am: Use glibcxx_compiler_pic_flag.
1345         * Makefile.in: Regenerated.
1346         * aclocal.m4: Same.
1347         * configure: Same.
1348         * doc/Makefile.in: Same.
1349         * include/Makefile.in: Same.
1350         * libsupc++/Makefile.in: Same.
1351         * po/Makefile.in: Same.
1352         * python/Makefile.in: Same.
1353         * src/Makefile.in: Same.
1354         * src/c++11/Makefile.in: Same.
1355         * src/c++98/Makefile.in: Same.
1356         * testsuite/Makefile.in: Same.
1358         * src/c++11/compatibility-atomic-c++0x.cc: Use
1359         _GLIBCXX_SHARED instead of PIC to designate shared-only
1360         code blocks.
1361         * src/c++11/compatibility-c++0x.cc: Same.
1362         * src/c++11/compatibility-thread-c++0x.cc: Same.
1363         * src/c++98/compatibility-list-2.cc: Same.
1364         * src/c++98/compatibility.cc: : Same.
1366         * testsuite/17_intro/shared_with_static_deps.cc: New.
1368         * doc/xml/manual/build_hacking.xml: Separate configure from
1369         make/build issues, add build details.
1371 2012-09-18  Edward Smith-Rowland  <3dw4rd@verizon.net>
1373         * include/ext/random: Add __gnu_cxx::nakagami_distribution<> class.
1374         * include/ext/random.tcc: Add out-of-line functions for
1375         __gnu_cxx::nakagami_distribution<>.
1376         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
1377         New file.
1378         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
1379         New file.
1380         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
1381         New file.
1382         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: New file.
1383         * testsuite/ext/random/nakagami_distribution/cons/default.cc: New file.
1384         * testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc:
1385         New file.
1386         * testsuite/ext/random/nakagami_distribution/requirements/
1387         explicit_instantiation/1.cc: New file.
1389 2012-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
1391         PR libstdc++/54612
1392         * include/ext/random.tcc (operator==
1393         (const __gnu_cxx::simd_fast_mersenne_twister_engine<>&,
1394         const __gnu_cxx::simd_fast_mersenne_twister_engine<>&)): Fix
1395         state_size use.
1396         * config/cpu/i486/opt/ext/opt_random.h: Guard with __SSE2__.
1398 2012-09-17  Ulrich Drepper  <drepper@gmail.com>
1400         * configure.ac: Substitute CPU_OPT_EXT_RANDOM.
1401         * configure.host: Define cpu_opt_ext_random to location of the
1402         optimized version of <ext/random>.
1403         * include/Makefile.am (ext_headers): Add ${ext_host_headers}.
1404         (ext_host_headers): Define.
1405         * include/ext/random (simd_fast_mersenne_twister_engine<>
1406         ::operator==): Don't define function here.
1407         * include/ext/random.tcc (simd_fast_mersenne_twister_engine): Don't
1408         define code using SSE2 here.  Define generic code only if
1409         _GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ is not defined.
1410         (simd_fast_mersenne_twister_engine<>
1411         ::operator==): Define here if
1412         _GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL is not defined.
1413         * config/cpu/generic/opt/ext/opt_random.h: New file.
1414         * config/cpu/i486/opt/ext/opt_random.h: New file.
1415         * libsupc++/Makefile.in: Regenerated.
1416         * testsuite/Makefile.in: Regenerated.
1417         * po/Makefile.in: Regenerated.
1418         * configure: Regenerated.
1419         * Makefile.in: Regenerated.
1420         * doc/Makefile.in: Regenerated.
1421         * aclocal.m4: Regenerated.
1422         * python/Makefile.in: Regenerated.
1423         * include/Makefile.in: Regenerated.
1424         * src/c++98/Makefile.in: Regenerated.
1425         * src/c++11/Makefile.in: Regenerated.
1426         * src/Makefile.in: Regenerated.
1428 2012-09-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
1430         * include/ext/random.tcc (__gnu_cxx::rice_distribution<>
1431         ::__generate_impl): Remove bogus _Adaptor usage.
1433 2012-09-16  Paolo Carlini  <paolo.carlini@oracle.com>
1435         * include/ext/random (rice_distribution<>::operator==): Change
1436         inline friend definition to non-template.
1437         * testsuite/ext/random/rice_distribution/requirements/
1438         explicit_instantiation/1.cc: New.
1440         * testsuite/26_numerics/random/normal_mv_distribution: Move...
1441         * testsuite/ext/random/normal_mv_distribution: ... here.
1442         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
1443         Move...
1444         * testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
1445         * testsuite/26_numerics/random/beta_distribution: Move...
1446         * testsuite/ext/random/beta_distribution: ... here.
1447         * testsuite/26_numerics/random/rice_distribution: Move...
1448         * testsuite/ext/random/rice_distribution: ... here.
1450 2012-09-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
1452         * include/ext/random: Add __gnu_cxx::rice_distribution<> class.
1453         * include/ext/random.tcc: Add out-of-line functions for
1454         __gnu_cxx::rice_distribution<>.
1455         * testsuite/26_numerics/random/rice_distribution/
1456         operators/equal.cc: New file.
1457         * testsuite/26_numerics/random/rice_distribution/
1458         operators/serialize.cc: New file.
1459         * testsuite/26_numerics/random/rice_distribution/
1460         operators/inequal.cc: New file.
1461         * testsuite/26_numerics/random/rice_distribution/
1462         cons/parms.cc: New file.
1463         * testsuite/26_numerics/random/rice_distribution/
1464         cons/default.cc: New file.
1465         * testsuite/26_numerics/random/rice_distribution/
1466         requirements/typedefs.cc: New file.
1468 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
1470         * configure: Regenerated.
1472 2012-09-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1473             H.J. Lu  <hongjiu.lu@intel.com>
1475         PR libstdc++/54576
1476         * src/c++11/random.cc: Check if _GLIBCXX_USE_C99_STDINT_TR1 is defined.
1478 2012-09-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1480         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
1481         * configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
1482         * fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
1483         * configure: Regenerate.
1484         * Makefile.in: Regenerate.
1485         * doc/Makefile.in: Regenerate.
1486         * include/Makefile.in: Regenerate.
1487         * libsupc++/Makefile.in: Regenerate.
1488         * po/Makefile.in: Regenerate.
1489         * python/Makefile.in: Regenerate.
1490         * src/Makefile.in: Regenerate.
1491         * src/c++11/Makefile.in: Regenerate.
1492         * src/c++98/Makefile.in: Regenerate.
1493         * testsuite/Makefile.in: Regenerate.
1495 2012-09-11  Jakub Jelinek  <jakub@redhat.com>
1497         PR libstdc++/54172
1498         * libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
1499         argument of the first __atomic_compare_exchange_n.
1501 2012-09-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1502             Jonathan Wakely  <jwakely.gcc@gmail.com>
1504         PR libstdc++/43852
1505         * acinclude.m4 (GLIBCXX_ENABLE_VERBOSE): Define.
1506         * configure.ac (GLIBCXX_ENABLE_VERBOSE): Use it.
1507         * config.h.in: Regenerate.
1508         * configure: Likewise.
1509         * libsupc++/eh_term_handler.cc (_GLIBCXX_VERBOSE): Check new macro.
1510         * libsupc++/pure.cc (_GLIBCXX_VERBOSE): Likewise.
1511         * doc/xml/manual/configure.xml (--disable-libstdcxx-verbose): Document.
1512         * doc/html/manual/configure.html: Regenerate.
1514 2012-09-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1516         PR bootstrap/54419
1517         * acinclude.m4 (GLIBCXX_CHECK_X86_RDRAND): Remove stray character.
1518         * configure: Regenerated.
1520 2012-09-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1522         PR libstdc++/54388
1523         * include/std/array (array::at() const): Ensure lvalue result.
1524         * testsuite/23_containers/array/element_access/54388.cc: New.
1525         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1526         dg-error line numbers.
1527         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1528         Likewise.
1530 2012-09-09  Ulrich Drepper  <drepper@gmail.com>
1531             Dominique d'Humieres  <dominiq@lps.ens.fr>
1532             Jack Howarth  <howarth@bromo.med.uc.edu>
1534         PR bootstrap/54419
1535         * acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND.
1536         * configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand
1537         support in assembler.
1538         * src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND.
1539         (random_device::_M_init): Likewise.
1540         (random_device::_M_getval): Likewise.
1541         * configure: Regenerated.
1542         * config.h.in: Regenerated.
1544 2012-09-09  Ulrich Drepper  <drepper@gmail.com>
1546         * src/c++11/random.cc (random_device::_M_init): Use new macro
1547         signature_INTEL_ebx to check for Intel processors.
1549 2012-09-06  Thiago Macieira  <thiago.macieira@intel.com>
1551         PR libstdc++/54172
1552         * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
1553         we detect that another thread has had success. Don't compare_exchange
1554         from a finished state back to a waiting state. Comment.
1556 2012-09-05  François Dumont  <fdumont@gcc.gnu.org>
1558         PR libstdc++/54296
1559         * include/bits/hashtable.h (_M_erase(size_type, __node_base*,
1560         __node_type*)): New.
1561         (erase(const_iterator)): Use latter.
1562         (_M_erase(std::true_type, const key_type&)): New, likewise.
1563         (_M_erase(std::false_type, const key_type&)): New. Find all nodes
1564         matching the key before deallocating them so that the key doesn't
1565         get invalidated.
1566         (erase(const key_type&)): Use the new member functions.
1567         * testsuite/23_containers/unordered_map/erase/54296.cc: New.
1568         * testsuite/23_containers/unordered_multimap/erase/54296.cc: New.
1570 2012-09-05  Ulrich Drepper  <drepper@gmail.com>
1572         * src/c++11/random.cc (random_device::_M_init): Check whether cpuid
1573         instruction is available by using __get_cpuid_max.
1575         * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
1576         (operator()): Use __generate() function of _M_nd.
1578         * include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
1579         * include/ext/random.tccAdd out-of-line functions for
1580         __gnu_cxx::normal_mv_distribution<>.
1581         * testsuite/26_numerics/random/normal_mv_distribution/
1582         operators/equal.cc: New file.
1583         * testsuite/26_numerics/random/normal_mv_distribution/
1584         operators/serialize.cc: New file.
1585         * testsuite/26_numerics/random/normal_mv_distribution/
1586         operators/inequal.cc: New file.
1587         * testsuite/26_numerics/random/normal_mv_distribution/
1588         cons/default.cc: New file.
1589         * testsuite/26_numerics/random/normal_mv_distribution/
1590         cons/parms.cc: New file.
1591         * testsuite/26_numerics/random/normal_mv_distribution/
1592         requirements/explicit_instantiation/1.cc: New file.
1593         * testsuite/26_numerics/random/normal_mv_distribution/
1594         requirements/typedefs.cc: New file.
1596 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
1598         * include/ext/random: Add __gnu_cxx::beta_distribution<> class.
1599         * include/ext/random.tcc: Add out-of-line functions for
1600         __gnu_cxx::beta_distribution<>.
1601         * testsuite/26_numerics/random/beta_distribution/
1602         operators/equal.cc: New file.
1603         * testsuite/26_numerics/random/beta_distribution/
1604         operators/serialize.cc: New file.
1605         * testsuite/26_numerics/random/beta_distribution/
1606         operators/inequal.cc: New file.
1607         * testsuite/26_numerics/random/beta_distribution/
1608         cons/parms.cc: New file.
1609         * testsuite/26_numerics/random/beta_distribution/
1610         cons/default.cc: New file.
1611         * testsuite/26_numerics/random/beta_distribution/
1612         requirements/typedefs.cc: New file.
1613         * testsuite/26_numerics/random/beta_distribution/
1614         requirements/explicit_instantiation/1.cc: New file.
1616 2012-09-04  Steven Bosscher  <steven@gcc.gnu.org>
1618         PR bootstrap/54453
1619         * include/Makefile.am: Fix regex.
1620         * include/Makefile.in: Regenerate.
1622 2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>
1624         PR libstdc++/54005 continued
1625         * include/std/atomic: Use __atomic_lock_free with NULL.
1626         * include/bits/atomic_base.h: Same.
1628 2012-08-30  Ulrich Drepper  <drepper@gmail.com>
1630         * include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
1631         Remove 'return' from constructor.
1633 2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>
1635         * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
1637 2012-08-29  Ulrich Drepper  <drepper@gmail.com>
1639         * include/bits/random.h (random_device): Move implementation to...
1640         * src/c++11/random.cc: ...here.  New file.
1641         * config/abi/pre/gnu.ver: Add new version GLIBCXX_3.4.18.  Export
1642         std::random_device::* symbols.
1643         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Generated.
1644         * src/c++11/Makefile.am (sources): Add random.cc.
1645         * src/c++11/Makefile.in: Regenerated.
1647         Add simd_fast_mersenne_twister_engine class.
1648         * include/ext/random: New file.
1649         * include/ext/random.tcc: New file.
1650         * include/Makefile.am (ext_headers): Add random and random.tcc.
1651         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1652         operators/inequal.cc: New file.
1653         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1654         operators/equal.cc: New file.
1655         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1656         operators/serialize.cc: New file.
1657         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1658         cons/seed2.cc: New file.
1659         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1660         cons/default.cc: New file.
1661         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1662         cons/seed_seq.cc: New file.
1663         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1664         cons/copy.cc: New file.
1665         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1666         cons/seed1.cc: New file.
1668 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
1670         PR libstdc++/54102, part 2
1671         * doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
1672         * doc/Makefile.in: Regenerate.
1673         * doc/html/*: Same.
1675 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
1677         * doc/html/*: Regenerate.
1679 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
1681         PR libstdc++/54102
1682         * doc/xsl/customization.xsl.in: New.
1683         * configure.ac: Output local copy of customization xsl.
1684         * doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
1685         (stamp-html-docbook): Set stringparam to UTF-8.
1686         * Makefile.in: Regenerated.
1687         * configure: Same.
1688         * doc/Makefile.in: Same.
1690 2012-08-27  Ulrich Drepper  <drepper@gmail.com>
1692         Add interfaces to retrieve random numbers in bulk.
1693         * include/bits/random.h (uniform_int_distribution<>): Add __generate
1694         and __generate_impl functions.
1695         (uniform_real_distribution<>): Likewise.
1696         (bernoulli_distribution): Likewise.
1697         (geometric_distribution<>): Likewise.
1698         (negative_binomial_distribution<>): Likewise.
1699         (poisson_distribution<>): Likewise.
1700         (exponential_distribution<>): Likewise.
1701         (normal_distribution<>): Likewise.
1702         (lognormal_distribution<>): Likewise.
1703         (chi_squared_distribution<>): Likewise.
1704         (cauchy_distribution<>): Likewise.
1705         (fisher_f_distribution<>): Likewise.
1706         (student_t_distribution<>): Likewise.
1707         (gamma_distribution<>): Likewise.
1708         (weibull_distribution<>): Likewise.
1709         (extreme_value_distribution<>): Likewise.
1710         (discrete_distribution<>): Likewise.
1711         (piecewise_constant_distribution<>): Likewise.
1712         (piecewise_linear_distribution<>): Likewise.
1713         * include/bits/random.tcc (__detail::_Power_of_2): New function.
1714         (uniform_int_distribution<>::__generate_impl): New function.
1715         (uniform_real_distribution<>::__generate_impl): New function.
1716         (bernoulli_distribution::__generate_impl): New function.
1717         (geometric_distribution<>::__generate_impl): New function.
1718         (negative_binomial_distribution<>::__generate_impl): New function.
1719         (poisson_distribution<>::__generate_impl): New function.
1720         (exponential_distribution<>::__generate_impl): New function.
1721         (normal_distribution<>::__generate_impl): New function.
1722         (lognormal_distribution<>::__generate_impl): New function.
1723         (chi_squared_distribution<>::__generate_impl): New function.
1724         (cauchy_distribution<>::__generate_impl): New function.
1725         (fisher_f_distribution<>::__generate_impl): New function.
1726         (student_t_distribution<>::__generate_impl): New function.
1727         (gamma_distribution<>::__generate_impl): New function.
1728         (weibull_distribution<>::__generate_impl): New function.
1729         (extreme_value_distribution<>::__generate_impl): New function.
1730         (discrete_distribution<>::__generate_impl): New function.
1731         (piecewise_constant_distribution<>::__generate_impl): New function.
1732         (piecewise_linear_distribution<>::__generate_impl): New function.
1734 2012-08-22  Ulrich Drepper  <drepper@gmail.com>
1736         * include/bits/random.h (mersenne_twister_engine): Don't inline
1737         discard here.  New member function _M_gen_rand.
1738         * include/bits/random.tcc (mersenne_twister_engine<>::_M_gen_rand):
1739         New function.  Extracted from operator().
1740         (mersenne_twister_engine<>::discard): New implementation which
1741         skips in large steps.
1742         (mersenne_twister_engine<>::operator()): Use _M_gen_rand.
1744 2012-08-26  Marc Glisse  <marc.glisse@inria.fr>
1745             Paolo Carlini  <paolo.carlini@oracle.com>
1747         PR libstdc++/54376
1748         * include/bits/random.h (lognormal_distribution<>::operator==,
1749         gamma_distribution<>::operator==,
1750         chi_squared_distribution<>::operator==,
1751         fisher_f_distribution<>::operator==,
1752         student_t_distribution<>::operator==,
1753         binomial_distribution<>::operator==,
1754         negative_binomial_distribution<>::operator==,
1755         poisson_distribution<>::operator==): Change inline friend definition
1756         to non-template.
1757         * testsuite/26_numerics/random/binomial_distribution/requirements/
1758         explicit_instantiation/1.cc: New.
1759         * testsuite/26_numerics/random/cauchy_distribution/requirements/
1760         explicit_instantiation/1.cc: Likewise.
1761         * testsuite/26_numerics/random/chi_squared_distribution/
1762         requirements/explicit_instantiation/1.cc: Likewise.
1763         * testsuite/26_numerics/random/discrete_distribution/requirements/
1764         explicit_instantiation/1.cc: Likewise.
1765         * testsuite/26_numerics/random/exponential_distribution/
1766         requirements/explicit_instantiation/1.cc: Likewise.
1767         * testsuite/26_numerics/random/extreme_value_distribution/
1768         requirements/explicit_instantiation/1.cc: Likewise.
1769         * testsuite/26_numerics/random/fisher_f_distribution/requirements/
1770         explicit_instantiation/1.cc: Likewise.
1771         * testsuite/26_numerics/random/gamma_distribution/requirements/
1772         explicit_instantiation/1.cc: Likewise.
1773         * testsuite/26_numerics/random/geometric_distribution/requirements/
1774         explicit_instantiation/1.cc: Likewise.
1775         * testsuite/26_numerics/random/lognormal_distribution/requirements/
1776         explicit_instantiation/1.cc: Likewise.
1777         * testsuite/26_numerics/random/negative_binomial_distribution/
1778         requirements/explicit_instantiation/1.cc: Likewise.
1779         * testsuite/26_numerics/random/normal_distribution/requirements/
1780         explicit_instantiation/1.cc: Likewise.
1781         * testsuite/26_numerics/random/piecewise_constant_distribution/
1782         requirements/explicit_instantiation/1.cc: Likewise.
1783         * testsuite/26_numerics/random/piecewise_linear_distribution/
1784         requirements/explicit_instantiation/1.cc: Likewise.
1785         * testsuite/26_numerics/random/poisson_distribution/requirements/
1786         explicit_instantiation/1.cc: Likewise.
1787         * testsuite/26_numerics/random/student_t_distribution/requirements/
1788         explicit_instantiation/1.cc: Likewise.
1789         * testsuite/26_numerics/random/uniform_int_distribution/
1790         requirements/explicit_instantiation/1.cc: Likewise.
1791         * testsuite/26_numerics/random/uniform_real_distribution/
1792         requirements/explicit_instantiation/1.cc: Likewise.
1793         * testsuite/26_numerics/random/weibull_distribution/requirements/
1794         explicit_instantiation/1.cc: Likewise.
1796 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
1798         * testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
1800 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
1802         PR libstdc++/54297
1803         * src/c++11/future.cc (~_Async_state_common): Move to...
1804         * src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
1805         Here.
1806         (_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
1807         * include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.
1809 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
1810             Geoff Romer  <gromer@google.com>
1812         PR libstdc++/54351
1813         * include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
1814         reset().
1815         (unique_ptr<T[]>::~unique_ptr()): Likewise.
1816         * testsuite/20_util/unique_ptr/54351.cc: New.
1817         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1818         line numbers.
1820 2012-08-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
1822         PR libstdc++/54297
1823         * include/std/future (~_Async_state_impl): Join thread before
1824         derived class members are destroyed.
1825         (~_Async_state_common): Only define non-trivial destructor when
1826         included from future.cc for ABI compatibility reasons.
1827         * src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
1828         * testsuite/30_threads/async/54297.cc: New.
1830 2012-08-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
1832         PR libstdc++/54248
1833         * include/bits/concept_check.h: Replace references to boost
1834         namespace.
1836 2012-08-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
1838         PR libstdc++/54354
1839         * doc/xml/manual/status_cxx2011.xml: Note missing manipulators.
1840         * doc/html/*: Regenerate.
1842 2012-08-15  Tom Tromey  <tromey@redhat.com>
1844         * testsuite/libstdc++-prettyprinters/cxx11.cc (struct datum):
1845         New.
1846         (global): New global.
1847         (main): Add test for unique_ptr.
1848         * python/libstdcxx/v6/printers.py
1849         (UniquePointerPrinter.to_string): Extract the pointer and also
1850         print its type.
1852 2012-08-13  David Adler  <d.adler.s@gmail.com>
1854         PR libstdc++/54185
1855         * src/c++11/condition_variable.cc (condition_variable): Always
1856         destroy native type in destructor.
1857         * testsuite/30_threads/condition_variable/54185.cc: New.
1859 2012-08-13  François Dumont  <fdumont@gcc.gnu.org>
1860             Ollie Wild  <aaw@google.com>
1862         * include/bits/hashtable.h
1863         (_Hashtable<>_M_insert_multi_node(hash_code, node_type*)): New.
1864         (_Hashtable<>_M_insert(_Args&&, false_type)): Use latter.
1865         (_Hashtable<>::_M_emplace(false_type, _Args&&...)): Likewise.
1866         (_Hashtable<>::_M_insert_bucket): Replace by ...
1867         (_Hashtable<>::_M_insert_unique_node(size_type, hash_code, node_type*)):
1868         ... this, new.
1869         (_Hashtable<>::_M_insert(_Args&&, true_type)): Use latter.
1870         (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
1871         * include/bits/hashtable_policy.h (_Map_base<>::operator[]): Use
1872         latter, emplace the value_type rather than insert.
1873         * include/std/unordered_map: Include tuple.
1874         * include/std/unordered_set: Likewise.
1875         * testsuite/util/testsuite_counter_type.h: New.
1876         * testsuite/23_containers/unordered_map/operators/2.cc: New.
1878 2012-08-13  Marc Glisse  <marc.glisse@inria.fr>
1880         PR libstdc++/54112
1881         * include/c_compatibility/complex.h: Undefine complex, always
1882         include system's complex.h if present.
1883         * testsuite/26_numerics/complex/c99.cc: New testcase.
1884         * testsuite/17_intro/headers/c++1998/complex.cc: Likewise.
1885         * doc/xml/manual/numerics.xml: Document it.
1887 2012-08-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
1889         PR libstdc++/52681
1890         * src/c++11/thread.cc (thread::_M_start_thread): Improve error text
1891         when threads are not enabled.
1893 2012-08-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1895         * acinclude.m4: Update references to final C++11 standard.
1896         * include/bits/shared_ptr.h: Likewise.
1897         * include/bits/shared_ptr_base.h: Likewise.
1898         * include/bits/unique_ptr.h: Likewise.
1899         * include/std/chrono: Likewise.
1900         * include/std/thread: Likewise.
1902 2012-08-07  Benjamin Kosnik  <bkoz@redhat.com>
1904         PR libstdc++/54005
1905         * include/std/atomic: Use __atomic_always_lock_free.
1906         * include/bits/atomic_base.h: Same.
1908 2012-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
1910         * testsuite/decimal/mixed-mode-cmp_neg.cc: Add test variable; minor
1911         tweaks.
1912         * testsuite/decimal/unary-arith.cc: Likewise.
1913         * testsuite/decimal/ctor.cc: Likewise.
1914         * testsuite/decimal/conversion-to-integral.cc: Likewise.
1915         * testsuite/decimal/make-decimal.cc: Likewise.
1916         * testsuite/decimal/comparison.cc: Likewise.
1917         * testsuite/decimal/incdec-memfunc.cc: Likewise.
1918         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
1919         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
1920         * testsuite/decimal/cast_neg.cc: Likewise.
1921         * testsuite/decimal/incdec.cc: Likewise.
1922         * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
1923         * testsuite/decimal/binary-arith.cc: Likewise.
1924         * testsuite/decimal/conversion-from-float.cc: Likewise.
1925         * testsuite/decimal/conversion-from-integral.cc: Likewise.
1926         * testsuite/decimal/compound-assignment.cc: Likewise.
1928 2012-08-06  Peter Bergner  <bergner@vnet.ibm.com>
1930         PR libstdc++/54036
1931         * include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
1932         a unary operator.
1933         * testsuite/decimal/pr54036-1.cc: New test.
1934         * testsuite/decimal/pr54036-2.cc: Likewise.
1935         * testsuite/decimal/pr54036-3.cc: Likewise.
1937 2012-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
1939         Revert:
1940         2012-08-03  Ollie Wild  <aaw@google.com>
1941                     Richard Smith  <richardsmith@google.com>
1943         * include/bits/stl_map.h (operator[](key_type&&)): Replace
1944         std::make_pair with value_type.
1945         * testsuite/23_containers/map/operators/2.cc: New test.
1947 2012-08-03  François Dumont  <fdumont@gcc.gnu.org>
1949         * include/debug/functions.h (__check_partition_lower_aux): Remove
1950         redundant comparison with pivot value.
1951         (__check_partition_upper_aux): Likewise.
1953 2012-08-03  Ollie Wild  <aaw@google.com>
1954             Richard Smith  <richardsmith@google.com>
1956         * include/bits/stl_map.h (operator[](key_type&&)): Replace
1957         std::make_pair with value_type.
1958         * testsuite/23_containers/map/operators/2.cc: New test.
1960 2012-08-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1962         * include/std/memory: Include auto_ptr.h later.
1963         * include/bits/shared_ptr.h (shared_ptr(auto_ptr<_Up>&&): Remove
1964         definition.
1965         * include/bits/shared_ptr_base.h (__shared_ptr(auto_ptr<_Up>&&):
1966         Likewise.
1967         * include/bits/unique_ptr.h (unique_ptr(auto_ptr<_Up>&&): Likewise.
1968         * include/backward/auto_ptr.h (unique_ptr(auto_ptr<_Up>&&): Define.
1969         (shared_ptr(auto_ptr<_Up>&&, __shared_ptr(auto_ptr<_Up>&&): Likewise.
1970         * include/std/future: Reduce header dependencies.
1971         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
1972         numbers.
1973         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
1974         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
1976 2012-07-30  François Dumont  <fdumont@gcc.gnu.org>
1978         * include/bits/c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix
1979         order of closures.
1980         (_GLIBCXX_END_NAMESPACE_ALGO): Likewise.
1982 2012-07-29  François Dumont  <fdumont@gcc.gnu.org>
1984         PR libstdc++/54075
1985         * include/bits/hashtable_policy.h
1986         (_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
1987         to boost growth in the number of buckets.
1988         * testsuite/performance/23_containers/insert/unordered_set.cc: New.
1990 2012-07-25  François Dumont  <fdumont@gcc.gnu.org>
1992         PR libstdc++/54075
1993         * include/bits/hashtable.h
1994         (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
1995         size_type, ...): Remove std::max usage to guarantee that hashtable
1996         state is consistent with hash policy state.
1997         (_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
1998         the hashtable shrinking on next insertion.
1999         * testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
2000         * testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
2001         * testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
2002         * testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
2004 2012-07-20  Chip Salzenberg  <chip@pobox.com>
2005             Jonathan Wakely  <jwakely.gcc@gmail.com>
2007         PR libstdc++/54025
2008         * include/std/chrono (duration<>::duration): Fix per C++11.
2009         * testsuite/20_util/duration/cons/54025.cc: New.
2010         * testsuite/20_util/duration/cons/constexpr.cc: Adjust.
2012 2012-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
2014         * testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
2016 2012-07-19  Tristan Gingold  <gingold@adacore.com>
2017             Richard Henderson  <rth@redhat.com>
2019         * libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
2020         Adjust for SEH.
2021         * config/abi/pre/gnu.ver: Add __gxx_personality_seh0.
2023 2012-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
2025         PR c++/51213
2026         * testsuite/20_util/pair/noncopyable.cc: New.
2028 2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2030         PR libstdc++/53270
2031         * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
2032         NSDMI in C++98 mode too.
2033         * include/ext/rope: Add system_header pragma.
2034         (_Refcount_Base, _Rope_RopeRep): Use NSDMI.
2035         (_Rope_RopeRep::~_Rope_RopeRep): Destroy mutex.
2037 2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2039         PR libstdc++/53978
2040         * include/bits/alloc_traits.h (allocator_traits): Define static
2041         constants.
2042         * include/bits/ptr_traits.h (pointer_traits): Likewise.
2043         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2044         Likewise.
2046 2012-07-13  Paolo Carlini  <paolo.carlini@oracle.com>
2048         PR libstdc++/53657
2049         * include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
2050         per C++11.
2051         * include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
2052         (const_iterator, _Pair&&)): Constrain with std::is_constructible,
2053         per LWG2005.
2054         * include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
2055         multimap<>::insert(const_iterator, _Pair&&)): Likewise.
2056         * include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
2057         _Insert<>::insert(const_iterator, _Pair&&)): Likewise.
2058         * include/debug/unordered_map: Adjust.
2059         * include/debug/map.h: Likewise.
2060         * include/debug/multimap.h: Likewise.
2061         * include/profile/unordered_map: Likewise.
2062         * include/profile/map.h: Likewise.
2063         * include/profile/multimap.h: Likewise.
2065 2012-07-06  Paolo Carlini  <paolo.carlini@oracle.com>
2067         PR libstdc++/53872
2068         * include/std/thread (thread::_M_make_routine): Qualify make_shared
2069         to prevent ADL.
2070         * testsuite/30_threads/thread/adl.cc: New.
2072 2012-07-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
2074         * include/std/condition_variable: Update copyright years.
2076 2012-07-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2078         PR libstdc++/53830
2079         * include/std/condition_variable (condition_variable_any::wait):
2080         Move _Unlock type to class scope.
2081         (condition_variable_any::wait_until): Reuse it.
2082         * testsuite/30_threads/condition_variable_any/53830.cc: New.
2084 2012-07-04  Matthias Klose  <doko@ubuntu.com>
2086         * testsuite/28_regex/headers/04_header: Remove empty directory.
2087         * testsuite/28_regex/algorithms/02_match: Likewise.
2089 2012-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
2091         PR libstdc++/53840
2092         * include/std/ratio (ratio_multiply, ratio_divide, ratio_add,
2093         ratio_subtract): Use template aliases.
2094         * include/std/chrono (duration<>::duration(const duration<>&),
2095         duration_cast): Adjust.
2096         * testsuite/20_util/ratio/operations/53840.cc: New.
2097         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
2098         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2099         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
2100         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
2102 2012-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
2104         Revert:
2105         2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
2107         PR libstdc++/49561
2108         * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
2109         Add in C++0x mode.
2110         (_List_base<>::_List_impl, _List_base<>::_M_get_node,
2111         _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
2112         list<>::size, list<>::swap, list<>::splice): Use it.
2113         (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
2114         * include/bits/list.tcc (list<>::erase): Likewise.
2115         (list<>::merge): Adjust in C++0x mode.
2116         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2117         Adjust dg-error line number.
2118         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2119         Likewise.
2120         * testsuite/23_containers/list/requirements/dr438/
2121         constructor_1_neg.cc: Likewise.
2122         * testsuite/23_containers/list/requirements/dr438/
2123         constructor_2_neg.cc: Likewise.
2125 2012-06-27  Benjamin Kosnik  <bkoz@redhat.com>
2127         * include/bits/c++config: Remove __regex nested namespace.
2128         * include/bits/regex_compiler.h: Change __regex to
2129         __detail. Adjust doxygen markup, add regex-details group.
2130         * include/bits/regex_constants.h: Same.
2131         * include/bits/regex_cursor.h: Same.
2132         * include/bits/regex_error.h: Same.
2133         * include/bits/regex_grep_matcher.h: Same.
2134         * include/bits/regex_grep_matcher.tcc: Same.
2135         * include/bits/regex_nfa.h: Same.
2136         * include/bits/regex_nfa.tcc: Same.
2137         * include/bits/regex.h: Same. Remove static from global constants.
2139         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
2141         * include/bits/locale_classes.tcc: Add use_facet, has_facet to
2142         locales group.
2144 2012-06-25  Edward Smith-Rowland  <3dw4rd@verizon.net>
2146         * include/tr2/bool_set (count, size, num_blocks, empty, max_size):
2147         Add noexcept.
2149 2012-06-25  Edward Smith-Rowland  <3dw4rd@verizon.net>
2151         * include/tr2/dynamic_bitset (count, size, num_blocks, empty, max_size):
2152         Add noexcept.
2154 2012-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2156         * doc/doxygen/user.cfg.in: Change COMPACT_LATEX to NO.
2158 2012-06-24  Benjamin Kosnik  <bkoz@redhat.com>
2160         * testsuite/28_regex/algorithms/02_match: To...
2161         * testsuite/28_regex/algorithms/match: ...this.
2162         * testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
2163         duplicate.
2165 2012-06-18  Jörg Sonnenberger <joerg@britannica.bec.de>
2166             Jonathan Wakely  <jwakely.gcc@gmail.com>
2168         PR libstdc++/53678
2169         * config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
2170         * testsuite/22_locale/ctype_base/53678.cc: New.
2172 2012-06-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
2174         PR libstdc++/53578
2175         * include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
2176         narrowing conversion.
2177         * include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
2179 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2181         PR libstdc++/53270
2182         * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
2183         NSDMI in C++11 mode.
2184         * include/ext/rope (_Refcount_Base): Likewise. Destroy mutex in
2185         destructor when initialized by function.
2187 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2189         PR libstdc++/53648
2190         * include/std/tuple (__empty_not_final): Do not use EBO for tuples.
2191         * testsuite/20_util/tuple/53648.cc: New.
2192         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line
2193         number.
2195 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2197         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
2199 2012-06-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
2201         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
2203 2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>
2205         PR libstdc++/53543
2206         * include/bits/hashtable_policy.h (_Insert::__is_convertible):
2207         Rename to __is_conv to avoid clash with clang built-in.
2209 2012-05-29  François Dumont  <fdumont@gcc.gnu.org>
2211         * include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
2212         (__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
2213         with iterator returning rvalue.
2214         * testsuite/25_algorithms/stable_sort/3.cc: New.
2216 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
2218         PR c++/53503
2219         * testsuite/26_numerics/headers/cmath/53503.cc: New.
2221 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
2223         PR c++/53322
2224         * include/bits/stl_algobase.h (lower_bound)
2225         (lexicographical_compare): Do not declare unused local typedefs
2226         here when Concepts are turned off.
2228 2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
2230         * testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
2231         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
2232         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
2233         * Likewise.
2234         * testsuite/23_containers/unordered_map/observers.cc: Likewise.
2235         * testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
2236         * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
2237         * testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
2238         * testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
2239         * testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
2240         * testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
2241         * testsuite/23_containers/unordered_set/observers.cc: Likewise.
2242         * testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
2243         * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
2244         * testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
2245         * testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
2246         * testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
2247         * Likewise.
2248         * testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
2250 2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
2252         PR c++/53361
2253         * testsuite/23_containers/array/cons/53361.cc: New.
2255 2012-05-17  Paolo Carlini  <paolo.carlini@oracle.com>
2257         PR c++/44516
2258         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
2259         dg-error line number.
2261 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
2263         * configure: Regenerated.
2265 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2267         PR libstdc++/53339
2268         * include/bits/hashtable_policy.h (__detail::_Identity,
2269         __detail::_Select1st): Add.
2270         (_Map_base, _Hashtable_base): Use the latter, adjust parameters.
2271         * include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
2272         * include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
2273         Likewise.
2274         * include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
2275         Likewise.
2276         * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
2277         Unconditionally derive from unary_function.
2278         * include/ext/functional (identity, select1st, select2nd): Remove
2279         #ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
2280         * testsuite/23_containers/unordered_map/requirements/53339.cc: New.
2281         * testsuite/23_containers/unordered_multimap/requirements/
2282         53339.cc: Likewise.
2284 2012-05-11  François Dumont  <fdumont@gcc.gnu.org>
2286         PR libstdc++/53263
2287         * include/debug/safe_iterator.h (__gnu_debug::__base): Move...
2288         * include/debug/functions.h: ... Here.
2289         (__check_sorted_aux): Add overload for random access safe
2290         iterators.
2291         (__check_partition_lower_aux): New.
2292         (__check_partition_lower): Use latter.
2293         (__check_partition_upper_aux): New.
2294         (__check_partition_upper): Use latter.
2295         * include/debug/macros.h (__glibcxx_check_heap)
2296         (__glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.
2298 2012-05-10  DJ Delorie  <dj@redhat.com>
2300         * include/bits/random.tcc (seed_seq::generate): Cast max()
2301         operands to size_t to ensure a template match.
2302         * include/std/bitset (_M_copy_from_ptr): Cast min() operands to
2303         size_t to ensure a template match.
2305 2012-05-03  Benjamin Kosnik  <bkoz@redhat.com>
2307         * scripts/testsuite_flags.in (cxxflags): Remove
2308         -ftrack-macro-expansion=0.
2310 2012-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
2312         * doc/xml/faq.xml: Update outdated allocator documentation.
2313         * doc/xml/manual/allocator.xml: Likewise.
2314         * doc/xml/manual/debug.xml: Likewise.
2315         * doc/xml/manual/evolution.xml: Likewise.
2316         * doc/xml/manual/using.xml: Likewise.
2318 2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>
2320         PR libstdc++/44015
2321         * include/bits/basic_ios.h: Add tparam markup for
2322         * doxygen.  include/bits/basic_string.h: Same.
2323         * include/bits/forward_list.h: Same.
2324         * include/bits/stl_bvector.h: Same.
2325         * include/bits/stl_deque.h: Same.
2326         * include/bits/stl_list.h: Same.  include/bits/stl_map.h:
2327         * Same.  include/bits/stl_multimap.h: Same.
2328         * include/bits/stl_multiset.h: Same.
2329         * include/bits/stl_pair.h: Same.
2330         * include/bits/stl_queue.h: Same.
2331         * include/bits/stl_set.h: Same.
2332         * include/bits/stl_stack.h: Same.
2333         * include/bits/stl_vector.h: Same.
2334         * include/bits/unordered_map.h: Same.
2335         * include/bits/unordered_set.h: Same.  include/std/array:
2336         * Same.  include/std/atomic: Same.  include/std/fstream:
2337         * Same.  include/std/istream: Same.  include/std/ostream:
2338         * Same.  include/std/sstream: Same.
2339         * include/std/streambuf: Same.
2340         * testsuite/23_containers/deque/requirements/dr438/*:
2341         Adjust line numbers.
2342         * testsuite/23_containers/list/requirements/dr438/*: Same.
2343         * testsuite/23_containers/vector/requirements/dr438/*: Same.
2345 2012-05-02  DJ Delorie  <dj@redhat.com>
2347         * crossconfig.m4: Since we know that all TPF builds are cross-
2348         builds and cannot run configuration-time link tests, do not
2349         allow it; just go with known supported linker options.
2350         * configure: Regenerate (called as GLIBCXX_CROSSCONFIG).
2352 2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>
2354         * include/bits/hashtable_policy.h: Correct namepace nesting for
2355         _Hashtable forward declaration.
2357 2012-05-01  François Dumont  <fdumont@gcc.gnu.org>
2359         PR libstdc++/53115
2360         * include/bits/hashtable.h
2361         (_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets
2362         after insertion of several equivalent elements.
2363         * testsuite/23_containers/unordered_multiset/insert/53115.cc: New.
2364         * testsuite/23_containers/unordered_multimap/insert/53115.cc: New.
2366 2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
2367             Paolo Carlini  <paolo.carlini@oracle.com>
2369         PR libstdc++/51795
2370         * include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
2371         (__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
2372         __lg(long long), __lg(unsigned long long)): Define constexpr.
2373         * include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
2374         limitations.
2375         (__mod): Adjust.
2376         (linear_congruential): Remove FIXME static_assert.
2377         * include/bits/random.tcc (_Mod<>): Adjust.
2378         * testsuite/26_numerics/random/linear_congruential_engine/operators/
2379         51795.cc: New.
2381 2012-04-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
2383         * include/std/functional (function::function(F)): LWG 2132: Disable
2384         constructor if argument isn't callable.
2385         * testsuite/20_util/function/cons/callable.cc: New.
2387 2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
2389         PR libstdc++/22200
2390         * include/std/limits (numeric_limits<>::is_modulo): False for
2391         signed types.
2393 2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>
2395         * include/bits/hashtable.h: Adjust doxygen markup for base
2396         classes.
2397         * include/bits/hashtable_policy.h: Same.
2399 2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>
2401         PR libstdc++/52689
2402         * testsuite/17_intro/static.cc: Fix.
2403         * testsuite/lib/dg-options.exp (dg-require-static-libstdcxx): New.
2404         * testsuite/lib/libstdc++.exp (check_v3_target_static_libstdcxx): New.
2406 2012-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
2408         * include/std/scoped_allocator (scoped_allocator::__outermost): Do
2409         not pass non-POD to varargs function.
2410         * testsuite/20_util/scoped_allocator/1.cc: Fix test.
2412 2012-04-24  Benjamin Kosnik  <bkoz@redhat.com>
2414         PR libstdc++/52689
2415         * testsuite/17_intro/static.cc: New.
2417 2012-04-23  Daniel Krugler  <daniel.kruegler@gmail.com>
2419         * include/std/type_traits (is_nothrow_destructible): Implement.
2420         (is_destructible): Implement LWG 2049.
2421         * testsuite/util/testsuite_tr1.h: Add tests.
2422         * testsuite/20_util/is_nothrow_destructible/value.cc: New.
2423         * testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc:
2424         * testsuite/20_util/is_nothrow_destructible/requirements/
2425         explicit_instantiation.cc: Likewise.
2426         * testsuite/20_util/is_destructible/value.cc: Adjust and extend.
2427         * testsuite/20_util/is_default_constructible/value.cc: Tweak.
2428         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2429         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
2430         dg-error line numbers.
2431         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2432         Likewise.
2433         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2435 2012-04-23  Paolo Carlini  <paolo.carlini@oracle.com>
2437         PR libstdc++/53080
2438         * include/std/array (tuple_element, get): static_assert I < N.
2439         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2440         New.
2441         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
2442         * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Fix.
2444 2012-04-23  Chris Jefferson  <chris@bubblescope.net>
2446         PR testsuite/53046
2447         * testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
2448         of array A.
2449         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
2451 2012-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2453         PR libstdc++/53067
2454         * include/bits/hashtable_policy.h: Change inheritances to public.
2455         * testsuite/23_containers/unordered_map/requirements/53067.cc: New.
2456         * testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.
2458 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2460         * include/ext/alloc_traits.h (__alloc_traits::difference_type):
2461         Define.
2463 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2465         PR libstdc++/53027
2466         * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
2467         * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
2468         rebind works.
2470 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2472         * include/debug/forward_list (forward_list::splice_after): Check
2473         allocators are equal.
2474         * src/c++11/debug.cc: Fix spelling.
2475         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
2476         New.
2477         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
2478         Likewise.
2479         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
2480         Likewise.
2482 2012-04-20  Paolo Carlini  <paolo.carlini@oracle.com>
2484         PR libstdc++/53052
2485         * include/std/type_traits (is_explicitly_convertible): Remove.
2486         * testsuite/20_util/is_explicitly_convertible: Likewise.
2487         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2488         Adjust dg-error line numbers.
2489         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2490         Likewise.
2491         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2493 2012-04-17  Benjamin Kosnik  <bkoz@redhat.com>
2495         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
2496         808590.cc: New.
2498 2012-04-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2500         * testsuite/util/testsuite_abi.cc (compare_symbols): Change
2501         summary header to avoid confusion with DejaGnu header.
2503 2012-04-15  Paolo Carlini  <paolo.carlini@oracle.com>
2505         PR libstdc++/52702
2506         * include/std/type_traits (is_trivially_destructible): Add.
2507         (has_trivial_destructor): Remove.
2508         * testsuite/util/testsuite_common_types.h: Adjust.
2509         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
2510         * testsuite/20_util/pair/requirements/dr801.cc: Likewise.
2511         * testsuite/20_util/is_trivially_destructible/value.cc: New.
2512         * testsuite/20_util/is_trivially_destructible/requirements/
2513         typedefs.cc: Likewise.
2514         * testsuite/20_util/is_trivially_destructible/requirements/
2515         explicit_instantiation.cc: Likewise.
2516         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2517         Adjust dg-error line numbers.
2518         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2519         Likewise.
2520         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2522 2012-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
2524         PR libstdc++/52699
2525         * include/bits/random.tcc (independent_bits_engine<>::operator()())
2526         Avoid various overflows; use common_type on result_type and
2527         _RandomNumberEngine::result_type; avoid floating point computations;
2528         other smaller tweaks.
2530         * include/bits/random.tcc (uniform_int_distribution<>::operator())
2531         Use common_type; assume _UniformRandomNumberGenerator::result_type
2532         unsigned; tidy.
2534         * include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
2535         __lg(unsigned long long)): Add.
2537 2012-04-14  Alan Modra  <amodra@gmail.com>
2539         PR libstdc++/52839
2540         * acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
2541         glibcxx_cv_atomic_long_long.
2542         * configure: Regenerate.
2544 2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
2546         * testsuite/26_numerics/cmath/51083.cc: Move...
2547         * testsuite/26_numerics/headers/cmath/51083.cc: ... here.
2549 2012-04-13  Laurent Alfonsi  <laurent.alfonsi@st.com>
2551         PR libstdc++/52604
2552         * src/c++98/mt_allocator.cc: (__freelist::~__freelist): Reset pointer.
2554 2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
2556         * include/debug/safe_iterator.h (_BeforeBeginHelper<>::
2557         _S_Is_Beginnest): Add.
2558         * include/debug/forward_list (_BeforeBeginHelper<>::
2559         _S_Is_Beginnest): Likewise.
2560         (_Safe_iterator<>::_M_is_beginnest): Add.
2561         * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
2562         Use the latter.
2563         * testsuite/23_containers/forward_list/debug/splice_after.cc:
2564         Add test.
2566 2012-04-12  Benjamin Kosnik  <bkoz@redhat.com>
2568         * include/bits/unordered_map.h (__unordered_map): Remove.
2569         (__unordered_multimap): Remove.
2570         Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
2571         __ummap_hashtable.
2572         (unordered_map): Derive from __umap_hashtable.
2573         (unordered_multimap): Derive from __ummap_hashtable.
2574         * include/bits/unordered_set.h (__unordered_set): Remove.
2575         (__unordered_multiset): Remove.
2576         Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
2577         __umset_hashtable.
2578         (unordered_set): Derive from __uset_hashtable.
2579         (unordered_multiset): Derive from __umset_hashtable.
2580         * include/bits/hashtable.h (__cache_default): New, consolidated
2581         cache defaults for _Hashtable. Adjust comments for doxygen.
2582         (_Hashtable): Consolidate bool template parameters into new,
2583         _Traits class. Inherited base classes synthesize _Hashtable in
2584         CRTP via original 10 parameters. Prefer using declarations to
2585         typedefs, add __node_type, __bucket_type, etc. Push many nested
2586         types down hierarchy to _Hashtable_base. Add constructors
2587         necessary for top-level unordered_containers. Consolidate insert
2588         member functions and logic in new base class, __detail::_Insert
2589         and __detail::_Insert_base.
2590         (_Hashtable::operator=(initializer_list)): Add.
2591         * include/bits/hashtable_policy.h: Convert to doxygen markup.
2592         (_Hashtable_traits) New. Consolidate bool template parameters here.
2593         (_Insert, _Insert_base): New, consolidated insert member functions.
2594         (_Map_base, _Equality, _Rehash_base): Adjust template parameters,
2595         use base types.
2596         (_Hashtable_base): Move type declarations useful to other base
2597         classes into this class.
2598         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
2599         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2600         Adjust traits, line numbers.
2602 2012-04-12   Jeffrey Yasskin  <jyasskin@google.com>
2604         PR libstdc++/52822
2605         * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
2606         (__find_if_not_n): Like __find_if_not, but works on and updates a
2607         counted range instead of a bounded range.
2608         (stable_partition): Guarantee !__pred(*__first) in call to
2609         __stable_partition_adaptive() or __inplace_stable_partition().
2610         (__stable_partition_adaptive): Use new precondition to avoid
2611         moving/copying objects onto themselves.  Guarantee new
2612         precondition to recursive calls.
2613         (__inplace_stable_partition): Use new precondition to simplify
2614         base case, remove __last parameter.  Guarantee new precondition to
2615         recursive calls.
2616         * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
2617         Test a sequence that starts with a value matching the predicate.
2618         * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
2619         vectors, which have a destructive self-move-assignment.
2621 2012-04-12  Andreas Schwab  <schwab@linux-m68k.org>
2623         * testsuite/Makefile.am (check_DEJAGNUnormal0): Run
2624         prettyprinters.exp.
2625         * testsuite/Makefile.in: Regenerated.
2627 2012-04-12  Paolo Carlini  <paolo.carlini@oracle.com>
2629         PR libstdc++/52942
2630         * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
2631         In C++11 mode do not derive from std::unary_function.
2632         * include/ext/functional (identity, select1st, select2nd): Adjust.
2633         * testsuite/23_containers/unordered_map/requirements/52942.cc: New.
2634         * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
2636 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2638         PR libstdc++/52924
2639         * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
2640         user-defined destructor.
2641         (_Sp_counted_inplace): Likewise.
2642         * testsuite/20_util/shared_ptr/cons/52924.cc: New.
2643         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
2644         line numbers.
2646 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2648         * doc/xml/manual/debug.xml (Debug Versions of Library Binary Files):
2649         Re-arrange text slightly.
2651 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2653         * testsuite/performance/30_threads/future/polling.cc: Adjust.
2655 2012-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
2657         * include/bits/forward_list.h (splice_after(const_iterator,
2658         forward_list&), splice_after(const_iterator, forward_list&,
2659         const_iterator), splice_after(const_iterator, forward_list&,
2660         const_iterator, const_iterator), merge(forward_list&),
2661         merge(forward_list&, _Comp)): Add per C++11 as published (and
2662         LWG 1310).
2663         * include/debug/forward_list: Adjust.
2665         * include/bits/forward_list.h (splice_after(const_iterator,
2666         forward_list&&, const_iterator)): Only declare.
2667         (_M_transfer_after): Remove.
2668         (_M_splice_after(const_iterator, forward_list&&)): Change signature.
2669         (splice_after(const_iterator, forward_list&&, const_iterator,
2670         const_iterator)): Use the latter.
2671         * include/bits/forward_list.tcc (splice_after(const_iterator,
2672         forward_list&&, const_iterator)): Define here.
2673         (_M_splice_after): Define, use throughout.
2675         * include/bits/forward_list.h (insert_after(const_iterator,
2676         std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
2677         _InputIterator, _InputIterator).
2678         * include/bits/forward_list.tcc: Remove definition.
2680         * testsuite/23_containers/forward_list/modifiers/6.cc: New.
2681         * testsuite/23_containers/forward_list/operations/1.cc: Adjust.
2683 2012-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
2685         PR libstdc++/52931
2686         * include/bits/functional_hash.h (struct hash): Remove definition.
2687         * testsuite/20_util/hash/52931.cc: New.
2689 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2691         PR 24985
2692         * testsuite/lib/prune.exp: Handle caret.
2694 2012-04-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2696         Partially revert:
2697         2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
2699         PR libstdc++/52689
2700         * src/c++98/compatibility-list.cc: Same.
2702 2012-04-05  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
2704         PR bootstrap/52840
2705         * src/Makefile.am (build-debug): Do not adjust vpath dir, remove
2706         Makefile.tmp
2707         * src/Makefile.in: Adjust as per above.
2709 2012-04-04  Uros Bizjak  <ubizjak@gmail.com>
2711         Partially revert:
2712         2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
2714         PR libstdc++/52689
2715         * src/c++98/compatibility-ldbl.cc: Guard with PIC
2717 2012-04-02  Tristan Gingold  <gingold@adacore.com>
2719         * crossconfig.m4 (*-*-*vms*): Add.
2720         * configure: Regenerate.
2722 2012-04-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
2724         PR libstdc++/52591
2725         * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch
2726         to _M_move_assign depending on whether allocator is moved.
2727         (vector::_M_move_assign): Add overloaded functions.
2728         * testsuite/23_containers/vector/52591.cc: New.
2729         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2730         Adjust dg-error line number.
2731         * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
2732         Likewise.
2733         * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
2734         Likewise.
2735         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2736         Likewise.
2738 2012-04-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
2740         * include/std/functional (__callable_functor): Overload for
2741         volatile-qualified pointers.
2742         * testsuite/20_util/function/10.cc: New.
2744 2012-03-30  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
2745             Paolo Carlini  <paolo.carlini@oracle.com>
2747         PR libstdc++/52799
2748         * include/bits/deque.tcc (emplace): Fix thinko, replace push_front
2749         -> emplace_front, and likewise for *_back.
2750         * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New.
2751         * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise.
2752         * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise.
2754 2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
2756         PR libstdc++/52689
2757         * libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
2758         * libsupc++/Makefile.in: Regenerated.
2759         * src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
2760         (libstdc___la_SOURCES): Add in compatiblity files, with content
2761         that varies with -DPIC.
2762         * src/Makefile.in: Regenerated.
2763         * src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
2764         * src/c++11/Makefile.in: Regenerated.
2765         * src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC.
2766         * src/c++11/compatibility-c++0x.cc: Same.
2767         * src/c++11/future.cc: Consolidate compatibility bits into..
2768         * src/c++11/mutex.cc: Consolidate compatibility bits into..
2769         * src/c++11/compatibility-thread-cxx0x.cc: ...here. New.
2770         * src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
2771         * src/c++98/Makefile.in: Regenerated.
2772         * src/c++98/compatibility-ldbl.cc: Guard with PIC
2773         * src/c++98/compatibility-list-2.cc: Same.
2774         * src/c++98/compatibility-list.cc: Same.
2775         * src/c++98/compatibility.cc: Tweak comments.
2777 2012-03-28  Terry Guo  <terry.guo@arm.com>
2779         * testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
2780         * testsuite/Makefile.in: Regenerated.
2782 2012-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
2784         * include/std/functional (mem_fn): Qualify to prevent ADL.
2785         * testsuite/20_util/function_objects/mem_fn/adl.cc: New.
2787 2012-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
2789         * include/std/type_traits (result_of): Fix handling of cv-quals.
2790         * testsuite/20_util/result_of/1.cc: New.
2791         * testsuite/20_util/result_of/2.cc: New.
2792         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2793         line numbers.
2794         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2795         Likewise.
2796         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2797         Likewise.
2799 2012-03-23  David S. Miller  <davem@davemloft.net>
2801         * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
2803 2012-03-23  Benjamin Kosnik  <bkoz@redhat.com>
2805         * scripts/testsuite_flags.in (--cxxflags): Let CXXFLAGS set -g -O2.
2806         * testsuite/lib/libstdc++.exp: Same.
2808 2012-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
2810         * include/bits/forward_list.h: Slightly tweak two comments.
2812 2012-03-22  Benjamin Kosnik  <bkoz@redhat.com>
2814         * doc/Makefile.am: XML output names have only .xml suffix.
2815         * doc/Makefile.in: Regenerate.
2817 2012-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
2819         * include/std/array (array<>::at(size_type) const): Fix version
2820         for undefined __EXCEPTIONS.
2822 2013-03-21  Andreas Tobler  <andreast@fgznet.ch>
2824         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
2825         Skip this test on powerpc64-*-freebsd*.
2827 2012-03-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2829         * include/bits/stl_list.h (list::_M_size): Use NSDMI.
2830         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2831         Adjust line numbers.
2832         * testsuite/23_containers/list/requirements/dr438/
2833         constructor_1_neg.cc: Likewise.
2834         * testsuite/23_containers/list/requirements/dr438/
2835         constructor_2_neg.cc: Likewise.
2836         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2837         Likewise.
2839 2012-03-19  Paweł Sikora  <pawel.sikora@agmk.net>
2841         PR libstdc++/52540
2842         * include/Makefile.am (c++config.h): Fix sed rule to not break
2843         the _GLIBCXX_EXTERN_TEMPLATE redefinition.
2844         * include/Makefile.in: Regenerate.
2846 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
2848         * testsuite/Makefile.in: Regenerate.
2850 2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>
2852         * include/bits/allocator.h (std::allocator): Base class is
2853         __allocator_base.
2854         (uses_allocator): Add to sub-grouping.
2855         * include/ext/new_allocator.h: Doxygen markup for tparm.
2857         * config/allocator/bitmap_allocator_base.h: Use __allocator_base
2858         template alias in C++11.
2859         * config/allocator/malloc_allocator_base.h: Same.
2860         * config/allocator/mt_allocator_base.h: Same.
2861         * config/allocator/new_allocator_base.h: Same.
2862         * config/allocator/pool_allocator_base.h: Same.
2864 2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>
2866         * include/ext/pb_ds/detail/pat_trie_/
2867         constructors_destructor_fn_imps.hpp: Increment after recursion.
2868         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert
2869         node_type markup from brief.
2871 2012-03-16  François Dumont  <fdumont@gcc.gnu.org>
2873         PR libstdc++/52476
2874         * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add.
2875         (_Hashtable<>::_M_rehash): Use the latter.
2876         * testsuite/23_containers/unordered_multimap/insert/52476.cc: New.
2877         * testsuite/23_containers/unordered_multiset/insert/52476.cc: New.
2879 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2881         * config/os/solaris/solaris2.8: Rename to ...
2882         * config/os/solaris/solaris2.9: ... this.
2883         * config/abi/post/solaris2.8: Rename to ...
2884         * config/abi/post/solaris2.9: ... this.
2885         * configure.host (os_include_dir): Remove solaris2.8.
2886         Reflect renaming.
2887         (abi_baseline_pair): Remove *-*-solaris2.8.
2888         Reflect renaming.
2890         * configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove
2891         (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
2892         * acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove
2893         (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
2894         (GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling.
2895         * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8
2896         handling.
2897         * configure: Regenerate.
2898         * config.h.in: Regenerate.
2900         * config/os/solaris/solaris2.9/os_defines.h
2901         (__CORRECT_ISO_CPP_MATH_H_PROTO): Define.
2902         (__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define.
2903         * include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1
2904         to __CORRECT_ISO_CPP_MATH_H_PROTO.
2905         [!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove.
2906         * include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to
2907         __CORRECT_ISO_CPP_MATH_H_PROTO.
2909         * doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads):
2910         Remove Solaris 8 reference.
2912         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
2913         Don't xfail on *-*-solaris2.8.
2914         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
2915         Likewise.
2916         * testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on
2917         *-*-solaris2.8.
2919 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2921         * configure.host (irix6.5*): Remove.
2922         * config/os/irix: Remove.
2923         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
2924         [_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.
2926         * doc/xml/faq.xml: Remove IRIX reference.
2927         * doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
2928         Remove IRIX example.
2930         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2931         Remove mips-sgi-irix6* handling.
2932         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
2933         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
2934         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
2935         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
2936         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
2937         * testsuite/23_containers/list/pthread1.cc: Likewise.
2938         * testsuite/23_containers/list/pthread5.cc: Likewise.
2939         * testsuite/23_containers/map/pthread6.cc: Likewise.
2940         * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
2941         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
2942         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
2943         * testsuite/30_threads/async/42819.cc: Likewise.
2944         * testsuite/30_threads/async/49668.cc: Likewise.
2945         * testsuite/30_threads/async/any.cc: Likewise.
2946         * testsuite/30_threads/async/async.cc: Likewise.
2947         * testsuite/30_threads/async/launch.cc: Likewise.
2948         * testsuite/30_threads/async/sync.cc: Likewise.
2949         * testsuite/30_threads/call_once/39909.cc: Likewise.
2950         * testsuite/30_threads/call_once/49668.cc: Likewise.
2951         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2952         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2953         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2954         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2955         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
2956         Likewise.
2957         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
2958         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2959         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2960         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2961         * testsuite/30_threads/future/cons/move.cc: Likewise.
2962         * testsuite/30_threads/future/members/45133.cc: Likewise.
2963         * testsuite/30_threads/future/members/get.cc: Likewise.
2964         * testsuite/30_threads/future/members/get2.cc: Likewise.
2965         * testsuite/30_threads/future/members/share.cc: Likewise.
2966         * testsuite/30_threads/future/members/valid.cc: Likewise.
2967         * testsuite/30_threads/future/members/wait.cc: Likewise.
2968         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2969         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2970         * testsuite/30_threads/lock/1.cc: Likewise.
2971         * testsuite/30_threads/lock/2.cc: Likewise.
2972         * testsuite/30_threads/lock/3.cc: Likewise.
2973         * testsuite/30_threads/lock/4.cc: Likewise.
2974         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2975         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2976         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2977         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2978         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2979         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
2980         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2981         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2982         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2983         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
2984         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2985         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2986         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
2987         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2988         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2989         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2990         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2991         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
2992         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2993         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
2994         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
2995         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
2996         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2997         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
2998         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2999         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
3000         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
3001         * testsuite/30_threads/promise/cons/1.cc: Likewise.
3002         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
3003         * testsuite/30_threads/promise/cons/move.cc: Likewise.
3004         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
3005         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
3006         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
3007         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
3008         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
3009         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
3010         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
3011         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3012         * testsuite/30_threads/promise/members/swap.cc: Likewise.
3013         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
3014         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
3015         Likewise.
3016         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
3017         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
3018         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
3019         Likewise.
3020         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3021         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3022         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3023         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3024         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3025         Likewise.
3026         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3027         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3028         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3029         Likewise.
3030         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
3031         Likewise.
3032         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
3033         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
3034         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3035         Likewise.
3036         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3037         Likewise.
3038         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3039         Likewise.
3040         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3041         Likewise.
3042         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3043         Likewise.
3044         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
3045         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
3046         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3047         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3048         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3049         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3050         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
3051         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3052         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3053         * testsuite/30_threads/this_thread/1.cc: Likewise.
3054         * testsuite/30_threads/this_thread/2.cc: Likewise.
3055         * testsuite/30_threads/this_thread/3.cc: Likewise.
3056         * testsuite/30_threads/this_thread/4.cc: Likewise.
3057         * testsuite/30_threads/thread/cons/1.cc: Likewise.
3058         * testsuite/30_threads/thread/cons/2.cc: Likewise.
3059         * testsuite/30_threads/thread/cons/3.cc: Likewise.
3060         * testsuite/30_threads/thread/cons/4.cc: Likewise.
3061         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
3062         * testsuite/30_threads/thread/cons/5.cc: Likewise.
3063         * testsuite/30_threads/thread/cons/6.cc: Likewise.
3064         * testsuite/30_threads/thread/cons/7.cc: Likewise.
3065         * testsuite/30_threads/thread/cons/8.cc: Likewise.
3066         * testsuite/30_threads/thread/cons/9.cc: Likewise.
3067         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3068         * testsuite/30_threads/thread/members/1.cc: Likewise.
3069         * testsuite/30_threads/thread/members/2.cc: Likewise.
3070         * testsuite/30_threads/thread/members/3.cc: Likewise.
3071         * testsuite/30_threads/thread/members/4.cc: Likewise.
3072         * testsuite/30_threads/thread/members/5.cc: Likewise.
3073         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
3074         * testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
3075         * testsuite/30_threads/thread/swap/1.cc: Likewise.
3076         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3077         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
3078         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3079         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3080         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
3081         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3082         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3083         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3084         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3085         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3086         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3087         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3088         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3089         * testsuite/30_threads/try_lock/1.cc: Likewise.
3090         * testsuite/30_threads/try_lock/2.cc: Likewise.
3091         * testsuite/30_threads/try_lock/3.cc: Likewise.
3092         * testsuite/30_threads/try_lock/4.cc: Likewise.
3093         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3094         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3095         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3096         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3097         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3098         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3099         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3100         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3101         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3102         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3103         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3104         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
3105         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3106         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3107         default_weaktoshared.cc: Likewise.
3108         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3109         mutex_weaktoshared.cc: Likewise.
3111         * testsuite/23_containers/vector/capacity/resize/1.cc: Remove
3112         dg-options for mips*-*-irix6*.
3114         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
3115         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
3116         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
3118         * testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
3119         workaround.
3121 2012-03-14  Paolo Carlini  <paolo.carlini@oracle.com>
3123         * include/bits/forward_list.h: Fix comments.
3125 2012-03-13  Terry Guo  <terry.guo@arm.com>
3127         * testsuite/Makefile.in (TEST_GCC_EXEC_PREFIX): New.
3129 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3131         * configure.host: Remove osf* handling.
3132         * config/os/osf: Remove.
3133         * doc/xml/manual/using.xml: Remove OSF reference.
3135         * testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf* handling.
3136         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
3137         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
3138         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
3139         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
3140         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
3141         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
3142         * testsuite/23_containers/list/pthread1.cc: Likewise.
3143         * testsuite/23_containers/list/pthread5.cc: Likewise.
3144         * testsuite/23_containers/map/pthread6.cc: Likewise.
3145         * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
3146         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
3147         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
3148         * testsuite/30_threads/async/42819.cc: Likewise.
3149         * testsuite/30_threads/async/49668.cc: Likewise.
3150         * testsuite/30_threads/async/any.cc: Likewise.
3151         * testsuite/30_threads/async/async.cc: Likewise.
3152         * testsuite/30_threads/async/launch.cc: Likewise.
3153         * testsuite/30_threads/async/sync.cc: Likewise.
3154         * testsuite/30_threads/call_once/39909.cc: Likewise.
3155         * testsuite/30_threads/call_once/49668.cc: Likewise.
3156         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
3157         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
3158         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
3159         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
3160         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
3161         Likewise.
3162         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
3163         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
3164         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
3165         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
3166         * testsuite/30_threads/future/cons/move.cc: Likewise.
3167         * testsuite/30_threads/future/members/45133.cc: Likewise.
3168         * testsuite/30_threads/future/members/get.cc: Likewise.
3169         * testsuite/30_threads/future/members/get2.cc: Likewise.
3170         * testsuite/30_threads/future/members/share.cc: Likewise.
3171         * testsuite/30_threads/future/members/valid.cc: Likewise.
3172         * testsuite/30_threads/future/members/wait.cc: Likewise.
3173         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
3174         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
3175         * testsuite/30_threads/lock/1.cc: Likewise.
3176         * testsuite/30_threads/lock/2.cc: Likewise.
3177         * testsuite/30_threads/lock/3.cc: Likewise.
3178         * testsuite/30_threads/lock/4.cc: Likewise.
3179         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
3180         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
3181         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
3182         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
3183         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
3184         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
3185         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
3186         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
3187         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
3188         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
3189         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
3190         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
3191         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
3192         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
3193         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
3194         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
3195         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
3196         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
3197         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
3198         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
3199         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
3200         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
3201         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
3202         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
3203         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
3204         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
3205         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
3206         * testsuite/30_threads/promise/cons/1.cc: Likewise.
3207         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
3208         * testsuite/30_threads/promise/cons/move.cc: Likewise.
3209         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
3210         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
3211         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
3212         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
3213         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
3214         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
3215         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
3216         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3217         * testsuite/30_threads/promise/members/swap.cc: Likewise.
3218         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
3219         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
3220         Likewise.
3221         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
3222         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
3223         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
3224         Likewise.
3225         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3226         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3227         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3228         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3229         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3230         Likewise.
3231         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3232         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3233         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3234         Likewise.
3235         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
3236         Likewise.
3237         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
3238         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
3239         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3240         Likewise.
3241         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3242         Likewise.
3243         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3244         Likewise.
3245         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3246         Likewise.
3247         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3248         Likewise.
3249         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
3250         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
3251         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3252         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3253         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3254         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3255         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
3256         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3257         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3258         * testsuite/30_threads/this_thread/1.cc: Likewise.
3259         * testsuite/30_threads/this_thread/2.cc: Likewise.
3260         * testsuite/30_threads/this_thread/3.cc: Likewise.
3261         * testsuite/30_threads/this_thread/4.cc: Likewise.
3262         * testsuite/30_threads/thread/cons/1.cc: Likewise.
3263         * testsuite/30_threads/thread/cons/2.cc: Likewise.
3264         * testsuite/30_threads/thread/cons/3.cc: Likewise.
3265         * testsuite/30_threads/thread/cons/4.cc: Likewise.
3266         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
3267         * testsuite/30_threads/thread/cons/5.cc: Likewise.
3268         * testsuite/30_threads/thread/cons/6.cc: Likewise.
3269         * testsuite/30_threads/thread/cons/7.cc: Likewise.
3270         * testsuite/30_threads/thread/cons/8.cc: Likewise.
3271         * testsuite/30_threads/thread/cons/9.cc: Likewise.
3272         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3273         * testsuite/30_threads/thread/members/1.cc: Likewise.
3274         * testsuite/30_threads/thread/members/2.cc: Likewise.
3275         * testsuite/30_threads/thread/members/3.cc: Likewise.
3276         * testsuite/30_threads/thread/members/4.cc: Likewise.
3277         * testsuite/30_threads/thread/members/5.cc: Likewise.
3278         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
3279         * testsuite/30_threads/thread/swap/1.cc: Likewise.
3280         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3281         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
3282         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3283         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3284         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
3285         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3286         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3287         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3288         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3289         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3290         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3291         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3292         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3293         * testsuite/30_threads/try_lock/1.cc: Likewise.
3294         * testsuite/30_threads/try_lock/2.cc: Likewise.
3295         * testsuite/30_threads/try_lock/3.cc: Likewise.
3296         * testsuite/30_threads/try_lock/4.cc: Likewise.
3297         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3298         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3299         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3300         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3301         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3302         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3303         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3304         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3305         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3306         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3307         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3308         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
3309         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3310         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3311         default_weaktoshared.cc: Likewise.
3312         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3313         mutex_weaktoshared.cc: Likewise.
3315 2012-03-12  Paolo Carlini  <paolo.carlini@oracle.com>
3317         PR libstdc++/52562
3318         * libsupc++/typeinfo (type_info::name, before, operator==,
3319         operator!=): Mark noexcept in C++11 mode.
3320         * libsupc++/tinfo.cc (type_info::operator==): Adjust.
3321         * libsupc++/tinfo2.cc (type_info::before): Likewise.
3322         * testsuite/18_support/type_info/52562.cc: New.
3324 2012-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3326         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
3327         symbols added in last change.
3329         PR libstdc++/52456
3330         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
3332 2012-03-09  Andreas Schwab  <schwab@linux-m68k.org>
3334         * config/locale/gnu/monetary_members.cc
3335         (moneypunct<char,true>::_M_initialize_moneypunct): Throw caught
3336         exception again.
3337         (moneypunct<char,false>::_M_initialize_moneypunct): Likewise.
3338         * testsuite/22_locale/locale/cons/12352.cc: Also test en_US
3339         locale.
3341 2012-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
3343         * include/debug/formatter.h (enum _Debug_msg_id): Add
3344         __msg_self_move_assign.
3345         * include/debug/macros.h (__glibcxx_check_self_move_assign): Add.
3346         * src/c++11/debug.cc (_S_debug_messages): Update.
3347         * include/debug/safe_iterator.h (_Safe_iterator<>::operator=
3348         (_Safe_iterator&&)): Add check for self move assignment.
3349         * include/debug/set.h: Likewise.
3350         * include/debug/unordered_map: Likewise.
3351         * include/debug/multiset.h: Likewise.
3352         * include/debug/forward_list: Likewise.
3353         * include/debug/unordered_set: Likewise.
3354         * include/debug/vector: Likewise.
3355         * include/debug/map.h: Likewise.
3356         * include/debug/deque: Likewise.
3357         * include/debug/string: Likewise.
3358         * include/debug/list: Likewise.
3359         * include/debug/multimap.h: Likewise.
3360         * testsuite/21_strings/debug/self_move_assign_neg.cc: New.
3361         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Likewise.
3362         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
3363         Likewise.
3364         * testsuite/23_containers/unordered_map/debug/
3365         iterator_self_move_assign_neg.cc: Likewise.
3366         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
3367         Likewise.
3368         * testsuite/23_containers/multimap/debug/
3369         iterator_self_move_assign_neg.cc: Likewise.
3370         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
3371         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
3372         Likewise.
3373         * testsuite/23_containers/unordered_multimap/debug/
3374         self_move_assign_neg.cc: Likewise.
3375         * testsuite/23_containers/unordered_multimap/debug/
3376         iterator_self_move_assign_neg.cc: Likewise.
3377         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
3378         Likewise.
3379         * testsuite/23_containers/forward_list/debug/
3380         iterator_self_move_assign_neg.cc: Likewise.
3381         * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc:
3382         Likewise.
3383         * testsuite/23_containers/unordered_set/debug/
3384         iterator_self_move_assign_neg.cc: Likewise.
3385         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
3386         Likewise.
3387         * testsuite/23_containers/vector/debug/
3388         iterator_self_move_assign_neg.cc: Likewise.
3389         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise.
3390         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
3391         Likewise.
3392         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
3393         Likewise.
3394         * testsuite/23_containers/multiset/debug/
3395         iterator_self_move_assign_neg.cc: Likewise.
3396         * testsuite/23_containers/list/debug/self_move_assign_neg.cc:
3397         Likewise.
3398         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
3399         Likewise.
3400         * testsuite/23_containers/unordered_multiset/debug/
3401         self_move_assign_neg.cc: Likewise.
3402         * testsuite/23_containers/unordered_multiset/debug/
3403         iterator_self_move_assign_neg.cc: Likewise.
3404         * testsuite/23_containers/map/debug/self_move_assign_neg.cc:
3405         Likewise.
3406         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
3407         Likewise.
3409 2012-03-08  Benjamin Kosnik  <bkoz@redhat.com>
3411         * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.0.
3412         * include/bits/locale_facets.h: Adjust markup to avoid warnings.
3413         * include/ext/pb_ds/assoc_container.hpp: Same.
3414         * include/ext/pb_ds/priority_queue.hpp: Same.
3415         * include/std/fstream: Same.
3416         * include/std/ratio: Same.
3417         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
3418         numbers.
3419         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
3421 2012-03-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3423         PR libstdc++/52433
3424         * include/debug/safe_iterator.h (_Safe_iterator): Add debug checks
3425         to move constructor and move assignment operator.
3427 2012-03-05  Paolo Carlini  <paolo.carlini@oracle.com>
3429         * include/bits/stl_algobase.h (iter_swap): In C++11 mode simply
3430         call swap.
3431         * include/bits/stl_bvector.h (swap(_Bit_reference,
3432         _Bit_reference), swap(_Bit_reference, bool&),
3433         swap(bool&, _Bit_reference)): Add.
3434         * testsuite/23_containers/vector/bool/swap.cc: New.
3436 2012-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
3437             Jonathan Wakely  <jwakely.gcc@gmail.com>
3439         PR libstdc++/43813
3440         * include/bits/stl_iterator_base_types.h (_RequireInputIter): New.
3441         * include/ext/vstring.h (__versa_string<>::__versa_string
3442         (_InputIterator, _InputIterator, const _Alloc&),
3443         __versa_string<>::append(_InputIterator, _InputIterator),
3444         __versa_string<>::assign(_InputIterator, _InputIterator),
3445         __versa_string<>::insert(iterator, _InputIterator,
3446         _InputIterator), __versa_string<>::replace(iterator, iterator,
3447         _InputIterator, _InputIterator)): Use it.
3448         * include/bits/stl_list.h (list<>::list(_InputIterator,
3449         _InputIterator, const allocator_type&), list<>::assign(_InputIterator,
3450         _InputIterator), list<>::insert(iterator, _InputIterator,
3451         _InputIterator)): Likewise.
3452         * include/bits/stl_vector.h (vector<>::vector(_InputIterator,
3453         _InputIterator, const allocator_type&), vector<>::assign(_InputIterator,
3454         _InputIterator), vectort<>::insert(iterator, _InputIterator,
3455         _InputIterator)): Likewise.
3456         * include/bits/stl_deque.h (deque<>::deque(_InputIterator,
3457         _InputIterator, const allocator_type&), deque<>::deque(_InputIterator,
3458         _InputIterator), deque<>::insert(iterator, _InputIterator,
3459         _InputIterator)): Likewise.
3460         * include/bits/stl_bvector.h (vector<>::vector(_InputIterator,
3461         _InputIterator, const allocator_type&), vector<>::deque(_InputIterator,
3462         _InputIterator), vector<>::insert(iterator, _InputIterator,
3463         _InputIterator)): Likewise.
3464         * include/bits/forward_list.h (forward_list<>::forward_list
3465         (_InputIterator, _InputIterator, const allocator_type&),
3466         forward_list<>::assign(_InputIterator, _InputIterator),
3467         forward_list<>::insert_after(const_iterator, _InputIterator,
3468         _InputIterator)): Likewise.
3469         (forward_list<>::_M_initialize_dispatch(,, __true_type): Remove.
3470         (forward_list<>::_M_range_initialize): Add, adjust everywhere.
3471         * include/bits/forward_list.tcc: Adjust.
3472         * include/debug/forward_list: Adjust.
3473         * include/debug/vector: Likewise.
3474         * include/debug/deque: Likewise.
3475         * include/debug/list: Likewise.
3476         * testsuite/ext/vstring/requirements/do_the_right_thing.cc: New.
3477         * testsuite/23_containers/forward_list/requirements/
3478         do_the_right_thing.cc: Likewise.
3479         * testsuite/23_containers/vector/requirements/
3480         do_the_right_thing.cc: Likewise.
3481         * testsuite/23_containers/deque/requirements/
3482         do_the_right_thing.cc: Likewise.
3483         * testsuite/23_containers/list/requirements/
3484         do_the_right_thing.cc: Likewise.
3485         * testsuite/23_containers/forward_list/requirements/dr438/
3486         assign_neg.cc: Adjust dg-error line number.
3487         * testsuite/23_containers/forward_list/requirements/dr438/
3488         insert_neg.cc: Likewise.
3489         * testsuite/23_containers/forward_list/requirements/dr438/
3490         constructor_1_neg.cc: Likewise.
3491         * testsuite/23_containers/forward_list/requirements/dr438/
3492         constructor_2_neg.cc: Likewise.
3493         * testsuite/23_containers/vector/requirements/dr438/
3494         assign_neg.cc: Likewise.
3495         * testsuite/23_containers/vector/requirements/dr438/
3496         insert_neg.cc: Likewise.
3497         * testsuite/23_containers/vector/requirements/dr438/
3498         constructor_1_neg.cc: Likewise.
3499         * testsuite/23_containers/vector/requirements/dr438/
3500         constructor_2_neg.cc: Likewise.
3501         * testsuite/23_containers/deque/requirements/dr438/
3502         assign_neg.cc: Likewise.
3503         * testsuite/23_containers/deque/requirements/dr438/
3504         insert_neg.cc: Likewise.
3505         * testsuite/23_containers/deque/requirements/dr438/
3506         constructor_1_neg.cc: Likewise.
3507         * testsuite/23_containers/deque/requirements/dr438/
3508         constructor_2_neg.cc: Likewise.
3509         * testsuite/23_containers/list/requirements/dr438/
3510         assign_neg.cc: Likewise.
3511         * testsuite/23_containers/list/requirements/dr438/
3512         insert_neg.cc: Likewise.
3513         * testsuite/23_containers/list/requirements/dr438/
3514         constructor_1_neg.cc: Likewise.
3515         * testsuite/23_containers/list/requirements/dr438/
3516         constructor_2_neg.cc: Likewise.
3518 2012-03-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
3520         PR libstdc++/52433
3521         * include/debug/safe_iterator.h (_Safe_iterator): Add move
3522         constructor and move assignment operator.
3523         * testsuite/23_containers/vector/debug/52433.cc: New.
3525 2012-03-02  Paolo Carlini  <paolo.carlini@oracle.com>
3527         * include/std/limits (numeric_limits): Fix returns per C++11.
3528         * testsuite/18_support/numeric_limits/primary.cc: New.
3530 2012-03-02  Benjamin Kosnik  <bkoz@redhat.com>
3532         * include/c_global/cstdio: Remove extraneous extern.
3533         * include/c_std/cstdio: Same.
3535 2012-03-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3537         * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
3538         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
3539         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3540         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3541         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3543 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
3544             Ramana Radhakrishnan <ramana@gcc.gnu.org>
3546         PR libstdc++/51785
3547         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): New.
3548         * configure.ac: Call it.
3549         * configure: Regenerate.
3550         * config.h.in: Same.
3551         * config/os/gnu-linux/os_defines.h: Conditionally undefine
3552         _GLIBCXX_HAVE_GETS.
3553         * include/c_global/cstdio: Conditionally declare deprecated gets.
3554         * include/c_std/cstdio: Same.
3556 2012-03-01  Michael Spertus  <mike_spertus@symantec.com>
3558         * include/tr2/type_traits (typelist): To __reflection_typelist.
3559         (first, rest, empty): Remove.
3561 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
3563         * testsuite/Makefile.am (CLEANFILES): Add *.gdb.
3564         * testsuite/Makefile.in: Regenerate.
3566 2012-02-29  H.J. Lu  <hongjiu.lu@intel.com>
3568         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
3570 2012-02-28  Benjamin Kosnik  <bkoz@redhat.com>
3572         PR libstdc++/52191
3573         * testsuite/util/testsuite_abi.cc (compare_symbols): Check new
3574         symbols added into the latest version. Mark tls entities as
3575         undesignated.
3577 2012-02-28  Jakub Jelinek  <jakub@redhat.com>
3579         PR bootstrap/52414
3580         * src/Makefile.am (libstdc++-symbols.ver): Only remove comment lines
3581         if they are at the beginning of lines (with optional whitespace before
3582         #).
3583         * src/Makefile.in: Regenerated.
3585 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
3587         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3588         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3589         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3590         Likewise.
3591         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3592         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3593         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3594         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3595         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3596         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3598 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3600         PR libstdc++/52188
3601         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Remove symvers_renaming.
3602         Remove ENABLE_SYMVERS_SOL2.
3603         * configure: Regenerate.
3604         * src/Makefile.am [ENABLE_SYMVERS] (libstdc++-symbols.ver):
3605         Postprocess mapfile.
3606         [ENABLE_SYMVERS_GNU]: Remove ENABLE_SYMVERS_SOL2 handling.
3607         * src/Makefile.in: Regenerate.
3609         * config/abi/pre/gnu.ver (GLIBCXX_3.4.5) [!__sun__ && !__svr4__]:
3610         Don't export
3611         _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv.
3613 2012-02-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3615         PR testsuite/52201
3616         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
3617         Require atomic builtins.
3618         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
3620 2012-02-23  Jason Merrill  <jason@redhat.com>
3622         * include/bits/locale_facets.h (class num_get): Undo reordering of
3623         do_get virtual functions.
3625 2012-02-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
3627         * testsuite/26_numerics/random/
3628         uniform_real_distribution/requirements/typedefs.cc: Check param_type.
3629         * testsuite/26_numerics/random/
3630         piecewise_constant_distribution/requirements/typedefs.cc: Ditto.
3631         * testsuite/26_numerics/random/
3632         chi_squared_distribution/requirements/typedefs.cc: Ditto.
3633         * testsuite/26_numerics/random/
3634         normal_distribution/requirements/typedefs.cc: Ditto.
3635         * testsuite/26_numerics/random/
3636         uniform_int_distribution/requirements/typedefs.cc: Ditto.
3637         * testsuite/26_numerics/random/
3638         poisson_distribution/requirements/typedefs.cc: Ditto.
3639         * testsuite/26_numerics/random/
3640         bernoulli_distribution/requirements/typedefs.cc: Ditto.
3641         * testsuite/26_numerics/random/
3642         discrete_distribution/requirements/typedefs.cc: Ditto.
3643         * testsuite/26_numerics/random/
3644         weibull_distribution/requirements/typedefs.cc: Ditto.
3645         * testsuite/26_numerics/random/
3646         cauchy_distribution/requirements/typedefs.cc: Ditto.
3647         * testsuite/26_numerics/random/
3648         negative_binomial_distribution/requirements/typedefs.cc: Ditto.
3649         * testsuite/26_numerics/random/
3650         gamma_distribution/requirements/typedefs.cc: Ditto.
3651         * testsuite/26_numerics/random/
3652         fisher_f_distribution/requirements/typedefs.cc: Ditto.
3653         * testsuite/26_numerics/random/
3654         exponential_distribution/requirements/typedefs.cc: Ditto.
3655         * testsuite/26_numerics/random/
3656         binomial_distribution/requirements/typedefs.cc: Ditto.
3657         * testsuite/26_numerics/random/
3658         lognormal_distribution/requirements/typedefs.cc: Ditto.
3659         * testsuite/26_numerics/random/
3660         extreme_value_distribution/requirements/typedefs.cc: Ditto.
3661         * testsuite/26_numerics/random/
3662         piecewise_linear_distribution/requirements/typedefs.cc: Ditto.
3663         * testsuite/26_numerics/random/
3664         student_t_distribution/requirements/typedefs.cc: Ditto.
3665         * testsuite/26_numerics/random/
3666         geometric_distribution/requirements/typedefs.cc: Ditto.
3668 2012-02-21  Benjamin Kosnik  <bkoz@redhat.com>
3670         PR libstdc++/50349
3671         * config/abi/pre/gnu.ver: Only one local.
3672         * config/abi/pre/gnu-versioned-namespace.ver: Same.
3674 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
3676         PR libstdc++/52317 (cont)
3677         * include/profile/unordered_map: Ad Library Exception comment.
3678         * include/profile/set: Likewise.
3679         * include/profile/base.h: Likewise.
3680         * include/profile/impl/profiler_list_to_slist.h: Likewise.
3681         * include/profile/impl/profiler_container_size.h: Likewise.
3682         * include/profile/impl/profiler_vector_size.h: Likewise.
3683         * include/profile/impl/profiler_hash_func.h: Likewise.
3684         * include/profile/impl/profiler_trace.h: Likewise.
3685         * include/profile/impl/profiler_list_to_vector.h: Likewise.
3686         * include/profile/impl/profiler_vector_to_list.h: Likewise.
3687         * include/profile/impl/profiler.h: Likewise.
3688         * include/profile/impl/profiler_state.h: Likewise.
3689         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
3690         * include/profile/impl/profiler_algos.h: Likewise.
3691         * include/profile/impl/profiler_hashtable_size.h: Likewise.
3692         * include/profile/impl/profiler_node.h: Likewise.
3693         * include/profile/vector: Likewise.
3694         * include/profile/unordered_set: Likewise.
3695         * include/profile/map.h: Likewise.
3696         * include/profile/map: Likewise.
3698 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
3700         PR libstdc++/52317
3701         * python/Makefile.am: Update boilerplate license text to GPLv3.
3702         * include/profile/unordered_map: Likewise.
3703         * include/profile/set: Likewise.
3704         * include/profile/base.h: Likewise.
3705         * include/profile/impl/profiler_list_to_slist.h: Likewise.
3706         * include/profile/impl/profiler_container_size.h: Likewise.
3707         * include/profile/impl/profiler_vector_size.h: Likewise.
3708         * include/profile/impl/profiler_hash_func.h: Likewise.
3709         * include/profile/impl/profiler_trace.h: Likewise.
3710         * include/profile/impl/profiler_list_to_vector.h: Likewise.
3711         * include/profile/impl/profiler_vector_to_list.h: Likewise.
3712         * include/profile/impl/profiler.h: Likewise.
3713         * include/profile/impl/profiler_state.h: Likewise.
3714         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
3715         * include/profile/impl/profiler_algos.h: Likewise.
3716         * include/profile/impl/profiler_hashtable_size.h: Likewise.
3717         * include/profile/impl/profiler_node.h: Likewise.
3718         * include/profile/vector: Likewise.
3719         * include/profile/unordered_set: Likewise.
3720         * include/profile/map.h: Likewise.
3721         * include/profile/map: Likewise.
3722         * testsuite/21_strings/basic_string/numeric_conversions/
3723         wchar_t/dr1261.cc: Likewise.
3724         * testsuite/21_strings/basic_string/numeric_conversions/
3725         char/dr1261.cc: Likewise.
3726         * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
3728 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
3730         PR libstdc++/52241
3731         * src/c++98/tree.cc (local_Rb_tree_increment,
3732         local_Rb_tree_decrement): Add.
3733         (_Rb_tree_increment(const _Rb_tree_node_base*),
3734         _Rb_tree_decrement(const _Rb_tree_node_base*)): Use the latter.
3735         (_Rb_tree_increment(_Rb_tree_node_base*),
3736         _Rb_tree_decrement(_Rb_tree_node_base*)): New.
3738 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
3740         PR libstdc++/52309
3741         * include/bits/hashtable_policy.h (_Equality_base<, true,>::
3742         _M_equal(const _Hashtable&)): Compare values with operator==.
3743         * testsuite/23_containers/unordered_set/operators/52309.cc: New.
3745 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
3747         PR libstdc++/51798 continued.
3748         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Grep for
3749         __atomic_, not __sync.
3750         * configure: Regenerated.
3752 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
3754         PR libstdc++/47058
3755         * acinclude.m4 (GLIBCXX_ENABLE_WERROR): New.
3756         (GLIBCXX_EXPORT_FLAGS): Add -Wabi to WARN_FLAGS
3757         * configure.ac: Use it.
3758         * fragment.am: Set WERROR_FLAG conditionally on --disable-werror.
3759         * configure: Regenerate.
3760         * python/Makefile.in: Same.
3761         * Makefile.in: Same.
3762         * doc/Makefile.in: Same.
3763         * include/Makefile.in: Same.
3764         * po/Makefile.in: Same.
3765         * python/Makefile.in: Same.
3766         * src/Makefile.in: Same.
3767         * src/c++11/Makefile.in: Same.
3768         * src/c++98/Makefile.in: Same.
3769         * testsuite/Makefile.in: Same.
3771 2012-02-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3773         PR libstdc++/52189
3774         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Handle
3775         --enable-libstdcxx-threads.
3776         Disable on Solaris 8/9 with symbol versioning.
3777         * configure.ac (GLIBCXX_CHECK_GTHREADS): Move after
3778         GLIBCXX_ENABLE_SYMVERS.
3779         * configure: Regenerate.
3780         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Explain.
3782 2012-02-15  DJ Delorie  <dj@redhat.com>
3784         * src/c++98/locale.cc (locale::facet::_S_get_c_locale): Fix typo.
3786 2012-02-15  Benjamin Kosnik  <bkoz@redhat.com>
3788         PR libstdc++/51368
3789         * acinclude.m4 (GLIBCXX_ENABLE_PYTHON): New.
3790         * configure.ac: Use it.
3791         * python/Makefile.am: Same.
3792         * configure: Regenerate.
3793         * python/Makefile.in: Regenerate.
3794         * Makefile.in: Same.
3795         * doc/Makefile.in: Same.
3796         * include/Makefile.in: Same.
3797         * po/Makefile.in: Same.
3798         * src/Makefile.in: Same.
3799         * src/c++11/Makefile.in: Same.
3800         * src/c++98/Makefile.in: Same.
3801         * testsuite/Makefile.in: Same.
3803 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3805         * 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin.
3807 2012-02-14  Tom Tromey  <tromey@redhat.com>
3809         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new
3810         tests.
3811         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__):
3812         Rewrite.
3813         (Tr1HashtableIterator.update): Remove.
3814         (Tr1HashtableIterator.next): Rewrite.
3816 2012-02-13  Benjamin Kosnik  <bkoz@redhat.com>
3818         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
3819         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
3821 2012-02-13  Richard Henderson  <rth@redhat.com>
3823         PR libstdc++/51798 continued.
3824         * include/bits/shared_ptr_base.h
3825         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
3826         outside compare_exchange loop.
3827         * include/tr1/shared_ptr.h: Same.
3828         * include/parallel/compatibility.h (__compare_and_swap_32): Use strong
3829         version of compare_exchange.
3830         (__compare_and_swap_64): Same.
3831         * include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
3832         * libsupc++/guard.cc (__cxa_guard_acquire): Same.
3834 2012-02-10  Benjamin Kosnik  <bkoz@redhat.com>
3835             Jonathan Wakely  <jwakely.gcc@gmail.com>
3837         PR libstdc++/51798 continued.
3838         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_*
3839         builtins instead of __sync_* builtins for atomic functionality.
3840         * include/bits/shared_ptr_base.h: Same.
3841         * include/parallel/compatibility.h: Same.
3842         * include/profile/impl/profiler_state.h: Same.
3843         * include/tr1/shared_ptr.h: Same.
3844         * libsupc++/eh_ptr.cc: Same.
3845         * libsupc++/eh_throw.cc: Same.
3846         * libsupc++/eh_tm.cc: Same.
3847         * libsupc++/guard.cc: Same.
3848         * configure: Regenerated.
3849         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
3850         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
3852 2012-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3854         PR libstdc++/51296
3855         * config/os/osf/ctype_base.h,
3856         config/os/osf/ctype_configure_char.cc,
3857         config/os/osf/ctype_inline.h, config/os/osf/error_constants.h:
3858         Copy from config/os/generic.
3859         * config/os/osf/os_defines.h: Likewise.
3860         (_GTHREAD_USE_MUTEX_INIT_FUNC, _GTHREAD_USE_COND_INIT_FUNC):
3861         Define.
3862         * configure.host <osf*>: Use os/osf for os_include_dir.
3864 2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
3866         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
3868 2012-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
3870         * doc/xml/manual/documentation_hacking.xml: Fix invalid attribute.
3872 2012-02-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3874         * doc/xml/manual/status_cxx2011.xml: Update C++11 status table.
3876 2012-02-07  Benjamin Kosnik  <bkoz@redhat.com>
3878         * doc/doxygen/user.cfg.in: Update to doxygen 1.7.6.1.
3879         * doc/xml/manual/documentation_hacking.xml: Update.
3881 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3883         * testsuite/30_threads/call_once/39909.cc: Remove duplicate target
3884         selector.
3885         * testsuite/30_threads/call_once/49668.cc: Likewise.
3886         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
3887         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
3888         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
3889         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
3890         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
3891         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
3892         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
3893         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
3894         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
3895         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
3896         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3897         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3898         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3899         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3900         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3901         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3902         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3903         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3904         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3905         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3906         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3907         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
3909 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3911         PR libstdc++/51296
3912         * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
3913         * src/c++11/condition_variable.cc (condition_variable): Use macro for
3914         initializer function.
3916         PR libstdc++/51906
3917         * config/os/bsd/darwin/os_defines.h: Disable static initializer for
3918         recursive mutexes.
3920 2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
3922         PR libstdc++/52128
3923         * src/c++11/future.cc: Add explicit instantiation.
3925 2012-02-06  François Dumont  <fdumont@gcc.gnu.org>
3927         * include/debug/safe_iterator.h
3928         (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
3929         creation of a _Safe_iterator instance to do the check.
3931 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
3933         PR libstdc++/52104
3934         * include/std/future (__future_base::_Async_state_common): Define
3935         destructor inline for targets without TLS.
3936         * src/c++11/future.cc (__future_base::_Async_state_common): Only
3937         define destructor for TLS targets.
3939 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
3941         PR libstdc++/51956
3942         * python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
3943         (SharedPointerPrinter): This. Also show weak count.
3944         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.
3946 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
3948         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to
3949         PASS instead of XFAIL.
3951 2012-02-05  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
3952             Paolo Carlini  <paolo.carlini@oracle.com>
3954         PR libstdc++/52119
3955         * include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
3957 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
3959         PR libstdc++/49445
3960         * testsuite/29_atomics/atomic/cons/49445.cc: Add.
3962 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
3964         PR libstdc++/51811
3965         * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets.
3966         * testsuite/29_atomics/atomic/operators/51811.cc: New.
3967         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New.
3969 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
3971         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3972         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3973         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3974         Likewise.
3975         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3976         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3977         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3978         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3979         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3980         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3982 2012-02-02  Benjamin Kosnik  <bkoz@redhat.com>
3984         PR libstdc++/52068
3985         * src/c++11/Makefile.am (toolexeclib_LTLIBRARIES,
3986         libc__11_la_SOURCES): Remove.
3987         * src/c++11/Makefile.in: Regenerate.
3988         * src/c++98/Makefile.am (toolexeclib_LTLIBRARIES,
3989         libc__98_la_SOURCES): Remove.
3990         * src/c++98/Makefile.in: Regenerate.
3992 2012-02-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
3994         PR libstdc++/49204
3995         * include/std/future (__future_base::_State_base::wait()): Use lambda
3996         expression for predicate and remove redundant test.
3997         (__future_base::_State_base::wait_for()): Return future_status and
3998         use lambda expression for predicate.
3999         (__future_base::_State_base::wait_until()): Likewise.
4000         (__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
4001         (__future_base::_Async_state): Replace with _Async_state_common
4002         class for non-dependent functionality and _Async_state_impl class
4003         template for dependent functionality.
4004         (__future_base::_Async_state_common::_M_join): Serialize attempts to
4005         join thread.
4006         (__future_base::_Async_state_common::_M_run_deferred): Join.
4007         (__future_base::_Async_state::_M_do_run): Replace with lambda.
4008         * src/c++11/future.cc (__future_base::_Async_state_common): Define
4009         destructor, so key function is in the library.
4010         * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
4011         * testsuite/30_threads/packaged_task/members/get_future.cc: Expect
4012         future_status return instead of bool.
4013         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
4014         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
4015         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
4016         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
4017         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
4018         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
4019         * testsuite/30_threads/promise/members/swap.cc: Likewise.
4021 2012-01-30  Tom Tromey  <tromey@redhat.com>
4023         PR libstdc++/51649:
4024         * testsuite/libstdc++-prettyprinters/debug.cc: New file.
4025         * testsuite/lib/gdb-test.exp (regexp-test): New proc.
4026         (note-test): Update.
4027         (gdb-test): Handle regexp tests.  Add some logging.
4028         * testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
4029         (placeholder, use): Remove.
4030         (main): Add tests for deque, list, map, and set iterators.  Add
4031         tests for slist and slist iterator.
4032         * testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
4033         namespace.
4034         * python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
4035         the type's _Node typedef.
4036         (StdListIteratorPrinter.to_string): Change how node type is
4037         computed.
4038         (StdSlistPrinter.children): Use the type's _Node typedef.
4039         (StdSlistIteratorPrinter.to_string): Likewise.
4040         (StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
4041         typedef.
4042         (StdMapPrinter.children): Change how the node's type is computed.
4043         (StdSetPrinter.children): Likewise.
4044         (StdForwardListPrinter.children): Use the type's _Node typedef.
4045         (Printer.add_version): New method.
4046         (Printer.add_container): New method.
4047         (build_libstdcxx_dictionary): Handle __7 and __cxx1998
4048         namespaces.
4049         (find_type): New function.
4051 2012-01-27  Paolo Carlini  <paolo.carlini@oracle.com>
4053         PR libstdc++/51795
4054         * include/bits/random.h (linear_congruential_generator): Add
4055         static_assert preventing instantiation for values of 'a' and 'm'
4056         currently handled incorrectly by _Mod::__calc.
4057         * include/bits/random.tcc (seed_seq::generate): Avoid unsafe
4058         uses of _Mod::__calc.
4060 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
4062         PR libstdc++/51798
4063         * config/cpu/generic/atomicity_builtins/atomicity.h
4064         (__exchange_and_add, __atomic_add): Use __atomic_fetch_add
4065         with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
4066         * include/ext/atomicity.h (__exchange_and_add, __atomic_add):
4067         Likewise.
4069 2011-01-27  Rafael Avila de Espindola  <rafael.espindola@gmail.com>
4071         * libsupc++/typeinfo: Correctly match #pragma GCC visibility
4072         pop with #pragma GCC visibility push.
4074 2012-01-27  Benjamin Kosnik  <bkoz@redhat.com>
4075             Matthias Klose  <doko@ubuntu.com>
4077         * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
4078         * configure.in: Regenerated.
4079         * src/Makefile.am (all-once, install-data-once): New rules.
4080         (all-local, install-data-local): Use them.
4081         (build-debug, install-debug): Tweak.
4082         * src/Makefile.in: Regenerate.
4084 2012-01-27  Richard Henderson  <rth@redhat.com>
4086         * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
4087         based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
4088         (ATOMIC_FLAG_INIT): Initialize with 0, not false.
4089         (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
4091 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
4093         PR bootstrap/51985
4094         * src/c++98/Makefile.am (libc__98_la_SOURCES,
4095         libc__98convenience_la_SOURCES): Remove $(inst_sources).
4096         * src/c++98/Makefile.in: Regenerated.
4098 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
4100         * testsuite/20_util/system_clock/1.cc: Add dg-require-time.
4101         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
4102         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
4103         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
4104         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add
4105         dg-require-fileio.
4106         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
4107         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
4108         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
4109         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc:
4110         Likewise.
4111         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
4113 2012-01-25  Matthias Klose  <doko@ubuntu.com>
4115         * testsuite/30_threads/condition_variable_any/requirements: Remove
4116         empty directory.
4118 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
4120         * src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
4121         * src/Makefile.in: Regenerate.
4123 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
4125         PR libstdc++/49829
4126         Add libc++98convenience.la, libc++11convenience.la.
4127         * src/c++98: New directory.
4128         * src/c++11: New directory.
4129         * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
4130         * configure: Regenerated.
4131         * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
4132         * Makefile.in: Regenerate.
4133         * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
4134         -fno-implicit-templates.
4135         * libsupc++/Makefile.in: Regenerate.
4136         * src/Makefile.am (inst_sources): Move... C++11 files into
4137         separate directory for libstdc++11convenience.la. Files are:
4138         fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
4139         (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
4140         compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
4141         functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
4142         system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
4143         mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
4144         (libstdc++convenience.la): Add new target.
4145         (SUBDIRS): Add c++11, c++98.
4146         * src/Makefile.in: Regenerate.
4147         * src/c++11/Makefile.am: New.
4148         * src/c++11/Makefile.in: Generate.
4149         * src/c++98/Makefile.am: New, C++98 files.
4150         * src/c++98/Makefile.in: Generate.
4152 2012-01-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4154         libstdc++-v3:
4155         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
4156         32-bit Solaris 10/x86.
4157         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
4159 2012-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
4161         PR libstdc++/50982
4162         * testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors.
4164 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
4166         PR libstdc++/51845
4167         * include/bits/hashtable.h
4168         (_Hashtable<>::erase(const_iterator, const_iterator)): Also update
4169         _M_buckets[__n_bkt] if __is_bucket_begin.
4170         * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc:
4171         New test.
4173 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
4175         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting.
4177 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
4179         * configure.ac: Move epub checks...
4180         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use
4181         test -f instead of AC_CHECK_FILES.
4183 2012-01-18  François Dumont  <fdumont@gcc.gnu.org>
4184             Roman Kononov  <roman@binarylife.net>
4186         PR libstdc++/51866
4187         * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)):
4188         Do not keep a reference to a potentially moved instance.
4189         * testsuite/23_containers/unordered_multiset/insert/51866.cc: New.
4190         * testsuite/23_containers/unordered_multimap/insert/51866.cc: New.
4192 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
4194         * doc/html/*: Regenerate.
4196 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
4198         * configure.ac (BUILD_EPUB): Adjust for epub3.
4199         * configure: Regenerate.
4200         * Makefile.in: Same.
4201         * doc/Makefile.am (stamp-epub-docbook): Update for epub3.
4202         * doc/Makefile.in: Regenerate.
4203         * include/Makefile.in: Same.
4204         * libsupc++/Makefile.in: Same.
4205         * po/Makefile.in: Same.
4206         * python/Makefile.in: Same.
4207         * src/Makefile.in: Same.
4208         * testsuite/Makefile.in: Same.
4210         * doc/xml/manual/documentation_hacking.xml: Update.
4212 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4214         PR target/47852
4215         * configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS.
4217 2012-01-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
4219         * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
4221 2012-01-13  François Dumont  <fdumont@gcc.gnu.org>
4223         * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
4224         base class of ...
4225         (_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
4226         * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
4227         by _M_before_begin. Review implementation so that we do not need to
4228         look for previous non-empty bucket when inserting nodes.
4230 2012-01-09  Kai Tietz  <ktietz@redhat.com>
4232         PR libstc++/51673 part 2
4233         * config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
4234         operators signature for LLP64 size_t, and adjusted signatures for
4235         mt-allocator using size_t.
4237 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
4239         PR libstc++/51673 part 1
4240         * config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
4241         with gnu.ver.
4243 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
4245         * fragment.am (WARN_CXXFLAGS): Add -Wabi.
4246         * Makefile.in: Regenerate.
4247         * doc/Makefile.in: Same.
4248         * include/Makefile.in: Same.
4249         * libsupc++/Makefile.in: Same.
4250         * src/Makefile.in: Same.
4251         * testsuite/Makefile.in: Same.
4252         * po/Makefile.in: Same.
4253         * python/Makefile.in: Same.
4255 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
4257         * python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
4258         * testsuite/libstdc++-prettyprinters/cxx11.cc: New.
4260 2012-01-06  Jason Merrill  <jason@redhat.com>
4262         * testsuite/abi/demangle/regression/cw-16.cc (main): Adjust
4263         expected demangling.
4265 2012-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
4267         PR libstdc++/51504
4268         * doc/xml/manual/debug.xml: Suggest using symbol interposition
4269         to override symbols using annotation macros.
4271 2012-01-05  François Dumont  <fdumont@gcc.gnu.org>
4273         * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
4274         protected rather than private, use it...
4275         * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
4276         * testsuite/23_containers/unordered_set/observers.cc: New.
4277         * testsuite/23_containers/unordered_multiset/observers.cc: New.
4278         * testsuite/23_containers/unordered_map/observers.cc: New.
4279         * testsuite/23_containers/unordered_multimap/observers.cc: New.
4281 2012-01-03  François Dumont  <fdumont@gcc.gnu.org>
4283         * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
4284         specific _Hashtable_ebo_helper. Hide this implementation detail thanks
4285         to private inheritance.
4287 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
4289         PR c++/51738
4290         * testsuite/23_containers/map/element_access/39901.cc: New.