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