* config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob86e9d4cfbfef22d144ac61331c5f38029adfb108
1 2015-07-05  François Dumont  <fdumont@gcc.gnu.org>
3         * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
4         rehash container.
5         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
6         Adapt.
8 2015-07-03  Jonathan Wakely  <jwakely@redhat.com>
10         * doc/xml/manual/status_cxx2017.xml: Update status table.
11         * doc/html/manual/*: Regenerate.
13 2015-07-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
15         Implement std::experimental::fundamentals_v2::propagate_const.
16         * include/Makefile.am: Add propagate_const.
17         * include/Makefile.in: Regenerate.
18         * include/experimental/propagate_const: New.
19         * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
20         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
21         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
22         Likewise.
23         * testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
24         * testsuite/experimental/propagate_const/cons/default.cc: Likewise.
25         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
26         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
27         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
28         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
29         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
30         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
31         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
32         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
33         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
34         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
35         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
36         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
38 2015-07-02  Jonathan Wakely  <jwakely@redhat.com>
40         * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
41         --with-default-libstdcxx-abi
42         * configure: Regenerate.
43         * doc/xml/manual/configure.xml: Document valid arguments.
45 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
47         * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
48         to avoid unused variable warning.
49         (__set_and_release): Use __p after __atomic_store to avoid unused
50         variable warning.
52 2015-07-01  Jonathan Wakely  <jwakely@redhat.com>
54         * include/bits/alloc_traits.h (__alloctr_rebind): Remove.
55         (__allocator_traits_base): New base class.
56         (__alloc_rebind): Reimplement in terms of detection idiom.
57         (allocator_traits): Derive from __allocator_traits_base. Reimplement
58         nested types in terms of detection idiom. Simplify SFINAE constraints
59         on overloaded static member functions.
60         * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
61         of __alloctr_rebind.
62         * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
63         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
64         dg-error line number.
66         * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
67         __ptrtr_rebind, __ptrtr_not_void): Remove
68         (__get_first_arg, __replace_first_arg, __make_not_void): Define new
69         transformations.
70         (__detected_or_): New detection trait.
71         (pointer_traits): Use new traits.
72         * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
73         * testsuite/20_util/pointer_traits/requirements/
74         explicit_instantiation.cc: Use valid arguments to pointer_traits.
76         * doc/xml/manual/status_cxx2017.xml: Update status table.
77         * include/experimental/type_traits (void_t, is_detected,
78         is_detected_v, detected_t, detected_or, detected_or_t,
79         is_detected_exact, is_detected_exact_v, is_detected_convertible,
80         is_detected_convertible_v): Define.
81         * include/std/type_traits (__detector, __detected_or, __detected_or_t,
82         __detected_or_t_): Define.
83         * testsuite/experimental/type_traits/detection.cc: New.
85 2015-06-30  Jonathan Wakely  <jwakely@redhat.com>
87         * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
88         * doc/Makefile.in: Regenerate.
90         * include/bits/stl_pair.h: Replace class keyword with typename.
92 2015-06-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
94         Implement N4387, "Improving pair and tuple", and LWG 2367.
96         * include/bits/stl_pair.h (_ConstructiblePair,
97         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
98         _ImplicitlyMoveConvertiblePair): New.
99         (pair()): Constrain it.
100         (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
101         pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
102         pair(pair<_U1, _U2>&&)): Make conditionally explicit.
103         * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
104         (tuple()): Constrain it.
105         (tuple(const _UElements&...), tuple(_UElements&&...),
106         tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
107         tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
108         tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
109         tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
110         tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
111         tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
112         tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
113         tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
114         conditionally explicit.
115         * include/experimental/functional (__boyer_moore_array_base): Name
116         array type explicitly instead of using an empty braced-init-list.
117         * testsuite/20_util/pair/cons/explicit_construct.cc: New.
118         * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
119         * testsuite/20_util/pair/requirements/dr2367.cc: New.
120         * testsuite/20_util/tuple/cons/explicit_construct.cc: New.
121         * testsuite/20_util/tuple/requirements/dr2367.cc: New.
123 2015-06-30  Jonathan Wakely  <jwakely@redhat.com>
125         * configure: Regenerate.
127 2015-06-29  François Dumont  <fdumont@gcc.gnu.org>
129         * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
130         to pre-C++11 mode.
131         * include/debug/functions.h
132         (__gnu_debug::__valid_range, __gnu_debug::__base): Move...
133         * include/debug/safe_iterator.h
134         (__gnu_debug::_Sequence_traits): New.
135         (__gnu_debug::__get_distance_from_begin): New.
136         (__gnu_debug::__get_distance_to_end): New.
137         (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
138         distance information. Add optional check_dereferenceable parameter,
139         default true.
140         (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
141         default definition...
142         (__gnu_debug::__get_distance): New overload for _Safe_iterator.
143         (__gnu_debug::__unsafe): Likewise.
144         * include/debug/helper_functions.h: ...here. New.
145         (__gnu_debug::__unsafe): New helper function to remove safe iterator
146         layer.
147         * include/debug/stl_iterator.h: New. Include latter.
148         * include/bits/stl_iterator.h: Include latter in debug mode.
149         * include/debug/stl_iterator.tcc: Adapt.
150         * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
151         overload for _Safe_local_iterator.
152         (__gnu_debug::__unsafe): Likewise.
153         * include/debug/safe_local_iterator.tcc: Adapt.
154         * include/debug/macros.h (__glibcxx_check_valid_range2): New.
155         (__glibcxx_check_insert_range): Add _Dist parameter.
156         (__glibcxx_check_insert_range_after): Likewise.
157         (__glibcxx_check_string, __glibcxx_check_string_len): Implement using
158         _GLIBCXX_DEBUG_PEDASSERT.
159         * include/debug/deque (deque<>::assign): Remove iterator debug layer
160         when possible.
161         (deque<>::insert): Likewise.
162         * include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
163         (forward_list<>::splice_after): Use latter.
164         (forward_list<>::assign): Remove iterator debug layer when possible.
165         (forward_list<>::insert_after): Likewise.
166         (__gnu_debug::_Sequence_traits<>): Partial specialization.
167         * include/debug/list (list<>::assign): Remove iterator debug layer when
168         possible.
169         (list<>::insert): Likewise.
170         [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
171         * include/debug/map.h (map<>::insert): Remove iterator debug layer when
172         possible.
173         * include/debug/multimap.h (multimap<>::insert): Likewise.
174         * include/debug/set.h (set<>::insert): Likewise.
175         * include/debug/multiset.h (multiset<>::insert): Likewise.
176         * include/debug/string (basic_string<>::append, basic_string<>::assign,
177         basic_string<>::insert, basic_string<>::replace): Likewise.
178         * include/debug/unordered_map
179         (unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
180         * include/debug/unordered_set
181         (unordered_set<>::insert, unordered_multiset<>insert): Likewise.
182         * include/debug/vector
183         (vector<>::assign, vector<>::insert): Likewise.
184         * include/Makefile.am: Add new debug headers.
185         * include/Makefile.in: Regenerate.
187 2015-06-26  Jonathan Wakely  <jwakely@redhat.com>
189         * doc/xml/manual/intro.xml: Document LWG 2108 status.
190         * include/bits/alloc_traits.h (allocator_traits::is_always_equal):
191         Define.
192         * include/bits/allocator.h (allocator::is_always_equal): Likewise.
193         * include/bits/forward_list.h
194         (forward_list::operator=(forward_list&&)): Use __bool_constant.
195         (forward_list::swap(forward_list&)): Add noexcept.
196         * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
197         Likewise.
198         (_Hashtable::swap(_Hashtable&)): Likewise.
199         * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
200         Use _Alloc_traits::is_always_equal.
201         (deque::operator=(deque&&)): Likewise.
202         (deque::_M_move_assign1(deque&&, false_type)): Add comment and use
203         __bool_constant.
204         (swap(deque&, deque&)): Add noexcept.
205         * include/bits/stl_list.h (list::operator=(list&&)): Use
206         __bool_constant.
207         (swap(list&, list&)): Add noexcept.
208         * include/bits/stl_map.h (map::swap(map&)): Include _Compare in
209         noexcept.
210         (swap(map&, map&)): Add noexcept.
211         * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
212         _Compare in noexcept.
213         (swap(multimap&, multimap&)): Add noexcept.
214         * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
215         _Compare in noexcept.
216         (swap(multiset&, multiset&)): Add noexcept.
217         * include/bits/stl_set.h (set::swap(set&)): Include _Compare in
218         noexcept.
219         (swap(set&, set&)): Add noexcept.
220         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
221         _Compare in noexcept.
222         (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
223         is_always_equal.
224         * include/bits/stl_vector.h (vector::operator=(vector&&)): Use
225         __bool_constant.
226         (swap(vector&, vector&)): Add noexcept.
227         * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
228         swap(unordered_multimap& unordered_multimap&)): Add noexcept.
229         * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
230         swap(unordered_multiset& unordered_multiset&)): Add noexcept.
231         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
232         Remove.
233         (__alloc_traits::_S_always_equal()): Use is_always_equal instead of
234         __allocator_always_compares_equal.
235         * include/ext/array_allocator.h (array_allocator::is_always_equal):
236         Define.
237         * include/std/scoped_allocator (__any_of, __propagate_on_copy,
238         __propagate_on_move, __propagate_on_swap): Remove.
239         (scoped_allocator_adaptor::propagate_on_container_copy_assignment,
240         scoped_allocator_adaptor::propagate_on_container_move_assignment,
241         scoped_allocator_adaptor::propagate_on_container_swap): Define with
242         __and_ instead of __any_of.
243         (scoped_allocator_adaptor::is_always_equal): Define.
244         * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
245         * testsuite/20_util/scoped_allocator/propagation.cc: Make traits
246         derive from true_type or false_type.
247         * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
248         is_always_equal member and remove the trait specialization.
249         * testsuite/23_containers/vector/52591.cc: Likewise.
250         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
251         Adjust dg-error line number.
252         * testsuite/23_containers/deque/requirements/dr438/
253         constructor_1_neg.cc: Likewise.
254         * testsuite/23_containers/deque/requirements/dr438/
255         constructor_2_neg.cc: Likewise.
256         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
257         Likewise.
258         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
259         Likewise.
260         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
261         Likewise.
262         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
263         Likewise.
264         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
265         Likewise.
266         * testsuite/23_containers/vector/requirements/dr438/
267         constructor_1_neg.cc: Likewise.
268         * testsuite/23_containers/vector/requirements/dr438/
269         constructor_2_neg.cc: Likewise.
270         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
271         Likewise.
273         * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
274         * include/bits/stl_map.h (map::map()): Likewise.
275         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
276         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
277         * include/bits/stl_set.h (set::set()): Likewise.
279 2015-06-25  Jonathan Wakely  <jwakely@redhat.com>
281         * include/bits/locale_conv.h (__do_str_codecvt): Set __count.
283 2015-06-24  François Dumont  <fdumont@gcc.gnu.org>
285         * include/bits/basic_string.h (basic_string<>::front()): Add !empty
286         debug check.
287         (basic_string<>::back()): Likewise.
288         (basic_string<>::pop_back()): Likewise.
290 2015-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
292         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
293         dg-error line numbers.
294         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
295         Likewise.
297 2015-06-23  François Dumont  <fdumont@gcc.gnu.org>
299         * include/debug/array: Include <array>. Add version namespace when
300         specializing tuple interface to array. Add specialization for
301         __is_tuple_like_impl.
302         * include/profile/array: Likewise.
303         * include/std/array: Include <utility>. Add specialization for
304         __is_tuple_like_impl.
305         * include/std/tuple
306         (__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move...
307         * include/std/utility: ... here. Include <type_traits>.
308         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
309         dg-error line number.
310         * testsuite/23_containers/array/tuple_interface/
311         tuple_element_debug_neg.cc: Likewise.
313 2015-06-22  Jonathan Wakely  <jwakely@redhat.com>
315         * testsuite/26_numerics/complex/value_operations/1.cc: Use
316         non-negative rho argument.
318         * include/debug/list (__gnu_debug::list): Use allocator-aware
319         _Safe_container base.
320         * include/debug/string (__gnu_debug::basic_string): Use
321         allocator-aware _Safe_container base for cxx11 ABI.
323         * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range.
324         (wstring_convert): Move into __cxx11 namespace.
325         (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception
326         message.
328         PR libstdc++/64657
329         * include/bits/stl_uninitialized.h
330         (__uninitialized_copy::__uninit_copy): Cast expression to void.
332 2015-06-17  Jonathan Wakely  <jwakely@redhat.com>
334         PR libstdc++/55409
335         * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
336         (list::list(const list&)): Use allocator propagation trait. Use
337         _M_assign_dispatch to copy elements.
338         * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
339         (_List_node::_M_valptr()): Add accessor for stored value.
340         (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
341         (_List_base, list): Use allocator traits.
342         (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
343         (_List_base::_M_move_nodes): New function.
344         (_List_base(_List_base&&)): Use _M_move_nodes.
345         (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
346         (list::_M_create_node, list::_M_erase, list::max_size): Use allocator
347         traits.
348         (list(size_type)): Add allocator parameter.
349         (list(const list&)): Use allocator propagation trait.
350         (list(const list&, const allocator_type&)): New constructor.
351         (list(list&&, const allocator_type&)): Likewise.
352         (list::operator=(list&&), list::swap(list&)): Use allocator
353         propagation traits.
354         (list::_M_move_assign): New functions.
355         * include/debug/list: Add allocator-extended constructors.
356         * include/profile/list: Likewise.
357         * python/libstdcxx/v6/printers.py (get_value_from_list_node): New
358         function to get value from _List_node.
359         (StdListPrinter): Use get_value_from_list_node.
360         * testsuite/23_containers/list/allocator/copy.cc: New.
361         * testsuite/23_containers/list/allocator/copy_assign.cc: New.
362         * testsuite/23_containers/list/allocator/minimal.cc: New.
363         * testsuite/23_containers/list/allocator/move.cc: New.
364         * testsuite/23_containers/list/allocator/move_assign.cc: New.
365         * testsuite/23_containers/list/allocator/noexcept.cc: New.
366         * testsuite/23_containers/list/allocator/swap.cc: New.
367         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
368         Adjust dg-prune-output line number.
369         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
370         Likewise.
371         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
372         Likewise.
374         * include/bits/forward_list.h
375         (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
376         rvalue-reference.
377         (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
378         (forward_list(const _Alloc&)): Split default constructor out to
379         separate function.
380         (forward_list(forward_list&&, const _Alloc&)): Move elements if base
381         class didn't do so.
382         (forward_list::_M_move_assign(forward_list&&, true_type)): Replace
383         swap call with two assignments.
384         * include/bits/forward_list.tcc
385         (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
386         move elements when allocators are not equal.
387         * include/debug/forward_list (forward_list(const allocator_type&)):
388         Split default constructor out to separate function.
389         * include/profile/forward_list (forward_list(const _Alloc&)):
390         Likewise.
392         * include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
393         Remove unnecessary uses of operator& and static_cast.
394         * include/bits/forward_list.tcc
395         (forward_list::operator=(const forward_list&)): Use __addressof
396         instead of operator&.
397         (forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
398         Remove invalid static_casts.
399         * include/debug/forward_list: Use __addressof instead of operator&.
400         * testsuite/23_containers/forward_list/modifiers/addressof.cc: New.
402         * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
403         __is_nothrow_swappable.
405 2015-06-16  Jonathan Wakely  <jwakely@redhat.com>
407         * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
409         * include/bits/list.tcc (list::operator=(const list&), list::merge):
410         Use __addressof instead of operator&.
411         (list::sort): Use array-to-pointer decay instead of operator&.
412         * include/bits/stl_list.h (list::splice): Use __addressof instead of
413         operator&.
414         * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
415         Likewise.
416         * include/debug/functions.h (__check_singular): Likewise.
417         * include/debug/list (list::splice, list::merge): Likewise.
418         * testsuite/23_containers/list/modifiers/addressof.cc: New.
420         PR libstdc++/65393
421         * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
422         copies with moves.
424 2015-06-12  Jonathan Wakely  <jwakely@redhat.com>
426         * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
428         PR libstdc++/66464
429         * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
430         Return 4 not 3.
432 2015-06-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
434         PR c++/66192
435         PR target/66200
436         * config/cpu/alpha/atomic_word.h: Remove.
437         * config/cpu/ia64/atomic_word.h: Remove.
438         * config/cpu/powerpc/atomic_word.h: Remove.
439         * config/os/aix/atomic_word.h: Remove.
440         * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
441         Use generic definition.
443 2015-06-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
445         PR target/66200
446         PR c++/66192
447         * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
448         (_GLIBCXX_WRITE_MEM_BARRIER): Likewise
449         * include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
450         * include/ext/atomicity.h: Likewise.
451         * include/tr1/shared_ptr.h: Likewise.
452         * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
453         Update comment.
454         (__set_and_release): Likewise.
455         * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
456         line numbers.
457         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
458         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
459         Likewise.
461 2015-06-12  Jonathan Wakely  <jwakely@redhat.com>
463         * include/std/tuple (__is_tuple_like_impl): Disambiguate array in
464         debug and profile modes.
465         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
466         for swap in C++11 and later.
468 2015-06-09  Jonathan Wakely  <jwakely@redhat.com>
470         PR libstdc++/66030
471         * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
472         for mingw32.
474 2015-06-08  Jonathan Wakely  <jwakely@redhat.com>
476         PR libstdc++/66441
477         * testsuite/22_locale/conversions/string/66441.cc: New.
478         * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
479         in the output string for BOM and complete result.
481         PR libstdc++/66417
482         * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
483         for single UTF-16 units.
484         * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
486 2015-06-07  François Dumont  <fdumont@gcc.gnu.org>
488         * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
489         outer scope and rename to ...
490         (std::__hash_is_transparent<>): ... this.
491         * include/debug/stl_map.h (map::find<>,
492         map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
493         member function templates to perform heterogeneous lookup.
494         * include/debug/stl_multimap.h (multimap::find<>,
495         multimap::lower_bound<>, multimap::upper_bound<>,
496         multimap::equal_range<>): Likewise.
497         * include/debug/stl_multiset.h (multiset::find<>,
498         multiset::lower_bound<>, multiset::upper_bound<>,
499         multiset::equal_range<>): Likewise.
500         * include/debug/stl_set.h (set::find<>,
501         set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
502         * include/profile/stl_map.h (map::find<>, map::count<>,
503         map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
504         * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
505         multimap::lower_bound<>, multimap::upper_bound<>,
506         multimap::equal_range<>): Likewise.
507         * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
508         multiset::lower_bound<>, multiset::upper_bound<>,
509         multiset::equal_range<>): Likewise.
510         * include/profile/stl_set.h (set::find<>, set::count<>,
511         set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
512         * testsuite/23_containers/map/operations/1.cc: Check const variants.
513         * testsuite/23_containers/multimap/operations/1.cc: Likewise.
514         * testsuite/23_containers/multiset/operations/1.cc: Likewise.
515         * testsuite/23_containers/set/operations/1.cc: Likewise.
517 2015-06-05  Jonathan Wakely  <jwakely@redhat.com>
519         * doc/xml/manual/status_cxx2017.xml: Update status tables.
520         * doc/html/manual/*: Regenerate.
521         * include/std/type_traits (bool_constant): Define.
522         * testsuite/20_util/bool_constant/requirements.cc: New.
523         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
524         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
525         Likewise.
526         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
527         Likewise.
529         * include/std/shared_mutex (__shared_mutex_pthread,
530         __shared_mutex_cv): New helper types implementing the shared mutex
531         requirements.
532         (shared_mutex): New type for C++17.
533         (shared_timed_mutex): Derive from one of the new helper types.
534         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
535         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
536         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
537         * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
538         New.
539         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
540         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
542 2015-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
544         Add __is_nothrow_swappable and take it into use.
545         * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
546         * include/bits/move.h (swap): Add constraints in C++11 and later.
547         * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
548         for the free swap function for pair.
549         * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
550         for the free swap functions for queue and priority_queue.
551         * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
552         for the free swap function for stack.
553         * include/debug/array (swap): Use __is_nothrow_swappable
554         for the free swap function for array.
555         * include/profile/array (swap): Likewise.
556         * include/std/array (swap): Likewise.
557         * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
558         * include/std/type_traits (__is_swappable_impl::__is_swappable,
559         __is_nothrow_swappable_impl, __is_nothrow_swappable): New.
560         * testsuite/20_util/is_nothrow_swappable/requirements/
561         explicit_instantiation.cc: New.
562         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
563         New.
564         * testsuite/20_util/is_nothrow_swappable/value.cc: New.
566 2015-06-03  François Dumont  fdumont@gcc.gnu.org>
568         * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
570 2015-06-02  Jonathan Wakely  <jwakely@redhat.com>
572         * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
573         * doc/html/manual/*: Regenerate.
575         * doc/html/ext/lwg-active.html: Update to R93.
576         * doc/html/ext/lwg-closed.html: Likewise.
577         * doc/html/ext/lwg-defects.html: Likewise.
578         * doc/html/manual/*: Regenerate.
579         * doc/xml/manual/intro.xml: Document status of several DRs.
581 2015-06-02  Renlin Li  <renlin.li@arm.com>
583         * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
585 2015-06-01  Jonathan Wakely  <jwakely@redhat.com>
587         * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
588         environment variable.
590 2015-05-31  Jonathan Wakely  <jwakely@redhat.com>
592         PR libstdc++/66354
593         * include/bits/stl_algobase.h (__fill_a): Check length before calling
594         memset.
596 2015-05-30  Jonathan Wakely  <jwakely@redhat.com>
598         * include/bits/stl_algobase.h (__equal<true>::equal): Check length
599         instead of checking for null pointers.
600         (__lexicographical_compare<true>::__lc): Only check shorter length.
602 2015-05-29  François Dumont  fdumont@gcc.gnu.org>
604         * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
605         _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
606         * include/debug/assertions.h: ...here, new.
607         * include/debug/formatter.h
608         (_Error_formatter::_Is_iterator_value_type): New.
609         (_Error_formatter::_Is_instance): New.
610         (_Error_formatter::_Parameter): Make public and not friend anymore.
611         (_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
612         (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
613         entry.
614         (_Error_formatter::_Parameter::_Type): New.
615         (_Error_formatter::_Parameter::_Instance): New, inherit from
616         latter.
617         (union _Error_formatter::_Parameter::_M_variant): Reorganize.
618         (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
619         overloads take iterator through a const reference.
620         (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
621         New.
622         (_Parameter(const _Type&, const char*, _Is_instance)): New.
623         (_Error_formatter::_M_print_type): Delete.
624         (_Error_formatter::_M_iterator_value_type): New.
625         (_Error_formatter::_M_instance): New.
626         * include/Makefile.am: Add new above debug file.
627         * include/Makefile.in: Regenerate.
628         * include/debug/functions.h
629         (__check_dereferenceable(const _Safe_iterator<>&),
630         __valid_range(const _Safe_iterator<>&),
631         __is_safe_random_iterator<_Safe_iterator<>>): Move...
632         * include/debug/safe_iterator.h: ... here.
633         Replace debug.h include with assertions.h.
634         (__check_singular_aux): Move...
635         * include/debug/safe_base.h: ... here.
636         * include/debug/functions.h
637         (__check_dereferenceable(const _Safe_local_iterator<>&),
638         __valid_range(const _Safe_local_iterator<>&): Move...
639         * include/debug/safe_local_iterator.h: ...here.
640         * include/debug/safe_sequence.h: Replace debug.h with assertions.h.
641         Remove _Safe_iterator declaration.
642         * include/debug/safe_unordered_container.h: Replace debug.h with
643         assertions.h.
644         * include/debug/array: Replace safe_sequence.h include with
645         formatter.h and macros.h.
646         * include/debug/deque: Include functions.tcc.
647         * include/debug/forward_list: Likewise.
648         * include/debug/list: Likewise.
649         * include/debug/string: Likewise.
650         * include/debug/vector: Likewise.
651         * include/bits/unique_ptr.h: Replace debug.h include with new
652         assertions.h.
653         * include/bits/stl_iterator_base_funcs.h: Likewise.
654         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
655         Adjust dg-error line number.
656         * testsuite/23_containers/array/tuple_interface/
657         tuple_element_debug_neg.cc: Likewise.
658         * src/c++11/debug.cc: Adapt.
660 2015-05-29  Jonathan Wakely  <jwakely@redhat.com>
662         * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
663         * doc/html/manual/*: Regenerate.
665         * include/std/future (__async_result_of): New alias template.
666         (async): Use __async_result_of to pass decayed types to result_of.
667         * testsuite/30_threads/async/lwg2021.cc: New.
668         * doc/xml/manual/intro.xml: Document LWG 2021 status.
670         PR libstdc++/66327
671         * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
672         memcmp with null pointers.
673         (__lexicographical_compare<true>::__lc): Do not call memcmp for empty
674         ranges.
676 2015-05-28  Jonathan Wakely  <jwakely@redhat.com>
678         PR libstdc++/65352
679         * include/profile/array (array::data): Use _S_ptr.
680         * include/debug/array (array::data): Likewise.
682         PR libstdc++/65352
683         * include/std/array (__array_traits::_S_ptr): New function.
684         (array::data): Use _S_ptr to avoid creating invalid reference.
685         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
686         dg-error line numbers.
687         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
688         likewise.
690 2015-05-27  Jonathan Wakely  <jwakely@redhat.com>
692         * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
693         instead of downcasting.
694         (_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
695         (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
696         (_Rb_tree::_S_iter): Remove.
697         (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
698         (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
699         instead of _S_lower_bound_tr
700         (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
701         (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
702         instead of calling _S_lower_bound_tr.
703         (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
704         (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
705         instead of calling _S_upper_bound_tr.
706         (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
707         (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
708         (_Rb_tree::equal_range): Use _Base_ptr for end pointer.
709         (_Rb_tree::_M_get_insert_unique_pos): Likewise.
710         (_Rb_tree::_M_get_insert_equal_pos): Likewise.
711         (_Rb_tree::_M_insert_equal_lower_node): Likewise.
712         (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
713         _Rb_tree::_M_emplace_hint_unique): Remove static_cast.
715         PR libstdc++/66017
716         * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
717         (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
718         from _Base_ptr.
719         (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
720         (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
721         * include/ext/aligned_buffer.h (__aligned_membuf): New type using
722         alignment of _Tp as a member subobject, not as a complete object.
723         * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
724         _Link_type manually as it might not be in the debug info.
726 2015-05-26  Doug Evans  <dje@google.com>
728         * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
729         operator-> support.
730         * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
731         operator->.
733 2015-05-26  Jonathan Wakely  <jwakely@redhat.com>
735         * include/bits/locale_conv.h: Fix copyright years.
736         * include/bits/quoted_string.h: Likewise.
737         * src/filesystem/Makefile.am: Likewise.
738         * testsuite/22_locale/conversions/buffer/1.cc: Likewise.
739         * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
740         Likewise.
741         * testsuite/22_locale/conversions/string/1.cc: Likewise.
742         * testsuite/22_locale/conversions/string/2.cc: Likewise.
743         * testsuite/22_locale/conversions/string/3.cc: Likewise.
744         * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
745         Likewise.
746         * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
747         Likewise.
748         * testsuite/util/testsuite_fs.h: Likewise.
750 2015-05-23  François Dumont  fdumont@gcc.gnu.org>
752         PR libstdc++/64657
753         * include/debug/functions.h (__check_sorted_aux): Cast expression to
754         void.
756 2015-05-21  David Edelsohn  <dje.gcc@gmail.com>
758         PR target/66224
759         * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
760         Don't use isync. Use lwsync if available.
761         * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
762         powerpc cpu definition.
764 2015-05-21  Jason Merrill  <jason@redhat.com>
766         * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
767         * libsupc++/del_op.cc: Likewise.
769 2015-05-20  François Dumont  fdumont@gcc.gnu.org>
771         * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
772         usage of typeid.
773         (_Error_formatter::_M_print_type): New.
774         * src/c++11/debug.cc
775         (_Error_formatter::_Parameter::_M_print_field): Use latter.
776         (_Error_formatter::_M_print_type): Implement latter using
777         __cxaabiv1::__cxa_demangle to print demangled type name.
779         * include/bits/cpp_type_traits.h
780         (std::move_iterator): Delete declaration.
781         (std::__is_move_iterator<move_iterator>): Move partial specialization...
782         * include/bits/stl_iterator.h: ... here.
783         (std::__miter_base): Overloads for std::reverse_iterator and
784         std::move_iterator.
785         * include/bits/stl_algobase.h (std::__miter_base): Provide default
786         implementation.
788 2015-05-20  Jonathan Wakely  <jwakely@redhat.com>
790         * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
792         PR libstdc++/66078
793         * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
794         overload for pointers.
795         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
796         808590.cc: Add -std=gnu++03 switch.
797         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
798         808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
799         * testsuite/23_containers/vector/modifiers/push_back/
800         strong_guarantee.cc: New.
802 2015-05-19  Jonathan Wakely  <jwakely@redhat.com>
804         * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
805         (operator==(const list&, const list&)): If size() is O(1) compare
806         sizes before comparing each element.
807         * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
808         (list::resize): Use _M_resize_pos.
810 2015-05-19  François Dumont  <fdumont@gcc.gnu.org>
812         * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
813         invocations.
814         * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
815         * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
816         * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
818 2015-05-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
820         * configure.host: Define cpu_defines_dir for ARM.
821         * config/cpu/arm/cpu_defines.h: New file.
823 2015-05-17  François Dumont  <fdumont@gcc.gnu.org>
825         * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
826         missing constructors.
827         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
828         Likewise.
829         * include/debug/unordered_map (unordered_map, unordered_multimap): Add
830         missing constructors.
831         * include/debug/unordered_set (unordered_set, unordered_multiset):
832         Likewise.
833         * include/profile/unordered_map (unordered_map, unordered_multimap): Add
834         missing constructors.
835         * include/profile/unordered_set (unordered_set, unordered_multiset):
836         Likewise.
838 2015-05-15  Jonathan Wakely  <jwakely@redhat.com>
840         * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
841         use throughout the file.
842         (make_file_type): New function.
843         (file_size(const path&, error_code&)): Report an error for anything
844         that isn't a regular file.
845         (status(const path&), symlink_status(const path&)): Do not throw for
846         file_type::not_found.
847         (temp_directory_path()): Check additional environment variables.
848         * testsuite/experimental/filesystem/operations/exists.cc: New.
849         * testsuite/experimental/filesystem/operations/file_size.cc: New.
850         * testsuite/experimental/filesystem/operations/status.cc: New.
851         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
852         New.
854 2015-05-14  Nathan Myers  <ncm@cantrip.org>
855             Jonathan Wakely  <jwakely@redhat.com>
857         PR libstdc++/66055
858         * include/std/unordered_map (unordered_map, unordered_multimap): Add
859         missing constructors.
860         * include/std/unordered_set (unordered_set, unordered_multiset):
861         Likewise.
862         * testsuite/23_containers/unordered_map/cons/66055.cc: New.
863         * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
864         * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
865         * testsuite/23_containers/unordered_set/cons/66055.cc: New.
867 2015-05-14  Jonathan Wakely  <jwakely@redhat.com>
869         PR libstdc++/66011
870         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
871         sendfile.
872         * config.h.in: Regenerate.
873         * configure: Regenerate.
874         * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
875         not return after copying contents. Use fchmod, fchmodat, and sendfile
876         when available.
877         (current_path, permissions, space): Use errno not return value.
879         PR libstdc++/66018
880         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
881         dirent.d_type.
882         * config.h.in: Regenerate.
883         * configure: Regenerate.
884         * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
886 2015-05-13  Eric Botcazou  <ebotcazou@adacore.com>
888         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
889         * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
890         * config.h.in: Regenerate.
891         * configure: Likewise.
892         * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
893         __USING_SJLJ_EXCEPTIONS__.
894         * libsupc++/eh_throw.cc: Likewise.
895         * libsupc++/eh_ptr.cc: Likewise.
896         * doc/html/manual/appendix_porting.html: Remove
897         GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
898         * doc/xml/manual/build_hacking.xml: Likewise.
899         * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
900         * doc/xml/manual/configure.xml: Likewise.
902 2015-05-13  Jonathan Wakely  <jwakely@redhat.com>
904         * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
905         for nullptr (LWG 2415).
906         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
907         construction from empty unique_ptr.
908         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
909         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
911         * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
912         Define (LWG 2454).
913         * testsuite/20_util/raw_storage_iterator/base.cc: New.
915         * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
916         Remove explicit (LWG 2407).
918         * include/bits/basic_string.h (basic_string::basic_string()): Make
919         noexcept conditional on allocator (LWG 2455).
921         * include/std/complex (polar): Check for negative rho (LWG 2459).
923         * include/experimental/tuple (apply): Handle pointers to member (LWG
924         2418).
925         * include/std/functional (_Mem_fn_base): Make constructors constexpr.
926         (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
927         * testsuite/experimental/tuple/apply.cc: Test pointer to member.
929         * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
931         * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
932         * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
933         * testsuite/23_containers/forward_list/allocator/minimal.cc:
934         Likewise.
935         * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
936         * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
937         * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
938         * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
939         * testsuite/23_containers/unordered_map/allocator/minimal.cc:
940         Likewise.
941         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
942         Likewise.
943         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
944         Likewise.
945         * testsuite/23_containers/unordered_set/allocator/minimal.cc:
946         Likewise.
947         * testsuite/util/testsuite_allocator.h: Remove unused parameter.
949         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
950         * configure: Regenerate.
952 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
954         * Makefile.in: Regenerated with automake-1.11.6.
955         * aclocal.m4: Likewise.
956         * configure: Likewise.
957         * doc/Makefile.in: Likewise.
958         * include/Makefile.in: Likewise.
959         * libsupc++/Makefile.in: Likewise.
960         * po/Makefile.in: Likewise.
961         * python/Makefile.in: Likewise.
962         * src/Makefile.in: Likewise.
963         * src/c++11/Makefile.in: Likewise.
964         * src/c++98/Makefile.in: Likewise.
965         * src/filesystem/Makefile.in: Likewise.
966         * testsuite/Makefile.in: Likewise.
968 2015-05-09  Jason Merrill  <jason@redhat.com>
970         * testsuite/20_util/headers/functional/synopsis.cc: Add
971         _GLIBCXX14_CONSTEXPR.
972         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
974 2015-05-08  Jason Merrill  <jason@redhat.com>
976         * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
977         * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
978         * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
979         * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
980         * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
981         * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
982         * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
983         * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
984         * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
985         * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
986         * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
987         Likewise.
988         * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
989         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
990         Adjust expected errors.
991         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
992         Likewise.
993         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
994         Likewise.
995         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
996         Likewise.
997         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
998         Likewise.
999         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1000         Likewise.
1001         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1002         Likewise.
1003         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1004         Likewise.
1005         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1006         Likewise.
1007         * testsuite/23_containers/vector/requirements/dr438
1008         /constructor_1_neg.cc: Likewise.
1009         * testsuite/23_containers/vector/requirements/dr438
1010         /constructor_2_neg.cc: Likewise.
1011         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1012         Likewise.
1013         * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
1014         * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
1015         * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
1016         * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
1017         * testsuite/ext/array_allocator/check_allocate_max_size.cc:
1018         Add -Wno-deprecated.
1019         * testsuite/ext/array_allocator/check_deallocate_null.cc:
1020         Add -Wno-deprecated.
1021         * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
1022         * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
1023         * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
1024         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
1025         Add -std=c++98.
1026         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
1027         Add -std=c++98.
1028         * testsuite/tr1/2_general_utilities/shared_ptr/assign
1029         /auto_ptr_rvalue_neg.cc: Add -std=c++98.
1030         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
1031         Add -std=c++98 -fno-show-column.
1032         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
1033         Add -std=c++98.
1034         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
1035         Add -std=c++98.
1036         * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
1037         * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
1039         * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
1040         * src/c++98/Makefile.in: Regenerate.
1041         * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
1042         * src/Makefile.in: Regenerate.
1044 2015-05-02  Jonathan Wakely  <jwakely@redhat.com>
1046         PR libstdc++/51617
1047         * include/std/future (async): Change default policy to launch::async.
1049         * include/experimental/any (any::_Storage): Fix alignment of buffer.
1050         (any::_Internal): Check alignment of type.
1051         * testsuite/experimental/any/cons/aligned.cc: New.
1052         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1054         * include/experimental/iterator (ostream_joiner): Simplify by using
1055         the injected-class-name and the ostream_type typedef.
1057         * include/experimental/iterator: New. Define ostream_joiner.
1058         * include/Makefile.am: Add new header.
1059         * include/Makefile.in: Regenerate.
1060         * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
1061         * testsuite/experimental/iterator/ostream_joiner.cc: New.
1062         * testsuite/experimental/iterator/requirements.cc: New.
1063         * doc/xml/manual/status_cxx2017.xml: Update status.
1064         * doc/html/manual/status.html: Regenerate.
1066         * include/experimental/numeric: New. Define gcd and lcm.
1067         * include/Makefile.am: Add new header.
1068         * include/Makefile.in: Regenerate.
1069         * testsuite/experimental/numeric/gcd.cc: New.
1070         * testsuite/experimental/numeric/lcm.cc: New.
1071         * doc/xml/manual/status_cxx2017.xml: Update status.
1072         * doc/html/manual/status.html: Regenerate.
1074 2015-05-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
1076         Revert addition of feature macros from other headers per latest SD-6.
1077         * include/experimental/deque: Remove feature-test macro.
1078         * include/experimental/forward_list: Ditto.
1079         * include/experimental/list: Ditto.
1080         * include/experimental/map: Ditto.
1081         * include/experimental/set: Ditto.
1082         * include/experimental/string: Ditto.
1083         * include/experimental/unordered_map: Ditto.
1084         * include/experimental/unordered_set: Ditto.
1086 2015-05-02  Jonathan Wakely  <jwakely@redhat.com>
1088         * include/experimental/any (any::_Storage): Make non-copyable.
1089         (any::any): Do not copy _Storage object.
1090         (any::operator=): Implement more efficiently than swapping.
1091         (any::swap): Use new _Op_xfer operation.
1092         (any::_Op::_Op_xfer): New enumerator.
1093         (_Manager_internal::_S_alloc): Remove unused function.
1094         (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
1095         parameter instead of returning a _Storage object.
1096         (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
1097         _Op_xfer operation for moving and swapping.
1098         * testsuite/experimental/any/cons/nontrivial.cc: New.
1099         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1101         * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
1102         Declare.
1103         * src/filesystem/path.cc (filesystem_error::~filesystem_error):
1104         Define.
1106         PR libstdc++/65978
1107         * include/std/tuple (forward_as_tuple, tie): Add constexpr.
1108         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
1109         and fix tests for forward_as_tuple and tie.
1111         * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
1112         Set timespec members explicitly instead of with a braced-init-list.
1113         [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
1115 2015-05-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
1117         * include/experimental/deque: Add feature-test macro.
1118         * include/experimental/forward_list: Ditto.
1119         * include/experimental/list: Ditto.
1120         * include/experimental/map: Ditto.
1121         * include/experimental/set: Ditto.
1122         * include/experimental/string: Ditto.
1123         * include/experimental/unordered_map: Ditto.
1124         * include/experimental/unordered_set: Ditto.
1126 2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
1128         * include/experimental/memory: Correct feature-test macro.
1130         * include/experimental/memory: Add feature-test macro.
1131         * include/experimental/vector: Likewise.
1132         * doc/xml/manual/status_cxx2017.xml: Update status.
1133         * doc/html/manual/status.html: Regenerate.
1135 2015-05-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
1137         Implement observer_ptr.
1138         * include/Makefile.am: Add new header.
1139         * include/Makefile.in: Regenerate.
1140         * include/experimental/memory: New.
1141         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
1142         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
1143         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
1144         * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
1145         * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
1146         * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
1147         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
1148         * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
1150 2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
1152         * src/filesystem/path.cc (path::compare): Do not copy strings.
1154         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
1155         is not available.
1156         (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
1157         * configure: Regenerate.
1158         * config.h.in: Regenerate.
1159         * configure.ac: Check for utime.h
1160         * include/experimental/fs_path.h (path::string<>)
1161         [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
1162         * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
1163         closedir, dirent, readdir_r): Replace dummy functions with #error.
1164         (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
1165         * src/filesystem/ops.cc (do_stat, is_set): Make inline.
1166         (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
1167         (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
1168         (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
1169         error_code.
1171         * include/experimental/fs_path.h (path::_List): Use vector instead of
1172         list.
1173         * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
1174         * src/filesystem/path.cc: Use std::prev instead of decrementing
1175         rvalues. Fix whitespace.
1176         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
1177         Do not decrement iterators before begin.
1179         * include/experimental/fs_dir.h: Fix use of non-reserved names.
1180         * include/experimental/fs_ops.h: Likewise.
1181         * include/experimental/fs_path.h: Likewise.
1182         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
1183         C++11 when checking for support.
1185         * include/bits/locale_classes.h (locale::facet): Delete copy
1186         operations in C++11 mode.
1188         * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
1190         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
1191         * configure: Regenerate.
1193 2015-05-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
1195         Inline one-line erasure dispatch functions.
1196         * include/experimental/forward_list (erase_if(), erase()): Inline.
1197         * include/experimental/list (erase_if(), erase()): Inline.
1198         * include/experimental/map (erase_if(*)): Inline.
1199         * include/experimental/set (erase_if(*)): Inline.
1200         * include/experimental/string (erase_if(), erase()): Inline.
1201         * include/experimental/unordered_map (erase_if(*)): Inline.
1202         * include/experimental/unordered_set (erase_if(*)): Inline.
1204 2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
1206         * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
1207         * doc/xml/manual/status_cxx2011.xml: Update status tables.
1208         * doc/xml/manual/status_cxx2014.xml: Likewise.
1209         * doc/xml/manual/status_cxx2017.xml: New.
1210         * doc/xml/manual/using.xml: Fix typo.
1211         * doc/html/*: Regenerate.
1213         * include/std/memory (pointer_safety, declare_reachable,
1214         undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
1215         get_pointer_safety): Define.
1216         * testsuite/20_util/pointer_safety/1.cc: New.
1218 2015-04-30  Jonathan Wakely  <jwakely@redhat.com>
1220         Implement N4100 File System TS
1221         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
1222         (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
1223         * config.h.in: Regenerate.
1224         * configure: Regenerate.
1225         * configure.ac: Enable filesystem TS and check its dependencies.
1226         * include/Makefile.am: Add new headers.
1227         * include/Makefile.in: Regenerate.
1228         * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
1229         __str_codecvt_out): Move code conversion logic from wstring_convert
1230         into new global functions.
1231         (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
1232         functions.
1233         (wstring_convert::_M_conv): Remove.
1234         * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
1235         * include/experimental/filesystem: New.
1236         * include/experimental/fs_dir.h: New.
1237         * include/experimental/fs_fwd.h: New.
1238         * include/experimental/fs_ops.h: New.
1239         * include/experimental/fs_path.h: New.
1240         * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
1241         * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
1242         * src/Makefile.am (SUBDIRS): Add filesystem.
1243         * src/Makefile.in: Regenerate.
1244         * src/filesystem/Makefile.am: New.
1245         * src/filesystem/Makefile.in: New.
1246         * src/filesystem/dir.cc: New.
1247         * src/filesystem/ops.cc: New.
1248         * src/filesystem/path.cc: New.
1249         * testsuite/experimental/filesystem/operations/absolute.cc: New.
1250         * testsuite/experimental/filesystem/operations/copy.cc: New.
1251         * testsuite/experimental/filesystem/operations/current_path.cc: New.
1252         * testsuite/experimental/filesystem/path/append/path.cc: New.
1253         * testsuite/experimental/filesystem/path/assign/assign.cc: New.
1254         * testsuite/experimental/filesystem/path/assign/copy.cc: New.
1255         * testsuite/experimental/filesystem/path/compare/compare.cc: New.
1256         * testsuite/experimental/filesystem/path/compare/path.cc: New.
1257         * testsuite/experimental/filesystem/path/compare/strings.cc: New.
1258         * testsuite/experimental/filesystem/path/concat/path.cc: New.
1259         * testsuite/experimental/filesystem/path/concat/strings.cc: New.
1260         * testsuite/experimental/filesystem/path/construct/copy.cc: New.
1261         * testsuite/experimental/filesystem/path/construct/default.cc: New.
1262         * testsuite/experimental/filesystem/path/construct/locale.cc: New.
1263         * testsuite/experimental/filesystem/path/construct/range.cc: New.
1264         * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
1265         * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
1266         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
1267         New.
1268         * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
1269         New.
1270         * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
1271         New.
1272         * testsuite/experimental/filesystem/path/decompose/root_name.cc:
1273         New.
1274         * testsuite/experimental/filesystem/path/decompose/root_path.cc:
1275         New.
1276         * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
1277         * testsuite/experimental/filesystem/path/generic/generic_string.cc:
1278         New.
1279         * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
1280         * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
1281         * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
1282         New.
1283         * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
1284         New.
1285         * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
1286         New.
1287         * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
1288         New.
1289         * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
1290         * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
1291         * testsuite/experimental/filesystem/path/query/empty.cc: New.
1292         * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
1293         * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
1294         * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
1295         New.
1296         * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1297         New.
1298         * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
1299         New.
1300         * testsuite/experimental/filesystem/path/query/has_root_name.cc:
1301         New.
1302         * testsuite/experimental/filesystem/path/query/has_root_path.cc:
1303         New.
1304         * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
1305         * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
1306         * testsuite/util/testsuite_fs.h: New.
1308 2015-04-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
1310         Add fundamentals TR container erasure.
1311         * include/Makefile.am: Add new headers.
1312         * include/Makefile.in: Add new headers.
1313         * include/experimental/array: New.
1314         * include/experimental/deque: New.
1315         * include/experimental/erase_if.tcc: New.
1316         * include/experimental/forward_list: New.
1317         * include/experimental/list: New.
1318         * include/experimental/map: New.
1319         * include/experimental/set: New.
1320         * include/experimental/string: New.
1321         * include/experimental/unordered_map: New.
1322         * include/experimental/unordered_set: New.
1323         * include/experimental/vector: New.
1324         * testsuite/experimental/deque/erasure.cc: New.
1325         * testsuite/experimental/forward_list/erasure.cc: New.
1326         * testsuite/experimental/list/erasure.cc: New.
1327         * testsuite/experimental/map/erasure.cc: New.
1328         * testsuite/experimental/set/erasure.cc: New.
1329         * testsuite/experimental/string/erasure.cc: New.
1330         * testsuite/experimental/unordered_map/erasure.cc: New.
1331         * testsuite/experimental/unordered_set/erasure.cc: New.
1332         * testsuite/experimental/vector/erasure.cc: New.
1334 2015-04-30  François Dumont  <fdumont@gcc.gnu.org>
1336         * include/bits/cpp_type_traits.h
1337         (__gnu_cxx::__is_normal_iterator): Delete.
1338         * include/bits/stl_algobase.h (std::__niter_base): Adapt.
1339         * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
1340         (std::__niter_base): Overloads for std::reverse_iterator,
1341         __gnu_cxx::__normal_iterator and std::move_iterator.
1343 2015-04-30  François Dumont  <fdumont@gcc.gnu.org>
1345         * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
1346         Delete.
1347         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
1348         Remove usage of latter and compute size of the prime numbers array
1349         locally.
1351 2015-04-29  Doug Evans  <dje@google.com>
1353         PR libstdc++/65839
1354         * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
1355         Replace all lookups of "bool" with this.
1356         (get_std_size_type): New function.  Replace all lookups of std::size_t
1357         with this.
1358         (*Worker): New method get_result_type.
1359         (DequeWorkerBase.__init__): New arg val_type.  All callers updated.
1360         (ListWorkerBase.__init__): New arg val_type.  All callers updated.
1361         (UniquePtrGetWorker.__init__): New arg elem_type.  All callers updated.
1362         Delete setting of name, enabled.
1363         (UniquePtrDerefWorker.__init__): New arg elem_type.  All callers
1364         updated.  Delete setting of name.
1365         (UniquePtrMethodsMatcher): Rewrite for consistency with all other
1366         libstdc++ xmethod matchers.
1367         * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
1368         * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
1369         * testsuite/libstdc++-xmethods/deque.cc: Ditto.
1370         * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
1371         * testsuite/libstdc++-xmethods/list.cc: Ditto.
1372         * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
1373         * testsuite/libstdc++-xmethods/vector.cc: Ditto.
1375 2015-04-29  Doug Evans  <dje@google.com>
1377         Use consistent naming for value type attributes.
1378         * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
1379         to _val_type.
1380         (ArraySizeWorker, ArrayEmptyWorker): Ditto.
1381         (ArrayFrontWorker, ArrayBackWorker): Ditto.
1382         (ArrayAtWorker, ArraySubscriptWorker): Ditto.
1383         (DequeWorkerBase): Rename elemtype to val_type.
1384         (ForwardListWorkerBase): Rename _elem_type to _val_type.
1385         (ForwardListFrontWorker): Ditto.  And rename elem_address to
1386         val_address.
1387         (ForwardListMethodsMatcher): Rename elem_type to val_type.
1388         (VectorWorkerBase): Rename _elemtype to _val_type.
1390 2015-04-29  Jonathan Wakely  <jwakely@redhat.com>
1392         PR libstdc++/65760
1393         * include/std/functional (__check_func_return_type): Use is_same to
1394         avoid using _is_convertible on incomplete types.
1395         * testsuite/20_util/function/65760.cc: New.
1397         PR libstdc++/64657
1398         * include/bits/basic_string (basic_string::_S_copy_chars): Cast
1399         expression to void.
1400         * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
1401         time_get::_M_extract_num, time_get::_M_extract_name,
1402         time_get::_M_extract_wday_or_month): Likewise.
1403         * include/bits/stl_algo.h (__includes, __replace_copy_if,
1404         __is_sorted_until, __is_permutation, transform): Likewise.
1405         * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
1406         __equal::equal, __lexicographical_compare_impl, equal): Likewise.
1407         * include/bits/stl_numeric.h (inner_product): Likewise.
1408         * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
1409         * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
1410         input_iterator_wrapper): Declare unusable comma operator.
1411         * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
1412         * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
1413         New.
1415 2015-04-28  Doug Evans  <dje@google.com>
1417         * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
1418         Define to zero.
1420 2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
1422         * include/bits/stl_algo.h (random_shuffle): Only define for hosted
1423         implementations.
1425 2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
1427         * Makefile.am (SUBDIRS): Move python to hosted_source.
1428         * Makefile.in: Regenerate.
1429         * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
1430         * configure: Regenerate.
1432 2015-04-28  Marc Glisse  <marc.glisse@inria.fr>
1434         PR libstdc++/65883
1435         * include/std/limits (numeric_limits): Add missing unsigned.
1437 2015-04-28  Stephan Bergmann  <sbergman@redhat.com>
1439         * include/debug/vector (_Safe_vector::operator=): Add missing returns.
1441 2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
1443         PR libstdc++/60333
1444         * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
1445         Handle enumeration types larger than sizeof(long).
1446         (__make_signed_selector<_Tp, false, true>): Find unsigned type then
1447         make it signed.
1448         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1449         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1450         Likewise.
1451         * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
1452         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
1453         dg-error.
1454         * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
1456         PR libstdc++/61645
1457         * include/bits/forward_list.h (forward_list::splice_after): Add
1458         noexcept.
1459         * include/bits/forward_list.tcc (forward_list::splice_after):
1460         Likewise.
1462         PR libstdc++/65631
1463         * include/bits/random.h (seed_seq) Define copy constructor and copy
1464         assignment as deleted.
1465         * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
1467         * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
1468         * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
1469         Use -std=gnu++1z. Check feature-test macro.
1471         * include/std/type_traits (void_t): Add.
1472         * testsuite/20_util/void_t/1.cc: New.
1474 2015-04-28  Tim Shen  <timshen@google.com>
1476         * include/bits/regex.tcc: Handle regex_constants::__polynomial.
1477         * include/bits/regex_automaton.tcc: Throw exception when parsing
1478         back-reference with flag __polynomial.
1479         * include/bits/regex_constants.h: Add extension flag
1480         syntax_option_type __polynomial.
1481         * bits/regex_executor.tcc: Still let BFS process ECMAScript.
1482         Alternative operation will be fixed in the coming refactoring.
1483         * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
1484         loose match_search_debug to use DFS only.
1486 2015-04-27  Sandra Loosemore  <sandra@codesourcery.com>
1488         PR libstdc++/65909
1489         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
1490         Make the generated test program fail gracefully if the target
1491         doesn't support passing command-line arguments.
1493 2015-04-27  Federico Lenarduzzi  <federico.lenarduzzi@tallertechnologies.com>
1494             Jonathan Wakely  <jwakely@redhat.com>
1496         * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
1497         Return false or zero if the library is built without exceptions.
1498         * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
1499         the library is built without exceptions.
1501 2015-04-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
1503         * config/abi/pre/gnu.ver: Fix comment.
1505         Add support for std::uncaught_exceptions.
1506         * acinclude.m4: Bump libtool_VERSION.
1507         * config/abi/pre/gnu.ver: Export the new symbol.
1508         * configure: Regenerate.
1509         * libsupc++/eh_catch.cc (uncaught_exceptions): New.
1510         * libsupc++/exception (uncaught_exceptions): New.
1511         * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
1512         * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
1514 2015-04-27  Dmitry Prokoptsev  <dprokoptsev@gmail.com>
1515             Michael Hanselmann  <public@hansmi.ch>
1517         PR libstdc++/62258
1518         * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
1519         uncaught exceptions.
1520         * testsuite/18_support/exception_ptr/62258.cc: New.
1522 2015-04-27  Jonathan Wakely  <jwakely@redhat.com>
1524         * doc/xml/manual/extensions.xml: Add cross-reference.
1525         * doc/html/manual/ext_compile_checks.html: Regenerate.
1527 2015-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1529         * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
1530         * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
1532 2015-04-22  Renlin Li  <renlin.li@arm.com>
1534         * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
1535         * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
1536         * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
1537         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
1538         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
1540 2015-04-21  Jonathan Wakely  <jwakely@redhat.com>
1542         * doc/xml/manual/configure.xml: Update descriptions of options
1543         affecting dual ABI and add cross-references.
1544         * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
1545         * doc/xml/manual/using.xml: Document ABI transition.
1546         * doc/html/*: Regenerate.
1548         * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
1549         * doc/xml/manual/using.xml: Document newer -std options. Use better
1550         examples of nested namespaces.
1552 2015-04-20  Jonathan Wakely  <jwakely@redhat.com>
1554         * doc/xml/manual/concurrency_extensions.xml: Update documentation
1555         on atomics.
1556         * doc/xml/manual/using.xml: Likewise. Improve markup.
1557         * doc/html/*: Regenerate.
1559 2015-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1561         * scripts/extract_symvers.pl: Ignore elfdump error output.
1563 2015-04-14  Marc Glisse  <marc.glisse@inria.fr>
1565         PR libstdc++/61347
1566         * include/bits/stl_iterator_base_funcs.h (_List_iterator,
1567         _List_const_iterator): Declare.
1568         (__distance): Declare new overloads for _List_iterator and
1569         _List_const_iterator.
1570         * include/bits/stl_list.h (__distance): New overloads for
1571         _List_iterator and _List_const_iterator.
1572         * testsuite/23_containers/list/61347.cc: New testcase.
1574 2015-04-14  Jonathan Wakely  <jwakely@redhat.com>
1576         * doc/xml/manual/evolution.xml: Fix typos.
1577         * doc/html/manual/api.html: Regenerate.
1579 2015-04-14  Hans-Peter Nilsson  <hp@axis.com>
1581         * testsuite/29_atomics/atomic/62259.cc: Assert atomic
1582         alignment is larger-equal, not equal, to default alignment.
1584 2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
1586         PR libstdc++/65754
1587         * config/abi/pre/gnu.ver: Export base object constructors for
1588         fstreams.
1589         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1590         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1591         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1592         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1593         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1594         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1595         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
1596         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1597         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1598         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1599         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1600         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1601         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1602         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1603         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1604         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1605         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1606         * testsuite/27_io/basic_fstream/cons/base.cc: New.
1608 2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
1610         * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
1611         * doc/html/*: Regenerate.
1613 2015-04-12  Uros Bizjak  <ubizjak@gmail.com>
1615         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1617 2015-04-10  Andreas Schwab  <schwab@linux-m68k.org>
1619         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1621         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1623 2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
1625         * doc/xml/manual/test.xml: Improve documentation on running a subset
1626         of tests.
1627         * doc/html/manual/test.html: Regenerate.
1629 2015-04-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1631         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
1632         for GCC 5.1 release.
1633         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1634         Likewise.
1636 2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
1638         * include/std/shared_mutex (shared_timed_mutex): Add comments to
1639         explain the logic in the non-pthread_rwlock_t version.
1640         (_Mutex): Remove redundant type.
1641         (_M_n_readers): Rename to _S_max_readers.
1642         (_M_write_entered, _M_readers): New convenience functions.
1643         (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
1644         functions. Use predicates with condition variables. Simplify bitwise
1645         operations.
1646         (try_lock_for, try_shared_lock_for): Convert duration to time_point
1647         and call try_lock_until or try_shared_lock_until respectively.
1648         (try_lock_until, try_shared_lock_until): Wait on the condition
1649         variables until the specified time passes.
1650         (unlock): Add Debug Mode assertion.
1651         (unlock_shared): Add Debug Mode assertion.
1652         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
1654         * include/std/shared_mutex (shared_timed_mutex): Only use
1655         pthread_rwlock_t when the POSIX Timeouts option is supported.
1656         * testsuite/30_threads/shared_lock/cons/5.cc: Remove
1657         dg-require-gthreads-timed.
1658         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1659         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1660         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1662 2015-04-09  H.J. Lu  <hongjiu.lu@intel.com>
1664         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1666 2015-04-09  Jonathan Wakely  <jwakely@redhat.com>
1667             Richard Henderson  <rth@redhat.com>
1669         PR libstdc++/65147
1670         * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
1671         alignment.
1672         * include/std/atomic (atomic): For types with a power of two size set
1673         alignment to at least the size.
1674         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1675         * testsuite/29_atomics/atomic/65147.cc: New.
1676         * testsuite/29_atomics/atomic_integral/65147.cc: New.
1678 2015-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1680         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1681         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1682         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1684 2015-04-07  Jakub Jelinek  <jakub@redhat.com>
1686         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1687         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1688         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1689         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1690         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1691         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1692         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1693         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1695 2015-03-30  Jonathan Wakely  <jwakely@redhat.com>
1697         PR libstdc++/65630
1698         * config/abi/pre/gnu.ver: Export operator+ for new strings.
1699         * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
1700         * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
1702 2015-03-28  Tim Shen  <timshen@google.com>
1704         PR libstdc++/65420
1705         * include/bits/regex_constants.h: Use constexpr variables for flags.
1706         * testsuite/28_regex/constants/constexpr.cc: New testcase.
1708 2015-03-27  Jonathan Wakely  <jwakely@redhat.com>
1710         PR libstdc++/65499
1711         * include/std/chrono: Add using-directive for literals to std::chrono.
1712         * testsuite/20_util/duration/literals/65499.cc: New.
1714 2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
1716         PR libstdc++/58038
1717         PR libstdc++/60421
1718         * include/std/thread (this_thread::sleep_for): Check for negative
1719         durations.
1720         (this_thread::sleep_until): Check for times in the past.
1721         * testsuite/30_threads/this_thread/58038.cc: New.
1722         * testsuite/30_threads/this_thread/60421.cc: New.
1724 2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
1726         PR libstdc++/62259
1727         PR libstdc++/65147
1728         * include/std/atomic (atomic<T>): Increase alignment for types with
1729         the same size as one of the integral types.
1730         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1731         * testsuite/29_atomics/atomic/62259.cc: New.
1733 2015-03-26  Richard Henderson  <rth@redhat.com>
1735         PR libstdc++/65033
1736         * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
1737         a fake pointer indicating type alignment.
1738         (__atomic_base<T *>::is_lock_free): Likewise.
1739         * include/std/atomic (atomic<T>::is_lock_free): Likewise.
1741 2015-03-25  Alan Lawrence  <alan.lawrence@arm.com>
1743         PR libstdc++/33394
1744         * testsuite/21_strings/basic_string/pthread33394.cc: Use
1745         dg-additional-options.
1747 2015-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
1749         PR libstdc++/65543
1750         * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
1751         thinko in r150387.
1752         * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
1753         Likewise.
1754         * testsuite/27_io/rvalue_streams-2.cc: New.
1756 2015-03-24  Jonathan Wakely  <jwakely@redhat.com>
1758         PR libstdc++/33394
1759         * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
1761 2015-03-23  Jonathan Wakely  <jwakely@redhat.com>
1763         PR libstdc++/64967
1764         * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
1765         * configure: Regenerate.
1766         * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
1767         system_category): Use macros for versioned namespace.
1768         * src/c++11/futex.cc: Add missing end macro for versioned namespace.
1770 2015-03-20  James Greenhalgh  <james.greenhalgh@arm.com>
1772         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
1773         test for unused for ARM.
1774         * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
1775         * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1777 2015-03-20  Jonathan Wakely  <jwakely@redhat.com>
1779         * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
1780         * include/ext/codecvt_specializations.h (encoding_state,
1781         encoding_char_traits): Remove abi-tag and use inline namespace.
1782         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
1784 2015-03-19  Jason Merrill  <jason@redhat.com>
1786         * config/locale/gnu/messages_members.cc: Revert abi-tag change.
1787         * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
1789 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
1791         PR c++/65046
1792         * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
1793         get_catalogs): Add abi-tag.
1794         * include/ext/codecvt_specializations.h (encoding_state,
1795         encoding_char_traits): Likewise.
1796         * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
1797         * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
1798         numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
1799         money_get_shim, money_put_shim, messages_shim): Likewise.
1800         * src/c++11/future.cc (future_error_category::message): Likewise.
1801         * src/c++11/system_error.cc (generic_error_category::message,
1802         system_error_category::message): Likewise.
1803         (__sso_string): Disable -Wabi-tag warnings.
1805 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
1807         PR libstdc++/13631
1808         * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
1809         implementation for old glibc. Fix whitespace.
1811 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
1812             Torvald Riegel  <triegel@redhat.com>
1814         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
1815         * config.h.in: Regenerate.
1816         * configure: Regenerate.
1817         * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
1818         (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
1819         (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
1820         (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
1821         EDEADLK.
1823 2015-03-17  Jonathan Wakely  <jwakely@redhat.com>
1825         * libsupc++/nested_exception.h: Do not try to derive from final
1826         classes.
1827         * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
1828         final class.
1830         * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
1831         unused exception variable.
1832         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1833         * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
1834         test.
1835         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1837 2015-03-13  Jonathan Wakely  <jwakely@redhat.com>
1839         * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
1840         * configure: Regenerate.
1842         * include/experimental/system_error: Fix include guard.
1844 2015-03-12  Renlin Li  <renlin.li@arm.com>
1846         * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
1847         wrapped target.
1849 2015-03-10  Tim Shen  <timshen@google.com>
1851         PR libstdc++/64441
1852         * include/bits/regex.h (match_results<>::size,
1853         match_results<>::position, match_results<>::str,
1854         match_results<>::operator[], match_results<>::prefix,
1855         match_results<>::suffix, match_results<>::end,
1856         match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
1857         match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
1858         global __unmatched_sub. Add unmatched submatch as part of
1859         match_results.
1860         * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
1861         regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
1862         * testsuite/28_regex/match_results/out_of_range_submatches.cc:
1863         New testcases.
1865 2015-03-09  Jonathan Wakely  <jwakely@redhat.com>
1867         PR libstdc++/64467
1868         * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
1869         for newlib targets. Really fix mixed line-endings this time.
1871 2015-03-06  Jonathan Wakely  <jwakely@redhat.com>
1873         * include/std/future (future_error(error_code)): Construct base
1874         class with error_code's message.
1875         * src/c++11/future.cc (future_error::what()): Do not call c_str() on
1876         temporary string.
1878 2015-03-05  Jonathan Wakely  <jwakely@redhat.com>
1880         * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1881         noconv result.
1882         * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
1883         * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
1885 2015-03-04  Jonathan Wakely  <jwakely@redhat.com>
1887         PR libstdc++/64797
1888         * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1889         incomplete multibyte sequences correctly.
1890         * include/std/codecvt (codecvt_utf8, codecvt_utf16,
1891         codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
1892         * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
1893         Define constants.
1894         (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
1895         Define convenience functions.
1896         (read_utf8_code_point): Return relevant constant to distinguish
1897         incomplete characters from invalid sequences.
1898         (read_utf16_code_point): Likewise. Check for invalid sequences.
1899         (ucs4_in, utf16_in): Use incomplete_mb_character constant.
1900         (utf16_out): Check for invalid sequences.
1901         (utf16_span): Fix condition.
1902         (ucs2_out): Use is_high_surrogate.
1903         (ucs2_in): Use incomplete_mb_character constant and fix condition.
1904         * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
1905         * testsuite/22_locale/conversions/buffer/1.cc: New.
1906         * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
1907         char32_t instead of wchar_t.
1908         * testsuite/22_locale/conversions/string/3.cc: New.
1910 2015-03-03  Iain Sandoe  <iain@codesourcery.com>
1912         PR libstdc++/64883
1913         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
1914         visibility for Darwin.
1915         * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
1916         also deprecated.
1917         * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1919 2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
1921         PR libstdc++/65279
1922         * include/std/scoped_allocator (__inner_type_impl,
1923         scoped_allocator_adaptor): Add defaulted copy assignment and move
1924         assignment operators.
1925         * testsuite/20_util/scoped_allocator/65279.cc: New.
1927 2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
1929         PR libstdc++/64367
1930         * include/std/stdexcept (__sso_string): Don't use non-static member
1931         in sizeof.
1933 2015-02-28  Matthias Klose  <doko@ubuntu.com>
1935         PR libstdc++/65246
1936         * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
1938 2015-02-22  Jonathan Wakely  <jwakely@redhat.com>
1940         * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
1941         * doc/html/manual/status.html: Regenerate.
1943 2015-02-20  Jonathan Wakely  <jwakely@redhat.com>
1945         PR libstdc++/64695
1946         * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
1947         tuple layout.
1949         * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
1950         behavior.
1951         * doc/html/manual/status.html: Regenerate.
1953 2015-02-19  Jonathan Wakely  <jwakely@redhat.com>
1955         PR libstdc++/58357
1956         * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
1957         * include/bits/stl_algo.h (__rotate, rotate): Likewise.
1959 2015-02-19  Hans-Peter Nilsson  <hp@axis.com>
1961         PR testsuite/65093
1962         * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
1963         (test01): Add explanatory comment.  Keep only the bd1 sub-test and
1964         split out bd2, bd3, bd4, and bd5 sub-tests into...
1965         * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
1966         testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
1967         testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
1968         testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
1969         New separate files with the old parts.
1971 2015-02-18  Jonathan Wakely  <jwakely@redhat.com>
1973         * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
1974         surrogate pairs.
1975         (utf16_in): Pass mode argument to write_utf16_code_point.
1976         (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
1977         native byte order.
1978         * testsuite/22_locale/codecvt/char16_t.cc: New.
1979         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
1981         * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
1982         * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
1984 2015-02-17  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
1985             Jonathan Wakely  <jwakely@redhat.com>
1987         * testsuite/22_locale/codecvt/char32_t.cc: New.
1989 2015-02-17  Jonathan Wakely  <jwakely@redhat.com>
1991         PR libstdc++/65085
1992         * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
1993         empty string gets null-terminated.
1994         * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
1996 2015-02-13  Matthew Wahab  <matthew.wahab@arm.com>
1998         * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
1999         mixed line-endings introduced in last change.
2001 2015-02-12  Matthew Wahab  <matthew.wahab@arm.com>
2003         * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
2004         for __NEWLIB__ macro with a dejagnu set macro.
2005         * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
2007 2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>
2009         PR libstdc++/64467
2010         * testsuite/28_regex/traits/char/isctype.cc (test01):   Add newlib
2011         special case for '\n'.
2012         * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
2014 2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
2016         * src/c++11/futex.cc: Do not define for gthr-single.h targets.
2018 2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
2020         PR libstdc++/64883
2021         * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
2022         of deprecated.
2023         * include/c_std/cstdio (gets): Likewise.
2024         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
2025         with attributes used in darwin headers.
2027 2015-01-29  Jakub Jelinek  <jakub@redhat.com>
2029         * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
2030         $vtv_cygmin = yes.  Initialize vtv_cygmin=no unconditionally first.
2031         * configure: Regenerated.
2033 2015-01-29  H.J. Lu  <hongjiu.lu@intel.com>
2035         * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
2036         after vtv_cygmin is set.
2037         * configure: Regenerated.
2039 2015-01-29  Matthias Klose  <doko@ubuntu.com>
2041         * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
2042         unconditionally.
2043         * configure: Regenerate.
2045 2015-01-29  Caroline Tice  <cmtice@google.com>
2047         Committing VTV Cywin/Ming patch for Patrick Wollgast
2048         * configure: Regenerate.
2049         * libsupc++/Makefile.in: Regenerate.
2050         * src/Makefile.in: Regenerate.
2052 2015-01-29  Jonathan Wakely  <jwakely@redhat.com>
2054         * include/bits/atomic_base.h: Use __always_inline__ instead of
2055         always_inline.
2056         * include/bits/atomic_futex.h: Likewise.
2057         * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
2058         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
2059         __packed__ instead of packed.
2060         * include/std/shared_mutex: Use __unused__ instead of unused.
2061         * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
2062         * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
2063         * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
2065 2015-01-28  Caroline Tice  <cmtice@google.com>
2067         Committing VTV Cywin/Ming patch for Patrick Wollgast
2068         * acinclude.m4: Define VTV_CYGMIN.
2069         * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
2070         and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
2071         * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
2072         for Cygwin and MinGW.
2073         * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
2074         VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
2075         libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
2077 2015-01-28  Jonathan Wakely  <jwakely@redhat.com>
2079         PR libstdc++/64828
2080         * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
2081         * libsupc++/Makefile.in: Regenerate.
2082         * src/c++11/Makefile.in: Regenerate.
2084 2015-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2086         * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
2087         check for unsupported.
2088         (v3_target_compile_as_c): Likewise.
2090 2015-01-28  Richard Biener  <rguenther@suse.de>
2092         PR libstdc++/64798
2093         * libsupc++/eh_alloc.cc (struct allocated_entry): Align
2094         data member.
2095         (pool::allocate): Adjust allocation size and alignment to
2096         that change.
2097         (pool::free): Adjust pointer offsetting.
2099 2015-01-27  Jonathan Wakely  <jwakely@redhat.com>
2101         PR libstdc++/64368
2102         * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
2103         shared_timed_mutex::try_lock_until): Only define when POSIX thread
2104         timeouts option is supported.
2105         (shared_timed_mutex::try_shared_lock_for,
2106         shared_timed_mutex::try_shared_lock_until): Likewise.
2108 2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
2110         PR libstdc++/64368
2111         * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
2112         numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
2113         * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
2114         and use cache's _M_grouping field.
2115         (__numpunct_fill_cache): Likewise.
2116         (__moneypunct_fill_cache): Improve comments.
2118 2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
2120         * testsuite/23_containers/set/operations/2.cc: Add test for
2121         non-transparent comparison function.
2123 2015-01-25  Oleg Endo  <olegendo@gcc.gnu.org>
2125         PR target/29366
2126         * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): 
2127         Remove SH4A inline asm and lock based implementations and use the
2128         defaults from ext/atomicity.h.
2130 2015-01-23  Jonathan Wakely  <jwakely@redhat.com>
2132         * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
2133         new std::string constructors for byname facets.
2135 2015-01-22  Richard Biener  <rguenther@suse.de>
2137         PR libstdc++/64535
2138         * libsupc++/eh_alloc.cc: Include new.
2139         (bitmask_type): Remove.
2140         (one_buffer): Likewise.
2141         (emergency_buffer): Likewise.
2142         (emergency_used): Likewise.
2143         (dependents_buffer): Likewise.
2144         (dependents_used): Likewise.
2145         (class pool): New custom fixed-size arena, variable size object
2146         allocator.
2147         (emergency_pool): New global.
2148         (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
2149         (__cxxabiv1::__cxa_free_exception): Likewise.
2150         (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
2151         (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
2153 2015-01-22  Tim Shen  <timshen@google.com>
2155         PR libstdc++/64680
2156         * include/bits/regex.h (basic_regex<>::basic_regex,
2157         basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
2158         standard interface.
2159         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
2161 2015-01-22  Tim Shen  <timshen@google.com>
2163         PR libstdc++/64649
2164         * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
2165         regex_traits<>::lookup_classname): Correctly narrow input chars.
2166         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
2168 2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
2170         * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
2172 2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
2174         * testsuite/29_atomics/atomic/64658.cc: Test stored value.
2176 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
2178         * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
2179         * doc/xml/manual/status_cxx2014.xml: Update status.
2180         * doc/html/manual/status.html: Regenerate.
2182 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
2184         PR libstdc++/64650
2185         * include/experimental/optional (bad_optional_access): Add default
2186         constructor.
2187         * testsuite/experimental/optional/requirements.cc: Test for default
2188         constructor.
2190 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
2192         * include/bits/stl_map.h (map::find<>, map::count<>,
2193         map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
2194         member function templates to perform heterogeneous lookup.
2195         * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
2196         multimap::lower_bound<>, multimap::upper_bound<>,
2197         multimap::equal_range<>): Likewise.
2198         * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
2199         multiset::lower_bound<>, multiset::upper_bound<>,
2200         multiset::equal_range<>): Likewise.
2201         * include/bits/stl_set.h (set::find<>, set::count<>,
2202         set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
2203         * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
2204         _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
2205         _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
2206         _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
2207         * testsuite/23_containers/map/operations/2.cc: New.
2208         * testsuite/23_containers/multimap/operations/2.cc: New.
2209         * testsuite/23_containers/multiset/operations/2.cc: New.
2210         * testsuite/23_containers/set/operations/2.cc: New.
2212 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
2214         * config/abi/pre/gnu.ver: Export new constructors.
2215         * include/bits/codecvt.h (codecvt_byname): Add string constructor.
2216         (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
2217         specializations and declare explicit instantiations.
2218         * include/bits/locale_classes.h (locale, collate_byname): Add string
2219         constructors.
2220         * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
2221         Likewise.
2222         * include/bits/locale_facets_nonio.h (time_get_byname,
2223         time_put_byname, moneypunct_byname, messages_byname): Likewise.
2224         * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
2225         codecvt_byname<char32_t>): Define explicit instantiations.
2226         * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
2227         Instantiate string constructors.
2228         (ctype_byname): Define string constructor.
2229         * testsuite/22_locale/codecvt_byname/1.cc: New.
2230         * testsuite/22_locale/collate_byname/1.cc: New.
2231         * testsuite/22_locale/ctype_byname/2.cc: New.
2232         * testsuite/22_locale/messages_byname/1.cc: New.
2233         * testsuite/22_locale/moneypunct_byname/1.cc: New.
2234         * testsuite/22_locale/numpunct_byname/1.cc: New.
2236 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
2238         PR libstdc++/64658
2239         * include/std/atomic (atomic_init): Define.
2240         * testsuite/29_atomics/atomic/64658.cc: New.
2242 2015-01-19  Tim Shen  <timshen@google.com>
2244         PR libstdc++/64649
2245         * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
2246         regex_traits<>::lookup_classname): Support forward iterators.
2247         * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
2248         * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
2250 2015-01-19  Tim Shen  <timshen@google.com>
2252         PR libstdc++/64584
2253         PR libstdc++/64585
2254         * include/bits/regex.h (basic_regex<>::basic_regex,
2255         basic_regex<>::assign, basic_regex<>::imbue,
2256         basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
2257         imbuing basic_regex; Make assign() transactional against exception.
2258         * include/bits/regex_compiler.h (__compile_nfa<>): Add back
2259         __compile_nfa SFINAE.
2260         * include/std/regex: Adjust include order to avoid __compile_nfa
2261         forward declaration.
2262         * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
2263         * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
2265 2015-01-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
2266             Jonathan Wakely  <jwakely@redhat.com>
2268         * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
2269         on overloads for arrays.
2270         (cbegin, cend, rbegin, rend, crbegin, crend): New.
2271         * testsuite/24_iterators/range_access_cpp14.cc: New.
2273 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
2275         PR libstdc++/64646
2276         * include/bits/stl_algo.h (__is_permutation): Also test for reaching
2277         end of the second range.
2278         * testsuite/25_algorithms/is_permutation/64646.cc: New.
2280 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
2282         * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
2283         * doc/html/manual/status.html: Regenerate.
2285 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
2287         * include/bits/atomic_futex.h: Use mutex and condition_variable when
2288         atomic int is not lock-free. Make member variables private.
2289         * src/c++11/futex.cc: Likewise.
2291         * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
2293 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2295         PR libstdc++/64638
2296         * include/bits/atomic_futex.h: Use appropriate config macros for
2297         availability of std::mutex, std::condition and std::chrono.
2299 2015-01-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
2300             Jonathan Wakely  <jwakely@redhat.com>
2302         * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
2303         * doc/html/*: Regenerate.
2305 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2307         DR 488
2308         PR libstdc++/58357
2309         * include/bits/algorithmfwd.h (rotate): Return an iterator.
2310         * include/bits/stl_algo.h (rotate, __rotate): Likewise.
2311         * testsuite/25_algorithms/rotate/dr488.cc: New.
2312         * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
2313         * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2314         2.cc: Likewise.
2315         * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2316         pod.cc: Likewise.
2318 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2320         PR libstdc++/60940
2321         * include/bits/atomic_base.h: Remove atomic integral typedefs as
2322         synonyms for __atomic_base<int> etc.
2323         * include/std/atomic: Make atomic_int a synonym for atomic<int> and
2324         likewise for all atomic integral types.
2325         * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
2326         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2328 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2330         PR libstdc++/56785
2331         * include/std/tuple (_Tuple_impl): Remove zero-element specialization
2332         and define one-element specialization.
2333         * testsuite/20_util/tuple/56785.cc: New.
2335 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2337         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
2338         Remove unused header.
2339         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
2340         Likewise.
2341         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
2342         Likewise.
2344 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
2346         * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
2347         * include/std/locale: Include new header.
2348         * include/Makefile.am: Add it.
2349         * include/Makefile.in: Regenerate.
2350         * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
2351         * testsuite/22_locale/conversions/string/1.cc: New.
2352         * testsuite/22_locale/conversions/string/2.cc: New.
2353         * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
2354         * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
2355         New.
2357 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
2359         * config/abi/pre/gnu.ver: Export new symbols.
2360         * include/Makefile.am: Add codecvt.
2361         * include/Makefile.in: Regenerate.
2362         * include/std/codecvt: New header.
2363         * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
2364         __codecvt_utf8_utf16_base): Define specializations.
2365         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
2366         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
2367         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
2368         New.
2370 2015-01-16  Torvald Riegel  <triegel@redhat.com>
2372         * src/c++11/futex.cc: New file.
2373         * include/bits/atomic_futex.h: New file.
2374         * include/std/future (__future_base::_State_baseV2): Use
2375         atomic_futex_unsigned instead of mutex+condvar.
2376         * src/c++11/futex.cc: Likewise.
2377         * include/Makefile.am: Add atomic_futex.h.
2378         * include/Makefile.in: Likewise.
2379         * src/c++11/Makefile.am: Add futex.cc.
2380         * src/c++11/Makefile.in: Likewise.
2382 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
2384         * acinclude.m4: Fix typo in comment.
2385         * configure: Regenerate.
2386         * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
2387         codecvt<char16_t, char, mbstate_t>): Declare specializations.
2388         * include/bits/locale_facets.h: Reserve space for new specializations.
2389         * src/c++11/Makefile.am: Add codecvt.cc.
2390         * src/c++11/Makefile.in: Regenerate.
2391         * src/c++11/codecvt.cc: New.
2392         * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
2393         with -std=gnu++11.
2394         * src/c++98/Makefile.in: Regenerate.
2395         * src/c++98/locale_init.cc: Initialize new codecvt specializations.
2396         * src/c++98/localename.cc: Likewise.
2397         * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
2398         * testsuite/22_locale/codecvt/utf8.cc: New.
2399         * testsuite/22_locale/locale/cons/unicode.cc: Check that new
2400         specializations are installed in locale objects.
2402 2015-01-16  Torvald Riegel  <triegel@redhat.com>
2404         * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
2405         implementation.
2407 2015-01-13  Jonathan Wakely  <jwakely@redhat.com>
2409         PR libstdc++/64571
2410         * config/abi/pre/gnu.ver: Export fstream functions using new string.
2412 2015-01-12  Jonathan Wakely  <jwakely@redhat.com>
2414         PR libstdc++/64560
2415         * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
2416         for RTTI support.
2418         PR libstdc++/64553
2419         * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
2421 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
2423         * doc/xml/manual/parallel_mode.xml: Update for libgomp being
2424         renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
2425         Multi Processing Runtime Library".
2427 2015-01-09  Jonathan Wakely  <jwakely@redhat.com>
2429         PR libstdc++/64476
2430         * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
2431         is_assignable arguments.
2432         * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
2433         New.
2435 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
2437         * libsupc++/unwind-cxx.h: Revert previous commit.
2439 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
2441         * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
2443 2015-01-09  Tim Shen  <timshen@google.com>
2445         PR libstdc++/64239
2446         * include/bits/regex.h (match_results<>::swap): Use std::swap
2447         instead of swap.
2448         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
2449         Likewise.
2450         * testsuite/28_regex/match_results/swap.cc: New testcase.
2452 2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
2454         PR libstdc++/60132
2455         * include/std/type_traits (has_trivial_default_constructor,
2456         has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
2457         attribute.
2458         * testsuite/20_util/has_trivial_copy_assign/requirements/
2459         explicit_instantiation.cc: Use -Wno-deprecated.
2460         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
2461         Likewise.
2462         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
2463         * testsuite/20_util/has_trivial_copy_constructor/requirements/
2464         explicit_instantiation.cc: Likewise.
2465         * testsuite/20_util/has_trivial_copy_constructor/requirements/
2466         typedefs.cc: Likewise.
2467         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
2468         * testsuite/20_util/has_trivial_default_constructor/requirements/
2469         explicit_instantiation.c: Likewise.
2470         * testsuite/20_util/has_trivial_default_constructor/requirements/
2471         typedefs.cc: Likewise.
2472         * testsuite/20_util/has_trivial_default_constructor/value.cc:
2473         Likewise.
2474         * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
2475         trait.
2476         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
2477         * testsuite/util/testsuite_common_types.h: Likewise.
2479 2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
2481         * include/bits/hashtable_policy.h: Use __bool_constant.
2483 2015-01-07  Jonathan Wakely  <jwakely@redhat.com>
2485         * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
2486         * libsupc++/Makefile.in: Regenerate.
2488 2015-01-06  Jonathan Wakely  <jwakely@redhat.com>
2490         * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
2492 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
2494         Update copyright years.
2496 2015-01-04  Jonathan Wakely  <jwakely@redhat.com>
2498         PR libstdc++/64483
2499         * testsuite/18_support/exception_ptr/64241.cc: Use
2500         dg-require-atomic-builtins.
2502 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
2504         * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
2505         date.
2507 2015-01-02  Tim Shen  <timshen@google.com>
2509         PR libstdc++/64475
2510         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
2511         iterator, since the original one shouldn't be mutated.
2513 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2515         PR libstdc++/64422
2516         * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
2517         (string::insert): Likewise.
2518         (string::replace): Likewise.
2519         (wstring::erase): Likewise.
2520         (wstring::insert): Likewise.
2521         (wstring::replace): Likewise.
2522         * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
2524 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
2526         PR libstdc++/64468
2527         * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
2529 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
2531         PR libstdc++/64438
2532         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
2533         Revert removal of dg-require-string-conversions.
2534         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
2535         Likewise.
2536         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
2537         Likewise.
2538         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
2539         Likewise.
2540         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
2541         Likewise.
2542         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
2543         Likewise.
2544         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
2545         Likewise.
2546         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
2547         Likewise.
2548         * testsuite/21_strings/basic_string/numeric_conversions/char/
2549         stoull.cc: Likewise.
2550         * testsuite/21_strings/basic_string/numeric_conversions/char/
2551         to_string.cc: Likewise.
2553 Copyright (C) 2015 Free Software Foundation, Inc.
2555 Copying and distribution of this file, with or without modification,
2556 are permitted in any medium without royalty provided the copyright
2557 notice and this notice are preserved.