PR middle-end/59175
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob5af235f1c7b23597fafee3d9110ea16e9a6a3216
1 2013-11-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3         * include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use
4         non-atomic operations.
5         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
6         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
8 2013-11-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
10         Implement N3762 string_view: a non-owning reference to a string.
11         * include/Makefile.am: Add string_view and string_view.tcc.
12         * include/Makefile.in: Regenerate.
13         * include/experimental/string_view: Implement basic_string_view.
14         * include/experimental/string_view.tcc: Implement basic_string_view.
15         * testsuite/experimental/string_view/capacity/1.cc: New.
16         * testsuite/experimental/string_view/cons/char/1.cc: New.
17         * testsuite/experimental/string_view/cons/char/2.cc: New.
18         * testsuite/experimental/string_view/cons/char/3.cc: New.
19         * testsuite/experimental/string_view/cons/wchar_t/1.cc: New.
20         * testsuite/experimental/string_view/cons/wchar_t/2.cc: New.
21         * testsuite/experimental/string_view/cons/wchar_t/3.cc: New.
22         * testsuite/experimental/string_view/element_access/char/1.cc: New.
23         * testsuite/experimental/string_view/element_access/char/2.cc: New.
24         * testsuite/experimental/string_view/element_access/char/empty.cc: New.
25         * testsuite/experimental/string_view/element_access/char/front_back.cc:
26         New.
27         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: New.
28         * testsuite/experimental/string_view/element_access/wchar_t/2.cc: New.
29         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
30         New.
31         * testsuite/experimental/string_view/element_access/wchar_t/
32         front_back.cc: New.
33         * testsuite/experimental/string_view/include.cc: New.
34         * testsuite/experimental/string_view/inserters/char/1.cc: New.
35         * testsuite/experimental/string_view/inserters/char/2.cc: New.
36         * testsuite/experimental/string_view/inserters/char/3.cc: New.
37         * testsuite/experimental/string_view/inserters/pod/10081-out.cc: New.
38         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: New.
39         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: New.
40         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: New.
41         * testsuite/experimental/string_view/literals/types.cc: New.
42         * testsuite/experimental/string_view/literals/values.cc: New.
43         * testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
44         New.
45         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
46         1.cc: New.
47         * testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
48         New.
49         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
50         1.cc: New.
51         * testsuite/experimental/string_view/operations/compare/char/1.cc: New.
52         * testsuite/experimental/string_view/operations/compare/char/13650.cc:
53         New.
54         * testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
55         New.
56         * testsuite/experimental/string_view/operations/compare/wchar_t/
57         13650.cc: New.
58         * testsuite/experimental/string_view/operations/data/char/1.cc: New.
59         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc: New.
60         * testsuite/experimental/string_view/operations/find/char/1.cc: New.
61         * testsuite/experimental/string_view/operations/find/char/2.cc: New.
62         * testsuite/experimental/string_view/operations/find/char/3.cc: New.
63         * testsuite/experimental/string_view/operations/find/char/4.cc: New.
64         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc: New.
65         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc: New.
66         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc: New.
67         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc: New.
68         * testsuite/experimental/string_view/operations/rfind/char/1.cc: New.
69         * testsuite/experimental/string_view/operations/rfind/char/2.cc: New.
70         * testsuite/experimental/string_view/operations/rfind/char/3.cc: New.
71         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: New.
72         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: New.
73         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: New.
74         * testsuite/experimental/string_view/operations/substr/char/1.cc: New.
75         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
76         New.
77         * testsuite/experimental/string_view/operators/char/2.cc: New.
78         * testsuite/experimental/string_view/operators/wchar_t/2.cc: New.
79         * testsuite/experimental/string_view/range_access/char/1.cc: New.
80         * testsuite/experimental/string_view/range_access/wchar_t/1.cc: New.
81         * testsuite/experimental/string_view/requirements/
82         explicit_instantiation/1.cc: New.
83         * testsuite/experimental/string_view/requirements/
84         explicit_instantiation/char/1.cc: New.
85         * testsuite/experimental/string_view/requirements/
86         explicit_instantiation/char16_t/1.cc: New.
87         * testsuite/experimental/string_view/requirements/
88         explicit_instantiation/char32_t/1.cc: New.
89         * testsuite/experimental/string_view/requirements/
90         explicit_instantiation/wchar_t/1.cc: New.
91         * testsuite/experimental/string_view/requirements/typedefs.cc: New.
92         * testsuite/experimental/string_view/types/1.cc: New.
94 2013-11-16  François Dumont  <fdumont@gcc.gnu.org>
96         * testsuite/23_containers/unordered_set/55043.cc (equal): Add
97         missing & on rhs parameter.
99 2013-11-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
101         * include/bits/stl_bvector.h (vector<bool>::emplace_back()): LWG 2187:
102         Define.
103         (vector<bool>::emplace()): Likewise.
104         * testsuite/23_containers/vector/bool/emplace.cc: New.
106 2013-11-15  Ondřej Bílka <neleai@seznam.cz>
107             Jonathan Wakely  <jwakely.gcc@gmail.com>
109         * doc/xml/manual/build_hacking.xml: Fix documentation typos.
110         * doc/xml/manual/configure.xml: Likewise.
111         * include/bits/atomic_base.h: Fix typos in comments.
112         * include/bits/random.h: Likewise.
113         * include/ext/cast.h: Likewise.
114         * libsupc++/cxxabi.h: Likewise.
115         * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
116         * testsuite/tr1/5_numerical_facilities/special_functions/testcase.h:
117         Likewise.
118         * testsuite/util/exception/safety.h: Likewise.
119         * testsuite/util/testsuite_containers.h: Likewise.
120         * testsuite/util/testsuite_hooks.cc: Likewise.
122 2013-11-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
124         * include/bits/stl_map.h (map): Implement C++11 allocator-aware
125         container requirements.
126         * include/bits/stl_multimap.h (multimap): Likewise.
127         * include/bits/stl_multiset.h (multiset): Likewise.
128         * include/bits/stl_set.h (set): Likewise.
129         * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_buffer and
130         add accessors for value.
131         (_Rb_tree_iterator, _Rb_tree_const_iterator): Use _Rb_tree_node
132         accessors.
133         (_Rb_tree): Use allocator_traits and implement support for sets and
134         maps the be allocator-aware.
135         * include/bits/forward_list.h (_Fwd_list_base::_M_create_node): Do
136         not zero-initialize storage buffer.
137         * include/bits/hashtable_policy.h (_Hashtable_alloc::_M_allocate_node):
138         Likewise.
139         * include/bits/stl_vector.h (vector(vector&&, const allocator_type&)):
140         Add conditional noexcept specification.
141         * doc/xml/manual/status_cxx2011.xml: Update status of containers.
142         * testsuite/util/testsuite_allocator.h: Re-indent.
143         * testsuite/23_containers/forward_list/allocator/copy.cc: Test
144         allocator-extended copy constructor.
145         * testsuite/23_containers/unordered_map/allocator/copy.cc: Likewise.
146         * testsuite/23_containers/unordered_multimap/allocator/copy.cc:
147         Likewise.
148         * testsuite/23_containers/unordered_multiset/allocator/copy.cc:
149         Likewise.
150         * testsuite/23_containers/unordered_set/allocator/copy.cc: Likewise.
151         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
152         * testsuite/23_containers/forward_list/allocator/move.cc: New.
153         * testsuite/23_containers/unordered_map/allocator/move.cc: New.
154         * testsuite/23_containers/unordered_multimap/allocator/move.cc: New.
155         * testsuite/23_containers/unordered_multiset/allocator/move.cc: New.
156         * testsuite/23_containers/unordered_set/allocator/move.cc: New.
157         * testsuite/23_containers/vector/allocator/move.cc: New.
158         * testsuite/23_containers/map/allocator/copy.cc: New.
159         * testsuite/23_containers/map/allocator/copy_assign.cc: New.
160         * testsuite/23_containers/map/allocator/minimal.cc: New.
161         * testsuite/23_containers/map/allocator/move.cc: New.
162         * testsuite/23_containers/map/allocator/move_assign.cc: New.
163         * testsuite/23_containers/map/allocator/noexcept.cc: New.
164         * testsuite/23_containers/map/allocator/swap.cc: New.
165         * testsuite/23_containers/multimap/allocator/copy.cc: New.
166         * testsuite/23_containers/multimap/allocator/copy_assign.cc: New.
167         * testsuite/23_containers/multimap/allocator/minimal.cc: New.
168         * testsuite/23_containers/multimap/allocator/move.cc: New.
169         * testsuite/23_containers/multimap/allocator/move_assign.cc: New.
170         * testsuite/23_containers/multimap/allocator/noexcept.cc: New.
171         * testsuite/23_containers/multimap/allocator/swap.cc: New.
172         * testsuite/23_containers/multiset/allocator/copy.cc: New.
173         * testsuite/23_containers/multiset/allocator/copy_assign.cc: New.
174         * testsuite/23_containers/multiset/allocator/minimal.cc: New.
175         * testsuite/23_containers/multiset/allocator/move.cc: New.
176         * testsuite/23_containers/multiset/allocator/move_assign.cc: New.
177         * testsuite/23_containers/multiset/allocator/noexcept.cc: New.
178         * testsuite/23_containers/multiset/allocator/swap.cc: New.
179         * testsuite/23_containers/set/allocator/copy.cc: New.
180         * testsuite/23_containers/set/allocator/copy_assign.cc: New.
181         * testsuite/23_containers/set/allocator/minimal.cc: New.
182         * testsuite/23_containers/set/allocator/move.cc: New.
183         * testsuite/23_containers/set/allocator/move_assign.cc: New.
184         * testsuite/23_containers/set/allocator/noexcept.cc: New.
185         * testsuite/23_containers/set/allocator/swap.cc: New.
186         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
187         Adjust dg-error line number.
188         * testsuite/23_containers/vector/requirements/dr438/
189         constructor_1_neg.cc: Likewise.
190         * testsuite/23_containers/vector/requirements/dr438/
191         constructor_2_neg.cc: Likewise.
192         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
193         Likewise.
195 2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
197         * scripts/extract_symvers.in: Ignore <localentry: > fields
198         in readelf --symbols output.
200 2013-11-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
202         * include/bits/alloc_traits.h (__allow_copy_cons): Remove.
203         (__check_copy_constructible): Likewise.
204         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
205         Do not derive from __check_copy_constructible.
206         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
207         Likewise.
208         * testsuite/23_containers/unordered_map/55043.cc: It is no longer
209         necessary for is_copy_constructible to be correct to use nested
210         unordered containers.
211         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
212         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
213         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
215 2013-11-13  Marc Glisse  <marc.glisse@inria.fr>
217         PR libstdc++/59087
218         * include/ext/pod_char_traits.h: Uglify V, I and S.
220 2013-11-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
222         PR libstdc++/54562
223         * include/std/mutex (__timed_mutex_impl::__clock_t): Use
224         high_resolution_clock for absolute timeouts, because
225         pthread_mutex_timedlock uses CLOCK_REALTIME not CLOCK_MONOTONIC.
226         (__timed_mutex_impl::_M_try_lock_for): Use steady_clock for relative
227         timeouts as per [thread.req.timing].
228         (__timed_mutex_impl::_M_try_lock_until<Clock,Duration>): Convert to
229         __clock_t time point instead of using _M_try_lock_for.
231 2013-11-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
233         PR libstdc++/58982
234         * include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion
235         to prevent using memmove() on non-assignable types.
236         (__copy_move_backward::__copy_move_b): Likewise.
237         * include/bits/stl_uninitialized.h (uninitialized_copy
238         uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n,
239         __uninitialized_default, __uninitialized_default_n): Check for
240         assignable as well as trivial.
241         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
242         58982.cc: New.
243         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
244         58982.cc: New.
245         * testsuite/20_util/specialized_algorithms/uninitialized_fill/
246         58982.cc: New.
247         * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
248         58982.cc: New.
249         * testsuite/25_algorithms/copy/58982.cc: New.
250         * testsuite/25_algorithms/copy_n/58982.cc: New.
252 2013-11-08  François Dumont  <fdumont@gcc.gnu.org>
254         * include/debug/safe_iterator.h (_BeforeBeginHelper<>::_S_Is):
255         Take only a const safe iterator reference.
256         (_BeforeBeginHelper<>::_S_Is_beginnest): Likewise.
257         (__get_distance): Take only one type of iterator.
258         (_Safe_iterator<>::_M_valid_range<>): Not template anymore.
259         (_Safe_iterator<>::_M_get_sequence()): Return pointer to const
260         sequence from a const_iterator and a pointer to sequence from an
261         iterator.
262         * include/debug/safe_iterator.tcc: Adapt.
263         * include/debug/safe_local_iterator.h
264         (_Safe_local_iterator<>::_M_valid_range<>): Not template anymore.
265         (_Safe_local_iterator<>::_M_get_sequence()): Return pointer to
266         const sequence from a const_iterator and a pointer to sequence
267         from an iterator.
268         * include/debug/safe_local_iterator.tcc: Adapt.
269         * include/debug/forward_list
270         (_BeforeBeginHelper<std::__debug::forward_list<>>): Adapt.
272 2013-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
274         * include/bits/regex_automaton.h (__detail::_State): Split
275         non-dependent parts into new _State_base.
276         (__detail::_NFA): Likewise for _NFA_base. Use std::move() to avoid
277         copies when inserting _MatcherT and _StateT objects.
278         * include/bits/regex_automaton.tcc: Move member definitions to base
279         class. Qualify dependent names.
280         * include/bits/regex_compiler.h (__detail::_Compiler::_M_get_nfa): Make
281         non-const and use std::move to avoid copying.
282         * include/bits/regex_compiler.tcc: Likewise.
283         * include/bits/regex_executor.h (__detail::_Executor::_M_is_word): Use
284         array, so past-the-end iterator is valid.
286         * include/bits/regex_automaton.h (__detail::_State, __detail::_NFA,
287         __detail::_StateSeq): Remove redundant _CharT template parameters.
288         * include/bits/regex_automaton.tcc: Likewise.
289         * include/bits/regex_compiler.h (__detail::_Compiler): Likewise.
290         (__compile_nfa): Add object generator for _Compiler.
291         * include/bits/regex_compiler.tcc: Remove _CharT template parameters.
292         * include/bits/regex_executor.h: Likewise.
293         * include/bits/regex_executor.tcc: Likewise.
294         * include/bits/regex.h (basic_regex): Assert char_type matches. Use
295         __compile_nfa object generator. Remove _CharT template parameter.
297         * include/bits/regex_compiler.h (__detail::_AnyMatcher,
298         __detail::_CharMatcher, __detail::_BracketMatcher): Remove redundant
299         _CharT template parameters.
300         * include/bits/regex_compiler.tcc: Likewise.
302         * include/bits/regex_compiler.h (__detail::__compile_nfa): Overload
303         so that std::basic_string<C> and std::vector<C> iterators dispatch to
304         the const C* compiler.
306         * include/bits/regex_compiler.h (__detail::__has_contiguous_iter):
307         vector<bool> storage is not contiguous.
309 2013-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
311         * include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to
312         _S_opcode_word_boundary.
313         * include/bits/regex_automaton.tcc: Likewise.
314         * include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry):
315         Rename to _M_word_boundary.
316         * include/bits/regex_executor.tcc: Likewise.
318 2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
320         N3655 C++1y TransformationTraits Redux
321         * include/std/type_traits (remove_const_t, remove_volatile_t,
322         remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
323         add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
324         make_unsigned_t, remove_extent_t, remove_all_extents_t,
325         remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
326         enable_if_t, conditional_t, common_type_t, underlying_type_t,
327         result_of_t): Define.
328         * doc/xml/manual/status_cxx2014.xml: Update.
329         * testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
330         New.
331         * testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
332         New.
333         * testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
334         * testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
335         * testsuite/20_util/decay/requirements/typedefs-2.cc: New.
336         * testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
337         * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
338         * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
339         * testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
340         * testsuite/20_util/result_of/requirements/typedefs.cc: New.
341         * testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
342         * testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
343         compile-only test.
344         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
345         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
346         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
347         line number.
348         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
349         Likewise.
350         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
351         Likewise.
353 2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
355         * doc/xml/manual/status_cxx2011.xml: Document aligned_union as
356         missing.
358 2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
359             Paolo Carlini  <paolo.carlini@oracle.com>
361         * include/experimental/optional: Use __and_<> and __not_<> in
362         conditions. Style fixes.
363         (__constexpr_addressof, swap): Make inline.
364         * testsuite/experimental/optional/cons/copy.cc: Adjust constants for
365         32-bit targets.
366         * testsuite/experimental/optional/cons/move.cc: Likewise.
367         * testsuite/experimental/optional/cons/value.cc: Likewise.
368         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
370 2013-11-01  Michael Brune  <lucdanton@free.fr>
372         * include/bits/enable_special_members.h: New.
373         * include/experimental/optional: New.
374         * include/Makefile.am: Handle include/experimental.
375         * include/Makefile.in: Regenerate.
376         * testsuite/libstdc++-dg/conformance.exp: Run tests from
377         testsuite/experimental sub-directory.
378         * testsuite/experimental/optional/assignment/1.cc: New.
379         * testsuite/experimental/optional/assignment/2.cc: New.
380         * testsuite/experimental/optional/assignment/3.cc: New.
381         * testsuite/experimental/optional/assignment/4.cc: New.
382         * testsuite/experimental/optional/assignment/5.cc: New.
383         * testsuite/experimental/optional/assignment/6.cc: New.
384         * testsuite/experimental/optional/cons/copy.cc: New.
385         * testsuite/experimental/optional/cons/default.cc: New.
386         * testsuite/experimental/optional/cons/move.cc: New.
387         * testsuite/experimental/optional/cons/value.cc: New.
388         * testsuite/experimental/optional/constexpr/cons/default.cc: New.
389         * testsuite/experimental/optional/constexpr/cons/value.cc: New.
390         * testsuite/experimental/optional/constexpr/in_place.cc: New.
391         * testsuite/experimental/optional/constexpr/make_optional.cc: New.
392         * testsuite/experimental/optional/constexpr/nullopt.cc: New.
393         * testsuite/experimental/optional/constexpr/observers/1.cc: New.
394         * testsuite/experimental/optional/constexpr/observers/2.cc: New.
395         * testsuite/experimental/optional/constexpr/observers/3.cc: New.
396         * testsuite/experimental/optional/constexpr/observers/4.cc: New.
397         * testsuite/experimental/optional/constexpr/observers/5.cc: New.
398         * testsuite/experimental/optional/constexpr/relops/1.cc: New.
399         * testsuite/experimental/optional/constexpr/relops/2.cc: New.
400         * testsuite/experimental/optional/constexpr/relops/3.cc: New.
401         * testsuite/experimental/optional/constexpr/relops/4.cc: New.
402         * testsuite/experimental/optional/constexpr/relops/5.cc: New.
403         * testsuite/experimental/optional/constexpr/relops/6.cc: New.
404         * testsuite/experimental/optional/in_place.cc: New.
405         * testsuite/experimental/optional/make_optional.cc: New.
406         * testsuite/experimental/optional/nullopt.cc: New.
407         * testsuite/experimental/optional/observers/1.cc: New.
408         * testsuite/experimental/optional/observers/2.cc: New.
409         * testsuite/experimental/optional/observers/3.cc: New.
410         * testsuite/experimental/optional/observers/4.cc: New.
411         * testsuite/experimental/optional/observers/5.cc: New.
412         * testsuite/experimental/optional/relops/1.cc: New.
413         * testsuite/experimental/optional/relops/2.cc: New.
414         * testsuite/experimental/optional/relops/3.cc: New.
415         * testsuite/experimental/optional/relops/4.cc: New.
416         * testsuite/experimental/optional/relops/5.cc: New.
417         * testsuite/experimental/optional/relops/6.cc: New.
418         * testsuite/experimental/optional/requirements.cc: New.
419         * testsuite/experimental/optional/swap/1.cc: New.
421 2013-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
423         * include/bits/stl_function.h (logical_not<void>): Add noexcept.
425 2013-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
427         PR libstdc++/58952
428         * include/c_global/cstdio: Undef getchar.
430 2013-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
432         N3421 C++1y Transparent functors
433         * include/bits/stl_function.h (plus<void>, minus<void>,
434         multiplies<void>, divides<void>, modulus<void>, negate<void>,
435         equal_to<void>, not_equal_to<void>, greater<void>, less<void>,
436         greater_equal<void>, less_equal<void>, logical_and<void>,
437         logical_or<void>, logical_not<void>, bit_and<void>, bit_or<void>,
438         bit_xor<void>, bit_not<void>): Define.
439         * doc/xml/manual/status_cxx2014.xml: Update.
440         * testsuite/20_util/function_objects/comparisons_void.cc: New.
442 2013-10-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
444         * include/std/tuple (_Index_tuple, _Build_index_tuple): Move to
445         <utility>.
446         * include/std/utility (integer_sequence, make_integer_sequence,
447         index_sequence, make_index_sequence, index_sequence_for): Define.
448         * doc/xml/manual/status_cxx2014.xml: Update.
449         * testsuite/20_util/integer_sequence/intseq.cc: New.
450         * testsuite/20_util/integer_sequence/requirements/typedefs.cc: New.
452 2013-10-31  Steve Ellcey  <sellcey@mips.com>
454         * configure.ac: Add header checks for fenv.h and complex.h.
455         * configure: Regenerate.
457 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
459         Implement C++14 digit separators.
460         * include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'>
461         to struct _Digit<_Base, '\''>.
463 2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
465         * testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune.
467 2013-10-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
469         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix
470         and enable VERIFY tests.
472 2013-10-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
474         * include/bits/shared_ptr (__shared_ptr): Assert non-void pointer.
475         * include/bits/shared_ptr (default_delete): Likewise.
476         * testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
477         default_delete<void>.
478         * testsuite/20_util/shared_ptr/cons/void_neg.cc: New.
479         * testsuite/20_util/default_delete/void_neg.cc: New.
480         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
481         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
483 2013-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
485         PR libstdc++/58839
486         * include/bits/shared_ptr_base.h
487         (__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Only use addressof
488         when unique_ptr<U,D>::pointer is not a built-in pointer type.
489         * testsuite/20_util/shared_ptr/cons/58839.cc: New.
490         * testsuite/20_util/enable_shared_from_this/members/assign.cc: New.
491         * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: New.
493 2013-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
495         * include/bits/hashtable.cc (__access_protected_ctor): Define and use
496         new type instead of _Hashtable_ebo_helper.
497         * testsuite/23_containers/unordered_set/
498         not_default_constructible_hash_neg.cc: Adjust line number.
500 2013-10-28  Tim Shen  <timshen91@gmail.com>
502         * regex_executor.tcc: Add comments.
504 2013-10-26  Tim Shen  <timshen91@gmail.com>
506         * include/bits/regex.h: Remove unnecessary friends.
507         * include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
508         to here.
509         * include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
510         they are merged into _Executor. Eliminate quantifier tracking part, so
511         it's faster.
512         * include/bits/regex_executor.tcc: Implement _Executor.
513         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New.
514         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust
515         duplicate testcases.
516         * testsuite/performance/28_regex/split.h: New.
517         * testsuite/performance/28_regex/split_bfs.cc: New.
518         * testsuite/util/testsuite_regex.h: Adjust behavior of two-executors
519         agreement judger: do not compare match_results when executor return
520         false.
522 2013-10-25  François Dumont  <fdumont@gcc.gnu.org>
524         * include/debug/formatter.h (__check_singular): Add const on
525         iterator reference.
526         * include/debug/functions.h (__check_singular): Likewise.
527         (__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete.
528         (__check_dereferenceable(const _Ite&)): Add const on iterator
529         reference.
530         (__check_dereferenceable(const _Safe_local_iterator<>&)): New.
531         * include/debug/safe_iterator.h (__check_singular_aux): Review
532         comment.
533         * testsuite/23_containers/vector/debug/debug_functions.cc: New.
534         * testsuite/23_containers/unordered_set/debug/debug_functions.cc:
535         New.
537 2013-10-23  Chris Jefferson  <chris@bubblescope.net>
538             Paolo Carlini  <paolo.carlini@oracle.com>
540         * testsuite/util/testsuite_containergen.h: New.
541         * testsuite/util/testsuite_iterators.h (test_container<>::val): Add.
542         * testsuite/25_algorithms/nth_element/random_test.cc: New, use the
543         above.
544         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
545         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
546         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
548 2013-10-23  Jason Merrill  <jason@redhat.com>
550         * include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base.
552 2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
554         PR libstdc++/58850
555         * include/std/chrono (minutes, hours): Change typedefs to uniformly
556         use int64_t.
557         * testsuite/20_util/duration/arithmetic/58850.cc: New.
559 2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
561         * testsuite/decimal/pr58815.cc: Fix thinko.
563 2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
565         PR libstdc++/58815
566         * include/decimal/decimal (decimal32::operator long long(),
567         decimal64::operator long long(), decimal128::operator long long()):
568         Add in c++11 mode per n3407.
569         * testsuite/decimal/pr58815.cc: New.
571 2013-10-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
573         * include/bits/basic_string.h (operator""s): Remove space between quotes
574         and literal identifier.
575         * include/std/chrono (operator""h, operator""min, operator""s,
576         operator""ms, operator""us, operator""ns): Ditto.
578 2013-10-22  Ed Smith-Rowland  <3dw4rd@verizon.net>
580         Implement N3779 - User-defined Literals for std::complex,
581         part 2 of UDL for Standard Library Types
582         * include/std/complex: Add complex literal operators.
583         * testsuite/26_numerics/complex/literals/types.cc: New.
584         * testsuite/26_numerics/complex/literals/values.cc: New.
586 2013-10-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
588         PR libstdc++/58804
589         PR libstdc++/58729
590         * include/tr2/dynamic_bitset
591         (__dynamic_bitset_base<_WordT, _Alloc>::_M_are_all_aux,
592         __dynamic_bitset_base<_WordT, _Alloc>::_M_do_count):
593         Use __builtin_popcountll() instead of __builtin_popcountl().
594         * include/tr2/dynamic_bitset.tcc
595         (__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_first,
596         __dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_next):
597         Use __builtin_ctzll() instead of __builtin_ctzl().
599 2013-10-20  Tim Shen  <timshen91@gmail.com>
601         * include/bits/regex.h: Remove virtual class _Automaton.
602         * include/bits/regex_automaton.h: Likewise.
603         * include/bits/regex.tcc: Adjust comment for policy changing.
604         * include/bits/regex_executor.h: Update comments of complexity.
605         * include/bits/regex_executor.tcc: Adjust executor choosing
606         policy. Now DFS executor is the default one.
607         * testsuite/util/testsuite_regex.h (regex_match_debug,
608         regex_search_debug): Adjust for policy changing.
610 2013-10-20  Chris Jefferson  <chris@bubblescope.net>
611             Paolo Carlini  <paolo.carlini@oracle.com>
613         PR libstdc++/58800
614         * include/bits/stl_algo.h (__unguarded_partition_pivot): Change
615         __last - 2 to __last - 1.
616         * testsuite/25_algorithms/nth_element/58800.cc: New
618 2013-10-18  Edward Smith-Rowland  <3dw4rd@verizon.net>
620         PR libstdc++/58729
621         * include/tr2/dynamic_bitset (_M_resize, resize): Use input value
622         to set bits; (_M_do_left_shift, _M_do_right_shift, _M_do_to_ulong,
623         _M_do_to_ullong, _M_do_find_first, _M_do_find_next, _M_copy_from_ptr,
624         operator>>): Move long methods outline to...
625         * include/tr2/dynamic_bitset.tcc: New.
626         * include/Makefile.am: Add dynamic_bitset.tcc.
627         * include/Makefile.in: Add dynamic_bitset.tcc.
628         * testsuite/tr2/dynamic_bitset/pr58729.cc: New.
630 2013-10-18  Tim Shen  <timshen91@gmail.com>
632         * include/bits/regex_scanner.tcc: (_Scanner<>::_M_scan_normal,
633         _Scanner<>::_M_eat_escape_ecma, _Scanner<>::_M_eat_escape_posix,
634         _Scanner<>::_M_eat_escape_awk): Narrow character before finding in maps.
635         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
636         New.
638 2013-10-17  Tim Shen  <timshen91@gmail.com>
640         * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
641         Fix initialization orders in initialization list and add explicit braces
642         for potentially ambiguous(actually not) `else` branch to eliminate
643         warnings.
644         * include/bits/regex_automaton.h (_NFA<>::_NFA): Likewise.
645         * include/bits/regex_compiler.h (_CharMatcher<>::_CharMatcher,
646         _BracketMatcher<>::_BracketMatcher): Likewise.
647         * include/bits/regex_compiler.tcc (_Compiler<>::_Compiler,
648         _Compiler<>::_M_atom): Likewise.
649         * include/bits/regex_executor.h (_Executor<>::_Executor): Likewise.
650         * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs,
651         _Executor<>::_M_word_boundry): Likewise.
652         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner,
653         _Scanner<>::_M_eat_class): Likewise.
654         * include/bits/regex.tcc (__regex_algo_impl<>,
655         regex_iterator<>::operator++): Likewise, and remove unused typedef.
657 2013-10-16  Tim Shen  <timshen91@gmail.com>
659         * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
660         Add initialization for _M_has_m1.
661         * include/bits/regex.tcc (regex_token_iterator<>::operator=): Add return
662         statment.
664 2013-10-15  Diego Novillo  <dnovillo@google.com>
666         * testsuite/20_util/exchange/1.cc: Add missing function
667         bodies.
669 2013-10-15  Tim Shen  <timshen91@gmail.com>
671         PR libstdc++/58737
672         * include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
673         leak by adding it.
674         * include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.
676 2013-10-11  H.J. Lu  <hongjiu.lu@intel.com>
678         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
680 2013-10-10  Marcus Shawcroft  <marcus.shawcroft@arm.com>
682         * testsuite/29_atomics/atomic/cons/49445.cc
683         (dg-require-atomic-builtins): Add.
685 2013-10-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
687         * testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
688         aborting.
690 2013-10-09  Marcus Shawcroft  <marcus.shawcroft@arm.com>
692         * testsuite/20_util/shared_ptr/cons/58659.cc: Use __builtin_abort().
694 2013-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
696         * testsuite/*: Remove stray semi-colons after function definitions.
698 2013-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
700         PR libstdc++/58659
701         * include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
702         Delegate to constructor taking allocator.
703         (__shared_count::_S_create_from_up): Inline into ...
704         (__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
705         std::conditional instead of constrained overloads. Allocate memory
706         using the allocator type that will be used for deallocation.
707         * testsuite/20_util/shared_ptr/cons/58659.cc: New.
708         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
710 2013-10-08  Tim Shen  <timshen91@gmail.com>
712         * include/bits/regex_executor.h: Add _TodoList class.
713         * include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add
714         _M_match_stack and _M_stack to make everything faster. Break if
715         _M_stack is empty, to reduce unnecessary idling.
716         * testsuite/performance/28_regex/split.cc: New.
718 2013-10-06  Tim Shen  <timshen91@gmail.com>
720         * include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
721         Fix compile error.
722         * include/bits/regex.tcc: (regex_replace<>): Remove default parameter.
724 2013-10-06  Tim Shen  <timshen91@gmail.com>
726         * include/bits/regex.h (__regex_algo_impl<>, regex_match<>,
727         regex_search<>): New abstract function for regex_match and regex_search.
728         * include/bits/regex.tcc (__regex_algo_impl<>): Implement.
729         * include/bits/regex_executor.h
730         (_Executor<>::_M_lookahead,
731          _DFSExecutor<>::_M_clone,
732          _BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to
733         use.
734         * include/bits/regex_executor.tcc (__get_executor<>): Update the
735         definition to support __policy.
736         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use
737         *_debug.
738         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same.
739         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same.
740         * testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc:
741         Same.
742         * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
743         Same.
744         * testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
745         Same.
746         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same.
747         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same.
748         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same.
749         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
750         Same.
751         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
752         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
753         Same.
754         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
755         Same.
756         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
757         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
758         Same.
759         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
760         Same.
761         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same.
762         * testsuite/28_regex/algorithms/regex_match/extended/
763         string_bracket_01.cc: Same.
764         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
765         Same.
766         * testsuite/28_regex/algorithms/regex_match/extended/
767         string_questionmark.cc: Same.
768         * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
769         Same.
770         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
771         Same.
772         * testsuite/28_regex/algorithms/regex_match/extended/
773         string_dispatch_01.cc: Same.
774         * testsuite/28_regex/algorithms/regex_match/extended/
775         string_range_00_03.cc: Same.
776         * testsuite/28_regex/algorithms/regex_match/extended/
777         string_range_01_03.cc: Same.
778         * testsuite/28_regex/algorithms/regex_match/extended/
779         string_range_02_03.cc: Same.
780         * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
781         Same.
782         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same.
783         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same.
784         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same.
785         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same.
786         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same.
787         * testsuite/28_regex/match_results/format.cc: Same.
788         * testsuite/util/testsuite_regex.h
789         (regex_match_debug<>, regex_search_debug<>): Implement.
791 2013-10-06  Oleg Endo  <olegendo@gcc.gnu.org>
792             Paolo Carlini  <paolo.carlini@oracle.com>
794         PR libstdc++/58625
795         * include/c_global/cmath (signbit): Use __builtin_signbitf and
796         __builtin_signbitl.
798 2013-10-03  Tim Shen  <timshen91@gmail.com>
800         * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
801         backup variable initialization.
803 2013-10-03  John Woolverton  <jdwoolverton@gmail.com>
805         PR libstdc++/58604
806         * include/std/vector: Fix garbled line in HP Copyright.
808 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
810         * libsupc++/del_op.cc (operator delete): Don't test for 0 before free.
811         * libsupc++/del_opnt.cc (free): Only declare if freestanding.
812         (operator delete): Qualify free with std::.
814 2013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
815             Daniel Krugler  <daniel.kruegler@gmail.com>
817         PR libstdc++/58569
818         * include/std/functional (function::_CheckResult): Move to namespace
819         scope and rename to __check_func_return_type.
820         * testsuite/20_util/function/58569.cc: New.
822 2013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
824         PR libstdc++/58594
825         * include/bits/shared_ptr_base.h
826         (_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals.
827         * testsuite/20_util/shared_ptr/creation/58594.cc: New.
829 2013-10-02  Tim Shen  <timshen91@gmail.com>
831         * include/bits/regex_compiler.h
832         (_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly.
833         * include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()):
834         Add _M_equiv_set support.
835         * testsuite/28_regex/algorithms/regex_match/extended/
836         cstring_bracket_01.cc: Add new "[[=a=]]" testcase.
838 2013-10-01  Tim Shen  <timshen91@gmail.com>
840         * doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to
841         "is not correctly implemented".
843 2013-10-01  Tim Shen  <timshen91@gmail.com>
845         * doc/xml/manual/status_cxx2011.xml: Update regex status.
846         * include/bits/regex.h (match_results<>::begin,
847         match_results<>::cbegin, match_results<>::end, match_results<>::cend):
848         [28.10.3.13], [28.10.3.14] Always iterate the range [0, size()-2).
850 2013-10-01  François Dumont  <fdumont@gcc.gnu.org>
852         * include/parallel/algobase.h (mismatch, equal): Provide parallel
853         version for N3671 overloads.
855 2013-10-01  Paul Pluzhnikov  <ppluzhnikov@google.com>
857         * src/c++11/snprintf_lite.cc: Add missing
858         _GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION
860 2013-10-01  Joern Rennecke  <joern.rennecke@embecosm.com>
862         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for
863         _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions.
864         * configure: Regenerate.
866 2013-10-01  Tim Shen  <timshen91@gmail.com>
868         PR libstdc++/58576
869         * include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy)
870         (_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch.
871         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New.
873 2013-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
875         * include/parallel/algo.h (__find_switch): Use __binder2nd.
877 2013-09-30  Chris Jefferson  <chris@bubblescope.net>
879         PR libstdc++/58437
880         * include/bits/stl_algo.h (__move_median_first): Rename to
881         __move_median_to_first, change to take an addition argument.
882         (__unguarded_partition_pivot): Adjust.
883         * testsuite/performance/25_algorithms/sort.cc: New.
884         * testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
885         * testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
887 2013-09-28  François Dumont  <fdumont@gcc.gnu.org>
889         * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
890         inline.
891         (rotate_copy, stable_partition, partial_sort_copy): Likewise.
892         (lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
893         (includes, next_permutation, prev_permutation): Likewise.
894         (replace_copy, replace_copy_if, is_sorted_until): Likewise.
895         (minmax_element, is_permutation, adjacent_find): Likewise.
896         (count, count_if, search, search_n, merge): Likewise.
897         (set_intersection, set_difference): Likewise.
898         (set_symmetric_difference, min_element, max_element): Likewise.
899         * include/bits/stl_algobase.h (lower_bound): Likewise.
900         (lexicographical_compare, mismatch): Likewise.
902 2013-09-28  Tim Shen <timshen91@gmail.com>
904         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
905         Let ordinary char escaping in POSIX be valid.
906         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
907         change.
909 2013-09-27  François Dumont  <fdumont@gcc.gnu.org>
911         * include/bits/predefined_ops.h: New.
912         * include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
913         (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
914         algo duplication.
915         (__is_heap): Adapt.
916         (__make_heap): New.
917         (make_heap): Adapt to use latter.
918         (__sort_heap): New.
919         (sort_heap): Adapt to use latter.
920         * include/bits/algobase.h: Include <bits/predefined_ops.h>.
921         (__lexicographical_compare_impl): New.
922         (__lexicographical_compare<false>::__lc): Adapt to use latter.
923         (lexicographical_compare): Likewise.
924         (__lower_bound): New.
925         (lower_bound): Adapt to use latter.
926         (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
927         (__mismatch): New.
928         (mismatch): Use latter.
929         * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
930         <functional> include.
931         (__move_median_first, __find, __find_if, __find_if_not): Remove
932         algo duplication.
933         (__find_end): Likewise.
934         (__search_n): Rename into ...
935         (__search_n_aux): ... this.
936         (__search_n): Renew, use latter.
937         (search_n): Use latter.
938         (__search): New.
939         (search): Use latter.
940         (__find_end): Likewise.
941         (__remove_copy_if): New.
942         (remove_copy): Use latter.
943         (__adjacent_find): New.
944         (adjacent_find): Use latter.
945         (__unique): New.
946         (unique): Use latter.
947         (__unique_copy): Remove algo duplication.
948         (__stable_partition): New.
949         (stable_partition): Use latter.
950         (__heap_select): Remove algo duplication, use __make_heap.
951         (__partial_sort): New, use latter.
952         (partial_sort): Use latter.
953         (__partial_sort_copy): New.
954         (partial_sort_copy): Use latter.
955         (__unguarded_linear_insert, __insertion_sort): Remove algo
956         duplication.
957         (__unguarded_insertion_sort, __final_insertion_sort): Likewise.
958         (__unguarded_partition, __unguarded_partition_pivot): Likewise.
959         (__partial_sort): New.
960         (partial_sort): Use latter.
961         (__sort): New.
962         (sort): Use latter.
963         (lower_bound): Use __lower_bound.
964         (__upper_bound): New.
965         (upper_bound): Use latter.
966         (__equal_range): New.
967         (equal_range): Use latter.
968         (__move_merge_adaptive, __move_merge_adaptive_backward): Remove
969         algo duplication.
970         (__merge_adaptive, __merge_without_buffer): Likewise.
971         (__inplace_merge): New.
972         (inplace_merge): Use latter.
973         (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
974         algo duplication.
975         (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
976         (__inplace_stable_sort): Likewise.
977         (__include): New.
978         (includes): Use latter.
979         (__next_permutation): New.
980         (next_permutation): Use latter.
981         (__prev_permutation): New.
982         (prev_permutation): Use latter.
983         (__replace_copy_if): New.
984         (replace_copy): Use latter.
985         (__is_sorted_until): New.
986         (is_sorted_unitl): Use latter.
987         (__minmax_element): New.
988         (minmax_element): Use latter.
989         (__is_permutation): New.
990         (is_permutation): Use latter.
991         (__adjacent_find): New.
992         (adjacent_find): Use latter.
993         (__count_if): New.
994         (count): Use latter.
995         (count_if): Likewise.
996         (__merge): New.
997         (merge): Use latter.
998         (__stable_sort): New.
999         (stable_sort): Use latter.
1000         (__set_union): New.
1001         (set_union): Use latter.
1002         (__set_intersection): New.
1003         (set_intersection): Use latter.
1004         (__set_difference): New.
1005         (set_difference): Use latter.
1006         (__set_symmetric_difference): New.
1007         (set_symmetric_difference): Use latter.
1008         (__min_element): New.
1009         (min_element): Use latter.
1010         (__max_element): New.
1011         (max_element): Use latter.
1012         * include/Makefile.am: Add predefined_ops.h.
1013         * include/Makefile.in: Regenerate.
1014         * include/parallel/algobase.h (equal, mismatch): Add overloads
1015         from N3671.
1016         * testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
1017         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
1018         * testsuite/25_algorithms/find/vectorbool.cc: Likewise.
1019         * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
1020         * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
1021         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
1022         * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
1023         * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
1025 2013-09-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
1027         PR libstdc++/57465
1028         * include/std/functional
1029         (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
1030         for pointers.
1031         * testsuite/20_util/function/cons/57465.cc: New.
1033 2013-09-26  Tim Shen  <timshen91@gmail.com>
1035         * regex_error.h: Remove _S_error_last to follow the standard.
1036         * regex_scanner.tcc:
1037         (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
1038         error_badbrace.
1039         (_Scanner<>::_M_eat_escape_posix): Extended doesn't support
1040         back-reference.
1041         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
1042         Move here from ../../extended.
1043         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
1044         Likewise.
1046 2013-09-25  Marc Glisse  <marc.glisse@inria.fr>
1048         PR libstdc++/58338
1049         * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
1050         Mark as noexcept.
1051         (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
1052         operator++, operator==, operator!=, _M_next]: Likewise.
1053         (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
1054         operator->, operator++, operator==, operator!=, _M_next]: Likewise.
1055         (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
1056         operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
1057         Likewise.
1058         * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
1059         _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
1060         _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
1061         const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
1062         const _Node_iterator_base&)): Likewise.
1063         (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
1064         Likewise.
1065         (_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
1066         operator++]: Likewise.
1067         * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
1068         operator=, operator*, operator->, operator++, operator--, operator[],
1069         operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
1070         Likewise.
1071         (operator==(const _Safe_iterator&, const _Safe_iterator&),
1072         operator!=(const _Safe_iterator&, const _Safe_iterator&),
1073         operator<(const _Safe_iterator&, const _Safe_iterator&),
1074         operator<=(const _Safe_iterator&, const _Safe_iterator&),
1075         operator>(const _Safe_iterator&, const _Safe_iterator&),
1076         operator>=(const _Safe_iterator&, const _Safe_iterator&),
1077         operator-(const _Safe_iterator&, const _Safe_iterator&),
1078         operator+(difference_type, const _Safe_iterator&)): Likewise.
1079         * include/profile/iterator_tracker.h (__iterator_tracker)
1080         [__iterator_tracker, base, operator _Iterator, operator->, operator++,
1081         operator--, operator=, operator*, operator[], operator+=, operator+,
1082         operator-=, operator-]: Likewise.
1083         (operator==(const __iterator_tracker&, const __iterator_tracker&),
1084         operator!=(const __iterator_tracker&, const __iterator_tracker&),
1085         operator<(const __iterator_tracker&, const __iterator_tracker&),
1086         operator<=(const __iterator_tracker&, const __iterator_tracker&),
1087         operator>(const __iterator_tracker&, const __iterator_tracker&),
1088         operator>=(const __iterator_tracker&, const __iterator_tracker&),
1089         operator-(const __iterator_tracker&, const __iterator_tracker&),
1090         operator+(difference_type, const __iterator_tracker&)): Likewise.
1092 2013-09-24  Marc Glisse  <marc.glisse@inria.fr>
1094         PR libstdc++/58338
1095         PR libstdc++/56166
1096         * include/bits/basic_string.h (basic_string)
1097         [basic_string(basic_string&&)]: Make the noexcept conditional.
1098         [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
1099         [begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
1100         [pop_back]: Comment on the lack of noexcept.
1101         * include/debug/string (basic_string) [basic_string(const _Allocator&),
1102         basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
1103         operator[](size_type), pop_back]: Comment out noexcept, until vstring
1104         replaces basic_string.
1106 2013-09-24  Tim Shen  <timshen91@gmail.com>
1108         * include/Makefile.am: Add regex.tcc.
1109         * include/Makefile.in: Regenerate.
1110         * include/bits/regex.h: Remove definitions to regex.tcc.
1111         * include/bits/regex.tcc: New.
1112         (match_results::format, regex_replace): Implement;
1113         * include/bits/regex_compiler.h: Move _M_flags to the top of class
1114         member list, because other members' initialization depend on it.
1115         * include/bits/regex_compiler.tcc
1116         (_Compiler<>::_Compiler): Adjust member initializations.
1117         (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
1118         * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
1119         In the future, all regex classes may refactor to *Impl style.
1120         * include/bits/regex_executor.tcc (_Executor::_M_set_results):
1121         Merge identical code from _*Executor classes.
1122         * testsuite/28_regex/algorithms/regex_match/extended/
1123         string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
1124         caller for new __get_executors interface.
1125         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
1126         New.
1127         * testsuite/28_regex/match_results/format.cc: New.
1128         * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
1129         testcase.
1130         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
1132 2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
1134         * src/c++11/snprintf_lite.cc (__concat_size_t): Use
1135         unsigned long long conditionally.
1137 2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
1139         * src/c++11/snprintf_lite.cc (__concat_size_t): Use only
1140         std::__int_to_char<unsigned long long>()
1142 2013-09-21  Paul Pluzhnikov  <ppluzhnikov@google.com>
1144         * include/bits/functexcept.h (__throw_out_of_range_fmt): New.
1145         * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
1146         * src/c++11/snprintf_lite.cc: New.
1147         * src/c++11/Makefile.am: Add snprintf_lite.cc.
1148         * src/c++11/Makefile.in: Regenerate.
1149         * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
1150         * include/std/array (at): Use __throw_out_of_range_fmt.
1151         * include/debug/array (at): Likewise.
1152         * include/profile/array (at): Likewise.
1153         * include/std/bitset (_M_check_initial_position, _M_check): New.
1154         (bitset::bitset): Use _M_check_initial_position.
1155         (set, reset, flip, test): Use _M_check.
1156         * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
1157         * include/bits/stl_vector.h (_M_range_check): Likewise.
1158         * include/bits/stl_bvector.h (_M_range_check): Likewise.
1159         * include/bits/stl_deque.h (_M_range_check): Likewise.
1160         * include/bits/basic_string.h (_M_check, at): Likewise.
1161         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
1162         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
1163         * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
1164         Likewise.
1165         * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
1166         Likewise.
1167         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
1168         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
1169         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1170         Likewise.
1171         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1172         Likewise.
1173         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
1174         * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
1175         Likewise.
1176         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
1177         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
1178         * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
1180 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
1182         PR testsuite/57605
1183         * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
1184         -fdiagnostics-color=never to cxxflags.
1186 2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
1188         PR libstdc++/58338
1189         * include/bits/allocator.h (__alloc_swap::_S_do_it,
1190         __shrink_to_fit_aux::_S_do_it): Mark as noexcept.
1191         * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
1192         _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
1193         _M_set_length_and_sharable, _M_dispose]: Likewise.
1194         (basic_string::_Alloc_hider::_Alloc_hider): Likewise.
1195         (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
1196         _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
1197         _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
1198         Likewise.
1199         [clear]: Link to PR 56166.
1200         [swap]: Link to PR 58265.
1201         * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
1202         _Deque_iterator, _M_const_cast, operator*, operator->, operator++,
1203         operator--, operator+=, operator+, operator-=, operator-, operator[],
1204         _M_set_node]: Mark as noexcept.
1205         (operator==(const _Deque_iterator&, const _Deque_iterator&),
1206         operator!=(const _Deque_iterator&, const _Deque_iterator&),
1207         operator<(const _Deque_iterator&, const _Deque_iterator&),
1208         operator>(const _Deque_iterator&, const _Deque_iterator&),
1209         operator<=(const _Deque_iterator&, const _Deque_iterator&),
1210         operator>=(const _Deque_iterator&, const _Deque_iterator&),
1211         operator-(const _Deque_iterator&, const _Deque_iterator&),
1212         operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
1213         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1214         _M_initialize_map.
1215         [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
1216         Mark as noexcept.
1217         (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
1218         _Deque_impl(_Tp_alloc_type&&)]: Likewise.
1219         (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
1220         front, back, pop_front, pop_back, swap]: Likewise.
1221         [deque(), deque(const allocator_type&)]: Merge.
1222         * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
1223         operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
1224         * include/profile/deque (deque) [operator=(deque&&), operator[], front,
1225         back, pop_front, pop_back, swap]: Likewise.
1226         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1227         Adjust line number.
1228         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1229         Likewise.
1230         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1231         Likewise.
1232         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1233         Likewise.
1235 2013-09-20  Alan Modra  <amodra@gmail.com>
1237         * configure: Regenerate.
1239 2013-09-19  Marc Glisse  <marc.glisse@inria.fr>
1241         PR libstdc++/58338
1242         * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
1243         Mark as noexcept.
1244         (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
1245         operator++, operator--, operator==, operator!=]: Likewise.
1246         (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
1247         operator*, operator->, operator++, operator--, operator==, operator!=]:
1248         Likewise.
1249         (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
1250         operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
1251         Likewise.
1252         (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
1253         _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
1254         _S_maximum]: Likewise.
1255         * include/debug/string (basic_string) [basic_string(const _Allocator&),
1256         shrink_to_fit, operator[], pop_back]: Likewise.
1257         * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
1258         _M_ibegin, _M_iend, __versa_string(const _Alloc&),
1259         operator=(__versa_string&&), shrink_to_fit, operator[], front,
1260         back, assign(__versa_string&&), swap]: Likewise.
1261         (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
1262         Merge.
1264 2013-09-18  Marc Glisse  <marc.glisse@inria.fr>
1266         PR libstdc++/58338
1267         * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
1268         _M_const_cast, operator*, operator->, operator++, operator--,
1269         operator[], operator+=, operator+, operator-=, operator-, base]:
1270         Mark as noexcept.
1271         (operator==(const __normal_iterator&, const __normal_iterator&),
1272         operator!=(const __normal_iterator&, const __normal_iterator&),
1273         operator<(const __normal_iterator&, const __normal_iterator&),
1274         operator>(const __normal_iterator&, const __normal_iterator&),
1275         operator<=(const __normal_iterator&, const __normal_iterator&),
1276         operator>=(const __normal_iterator&, const __normal_iterator&),
1277         operator-(const __normal_iterator&, const __normal_iterator&),
1278         operator+(difference_type, const __normal_iterator&)): Likewise.
1279         * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
1280         Likewise.
1281         (list::_M_check_equal_allocators): Abort instead of throwing.
1282         * include/debug/array (array) [operator[], front, back]: Mark as
1283         noexcept.
1284         * include/profile/array (array) [operator[], front, back]: Likewise.
1285         * include/std/array (array) [operator[], front, back]: Likewise.
1286         * include/debug/list (list::splice): Likewise.
1287         * include/profile/list (list::splice): Likewise.
1288         * testsuite/23_containers/list/operations/5.cc: Remove file.
1289         * testsuite/23_containers/list/operations/5.h: Likewise.
1291 2013-09-18  Tim Shen  <timshen91@gmail.com>
1293         * include/bits/regex.h: Add friend classes.
1294         (match_results<>::position, regex_iterator<>::operator++):
1295         Implement position specification in regex_iterator.
1296         (regex_match<>, regex_search<>):
1297         Move match_results initializations to these function. Remove `todo`.
1298         * include/bits/regex_compiler.tcc:
1299         (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
1300         * include/bits/regex_constants.h:
1301         Fix indentation. Change match_flag_type to enum type.
1302         * include/bits/regex_executor.h:
1303         Merge identical code to the base class _Executor.
1304         Support flags in regex_constants.
1305         * include/bits/regex_executor.tcc: Likewise.
1306         * include/bits/regex_scanner.h: Add comments.
1307         * include/bits/regex_scanner.tcc: Same.
1308         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
1309         Add a testcase.
1310         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
1311         * testsuite/28_regex/iterators/regex_iterator/char/
1312         string_position_01.cc: Remove `xfail`.
1313         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
1314         Remove `xfail` and make the case really work.
1316 2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
1318         * testsuite/performance/25_algorithms/search_n.cc: Fix typo.
1320 2013-09-18  Marc Glisse  <marc.glisse@inria.fr>
1322         PR libstdc++/58338
1323         * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
1324         noexcept.
1325         * include/bits/stl_list.h (_List_iterator) [_List_iterator,
1326         _M_const_cast, operator*, operator->, operator++, operator--,
1327         operator==, operator!=]: Likewise.
1328         (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
1329         operator->, operator++, operator--, operator==, operator!=]: Likewise.
1330         (operator==(const _List_iterator&, const _List_const_iterator&),
1331         operator!=(const _List_iterator&, const _List_const_iterator&)):
1332         Likewise.
1333         (_List_impl) [_List_impl(const _Node_alloc_type&),
1334         _List_impl(_Node_alloc_type&&)]: Likewise.
1335         (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
1336         _List_base(_List_base&&), _M_clear, _M_init]: Likewise.
1337         (list) [list(), list(const allocator_type&)]: Merge.
1338         (list) [list(const allocator_type&), front, back, pop_front, pop_back,
1339         erase, _M_erase]: Mark as noexcept.
1340         * include/debug/list (list) [list(const _Allocator&), front, back,
1341         pop_front, pop_back, _M_erase, erase]: Likewise.
1342         * include/profile/list (list) [list(const _Allocator&), front, back,
1343         pop_front, pop_back, erase]: Likewise.
1344         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1345         Adjust line number.
1346         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1347         Likewise.
1348         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1349         Likewise.
1350         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1351         Likewise.
1353 2013-09-17  Marc Glisse  <marc.glisse@inria.fr>
1355         PR libstdc++/58338
1356         * include/bits/stl_vector.h (vector::vector(),
1357         vector::vector(const allocator_type&)): Merge.
1358         (_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
1359         _Vector_impl::_Vector_impl(_Tp_alloc_type&&),
1360         _Vector_impl::_M_swap_data,
1361         _Vector_base::_Vector_base(const allocator_type&),
1362         _Vector_base::_Vector_base(allocator_type&&),
1363         _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
1364         vector::vector(const allocator_type&), vector::operator[],
1365         vector::operator[] const, vector::front, vector::front const,
1366         vector::back, vector::back const, vector::pop_back,
1367         vector::_M_erase_at_end): Mark as noexcept.
1368         * include/debug/vector (vector::vector(const _Allocator&),
1369         vector::operator[], vector::operator[] const, vector::front,
1370         vector::front const, vector::back, vector::back const, vector::pop_back,
1371         _M_requires_reallocation, _M_update_guaranteed_capacity,
1372         _M_invalidate_after_nth): Mark as noexcept.
1373         * include/profile/vector (vector::vector(const _Allocator&),
1374         vector::operator[], vector::operator[] const, vector::front,
1375         vector::front const, vector::back, vector::back const): Mark as
1376         noexcept.
1377         (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
1378         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1379         Adjust line number.
1380         * testsuite/23_containers/vector/requirements/dr438/
1381         constructor_1_neg.cc: Likewise.
1382         * testsuite/23_containers/vector/requirements/dr438/
1383         constructor_2_neg.cc: Likewise.
1384         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1385         Likewise.
1387 2013-09-14  Tim Shen  <timshen91@gmail.com>
1389         * include/bits/regex.h (regex_match<>, regex_search<>):
1390         Change regex_executor caller. Now use their return value instead
1391         of checking __m[0].matched to find out if it's successful.
1392         (regex_search<>): Move the search logic to regex_executor.
1393         * include/bits/regex_automaton.h: Add some new _Opcode. Refactor
1394         _NFA::_M_insert_*.
1395         * include/bits/regex_automaton.tcc: Add DEBUG dump for new
1396         _Opcode. Refactor _NFA::_M_insert_*.
1397         * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
1398         Use make_shared instead of construct by hand.
1399         * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
1400         * include/bits/regex_constants.h: Fix indentation and line breaking.
1401         * include/bits/regex_executor.h: Add _ResultsEntry to support
1402         greedy/ungreedy mode. Move regex_search logic here.
1403         * include/bits/regex_executor.tcc: Implement assertions and
1404         greedy/ungreedy matching.
1405         * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
1406         * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
1407         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
1408         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
1409         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
1410         Fix comment.
1412 2013-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
1414         PR libstdc++/58415
1415         * include/ext/sso_string_base.h (__sso_string_base<>::
1416         __sso_string_base(__sso_string_base&&)): Fix thinkos about
1417         _M_length vs _M_set_length.
1418         * testsuite/ext/vstring/cons/58415-1.cc: New.
1419         * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
1421 2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>
1423         PR libstdc++/58403
1424         * include/bits/stl_iterator.h (__normal_iterator<>::operator[],
1425         operator+=, operator+, operator-=, operator-): Take the argument
1426         by value.
1427         * testsuite/24_iterators/normal_iterator/58403.cc: New.
1429 2013-09-11  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
1430             Chris Jefferson  <chris@bubblescope.net>
1432         PR libstdc++/58358
1433         * include/bits/stl_algo.h (search_n): Fix to guarantee a number
1434         of comparisons <= number of elements in the range.
1435         * testsuite/25_algorithms/search_n/58358.cc: New.
1436         * testsuite/25_algorithms/search_n/iterator.cc: Extend.
1438 2013-09-10  Ed Smith-Rowland  <3dw4rd@verizon.net>
1440         * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
1441         from char to wchar_t, literals from 'x' to L'x'.
1443 2013-09-10  Kai Tietz  <ktietz@redhat.com>
1445         PR libstdc++/54314
1446         * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
1447         like in gnu.ver.
1449 2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
1451         PR libstdc++/58341
1452         * include/bits/stl_algobase.h (copy_backward): Fix documentation
1453         per DR 1206.
1455 2013-09-05  Tim Shen  <timshen91@gmail.com>
1457         * include/bits/regex_automaton.h: Add dummy node type. Rewrite
1458         _StateSeq.
1459         * include/bits/regex_automaton.tcc: Implement them.
1460         * include/bits/regex_compiler.h: Rewrite _Compiler to use new
1461         _StateSeq interfaces.
1462         * include/bits/regex_compiler.tcc: Implement them.
1463         * include/bits/regex_scanner.h: Add word boundry assertion token.
1464         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1465         Support word boundry.
1466         * testsuite/28_regex/algorithms/regex_match/basic/
1467         string_range_02_03.cc: Remove "xfail".
1468         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
1469         Likewise.
1470         * testsuite/28_regex/algorithms/regex_match/extended/
1471         string_range_02_03.cc: Likewise.
1472         * testsuite/28_regex/algorithms/regex_match/extended/
1473         cstring_questionmark.cc: Remove xfail and get correct length of
1474         c-string.
1475         * testsuite/28_regex/algorithms/regex_match/extended/
1476         string_range_00_03.cc: Likewise.
1477         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1478         New.
1479         * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
1480         New.
1481         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
1483 2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
1485         PR libstdc++/58302
1486         * include/bits/random.tcc (negative_binomial_distribution<>::
1487         operator()(_UniformRandomNumberGenerator&, const param_type&)):
1488         Fix typo in template argument.
1489         * testsuite/26_numerics/random/negative_binomial_distribution/
1490         operators/58302.cc: New.
1492 2013-09-02  Tim Shen  <timshen91@gmail.com>
1494         * regex_automaton.h: Rearrange _NFA's layout.
1495         * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
1496         Rearrange _BracketMatcher's layout.
1497         (_BracketMatcher<>::_M_add_char): Use set instead of vector for
1498         _M_char_set.
1499         (_BracketMatcher<>::_M_add_collating_element): Likewise.
1500         (_BracketMatcher<>::_M_make_range): Likewise.
1501         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
1502         appropriate constructors of matchers above.
1503         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
1504         New.
1505         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
1506         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
1507         New.
1508         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
1509         New.
1510         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
1511         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
1512         New.
1513         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
1515 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
1517         PR libstdc++/58148
1518         * include/debug/functions.h (__foreign_iterator_aux4): Use
1519         sequence const_pointer as common type to compare pointers. Add a
1520         fallback overload in case pointers cannot be cast to sequence
1521         const_pointer.
1522         * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
1524 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
1526         PR libstdc++/58191
1527         * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
1528         __gnu_debug::__base calls on iterators passed to internal debug
1529         check.
1530         (__glibcxx_check_partitioned_lower_pred): Likewise.
1531         (__glibcxx_check_partitioned_upper): Likewise.
1532         (__glibcxx_check_partitioned_upper_pred): Likewise.
1533         (__glibcxx_check_sorted): Likewise.
1534         (__glibcxx_check_sorted_pred): Likewise.
1535         (__glibcxx_check_sorted_set): Likewise.
1536         (__glibcxx_check_sorted_set_pred): Likewise.
1537         * include/debug/functions.h (__check_partitioned_lower):
1538         Remove code to detect safe iterators.
1539         (__check_partitioned_upper): Likewise.
1540         (__check_sorted): Likewise.
1542 2013-08-29  Tim Shen  <timshen91@gmail.com>
1544         * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
1545         (regex_iterator<>::regex_iterator): Return nullptr when regex_search
1546         failed.
1547         (regex_token_iterator<>::_M_end_of_seq): Should be defined true when
1548         _M_result is(not isn't) nullptr.
1549         * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
1550         instead of by value.
1551         * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
1552         _M_traits to _DFSExecutor.
1553         * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
1554         _DFSExecutor too.
1555         * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
1556         New.
1557         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1558         wstring_02.cc: New.
1560 2013-08-26  Tim Shen  <timshen91@gmail.com>
1562         * include/Makefile.am: Add regex_scanner.{h,tcc}.
1563         * include/Makefile.in: Regenerate.
1564         * include/bits/regex.h (match_search): Handle the `__first == __last`
1565         situation correctly.
1566         * include/bits/regex_compiler.h: Move _Scanner...
1567         * include/bits/regex_scanner.h: ...to here. New.
1568         * include/bits/regex_compiler.tcc: Move _Scanner...
1569         * include/bits/regex_scanner.tcc: ...to here, too. New.
1570         * include/bits/regex_executor.tcc: Use value instead of reference for
1571         submatch.
1572         * include/std/regex: Add regex_scanner.h
1573         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
1574         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
1575         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
1576         * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
1577         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
1579 2013-08-22  Tim Shen  <timshen91@gmail.com>
1581         * include/bits/regex.h: Replace 8 spaces in indentation with a tab.
1582         * include/bits/regex_automaton.h: Same.
1583         * include/bits/regex_automaton.tcc: Same.
1584         * include/bits/regex_compiler.h: Same.
1585         * include/bits/regex_compiler.tcc: Same.
1586         * include/bits/regex_constants.h: Same.
1587         * include/bits/regex_executor.h: Same.
1588         * include/bits/regex_executor.tcc: Same.
1590 2013-08-22  Tim Shen  <timshen91@gmail.com>
1592         * include/bits/regex.h: Executor caller.
1593         * include/bits/regex_executor.h: Fix empty grouping problem.
1594         * include/bits/regex_executor.tcc: Same.
1595         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
1596           New.
1598 2013-08-20  Phil Muldoon  <pmuldoon@redhat.com>
1600         PR libstdc++/53477
1601         http://sourceware.org/bugzilla/show_bug.cgi?id=15195
1603         * python/libstdcxx/v6/printers.py (Printer.__call__): If a value
1604         is a reference, fetch referenced value.
1605         (RxPrinter.invoke): Ditto.
1606         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
1607         flag. Add referenced value tests.
1609 2013-08-20  Tim Shen  <timshen91@gmail.com>
1611         * include/bits/regex_constants.h: Add underlying `unsigned int` for
1612           enum syntax_option_type.
1614 2013-08-18  Tim Shen  <timshen91@gmail.com>
1616         * include/bits/regex_automaton.h: _S_opcode_backref.
1617         * include/bits/regex_automaton.tcc: Backref automaton support.
1618         * include/bits/regex_compiler.tcc: Parsing support.
1619         * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
1620         * include/bits/regex_executor.tcc: Add _S_opcode_backref support.
1621         * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
1623 2013-08-16  Tim Shen  <timshen91@gmail.com>
1625         * include/bits/regex.h (regex_traits<>::transform_primary):
1626         Avoid past-the-end dereferences.
1628 2013-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
1630         PR libstdc++/58163
1631         * include/bits/basic_string.h (basic_string<>::operator[]): Fix
1632         _GLIBCXX_DEBUG_PEDASSERT check vs C++11.
1633         * include/ext/vstring.h: Likewise.
1634         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
1635         New.
1636         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
1637         Likewise.
1638         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
1639         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
1641 2013-08-14  Uros Bizjak  <ubizjak@gmail.com>
1643         * src/c++98/compatibility.cc (_ZTIe): Use
1644         reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
1645         (_ZTIPe): Ditto.
1646         (ZTIPKe): Ditto.
1648 2013-08-09  Tim Shen  <timshen91@gmail.com>
1650         * include/bits/regex_constants.h: Change syntax_option_type to enum
1651         type.
1653 2013-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1655         * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
1657 2013-08-08  François Dumont  <fdumont@gcc.gnu.org>
1659         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
1660         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
1661         _Hashtable.
1662         (_Before_begin<>): Remove.
1663         * include/bits/hashtable.h (_Hashtable): Inherit from
1664         _Hashtable_alloc and adapt. Restore _M_before_begin field.
1665         * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
1666         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
1667         access to hashtable before begin.
1668         * testsuite/23_containers/unordered_set/
1669         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
1670         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1671         Likewise.
1673 2013-08-07  Tim Shen  <timshen91@gmail.com>
1675         * include/Makefile.am: Adjust to new files.
1676         * include/Makefile.in: Regenerate.
1677         * include/bits/regex.h: Adjust to new interfaces.
1678         * include/bits/regex_automaton.h: New.
1679         * include/bits/regex_automaton.tcc: New.
1680         * include/bits/regex_compiler.h: Adjust to new files.
1681         * include/bits/regex_compiler.tcc: New.
1682         * include/bits/regex_constants.h: Tail spaces.
1683         * include/bits/regex_error.h: Likewise.
1684         * include/bits/regex_executor.h: New.
1685         * include/bits/regex_executor.tcc: New.
1686         * include/std/regex: Adjust to new files.
1687         * testsuite/28_regex/algorithms/regex_match/extended/
1688         string_dispatch_01.cc: Adjust to new interfaces.
1690 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
1692         * include/ext/atomicity.h: Add #pragma GCC system_header.
1694 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
1696         PR libstdc++/58098
1697         * include/bits/random.h (cauchy_distribution<>::min,
1698         extreme_value_distribution<>::min, normal_distribution<>::min,
1699         student_t_distribution<>::min): Fix.
1700         * include/ext/random (normal_mv_distribution<>::min): Likewise.
1701         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
1702         Adjust.
1703         testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
1704         Likewise.
1705         * testsuite/26_numerics/random/extreme_value_distribution/cons/
1706         parms.cc: Likewise.
1707         testsuite/26_numerics/random/extreme_value_distribution/cons/
1708         default.cc: Likewise.
1709         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
1710         Likewise.
1711         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
1712         Likewise.
1713         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
1714         Likewise.
1715         * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
1716         Likewise.
1717         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
1718         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
1720         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
1721         Minor tweak.
1722         * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
1723         Likewise.
1725         * testsuite/ext/von_mises_distribution/*: Move to...
1726         * testsuite/ext/random/von_mises_distribution/*: ... here.
1727         * testsuite/ext/triangular_distribution/*: Move to...
1728         * testsuite/ext/random/triangular_distribution/*: ... here.
1730 2013-08-06  Caroline Tice  <cmtice@google.com>
1732         * fragment.am: Add XTEMPLATE_FLAGS.
1733         * configure.ac: Add definitions for --enable-vtable-verify.
1734         * acinclude.m4:  Add --enable-vtable-verify and
1735         --disable-vtable-verify; define --enable-vtable-verify; define
1736         VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
1737         * config/abi/pre/gnu.ver: Export symbols for vtable verification.
1738         * libsupc++/Makefile.am: Define vtv_sources and add it to
1739         libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
1740         * libsupc++/vtv_stubs.cc: New file.
1741         * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
1742         * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
1743         VTV_CXXLINKFLAGS to CXXLINK.
1744         * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
1745         to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
1746         * src/C++11/Makefile.am: Ditto.
1747         * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
1748         * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
1749         cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
1750         * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
1751         libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
1752         cxxvtvflags to cxx_final.
1753         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
1754         -fvtable-verify=none to compiler flags.
1755         * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
1756         to compiler flags.
1757         * configure: Regenerated.
1758         * Makefile.in: Regenerated.
1759         * python/Makefile.in: Regenerated.
1760         * include/Makefile.in: Regenerated.
1761         * libsupc++/Makefile.in: Regenerated.
1762         * config.h.in: Regenerated.
1763         * po/Makefile.in: Regenerated.
1764         * src/Makefile.in: Regenerated.
1765         * src/c++98/Makefile.in: Regenerated.
1766         * src/c++11/Makefile.in: Regenerated.
1767         * doc/Makefile.in: Regenerated.
1768         * testsuite/Makefile.in: Regenerated.
1770 2013-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
1772         Revert the last commit.
1774 2013-08-06  François Dumont  <fdumont@gcc.gnu.org>
1776         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
1777         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
1778         _Hashtable.
1779         (_Before_begin<>): Remove.
1780         * include/bits/hashtable.h (_Hashtable): Inherit from
1781         _Hashtable_alloc and adapt. Restore _M_before_begin field.
1782         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
1783         access to hashtable before begin.
1784         * testsuite/23_containers/unordered_set/
1785         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
1786         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1787         Likewise.
1789 2013-08-03  Tim Shen  <timshen91@gmail.com>
1791         Implement bracket expression.
1792         * include/bits/regex.h: Remove constexpr from "|=", etc.
1793         * include/bits/regex_compiler.h: Parse bracket expression.
1794         * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
1795         _RangeMatcher).
1796         * include/bits/regex_nfa.tcc: Implement them.
1797         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1798         from regex_search to regex_match.
1799         * testsuite/28_regex/algorithms/regex_match/extended/
1800         cstring_bracket_01.cc: New.
1802 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
1804         * include/debug/functions.h (__foreign_iterator_aux4):
1805         Initialize __l and __ge.
1807 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
1809         PR libstdc++/58049
1810         * include/debug/functions.h: Include <bits/move.h>; minor formatting
1811         changes.
1812         (__foreign_iterator_aux4): Declare __l and __ge constexpr.
1813         * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
1814         Use __addressof.
1815         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
1816         operator->): Likewise.
1818 2013-08-01  François Dumont  <fdumont@gcc.gnu.org>
1820         PR libstdc++/57779
1821         * include/debug/formatter.h (_Debug_msg_id): Add
1822         __msg_insert_itself_range entry.
1823         * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
1824         New, indicate container types supporting self range insertion in
1825         GNU implementation.
1826         (__foreign_iterator): New, check if an iterator points to a given
1827         sequence.
1828         * include/debug/macros.h (__glibcxx_check_insert_range): Add check
1829         using __foreign_iterator.
1830         (__gibcxx_check_insert_range_after): Likewise.
1831         * include/debug/string (_Insert_range_from_self_is_safe<>):
1832         Partially specialized to mark __gnu_debug::basic_string<> as
1833         supporting self range insert.
1834         * include/debug/list (_Insert_range_from_self_is_safe<>):
1835         Partially specialized to mark std::list as supporting self range
1836         insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
1837         * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
1838         Likewise.
1839         * src/c++11/debug.cc (_S_debug_messages): Add
1840         __msg_insert_itself_range_entry message.
1841         (_Error_formatter::_Parameter::_M_print_description): Display
1842         iterator sequence address rather than sequence address when the
1843         parameter type is an iterator.
1844         (_Error_formatter::_M_print_word): Enhance behavior when
1845         displaying a word with an appended '\n'.
1846         * testsuite/util/debug/checks.h (check_insert4<>): New.
1847         * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
1848         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
1849         * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
1850         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
1851         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
1852         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
1853         Likewise.
1855 2013-08-01  Fabien Chêne  <fabien@gcc.gnu.org>
1857         PR c++/54537
1858         * include/tr1/cmath: Remove pow(double,double) overload, remove a
1859         duplicated comment about DR 550. Add a comment to explain the
1860         issue.
1861         * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
1863 2013-07-31  Tim Shen  <timshen91@gmail.com>
1865         Thompson matcher refactored. Fix grouping problem.
1866         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1867         * include/bits/regex_compiler.h: Tweak for auto switching.
1868         * include/bits/regex_grep_matcher.h: Class structure.
1869         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1870         matcher) refactoring.
1871         * include/bits/regex_nfa.h: Change _Results's interfaces.
1872         * include/std/regex: Includes <map> and <queue>.
1873         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1874         For both matchers.
1875         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1876         For both matchers.
1877         * testsuite/28_regex/algorithms/regex_match/extended/
1878         string_dispatch_01.cc: New.
1880 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
1882         PR libstdc++/56627
1883         * include/bits/stl_bvector.h: Use friend struct hash intead of
1884         friend class hash to work around useless warnings produced by
1885         some compilers.
1886         * include/std/bitset: Likewise.
1888 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
1890         * src/c++11/functexcept.cc: Do not include the whole <regex>.
1891         * src/c++11/regex.cc: Likewise.
1893 2013-07-31  Tim Shen  <timshen91@gmail.com>
1895         Revert last commit.
1897 2013-07-31  Tim Shen  <timshen91@gmail.com>
1899         Thompson matcher refactored. Fix grouping problem.
1900         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1901         * include/bits/regex_compiler.h: Tweak for auto switching.
1902         * include/bits/regex_grep_matcher.h: Class structure.
1903         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1904         matcher) refactoring.
1905         * include/bits/regex_nfa.h: Change _Results's interfaces.
1906         * include/std/regex: Includes <map> and <queue>.
1907         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1908         For both matchers.
1909         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1910         For both matchers.
1911         * testsuite/28_regex/algorithms/regex_match/extended/
1912         string_dispatch_01.cc: New.
1914 2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
1916         Revert last commit.
1918 2013-07-30  Tim Shen  <timshen91@gmail.com>
1920         Thompson matcher refactored. Fix grouping problem.
1921         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
1922         * include/bits/regex_compiler.h: Tweak for auto switching.
1923         * include/bits/regex_grep_matcher.h: Class structure.
1924         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
1925         matcher) refactoring.
1926         * include/bits/regex_nfa.h: Change _Results's interfaces.
1927         * include/std/regex: Includes <map> and <queue>.
1928         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
1929         For both matchers.
1930         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
1931         For both matchers.
1932         * testsuite/28_regex/algorithms/regex_match/extended/
1933         string_dispatch_01.cc: New.
1935 2013-07-29  Nathan Froyd  <froydnj@gcc.gnu.org>
1937         * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
1938         Add call to __cmpexch_failure_order.
1939         * testsuite/util/testsuite_common_types.h
1940         (compare_exchange_order_lowering): New generator.
1941         * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
1942         New test.
1944 2013-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
1946         * include/std/complex (pow(const complex<>&, int)): Enable in
1947         C++11 mode too.
1948         * testsuite/26_numerics/complex/dr844.cc: Adjust.
1949         * doc/xml/manual/intro.xml: Update.
1951 2013-07-25  Tim Shen  <timshen91@gmail.com>
1953         Add documents and comments.
1954         * include/bits/regex.h: Documents and comments.
1955         * include/bits/regex_grep_matcher.h: Likewise.
1956         * include/bits/regex_grep_matcher.tcc: Likewise.
1957         * testsuite/28_regex/iterators/regex_iterator/char/
1958         string_position_01.cc: New.
1960 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
1962         PR libstdc++/57976
1963         * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
1964         time_get::do_get.
1966 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
1968         * include/bits/random.h (random_device): Avoid using the FILE type.
1969         * include/std/random: Do not include <cstdio>.
1970         * src/c++11/random.cc: ... include it here.
1971         (random_device::_M_init, random_device::_M_fini,
1972         random_device::_M_getval): Cast back and forth void* and FILE*.
1974 2013-07-24  Tim Shen  <timshen91@gmail.com>
1976         Reimplment matcher using Depth-first search(backtracking).
1977         PR libstdc++/53622
1978         PR libstdc++/57173
1979         * include/bits/regex.h: regex_match() and regex_search().
1980         * include/bits/regex_cursor.h: Fix _M_set_pos().
1981         * include/bits/regex_grep_matcher.h: add _M_dfs_match().
1982         * include/bits/regex_grep_matcher.tcc: Implement it.
1983         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
1984         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
1985         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
1986         Remove xfail.
1988 2013-07-23  Tim Shen  <timshen91@gmail.com>
1990         Implement regex_iterator and regex_token_iterator.
1991         * include/bits/regex.h: regex_iterator and regex_token_iterator.
1992         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
1993         New.
1994         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
1995         New.
1996         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
1997         New.
1998         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1999         string_01.cc: New.
2001 2013-07-23  Paolo Carlini  <paolo.carlini@oracle.com>
2003         * include/std/random: Add back <cstdio> include.
2004         * src/c++11/random.cc: Don't include <cstdio> here.
2006 2013-07-22  Jason Merrill  <jason@redhat.com>
2008         PR libstdc++/57914
2009         * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
2011 2013-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
2013         PR c++/57920
2014         * src/c++11/random.cc (random_device::_M_getval): If possible, use
2015         read instead of std::fread.
2016         * include/std/random: Do not include <cstdio> unnecessarily.
2018 2013-07-21  Tim Shen  <timshen91@gmail.com>
2020         Partially implement regex_search.
2021         * include/bits/regex.h: regex_search.
2022         * include/bits/regex_grep_matcher.h: _M_search_from_first.
2023         * include/bits/regex_grep_matcher.tcc: Implement it.
2024         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
2026 2013-07-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
2028         PR libstdc++/54352
2029         * include/std/condition_variable (condition_variable_any): Move into
2030         inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
2031         * src/c++11/condition_variable.cc (condition_variable_any): Move
2032         definitions to ...
2033         * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
2034         * src/Makefile.am: Add new source file.
2035         * src/Makefile.in: Regenerate.
2037 2013-07-09  Tim Shen  <timshen91@gmail.com>
2039         Implement class regex_traits.
2040         * include/bits/regex.h: Implement lookup_classname and
2041         lookup_collatename; modify isctype; partially implement
2042         transform_primary.
2043         * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
2044         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
2045         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
2046         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
2047         * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
2048         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
2049         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
2050         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
2052 2013-07-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
2054         * doc/xml/manual/status_cxx2014.xml: Add links for papers.
2056 2013-07-05  François Dumont  <fdumont@gcc.gnu.org>
2058         * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
2059         pattern.
2060         (_MoveReuseOrAllocNode): Remove.
2061         (_Insert_base): Take a functor defining how the node is generated.
2062         * include/bits/hashtable.h: Adapt.
2063         (operator=(initializer_list<value_type>)): Reuse node if any.
2064         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2065         Adjust dg-error line number.
2066         * testsuite/23_containers/unordered_set/
2067         not_default_constructible_hash_neg.cc: Likewise.
2069 2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
2071         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2072         Tweak, avoid potential undefined behavior.
2073         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2074         Likewise.
2075         * testsuite/23_containers/vector/bool/modifiers/insert/
2076         const_iterator.cc: Likewise.
2077         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2078         Likewise.
2080 2013-07-04  Veres Lajos  <vlajos@gmail.com>
2081             Jonathan Wakely  <jwakely.gcc@gmail.com>
2083         * config/locale/generic/codecvt_members.cc: Fix typo.
2084         * configure.host: Likewise.
2085         * doc/html/manual/policy_data_structures_design.html: Likewise.
2086         * doc/xml/manual/policy_data_structures.xml: Likewise.
2087         * include/bits/hashtable.h: Likewise.
2088         * include/bits/random.h: Likewise.
2089         * include/profile/impl/profiler_trace.h: Likewise.
2090         * testsuite/23_containers/deque/cons/2.cc: Likewise.
2091         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
2092         * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
2093         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2095 2013-07-04  Ray Chason  <chasonr@newsguy.com>
2096             Paolo Carlini  <paolo.carlini@oracle.com>
2098         PR libstdc++/57808
2099         * include/bits/regex.h (regex_token_iterator<>::operator==,
2100         regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
2101         regex_token_iterator<>::operator->): Declare const.
2103 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
2105         * include/bits/stl_list.h (list<>::insert(iterator,
2106         size_type, const value_type&), list<>::insert(iterator,
2107         initializer_list<>), list<>::insert(iterator, _InputIterator,
2108         _InputIterator), list<>::splice(iterator, list&&),
2109         list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
2110         iterator), list<>::splice(iterator, list&, iterator),
2111         list<>::splice(iterator, list&&, iterator, iterator),
2112         list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
2113         signatures to take const_iterator(s).
2114         * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
2115         const value_type&), list<>::insert(const_iterator, _InputIterator,
2116         _InputIterator)): Define.
2117         * include/ext/vstring.h (__versa_string<>::insert(iterator,
2118         size_type, _CharT), __versa_string<>::insert(iterator,
2119         _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
2120         std::initializer_list<>), __versa_string<>::replace(iterator,
2121         iterator, _InputIterator, _InputIterator), __versa_string<>::
2122         replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
2123         signatures to take const_iterator(s).
2124         (__versa_string<>::_M_replace_dispatch): Take const_iterators.
2125         * include/ext/vstring.tcc: Likewise.
2126         * include/debug/list: Adjust.
2127         * include/profile/list: Likewise.
2128         * testsuite/23_containers/list/operations/splice/const_iterator.cc:
2129         New.
2130         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2131         Extend.
2132         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
2133         Likewise.
2134         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
2135         Likewise.
2136         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
2137         Likewise.
2138         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
2139         Likewise.
2141         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2142         Adjust dg-error line number.
2143         * testsuite/23_containers/list/requirements/dr438/
2144         constructor_1_neg.cc: Likewise.
2145         * testsuite/23_containers/list/requirements/dr438/
2146         constructor_2_neg.cc: Likewise.
2147         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2148         Likewise.
2150 2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
2152         * include/bits/stl_deque.h (deque<>::insert(iterator,
2153         size_type, const value_type&), deque<>::insert(iterator,
2154         initializer_list<>), deque<>::insert(iterator, _InputIterator,
2155         _InputIterator)): Adjust C++11 signatures to take a const_iterator.
2156         * include/bits/stl_vector.h: Likewise.
2157         * include/bits/stl_bvector.h: Likewise.
2158         * include/debug/deque: Adjust.
2159         * include/debug/vector: Likewise.
2160         * include/profile/deque: Likewise.
2161         * include/profile/vector: Likewise.
2162         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2163         Extend.
2164         * testsuite/23_containers/vector/bool/modifiers/insert/
2165         const_iterator.cc: Likewise.
2166         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2167         Likewise.
2169         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2170         Adjust dg-error line number.
2171         * testsuite/23_containers/deque/requirements/dr438/
2172         constructor_1_neg.cc: Likewise.
2173         * testsuite/23_containers/deque/requirements/dr438/
2174         constructor_2_neg.cc: Likewise.
2175         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2176         Likewise.
2177         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2178         Likewise.
2179         * testsuite/23_containers/vector/requirements/dr438/
2180         constructor_1_neg.cc: Likewise.
2181         * testsuite/23_containers/vector/requirements/dr438/
2182         constructor_2_neg.cc: Likewise.
2183         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2184         Likewise.
2186 2013-06-29  François Dumont  <fdumont@gcc.gnu.org>
2188         * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
2189         insert methods.
2190         * include/bits/hashtable.h: Likewise.
2191         * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
2192         * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
2193         New.
2194         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2195         Adjust dg-error line number.
2196         * testsuite/23_containers/unordered_set/
2197         not_default_constructible_hash_neg.cc: Likewise.
2198         * doc/xml/manual/containers.xml: Document hinting in unordered
2199         containers.
2201 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2203         * testsuite/21_strings/basic_string/operations/*: Move inside
2204         testsuite/21_strings/basic_string/operations/data/.
2205         * testsuite/21_strings/basic_string/compare/*: Move inside
2206         testsuite/21_strings/basic_string/operations/.
2207         * testsuite/21_strings/basic_string/find/*: Likewise.
2208         * testsuite/21_strings/basic_string/rfind/*: Likewise.
2209         * testsuite/21_strings/basic_string/substr/*: Likewise.
2211 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2213         * testsuite/21_strings/basic_string/append/*: Move inside
2214         testsuite/21_strings/basic_string/modifiers/.
2215         * testsuite/21_strings/basic_string/assign/*: Likewise.
2216         * testsuite/21_strings/basic_string/insert/*: Likewise.
2217         * testsuite/21_strings/basic_string/replace/*: Likewise.
2218         * testsuite/21_strings/basic_string/modifiers/pop_back/char/
2219         pop_back.cc: Rename to 1.cc.
2220         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
2221         pop_back.cc: Likewise.
2222         * testsuite/ext/vstring/assign/*: Move inside
2223         testsuite/ext/vstring/modifiers/.
2225 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2227         * include/bits/stl_deque.h (deque<>::insert(iterator,
2228         const value_type&), deque<>::insert(iterator, value_type&&),
2229         deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
2230         take a const_iterator.
2231         (deque<>::erase): Simplify.
2232         * include/bits/stl_list.h: Likewise.
2233         (_List_iterator<>::_M_const_cast): Add.
2234         * include/bits/stl_vector.h: Likewise.
2235         * include/bits/stl_bvector.h: Likewise.
2236         (_Bit_iterator::_M_const_cast): Add.
2237         * include/bits/deque.tcc: Adjust definitions.
2238         * include/bits/list.tcc: Likewise.
2239         * include/bits/vector.tcc: Likewise.
2240         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2241         Define trivial version in C++98 mode.
2242         * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
2243         __versa_string<>::replace(iterator, iterator, const __versa_string&),
2244         __versa_string<>::replace(iterator, iterator, const _CharT*,
2245         size_type), __versa_string<>::replace(iterator, iterator,
2246         const _CharT*), __versa_string<>::replace(iterator, iterator,
2247         size_type, _CharT)): Adjust C++11 signatures to take a pair of
2248         const_iterators.
2249         * include/debug/deque: Adjust.
2250         * include/debug/list: Likewise.
2251         * include/debug/vector: Likewise.
2252         * include/profile/deque: Likewise.
2253         * include/profile/list: Likewise.
2254         * include/profile/vector: Likewise.
2255         (vector<>::emplace): Add.
2256         * testsuite/util/exception/safety.h: Update.
2257         * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
2258         New.
2259         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2260         Likewise.
2261         * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
2262         Likewise.
2263         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2264         Likewise.
2265         * testsuite/23_containers/vector/bool/modifiers/insert/
2266         const_iterator.cc: Likewise.
2267         * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
2268         Likewise.
2269         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2270         Likewise.
2271         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
2272         Likewise.
2273         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
2274         Likewise.
2275         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
2276         Likewise.
2277         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
2278         Likewise.
2280         * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
2281         ext/vstring/modifiers/erase/char/.
2282         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
2283         ext/vstring/modifiers/wchar_t/.
2284         * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
2285         ext/vstring/modifiers/pop_back/char/.
2286         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
2287         testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
2289         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2290         Adjust dg-error line number.
2291         * testsuite/23_containers/deque/requirements/dr438/
2292         constructor_1_neg.cc: Likewise.
2293         * testsuite/23_containers/deque/requirements/dr438/
2294         constructor_2_neg.cc: Likewise.
2295         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2296         Likewise.
2297         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2298         Likewise.
2299         * testsuite/23_containers/list/requirements/dr438/
2300         constructor_1_neg.cc: Likewise.
2301         * testsuite/23_containers/list/requirements/dr438/
2302         constructor_2_neg.cc: Likewise.
2303         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2304         Likewise.
2305         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2306         Likewise.
2307         * testsuite/23_containers/vector/requirements/dr438/
2308         constructor_1_neg.cc: Likewise.
2309         * testsuite/23_containers/vector/requirements/dr438/
2310         constructor_2_neg.cc: Likewise.
2311         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2312         Likewise.
2314 2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
2316         Status page for C++2014 library features
2317         * doc/xml/faq.xml: Add link to new C++14 status page.
2318         * doc/xml/manual/intro.xml: Ditto.
2319         * doc/xml/manual/status_cxx2014.xml: New.
2321 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
2323         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
2324         spurious fails with check-debug.
2325         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
2326         Likewise.
2327         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
2328         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
2329         Likewise.
2331 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
2333         PR libstdc++/57704
2334         * include/bits/char_traits.h (char_traits<char>::lt): Implement
2335         LWG 467.
2336         * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
2338 2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2340         PR libstdc++/57691
2341         * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
2342         declare per the letter of the C++ standard in terms of void.
2343         * include/c_std/cstdlib: Likewise.
2345 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
2347         PR libstdc++/57674
2348         * include/bits/random.h (binomial_distribution<>::_M_waiting):
2349         Add double parameter.
2350         * include/bits/random.tcc (binomial_distribution<>::operator()
2351         (_UniformRandomNumberGenerator&, const param_type&)): Pass
2352         __param._M_q to _M_waiting.
2353         (_M_waiting): Adjust.
2354         * testsuite/26_numerics/random/binomial_distribution/
2355         operators/values.cc: Add tests.
2357 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
2359         PR libstdc++/57666
2360         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
2361         Implement correctly C++11 26.6.2.3/1.
2362         * testsuite/26_numerics/valarray/dr630-3.C: New.
2364 2013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2366         PR libstdc++/57641
2367         * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
2368         functionality to new __timed_mutex_impl mixin. Overload try_lock_until
2369         to handle conversion between different clocks. Replace constrained
2370         __try_lock_for_impl overloads with conditional increment.
2371         * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
2372         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
2374 2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
2375             Chris Jefferson  <chris@bubblescope.net>
2377         * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
2378         dispatch to traditional std::equal for random-access iterators.
2379         (__equal2_aux, __equal2): Remove.
2380         (__equal::equal): Remove unused overloads.
2381         * include/bits/stl_algo.h (is_permutation): Fix typos.
2383 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2385         * include/std/shared_mutex (shared_lock::operator=): Add missing
2386         return statement.
2388 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2390         PR libstdc++/57263
2391         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
2392         allocator's pointer type.
2393         * include/bits/hashtable.h (_Hashtable): Likewise.
2394         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
2395         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
2396         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
2397         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
2399 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2401         * include/std/shared_mutex: Implement N3659.
2402         * include/bits/c++14_warning.h: New.
2403         * include/Makefile.am: Add new headers.
2404         * include/Makefile.in: Regenerate.
2405         * testsuite/30_threads/shared_lock/cons/1.cc: New.
2406         * testsuite/30_threads/shared_lock/locking/2.cc: New.
2407         * testsuite/30_threads/shared_lock/cons/2.cc: New.
2408         * testsuite/30_threads/shared_lock/locking/3.cc: New.
2409         * testsuite/30_threads/shared_lock/cons/3.cc: New.
2410         * testsuite/30_threads/shared_lock/locking/4.cc: New.
2411         * testsuite/30_threads/shared_lock/cons/4.cc: New.
2412         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
2413         * testsuite/30_threads/shared_lock/cons/5.cc: New.
2414         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
2415         * testsuite/30_threads/shared_lock/cons/6.cc: New.
2416         * testsuite/30_threads/shared_lock/requirements/
2417         explicit_instantiation.cc: New.
2418         * testsuite/30_threads/shared_lock/locking/1.cc: New.
2419         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
2420         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
2421         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
2422         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
2423         * testsuite/30_threads/shared_mutex/requirements/
2424         standard_layout.cc: New.
2425         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
2426         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
2428 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
2430         PR libstdc++/57619
2431         * include/bits/unordered_map.h (unordered_map<>::insert,
2432         unordered_multimap<>::insert): Use std::forward, not std::move.
2433         * testsuite/23_containers/unordered_map/insert/57619.C: New.
2434         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2436 2013-06-14  Alan Modra  <amodra@gmail.com>
2438         * configure.host (abi_baseline_pair): Match powerpc64*.
2440 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
2442         * include/std/type_traits (is_function): Support ref-qualified
2443         functions.
2444         (is_copy_constructible, is_move_constructible, is_copy_assignable,
2445         is_move_assignable, is_nothrow_copy_constructible,
2446         is_nothrow_move_constructible, is_nothrow_copy_assignable,
2447         is_nothrow_move_assignable): Implement LWG 2196.
2448         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
2449         LWG 2101.
2450         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
2451         unused.
2452         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
2453         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
2454         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
2455         * testsuite/20_util/is_assignable/value.cc: Likewise.
2456         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2457         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
2458         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
2459         * testsuite/20_util/is_function/value.cc: Likewise.
2460         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
2461         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
2462         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
2463         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
2464         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
2465         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
2467         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2468         line number.
2469         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2470         Likewise.
2471         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2472         Likewise.
2474 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
2476         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
2477         __gnu_cxx::__airy_bi()): Remove.
2478         * testsuite/tr1/5_numerical_facilities/special_functions/
2479         10_cyl_bessel_k/airy.cc: Fix.
2481 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
2483         PR libstdc++/56430
2484         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
2485         from void function.
2486         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
2487         * testsuite/tr1/5_numerical_facilities/special_functions/
2488         10_cyl_bessel_k/airy.cc: New.
2490 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
2492         Fix library literals error involving namespace __detail.
2493         * include/std/chrono: Rename __detail to __select_type. Reformat.
2494         * include/bits/basic_string.h: Reformat.
2495         * testsuite/20_util/duration/literals/ns_detail.cc: New.
2497 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
2499         PR libstdc++/56019
2500         * include/c_global/cstddef (max_align_t): Add to namespace std.
2501         * include/c_std/cstddef: Likewise.
2502         * testsuite/18_support/max_align_t/requirements/1.cc: New.
2503         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
2505 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
2507         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
2508         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
2509         * include/bits/stl_multimap.h: Same.
2510         * include/bits/stl_multiset.h: Same.
2511         * include/bits/stl_set.h: Same.
2512         * include/bits/stl_tree.h: Same.
2513         * include/std/complex (real, imag): Use macro for abi_tag.
2515         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
2516         * testsuite/util/testsuite_containers.h (erase_external): New
2517         declarations.
2518         (erase_external_iterators): Same.
2519         (linkage_check_cxx98_cxx11_erase): Same.
2520         (linkage_check_cxx98_cxx11_erase_iterators): Same.
2521         * testsuite/util/testsuite_shared.cc: Define.
2522         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
2523         * testsuite/23_containers/map/modifiers/erase/
2524         dr130-linkage-check.cc: New.
2525         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
2526         * testsuite/23_containers/multimap/modifiers/erase/
2527         dr130-linkage-check.cc: New.
2528         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
2529         * testsuite/23_containers/multiset/modifiers/erase/
2530         dr130-linkage-check.cc: New.
2531         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
2532         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
2533         New.
2534         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
2536         * testsuite/23_containers/map/dr130.cc: Move...
2537         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
2538         * testsuite/23_containers/multimap/dr130.cc: Move ...
2539         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
2540         * testsuite/23_containers/multiset/dr130.cc: Move...
2541         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
2542         * testsuite/23_containers/set/dr130.cc: Move...
2543         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
2545 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2547         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
2548         handling of Linux-based x86 systems to cover all GNU systems.
2549         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
2550         * testsuite/18_support/pthread_guard.cc: Likewise.
2551         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2552         Likewise.
2553         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
2554         Likewise.
2555         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
2556         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
2557         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2558         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2559         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
2560         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
2561         * testsuite/23_containers/list/pthread1.cc: Likewise.
2562         * testsuite/23_containers/list/pthread5.cc: Likewise.
2563         * testsuite/23_containers/map/pthread6.cc: Likewise.
2564         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
2565         Likewise.
2566         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2567         Likewise.
2568         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
2569         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
2570         * testsuite/30_threads/async/42819.cc: Likewise.
2571         * testsuite/30_threads/async/49668.cc: Likewise.
2572         * testsuite/30_threads/async/54297.cc: Likewise.
2573         * testsuite/30_threads/async/any.cc: Likewise.
2574         * testsuite/30_threads/async/async.cc: Likewise.
2575         * testsuite/30_threads/async/launch.cc: Likewise.
2576         * testsuite/30_threads/async/sync.cc: Likewise.
2577         * testsuite/30_threads/call_once/39909.cc: Likewise.
2578         * testsuite/30_threads/call_once/49668.cc: Likewise.
2579         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2580         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
2581         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2582         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2583         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2584         * testsuite/30_threads/condition_variable/members/53841.cc:
2585         Likewise.
2586         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
2587         Likewise.
2588         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
2589         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
2590         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2591         * testsuite/30_threads/condition_variable_any/members/1.cc:
2592         Likewise.
2593         * testsuite/30_threads/condition_variable_any/members/2.cc:
2594         Likewise.
2595         * testsuite/30_threads/future/cons/move.cc: Likewise.
2596         * testsuite/30_threads/future/members/45133.cc: Likewise.
2597         * testsuite/30_threads/future/members/get.cc: Likewise.
2598         * testsuite/30_threads/future/members/get2.cc: Likewise.
2599         * testsuite/30_threads/future/members/share.cc: Likewise.
2600         * testsuite/30_threads/future/members/valid.cc: Likewise.
2601         * testsuite/30_threads/future/members/wait.cc: Likewise.
2602         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2603         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2604         * testsuite/30_threads/lock/1.cc: Likewise.
2605         * testsuite/30_threads/lock/2.cc: Likewise.
2606         * testsuite/30_threads/lock/3.cc: Likewise.
2607         * testsuite/30_threads/lock/4.cc: Likewise.
2608         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2609         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2610         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2611         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2612         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
2613         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2614         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2615         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2616         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
2617         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2618         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2619         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
2620         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
2621         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2622         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2623         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
2624         Likewise.
2625         * testsuite/30_threads/packaged_task/members/get_future.cc:
2626         Likewise.
2627         * testsuite/30_threads/packaged_task/members/get_future2.cc:
2628         Likewise.
2629         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2630         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
2631         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
2632         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
2633         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2634         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
2635         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2636         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2637         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2638         * testsuite/30_threads/promise/cons/1.cc: Likewise.
2639         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
2640         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2641         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2642         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2643         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
2644         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2645         * testsuite/30_threads/promise/members/set_exception2.cc:
2646         Likewise.
2647         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2648         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2649         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2650         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2651         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2652         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2653         Likewise.
2654         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2655         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
2656         Likewise.
2657         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
2658         Likewise.
2659         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2660         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2661         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2662         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2663         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2664         Likewise.
2665         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2666         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2667         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2668         Likewise.
2669         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
2670         Likewise.
2671         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
2672         Likewise.
2673         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
2674         Likewise.
2675         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2676         Likewise.
2677         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2678         Likewise.
2679         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2680         Likewise.
2681         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2682         Likewise.
2683         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2684         Likewise.
2685         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
2686         Likewise.
2687         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
2688         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2689         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2690         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2691         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2692         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
2693         * testsuite/30_threads/shared_future/members/wait_for.cc:
2694         Likewise.
2695         * testsuite/30_threads/shared_future/members/wait_until.cc:
2696         Likewise.
2697         * testsuite/30_threads/this_thread/1.cc: Likewise.
2698         * testsuite/30_threads/this_thread/2.cc: Likewise.
2699         * testsuite/30_threads/this_thread/3.cc: Likewise.
2700         * testsuite/30_threads/this_thread/4.cc: Likewise.
2701         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2702         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2703         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2704         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2705         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
2706         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2707         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2708         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2709         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2710         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2711         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2712         * testsuite/30_threads/thread/members/1.cc: Likewise.
2713         * testsuite/30_threads/thread/members/2.cc: Likewise.
2714         * testsuite/30_threads/thread/members/3.cc: Likewise.
2715         * testsuite/30_threads/thread/members/4.cc: Likewise.
2716         * testsuite/30_threads/thread/members/5.cc: Likewise.
2717         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
2718         Likewise.
2719         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
2720         * testsuite/30_threads/thread/native_handle/typesizes.cc:
2721         Likewise.
2722         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2723         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2724         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
2725         Likewise.
2726         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2727         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2728         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
2729         Likewise.
2730         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2731         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2732         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2733         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2734         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2735         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2736         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2737         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2738         * testsuite/30_threads/try_lock/1.cc: Likewise.
2739         * testsuite/30_threads/try_lock/2.cc: Likewise.
2740         * testsuite/30_threads/try_lock/3.cc: Likewise.
2741         * testsuite/30_threads/try_lock/4.cc: Likewise.
2742         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2743         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2744         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2745         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2746         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2747         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2748         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2749         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2750         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2751         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2752         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2753         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2754         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
2755         * testsuite/ext/profile/mh.cc: Likewise.
2756         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
2757         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
2758         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
2759         Likewise.
2760         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
2761         Likewise.
2762         * testsuite/util/testsuite_performance.h: Extend current handling
2763         of Linux-based systems to cover all glibc-based systems.
2765 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2767         * include/std/mutex (call_once): Remove parentheses to fix error in
2768         c++1y and gnu++1y mode.
2769         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
2770         thread to avoid undefined behaviour.
2772 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
2774         Simplify and clean up library literals.
2775         * include/std/chrono: Simplify namespace and versioning management.
2776         * include/bits/basic_string.h: Ditto.
2777         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
2778         * testsuite/20_util/duration/literals/values.cc: Ditto.
2779         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
2780         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
2782 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
2784         Implement N3654 - Quoted Strings Library Proposal
2785         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
2786         manipulators and supporting machinery in c++1y mode.
2787         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
2788         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
2790 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2792         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
2793         2162: Add noexcept.
2795 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2797         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
2798         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
2799         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
2800         * testsuite/25_algorithms/equal/2.cc: New.
2801         * testsuite/25_algorithms/equal/check_type2.cc: New.
2802         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
2803         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
2804         * testsuite/25_algorithms/mismatch/2.cc: New.
2805         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
2806         * testsuite/util/testsuite_iterators.h: Fix spelling.
2808 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2810         * include/std/type-traits (integral_constant::operator()): Implement
2811         N3545.
2812         * testsuite/20_util/integral_constant/call_operator.cc: New.
2813         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2814         line numbers.
2815         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2816         Likewise.
2817         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2818         Likewise.
2820 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
2822         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2824 2013-06-05  Tom Tromey  <tromey@redhat.com>
2826         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
2828 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
2830         PR c++/57419
2831         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
2833 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
2835         * include/std/chrono: Collapse redundant 'inline' from 'inline
2836         constexpr'.
2837         * include/std/tuple: Ditto.
2838         * include/bits/move.h: Ditto.
2840 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
2842         Implement N3642 - User-defined Literals for Standard Library Types
2843         * include/bits/parse_numbers.h: New.
2844         * include/std/chrono: Add duration literal operators.
2845         * include/bits/basic_string.h: Add string literal operators.
2846         * include/Makefile.in: Add parse_numbers.h.
2847         * include/Makefile.am: Ditto.
2848         * testsuite/20_util/duration/literals/values.cc: New.
2849         * testsuite/20_util/duration/literals/types.cc: New.
2850         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
2851         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
2852         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
2853         * testsuite/21_strings/basic_string/literals/values.cc: New.
2854         * testsuite/21_strings/basic_string/literals/types.cc: New.
2856 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2858         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
2859         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
2860         calling non-existent from_time_t.
2862 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2864         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2865         Regenerate.
2867 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
2869         * include/std/chrono: Wrap clocks in inline namespace _V2.
2870         * src/c++11/chrono.cc: Same.
2871         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
2872         file, with default configure macros selected.
2874         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
2875         namespace.
2876         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
2878         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2879         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2880         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2881         Regenerated.
2882         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2883         Regenerated.
2884         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2885         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2886         Regenerated.
2887         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2888         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2889         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2890         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2891         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2892         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2893         Regenerated.
2894         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2895         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2897 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2899         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
2900         (CLOCK_MONOTONIC): Define.
2902 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
2904         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
2905         overload.
2907         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
2909 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
2911         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
2912         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
2913         don't define system_clock::is_steady, system_clock::now() and
2914         steady_clock::is_steady.
2915         (std::chrono::system_clock::now()): If
2916         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
2917         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
2918         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
2919         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
2920         be non-empty.
2921         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
2922         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
2923         * src/c++11/compatibility-chrono.cc: New file.
2924         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
2925         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
2926         * testsuite/util/testsuite_abi.cc (check_version): Add
2927         GLIBCXX_3.4.20 version and make it the latest.
2928         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
2929         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
2930         @@GLIBCXX_3.4.20 instead.
2931         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
2932         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
2933         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
2934         Regenerated.
2935         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2936         Regenerated.
2937         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
2938         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
2939         Regenerated.
2940         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
2941         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
2942         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
2943         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
2944         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
2945         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
2946         Regenerated.
2947         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
2948         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
2949         * config.h.in: Regenerated.
2950         * src/Makefile.in: Regenerated.
2951         * configure: Regenerated.
2953 2013-05-23  Matthias Klose  <doko@ubuntu.com>
2955         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
2956         (ext_headers): Remove ${ext_host_headers}.
2957         (stamp-${host_alias}): Create ${host_builddir}/../ext.
2958         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
2959         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
2960         * include/Makefile.in: Regenerate.
2961         * include/ext/random: Include ext/opt_random.h.
2963 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2965         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
2966         enable features if target OS is known to support them.
2967         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
2968         * configure: Regenerate.
2970 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
2972         PR libstdc++/57336
2973         * include/std/functional (__invoke): Do not form function types with
2974         abstract return type.
2975         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
2977 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
2979         * include/std/tuple (get): Implement N3670.
2980         * include/std/utility (get): Likewise.
2981         * testsuite/20_util/pair/get.cc: Move to ...
2982         * testsuite/20_util/pair/astuple/get.cc: Here.
2983         * testsuite/20_util/pair/astuple/astuple.cc: New.
2984         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
2985         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
2986         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
2987         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
2988         * testsuite/20_util/pair/astuple/get_neg.cc: New.
2989         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
2990         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
2991         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
2993 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
2995         * Revert last commit.
2997 2013-05-19  Matthias Klose  <doko@ubuntu.com>
2999         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
3000         (ext_headers): Remove ${ext_host_headers}.
3001         (stamp-${host_alias}): Create ${host_builddir}/../ext.
3002         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
3003         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
3004         * include/Makefile.in: Regenerate.
3006 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3008         * include/std/system_error (error_category::error_category()): LWG
3009         2145: Declare public and constexpr.
3010         * src/c++11/system_error.cc (error_category::error_category()): Move
3011         definition to ...
3012         * src/c++11/compatibility-c++0x.cc: Here.
3014 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3016         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
3018 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3020         * include/bits/unique_ptr.h (make_unique): Declare inline.
3021         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
3022         (default_delete, unique_ptr): Add doxygen comments.
3023         * include/bits/shared_ptr_base.h: Improve doxygen comments.
3024         * include/bits/shared_ptr.h: Likewise.
3025         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
3026         number.
3027         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
3029 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3031         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
3033 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3035         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
3037 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3039         * include/std/utility (exchange): Define.
3040         * testsuite/20_util/exchange/1.cc: New.
3042 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3044         * include/bits/unique_ptr.h (make_unique): Define.
3045         * testsuite/20_util/unique_ptr/creation/single.cc: New.
3046         * testsuite/20_util/unique_ptr/creation/array.cc: New.
3047         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
3049 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
3051         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
3052         rendering of std::tr1 unordered containers iterator.
3053         (StdHashtableIterator): New, render std unordered containers iterator.
3054         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
3056 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
3058         * include/bits/basic_string.h (getline): Fix doxygen comments.
3060 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
3062         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
3063         Use std::pointer_traits.
3065 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3067         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
3068         bad_array_new.cc.
3069         * libsupc++/Makefile.in: Regenerate.
3070         * libsupc++/bad_array_length.cc: Tweak.
3071         * libsupc++/bad_array_new.cc: Tweak.
3073 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
3075         PR libstdc++/54577
3076         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
3077         (_Deque_iterator<>::_M_const_cast): Add.
3078         (deque<>::_M_erase): Declare.
3079         * include/bits/deque.tcc: ... and define.
3080         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
3081         (_List_const_iterator<>::_M_const_cast): Add.
3082         * include/bits/list.tcc (erase (iterator)): Fix.
3083         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
3084         Add; include <ext/cast.h>.
3085         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
3086         (vector<>::_M_erase): Declare.
3087         * include/bits/stl_bvector.h: Likewise.
3088         * include/bits/vector.tcc (vector<>::_M_erase): Define.
3089         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
3090         * include/debug/deque: Adjust.
3091         * include/debug/list: Likewise.
3092         * include/debug/vector: Likewise.
3093         * include/profile/deque: Likewise.
3094         * include/profile/list: Likewise.
3095         * include/profile/vector: Likewise.
3096         * testsuite/util/exception/safety.h (erase_base<deque>,
3097         erase_base<deque>, erase_base<vector>): Remove.
3098         (erase_base<__versa_string>): Update.
3099         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
3100         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
3101         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
3102         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
3103         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
3104         Likewise.
3105         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
3106         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3107         Adjust dg-error line numbers.
3108         * testsuite/23_containers/deque/requirements/dr438/
3109         constructor_1_neg.cc: Likewise.
3110         * testsuite/23_containers/deque/requirements/dr438/
3111         constructor_2_neg.cc: Likewise.
3112         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3113         Likewise.
3114         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3115         Likewise.
3116         * testsuite/23_containers/list/requirements/dr438/
3117         constructor_1_neg.cc: Likewise.
3118         * testsuite/23_containers/list/requirements/dr438/
3119         constructor_2_neg.cc: Likewise.
3120         * testsuite/23_containers/list/requirements/dr438/
3121         insert_neg.cc: Likewise.
3122         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3123         Likewise.
3124         * testsuite/23_containers/vector/requirements/dr438/
3125         constructor_1_neg.cc: Likewise.
3126         * testsuite/23_containers/vector/requirements/dr438/
3127         constructor_2_neg.cc: Likewise.
3128         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3129         Likewise.
3131 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
3133         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
3135 2013-05-08  Jason Merrill  <jason@redhat.com>
3137         Add std::bad_array_length (N3639)
3138         * libsupc++/new: Add std::bad_array_length.
3139         * libsupc++/bad_array_length.cc: New.
3140         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
3141         * libsupc++/Makefile.in: Build them.
3142         * config/abi/pre/gnu.ver: Add new symbols.
3143         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
3145 2013-05-08  Andi Kleen  <ak@linux.intel.com>
3147         PR target/55947
3148         * libstdc++-v3/include/bits/atomic_base.h
3149         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
3150         (atomic_thread_fence, atomic_signal_fence, test_and_set,
3151         clear, store, load, exchange, compare_exchange_weak)
3152         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
3153         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
3155 2013-05-08  Jason Merrill  <jason@redhat.com>
3157         Add std::bad_array_new_length (N2932)
3158         * libsupc++/new: Add std::bad_array_new_length.
3159         * libsupc++/bad_array_new.cc: New.
3160         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
3161         * libsupc++/Makefile.in: Build them.
3162         * config/abi/pre/gnu.ver: Add new symbols.
3163         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
3165 2013-05-08  Andoni Morales Alastruey  <ylatuya@gmail.com>
3167         PR libstdc++/57212
3168         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
3169         to __MINGW32__.
3170         * include/Makefile.in: Regenerated.
3172 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
3174         * include/profile/unordered_base.h: New.
3175         * include/Makefile.am: Add new profile header.
3176         * include/Makefile.in: Regenerate.
3177         * include/profile/impl/profiler.h
3178         (__profcxx_inefficient_hash_is_on): New macro.
3179         * include/profile/unordered_map (std::profile::unordered_map<>):
3180         Use new _Unordered_profile base class. Use default implementations
3181         for special functions.
3182         (std::profile::unordered_multimap<>): Likewise.
3183         * include/profile/unordered_set (std::profile::unordered_set<>):
3184         Likewise.
3185         (std::profile::unordered_multiset<>): Likewise.
3186         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
3187         MoveOnly equality operator signature.
3189 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
3191         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
3192         constexpr_data.cc: Move...
3193         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
3194         ... here.
3195         * testsuite/20_util/integral_constant/requirements/
3196         explicit_instantiation.cc: New.
3197         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
3198         Likewise.
3199         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
3200         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
3201         Likewise.
3202         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
3203         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
3205 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
3207         * include/std/type_traits (is_null_pointer): Add.
3208         (__is_nullptr_t): Implement in terms of the latter.
3209         (is_fundamental, is_scalar): Adjust.
3210         * testsuite/20_util/is_null_pointer/requirements/
3211         explicit_instantiation.cc: New.
3212         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
3213         Likewise.
3214         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
3215         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3216         line number.
3217         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3218         Likewise.
3219         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3220         Likewise.
3222 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
3224         * include/c_global/cstdio: Add comment about LWG 2249.
3225         * include/c_std/cstdio: Likewise.
3227 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3229         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
3230         comment.
3231         * include/std/mutex (__recursive_mutex_base): Likewise.
3233 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3235         PR libstdc++/51365
3236         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
3237         implement EBO safely.
3238         (_Sp_counted_base::_M_get_deleter): Add noexcept.
3239         (_Sp_counter_ptr): Use noexcept instead of comments.
3240         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
3241         (_Sp_counted_ptr_inplace): Likewise.
3242         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
3243         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
3244         custom allocator and test construction with custom allocator.
3245         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
3246         line number.
3248 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
3250         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
3251         dialect to -std=gnu++11.
3253 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
3255         * include/bits/hashtable_policy.h
3256         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
3257         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
3259 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
3261         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
3262         * include/c_std/cstdio (gets): Likewise.
3263         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
3265 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
3267         PR libstdc++/57065
3268         * include/debug/unordered_map (unordered_map, unordered_multimap):
3269         Fix default allocator type.
3270         * include/profile/unordered_map (unordered_map, unordered_multimap):
3271         Likewise.
3272         * include/bits/unordered_map.h: Fix comments.
3274 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
3276         PR libstdc++/56905
3277         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
3278         move implementation to make_exception_ptr.
3279         * include/std/future (_State_base::_M_break_promise): Replace
3280         copy_exception with make_exception_ptr.
3281         * testsuite/18_support/exception_ptr/move.cc: Likewise.
3282         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
3283         * testsuite/30_threads/future/members/get2.cc: Likewise.
3284         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
3285         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
3286         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
3287         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3289 2013-04-22  Jason Merrill  <jason@redhat.com>
3291         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
3293         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
3294         substitution" lines.
3296         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
3297         function-cv-quals.
3298         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
3299         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
3300         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
3302 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
3304         * include/bits/hashtable_policy.h: Add C++11 allocator support.
3305         * include/bits/hashtable.h: Likewise.
3306         * include/bits/unordered_set.h: Likewise.
3307         * include/bits/unordered_map.h: Likewise.
3308         * include/debug/unordered_set: Likewise.
3309         * include/debug/unordered_map: Likewise.
3310         * include/std/unordered_set: Remove bits/algobase.h
3311         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
3312         * include/std/unordered_map: Likewise.
3313         * include/ext/throw_allocator.h: Add checks on calls to allocator
3314         construct/destroy.
3315         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
3316         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
3317         * testsuite/util/regression/rand/priority_queue
3318         /container_rand_regression_test.tcc: Adapt.
3319         * testsuite/util/regression/rand/assoc
3320         /container_rand_regression_test.tcc: Likewise.
3321         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
3322         * testsuite/23_containers/unordered_set
3323         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
3324         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
3325         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
3326         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
3327         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
3328         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
3329         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
3330         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
3331         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
3332         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
3333         New.
3334         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
3335         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
3336         New.
3337         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
3338         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
3339         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
3340         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
3341         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
3342         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
3343         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
3344         New.
3345         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
3346         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
3347         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
3348         New.
3349         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
3350         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
3351         New.
3352         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
3353         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
3355 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
3357         * include/std/type_traits (is_signed): Simplify.
3358         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3359         Adjust dg-error line numbers.
3360         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3361         Likewise.
3362         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3364 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
3366         N3669
3367         * include/std/complex (complex<float>::real, complex<float>::imag,
3368         complex<double>::real, complex<double>::imag,
3369         complex<long double>::real, complex<long double>::imag): Declare
3370         as const member functions.
3371         * include/std/type_traits (integral_constant<>::operator value_type):
3372         Likewise.
3374 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
3376         PR libstdc++/57010
3377         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
3378         * testsuite/25_algorithms/pop_heap/57010.cc: New.
3380 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
3382         * src/c++11/system_error.cc (generic_category_instance): Add
3383         initializer.
3384         (system_category_instance): Likewise.
3385         * src/c++11/future.cc (__fec): Likewise.
3387 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3389         * doc/xml/manual/extensions.xml: Fix anachronism.
3391 2013-04-09  Tom Tromey  <tromey@redhat.com>
3393         * configure, config.h.in: Rebuild.
3394         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
3395         sys/sdt.h.
3396         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
3398 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
3400         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3402 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
3404         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
3406 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3408         * include/Makefile.am: Add ext/aligned_buffer.h
3409         * include/Makefile.in: Regenerate.
3410         * include/ext/aligned_buffer.h: New.
3411         * include/std/future (_Result): Use __aligned_buffer.
3412         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
3413         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
3414         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
3415         number.
3417 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3419         * include/bits/forward_list.h: Only include required headers.
3420         (forward_list::reference): Define directly, not using __alloc_traits.
3421         (forward_list::const_reference): Likewise.
3423 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
3425         * include/std/functional (_Derives_from_unary_function): Remove.
3426         (_Derives_from_binary_function): Remove.
3427         * include/std/type_traits (__sfinae_types): Remove.
3428         (__is_assignable_helper): Adapt.
3429         (__is_convertible_helper): Adapt.
3430         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
3431         Remove several explicit instantiations of integral_constant.
3432         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
3433         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3434         Adapt dg-error line number.
3435         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3436         Likewise.
3437         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3438         * testsuite/20_util/bind/ref_neg.cc: Likewise.
3440 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
3442         PR libstdc++/56841
3443         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
3444         get_terminate() accessors.
3445         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
3446         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
3447         available.
3448         * libsupc++/new_handler.cc: Likewise.
3450 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
3452         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
3454 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
3456         PR libstdc++/56834
3457         * include/debug/array (tuple_size, tuple_element): Do not declare.
3458         * include/profile/array: Likewise.
3459         * testsuite/23_containers/array/tuple_interface/
3460         tuple_element_debug_neg.cc: Adjust dg-error line number.
3462 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
3464         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
3465         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
3466         Define.
3467         (set_terminate(terminate_handler)): Set atomically.
3468         (set_unexpected(terminate_handler)): Likewise.
3469         * libsupc++/new (get_new_handler()): Declare.
3470         * libsupc++/new_handler.cc (get_new_handler()): Define.
3471         (set_new_handler(new_handler)): Set atomically.
3472         (__new_handler): Use internal linkage.
3473         * libsupc++/new_op.cc (operator new): Use get_new_handler().
3474         * libsupc++/new_opnt.cc (operator new): Likewise.
3475         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
3476         * configure: Regenerate.
3477         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
3478         * libsupc++/Makefile.in: Regenerate.
3479         * config/abi/pre/gnu.ver: Add new exports.
3480         * doc/xml/manual/status_cxx2011.xml: Update.
3481         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
3482         for handlers.
3483         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
3484         * testsuite/18_support/new_handler.cc: New.
3485         * testsuite/18_support/terminate_handler.cc: New.
3486         * testsuite/18_support/unexpected_handler.cc: New.
3488 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
3490         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
3491         defer to general documentation on contributing to GCC.
3492         * doc/html/*: Regenerate.
3494 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
3496         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
3498         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
3499         Coding Standards.
3501         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
3503         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
3505         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
3507         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
3509         * doc/xml/manual/policy_data_structures: Remove direct link to
3510         IBM Haifa Research Labs.
3512         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
3513         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
3515         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
3516         papers.
3518         * doc/xml/manual/shared_ptr.xml: Use canonical address for
3519         www.boost.org.
3521 2013-03-27  Kai Tietz  <ktietz@redhat.com>
3523         * crossconfig.m4: Add support for cygwin x64 target.
3524         * configure: Regenerated.
3526 2013-03-25  Kai Tietz  <ktietz@redhat.com>
3528         * testsuite/18_support/50594.cc: For mingw-targets use only static
3529         libstdc++-version.
3530         * testsuite/19_diagnostics/error_category/operators/equal.cc
3531         * testsuite/19_diagnostics/error_code/cons/1.cc
3532         * testsuite/19_diagnostics/error_code/operators/bool.cc
3533         * testsuite/19_diagnostics/error_code/operators/equal.cc
3534         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
3535         * testsuite/19_diagnostics/error_condition/cons/1.cc
3536         * testsuite/19_diagnostics/error_condition/operators/bool.cc
3537         * testsuite/19_diagnostics/error_condition/operators/equal.cc
3538         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
3539         * testsuite/23_containers/set/requirements/exception/basic.cc
3540         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
3541         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
3543 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
3545         PR libstdc++/56170
3546         * include/ext/debug_allocator.h (debug_allocator): Add missing members
3547         to meet allocator requirements.
3548         * testsuite/ext/debug_allocator/56170.cc: New.
3550 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
3552         PR libstdc++/56678
3553         * include/std/chrono (__is_ratio): Uglify T.
3555 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
3557         PR libstdc++/55977 (partial, std::vector and std::deque bits)
3558         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
3559         _InputIterator, std::input_iterator_tag)): Use emplace_back.
3560         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
3561         _InputIterator, std::input_iterator_tag)): Likewise.
3562         * testsuite/23_containers/vector/cons/55977.cc: New.
3563         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
3564         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3565         Adjust dg-error line number.
3566         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3567         Likewise.
3569 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
3571         PR libstdc++/55979
3572         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
3573         _InputIterator, __false_type)): Use emplace_back.
3574         * testsuite/23_containers/list/cons/55979.cc: New.
3575         * testsuite/23_containers/list/modifiers/1.h: Adjust.
3576         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3577         Adjust dg-error line number.
3579 2013-03-16  Jason Merrill  <jason@redhat.com>
3581         PR c++/55017
3582         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
3584 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3586         PR libstdc++/56468
3587         * libsupc++/exception_ptr.h (type_info): Declare.
3589 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3591         PR libstdc++/56002
3592         * include/std/mutex (lock_guard, unique_lock, lock): Define without
3593         depending on _GLIBCXX_HAS_GTHREADS.
3594         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
3596 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3598         PR libstdc++/56492
3599         * include/std/future (__future_base::_Result): Add result_type
3600         typedef.
3601         (__future_base::_S_allocate_result): Overload for std::allocator.
3602         (__future_base::_Task_setter): Use _Result::result_type instead of
3603         deducing the type from the task.
3604         (__future_base::_Task_state): Store allocator to allow shared state
3605         to be reset.  Replace std::function with member of target object type
3606         accessed via ...
3607         (__future_base::_Task_state_base): New abstract base class.
3608         (__future_base::_Task_state_base::_M_run): New virtual function to
3609         invoke type-erased target object.
3610         (__future_base::_Task_state_base::_M_reset): New virtual function to
3611         create new shared_state using same target object and allocator.
3612         (__future_base::__create_task_state): Allocate a new _Task_state.
3613         (packaged_task::packaged_task): Use __create_task_state.
3614         (packaged_task::reset): Use _Task_state_base::_M_reset.
3615         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
3617 2013-03-15  Tom Tromey  <tromey@redhat.com>
3619         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
3620         (PROBE2): New macro.
3621         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
3622         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
3623         * configure.ac: Check for sys/sdt.h.
3624         * configure, config.h.in: Rebuild.
3626 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3628         PR libstdc++/56613
3629         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
3630         allocator_traits instead of calling construct directly.
3631         * testsuite/23_containers/map/56613.cc: New.
3633 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
3635         * doc/html/*: Regenerate.
3637 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
3639         PR libstdc++/56609
3640         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
3641         * testsuite/20_util/is_fundamental/value.cc: Extend.
3642         * testsuite/20_util/is_compound/value.cc: Likewise.
3644 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
3646         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
3647         -Wunused warnings.
3649 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
3651         * include/bits/memoryfwd.h: New. Centralize forward declarations.
3652         * include/bits/algorithmfwd.h: Consistent comments.
3653         * include/bits/localefwd.h: Same.
3654         * include/ext/vstring_fwd.h: Same.
3655         * include/parallel/algorithmfwd.h: Same.
3656         * include/parallel/numericfwd.h: Same.
3657         * include/std/iosfwd: Same.
3659         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
3660         forward decl.
3661         * include/ext/alloc_traits.h: Remove allocator forward decl.
3662         * include/bits/stl_construct.h: Same.
3663         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
3664         forward decl. Consistent comments.
3666         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
3668         * include/Makefile.am (bits_headers): Add memoryfwd.h.
3669         * include/Makefile.in: Regenerate.
3670         * configure: Same.
3672 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
3674         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
3675         Reset pointers after deallocation when memory can be reused.
3676         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
3677         elements to really challenge C++11 allocator integration.
3678         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
3679         * testsuite/23_containers/vector/allocator/copy_assign.cc:
3680         Likewise.
3681         * testsuite/23_containers/vector/allocator/move_assign.cc:
3682         Likewise.
3683         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
3684         swap vector back before checks on memory/personality mapping are
3685         performed.
3686         * testsuite/23_containers/forward_list/allocator/minimal.cc:
3687         Insert element to really challenge C++11 allocator integration.
3688         * testsuite/23_containers/forward_list/allocator/copy.cc:
3689         Likewise.
3690         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
3691         Likewise.
3692         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
3693         Likewise.
3694         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
3695         and swap forward_list back before checks on memory/personality
3696         mapping are performed.
3698 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
3700         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3701         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3702         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3703         Likewise.
3704         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3705         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3706         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3707         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3708         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3709         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3711 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3713         * scripts/extract_symvers.pl: Omit symbols bound to base
3714         versions.
3715         * scripts/extract_symvers.in: Likewise.
3716         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
3717         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
3718         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3719         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3720         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3722 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
3724         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
3725         Optimize generation function by pulling computation of __r into the
3726         constructor for param_type.  Also compare _M_mu in operator==.
3727         Fix comment.
3729 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
3731         Add triangular and von Mises distributions.
3732         * include/ext/random: Include <ext/cmath>.
3733         Add __gnu_cxx::triangular_distribution<> and
3734         __gnu_cxx::von_mises_distribution<> classes.
3735         * include/ext/random.tcc: Add out-of-line functions for
3736         __gnu_cxx::triangular_distribution<> and
3737         __gnu_cxx::von_mises_distribution<>.
3738         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
3739         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
3740         * testsuite/ext/triangular_distribution/operators/serialize.cc:
3741         New file.
3742         * testsuite/ext/triangular_distribution/operators/equal.cc:
3743         New file.
3744         * testsuite/ext/triangular_distribution/operators/inequal.cc:
3745         New file.
3746         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
3747         New file.
3748         * testsuite/ext/triangular_distribution/requirements/
3749         explicit_instantiation/1.cc: New file.
3750         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
3751         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
3752         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
3753         New file.
3754         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
3755         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
3756         New file.
3757         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
3758         New file.
3759         * testsuite/ext/von_mises_distribution/requirements/
3760         explicit_instantiation/1.cc: New file.
3762         Add math constants.
3763         * include/Makefile.am (ext_headers): Add cmath.
3764         * include/Makefile.in: Regenerated.
3765         * include/ext/cmath: New file.
3767 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3769         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
3770         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
3771         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3772         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3773         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3775 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
3777         PR libstdc++/56012
3778         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
3779         * testsuite/29_atomics/atomic/operators/56012.cc: New.
3781         PR libstdc++/56011
3782         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
3783         missing overload.
3784         * testsuite/29_atomics/atomic/operators/56011.cc: New.
3786 2013-02-25  Jason Merrill  <jason@redhat.com>
3788         * configure.ac: Check for __cxa_thread_atexit_impl.
3789         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
3790         to it if available.
3791         * config.h.in, configure: Regenerate.
3793 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3795         * include/std/streambuf (basic_streambuf): Use injected class name
3796         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
3797         group.
3799 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3801         * doc/html/faq.html: Fix spelling.
3802         * doc/xml/faq.xml: Likewise.
3803         * include/bits/basic_ios.h: Likewise.
3804         * include/bits/regex.h: Likewise.
3805         * include/std/istream: Likewise.
3806         * include/std/streambuf: Likewise.
3808 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3810         * testsuite/23_containers/unordered_set/55043.cc: Add missing
3811         namespace qualification.
3812         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
3814 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
3816         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
3817         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
3818         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
3819         * include/bits/stl_pair.h: Add to utilities group.
3820         * include/std/tuple: Same.
3821         * include/std/typeindex: Same.
3823         * include/bits/stringfwd.h: Fix markup.
3824         * include/std/limits: Same.
3825         * include/std/type_traits: Same.
3826         * include/tr1/memory: Same.
3827         * include/tr1/regex: Same.
3828         * scripts/run_doxygen: Comment.
3829         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
3831 2013-02-14  Jason Merrill  <jason@redhat.com>
3833         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
3834         test if unsupported.
3836 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
3838         PR libstdc++/56111
3839         * include/std/complex (complex): Undefine.
3840         * include/c_compatibility/complex.h (complex): Only undefine if
3841         <complex> has been included.
3842         * testsuite/26_numerics/complex/56111.cc: New testcase.
3844 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
3846         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
3847         default constructor protected.
3848         * include/bits/hashtable.h: static assert that _Hash_code_base has
3849         a default constructor available through inheritance.
3851 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
3853         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
3854         C++11 mode.
3856 2013-02-12  Julian Brown  <julian@codesourcery.com>
3858         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
3859         Don't expect dots after abbreviated weekday names for ru_RU for
3860         glibc versions >= 2.17.
3861         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
3862         Likewise.
3864 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
3866         * include/bits/random.tcc (__transform): Remove.
3867         (__normalize): Add.
3868         (discrete_distribution<>::param_type::_M_initialize): Adjust.
3869         (piecewise_constant_distribution<>::param_type::_M_initialize):
3870         Likewise.
3871         (piecewise_linear_distribution<>::param_type::_M_initialize):
3872         Likewise.
3874 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
3876         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
3877         Use -fimplicit-templates.
3878         * src/c++11/Makefile.in: Regenerate.
3879         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
3880         std::lower_bound template.
3882 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
3884         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
3885         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
3886         in C++11 mode and if available in the underlying C library.
3887         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
3888         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
3889         _GLIBCXX_HAVE_QUICK_EXIT.
3891 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
3893         * doc/html/*: Regenerate.
3895 2013-02-11  Jason Merrill  <jason@redhat.com>
3897         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
3898         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
3899         * config.h.in, configure: Regenerate.
3900         * include/c_std/cstdlib: Add atexit and at_quick_exit.
3901         * include/c_global/cstdlib: Add atexit and at_quick_exit.
3902         * testsuite/18_support/quick_exit/quick_exit.cc: New.
3904 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
3906         PR libstdc++/56282
3907         Revert:
3908         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
3910         PR libstdc++/56193
3911         * include/bits/basic_ios.h: Replace operator void*() const
3912         with explicit operator bool() const in C++11 and greater.
3913         * testsuite/27_io/basic_ios/pr56193.cc: New file.
3915 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
3916             Jonathan Wakely  <jwakely.gcc@gmail.com>
3918         * doc/xml/manual/containers.xml: Add section on unordered containers.
3919         * doc/xml/manual/using.xml: Fix incomplete sentence.
3921 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
3923         PR libstdc++/56267
3924         * include/bits/hashtable.h (__cache_default): Check if hash function
3925         is copy assignable.
3926         * testsuite/23_containers/unordered_set/56267.cc: New.
3927         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
3928         dg-error line number.
3929         * testsuite/23_containers/unordered_set/
3930         not_default_constructible_hash_neg.cc: Likewise.
3932         PR libstdc++/56278
3933         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
3934         constructor public.
3935         * testsuite/23_containers/unordered_set/56278.cc: New.
3937 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
3939         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
3940         simplification.
3942 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
3944         PR libstdc++/56216
3945         * include/tr1/special_function_util.h: Remove spurious const
3946         from numeric arguments.
3947         * include/tr1/riemann_zeta.tcc: Likewise.
3948         * include/tr1/exp_integral.tcc: Likewise.
3949         * include/tr1/bessel_function.tcc: Likewise.
3950         * include/tr1/hypergeometric.tcc: Likewise.
3951         * include/tr1/modified_bessel_func.tcc: Likewise.
3952         * include/tr1/poly_laguerre.tcc: Likewise.
3953         * include/tr1/gamma.tcc: Likewise.
3954         * include/tr1/legendre_function.tcc: Likewise.
3955         * include/tr1/poly_hermite.tcc: Likewise.
3956         * include/tr1/ell_integral.tcc: Likewise.
3957         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
3958         If argument is zero return function value.
3959         * testsuite/tr1/5_numerical_facilities/special_functions/
3960         08_cyl_bessel_i/pr56216.cc: New.
3962 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
3964         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
3966 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
3968         PR libstdc++/56193
3969         * include/bits/basic_ios.h: Replace operator void*() const
3970         with explicit operator bool() const in C++11 and greater.
3971         * testsuite/27_io/basic_ios/pr56193.cc: New file.
3973 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
3975         Add missing explicit instantiation for std::lower_bound template
3976         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
3977         missing instantiation for std::lower_bound template.
3979 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
3981         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
3982         * include/bits/basic_string.h: Specialize previous to mark
3983         std::hash for string types as slow.
3984         * include/bits/hashtable.h (__cache_default): Replace is_integral
3985         with __is_fast_hash.
3986         * src/c++11/hash_c++0x.cc: Add type_traits include.
3987         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
3988         Adapt dg-error line number.
3989         * testsuite/23_containers/unordered_set/
3990         not_default_constructible_hash_neg.cc: Likewise.
3992 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3993             Paolo Carlini  <paolo.carlini@oracle.com>
3995         PR libstdc++/56202 (again)
3996         * include/bits/random.tcc (binomial_distribution<>::
3997         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
3998         in previous commit.
4000         * include/bits/random.h: Fix comment typo.
4002 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4003             Paolo Carlini  <paolo.carlini@oracle.com>
4005         PR libstdc++/56202
4006         * include/bits/random.tcc (binomial_distribution<>::
4007         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
4008         division by zero.
4010 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
4012         Update copyright years.
4013         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
4014         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
4015         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
4016         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
4017         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
4018         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
4019         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
4020         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
4021         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
4022         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
4023         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
4024         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
4025         testsuite/29_atomics/atomic/cons/assign_neg.cc,
4026         testsuite/29_atomics/atomic/cons/copy_neg.cc,
4027         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
4028         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
4029         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
4030         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
4031         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
4032         Update lines in dg error matches.
4034 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
4036         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
4038 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
4040         * include/bits/hashtable_policy.h
4041         (_Prime_rehash_policy::_M_next_bkt)
4042         (_Prime_rehash_policy::_M_need_rehash): Move definition...
4043         * src/c++11/hashtable_c++0x.cc: ... here.
4044         * src/shared/hashtable-aux.cc: Remove c++config.h include.
4045         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
4046         symbols.
4048 2013-01-29  Jason Merrill  <jason@redhat.com>
4050         PR libstdc++/54314
4051         * config/abi/pre/gnu.ver: Don't export construction vtables.
4052         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
4054 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
4056         PR libstdc++/56112
4057         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
4058         to construct value_type explicitly before trying to extract the key.
4059         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
4061 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
4063         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
4064         _Hashtable_ebo_helper to embed functors into the local_iterator
4065         when necessary. Pass information about functors involved in hash
4066         code by copy.
4067         * include/bits/hashtable.h (__cache_default): Do not cache for
4068         builtin integral types unless the hash functor is not noexcept
4069         qualified or is not default constructible. Adapt static assertions
4070         and local iterator instantiations.
4071         * include/debug/unordered_set
4072         (std::__debug::unordered_set<>::erase): Detect local iterators to
4073         invalidate using contained node rather than generating a dummy
4074         local_iterator instance.
4075         (std::__debug::unordered_multiset<>::erase): Likewise.
4076         * include/debug/unordered_map
4077         (std::__debug::unordered_map<>::erase): Likewise.
4078         (std::__debug::unordered_multimap<>::erase): Likewise.
4079         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
4080         std::tr1 and std versions of unordered_set regardless of any
4081         macro. Add test on default cache behavior.
4082         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
4083         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
4084         Adapt line number.
4085         * testsuite/23_containers/unordered_set/
4086         not_default_constructible_hash_neg.cc: New.
4087         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
4089 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
4091         PR libstdc++/56085
4092         * include/std/complex (pow(const complex<>&, int)): Avoid __n
4093         signed overflow.
4095 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
4097         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4098         Tightten scan-assembler-times regexps, add dg-additional-options for
4099         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
4100         dg-options.
4102 2013-01-12  Andi Kleen  <ak@linux.intel.com>
4103             Jonathan Wakely  <jwakely.gcc@gmail.com>
4105         PR libstdc++/55233
4106         * include/bits/atomic_base.h (__memory_order_modifier): Add
4107         __memory_order_mask, __memory_order_modifier_mask,
4108         __memory_order_hle_acquire, __memory_order_hle_release.
4109         (operator|,operator&): Add.
4110         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
4111         (__cmpexch_failure_order): Add.
4112         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
4113         Handle flags.
4114         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4115         Add.
4117 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
4119         PR libstdc++/55861
4120         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
4121         Fix return type.
4122         (__basic_future::_M_get_result()): Const qualify.
4123         (shared_future::get()): Likewise.
4124         * testsuite/30_threads/shared_future/members/get.cc: Use const
4125         objects.
4127 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
4129         PR libstdc++/55043 (again)
4130         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
4131         unless construction would be well-formed.
4132         (__allow_copy_cons, __check_copy_constructible): Define.
4133         * include/bits/unordered_map.h (__check_copy_constructible): Use as
4134         base class so copy constructor will be deleted if appropriate.
4135         (is_copy_constructible): Remove specialization.
4136         * include/bits/unordered_set.h: Likewise.
4137         * include/debug/unordered_map.h: Undo previous commit. Default copy
4138         and move constructors.
4139         * include/debug/unordered_set.h: Likewise.
4140         * include/profile/unordered_map.h: Undo previous commit.
4141         * include/profile/unordered_set.h: Likewise.
4142         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
4143         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
4144         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
4145         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
4146         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
4147         cannot support incomplete types.
4148         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
4149         Likewise.
4151 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
4153         PR libstdc++/55043
4154         * include/std/unordered_map: Include alloc_traits.h
4155         * include/std/unordered_set: Likewise.
4156         * include/bits/alloc_traits.h: Define __is_copy_insertable.
4157         * include/bits/unordered_map.h: Use it.
4158         * include/bits/unordered_set.h: Likewise.
4159         * include/debug/unordered_map.h: Likewise.
4160         * include/debug/unordered_set.h: Likewise.
4161         * include/profile/unordered_map.h: Likewise.
4162         * include/profile/unordered_set.h: Likewise.
4163         * include/bits/hashtable.h: Fix comment typos.
4164         * testsuite/23_containers/unordered_map/55043.cc: New.
4165         * testsuite/23_containers/unordered_multimap/55043.cc: New.
4166         * testsuite/23_containers/unordered_multiset/55043.cc: New.
4167         * testsuite/23_containers/unordered_set/55043.cc: New.
4169 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
4171         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
4172         gdb command.
4174 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
4176         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
4178 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
4180         PR libstdc++/55908
4181         * include/std/functional (_Mem_fn::operator()): Fix constraints to
4182         avoid ambiguity.
4183         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
4184         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
4186 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4188         PR libstdc++/55594
4189         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
4190         Solaris targets.
4191         * configure: Regenerate.
4193 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
4195         PR libstdc++/55847
4196         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
4197         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
4198         string.
4200         PR libstdc++/55728
4201         * include/std/functional (bad_function_call::what()): Declare.
4202         * src/c++11/functional.cc (bad_function_call::what()): Define.
4203         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
4204         * testsuite/20_util/bad_function_call/what.cc: New.
4206 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
4208         * include/bits/unordered_map.h: Fix typo in comments.
4209         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
4210         counts for unordered associative containers.
4212 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
4214         * doc/xml/manual/abi.xml: Update library and symbol versions.
4216 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
4218         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
4219         in copyright years.
4220         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
4223 Copyright (C) 2013 Free Software Foundation, Inc.
4225 Copying and distribution of this file, with or without modification,
4226 are permitted in any medium without royalty provided the copyright
4227 notice and this notice are preserved.