2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob1880614ffffe2b4817c5dfec037be4365d70fced
1 2015-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
3         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
4         dg-error line numbers.
5         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
6         Likewise.
8 2015-06-23  François Dumont  <fdumont@gcc.gnu.org>
10         * include/debug/array: Include <array>. Add version namespace when
11         specializing tuple interface to array. Add specialization for
12         __is_tuple_like_impl.
13         * include/profile/array: Likewise.
14         * include/std/array: Include <utility>. Add specialization for
15         __is_tuple_like_impl.
16         * include/std/tuple
17         (__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move...
18         * include/std/utility: ... here. Include <type_traits>.
19         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
20         dg-error line number.
21         * testsuite/23_containers/array/tuple_interface/
22         tuple_element_debug_neg.cc: Likewise.
24 2015-06-22  Jonathan Wakely  <jwakely@redhat.com>
26         * testsuite/26_numerics/complex/value_operations/1.cc: Use
27         non-negative rho argument.
29         * include/debug/list (__gnu_debug::list): Use allocator-aware
30         _Safe_container base.
31         * include/debug/string (__gnu_debug::basic_string): Use
32         allocator-aware _Safe_container base for cxx11 ABI.
34         * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range.
35         (wstring_convert): Move into __cxx11 namespace.
36         (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception
37         message.
39         PR libstdc++/64657
40         * include/bits/stl_uninitialized.h
41         (__uninitialized_copy::__uninit_copy): Cast expression to void.
43 2015-06-17  Jonathan Wakely  <jwakely@redhat.com>
45         PR libstdc++/55409
46         * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
47         (list::list(const list&)): Use allocator propagation trait. Use
48         _M_assign_dispatch to copy elements.
49         * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
50         (_List_node::_M_valptr()): Add accessor for stored value.
51         (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
52         (_List_base, list): Use allocator traits.
53         (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
54         (_List_base::_M_move_nodes): New function.
55         (_List_base(_List_base&&)): Use _M_move_nodes.
56         (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
57         (list::_M_create_node, list::_M_erase, list::max_size): Use allocator
58         traits.
59         (list(size_type)): Add allocator parameter.
60         (list(const list&)): Use allocator propagation trait.
61         (list(const list&, const allocator_type&)): New constructor.
62         (list(list&&, const allocator_type&)): Likewise.
63         (list::operator=(list&&), list::swap(list&)): Use allocator
64         propagation traits.
65         (list::_M_move_assign): New functions.
66         * include/debug/list: Add allocator-extended constructors.
67         * include/profile/list: Likewise.
68         * python/libstdcxx/v6/printers.py (get_value_from_list_node): New
69         function to get value from _List_node.
70         (StdListPrinter): Use get_value_from_list_node.
71         * testsuite/23_containers/list/allocator/copy.cc: New.
72         * testsuite/23_containers/list/allocator/copy_assign.cc: New.
73         * testsuite/23_containers/list/allocator/minimal.cc: New.
74         * testsuite/23_containers/list/allocator/move.cc: New.
75         * testsuite/23_containers/list/allocator/move_assign.cc: New.
76         * testsuite/23_containers/list/allocator/noexcept.cc: New.
77         * testsuite/23_containers/list/allocator/swap.cc: New.
78         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
79         Adjust dg-prune-output line number.
80         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
81         Likewise.
82         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
83         Likewise.
85         * include/bits/forward_list.h
86         (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
87         rvalue-reference.
88         (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
89         (forward_list(const _Alloc&)): Split default constructor out to
90         separate function.
91         (forward_list(forward_list&&, const _Alloc&)): Move elements if base
92         class didn't do so.
93         (forward_list::_M_move_assign(forward_list&&, true_type)): Replace
94         swap call with two assignments.
95         * include/bits/forward_list.tcc
96         (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
97         move elements when allocators are not equal.
98         * include/debug/forward_list (forward_list(const allocator_type&)):
99         Split default constructor out to separate function.
100         * include/profile/forward_list (forward_list(const _Alloc&)):
101         Likewise.
103         * include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
104         Remove unnecessary uses of operator& and static_cast.
105         * include/bits/forward_list.tcc
106         (forward_list::operator=(const forward_list&)): Use __addressof
107         instead of operator&.
108         (forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
109         Remove invalid static_casts.
110         * include/debug/forward_list: Use __addressof instead of operator&.
111         * testsuite/23_containers/forward_list/modifiers/addressof.cc: New.
113         * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
114         __is_nothrow_swappable.
116 2015-06-16  Jonathan Wakely  <jwakely@redhat.com>
118         * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
120         * include/bits/list.tcc (list::operator=(const list&), list::merge):
121         Use __addressof instead of operator&.
122         (list::sort): Use array-to-pointer decay instead of operator&.
123         * include/bits/stl_list.h (list::splice): Use __addressof instead of
124         operator&.
125         * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
126         Likewise.
127         * include/debug/functions.h (__check_singular): Likewise.
128         * include/debug/list (list::splice, list::merge): Likewise.
129         * testsuite/23_containers/list/modifiers/addressof.cc: New.
131         PR libstdc++/65393
132         * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
133         copies with moves.
135 2015-06-12  Jonathan Wakely  <jwakely@redhat.com>
137         * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
139         PR libstdc++/66464
140         * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
141         Return 4 not 3.
143 2015-06-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
145         PR c++/66192
146         PR target/66200
147         * config/cpu/alpha/atomic_word.h: Remove.
148         * config/cpu/ia64/atomic_word.h: Remove.
149         * config/cpu/powerpc/atomic_word.h: Remove.
150         * config/os/aix/atomic_word.h: Remove.
151         * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
152         Use generic definition.
154 2015-06-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
156         PR target/66200
157         PR c++/66192
158         * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
159         (_GLIBCXX_WRITE_MEM_BARRIER): Likewise
160         * include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
161         * include/ext/atomicity.h: Likewise.
162         * include/tr1/shared_ptr.h: Likewise.
163         * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
164         Update comment.
165         (__set_and_release): Likewise.
166         * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
167         line numbers.
168         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
169         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
170         Likewise.
172 2015-06-12  Jonathan Wakely  <jwakely@redhat.com>
174         * include/std/tuple (__is_tuple_like_impl): Disambiguate array in
175         debug and profile modes.
176         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
177         for swap in C++11 and later.
179 2015-06-09  Jonathan Wakely  <jwakely@redhat.com>
181         PR libstdc++/66030
182         * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
183         for mingw32.
185 2015-06-08  Jonathan Wakely  <jwakely@redhat.com>
187         PR libstdc++/66441
188         * testsuite/22_locale/conversions/string/66441.cc: New.
189         * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
190         in the output string for BOM and complete result.
192         PR libstdc++/66417
193         * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
194         for single UTF-16 units.
195         * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
197 2015-06-07  François Dumont  <fdumont@gcc.gnu.org>
199         * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
200         outer scope and rename to ...
201         (std::__hash_is_transparent<>): ... this.
202         * include/debug/stl_map.h (map::find<>,
203         map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
204         member function templates to perform heterogeneous lookup.
205         * include/debug/stl_multimap.h (multimap::find<>,
206         multimap::lower_bound<>, multimap::upper_bound<>,
207         multimap::equal_range<>): Likewise.
208         * include/debug/stl_multiset.h (multiset::find<>,
209         multiset::lower_bound<>, multiset::upper_bound<>,
210         multiset::equal_range<>): Likewise.
211         * include/debug/stl_set.h (set::find<>,
212         set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
213         * include/profile/stl_map.h (map::find<>, map::count<>,
214         map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
215         * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
216         multimap::lower_bound<>, multimap::upper_bound<>,
217         multimap::equal_range<>): Likewise.
218         * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
219         multiset::lower_bound<>, multiset::upper_bound<>,
220         multiset::equal_range<>): Likewise.
221         * include/profile/stl_set.h (set::find<>, set::count<>,
222         set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
223         * testsuite/23_containers/map/operations/1.cc: Check const variants.
224         * testsuite/23_containers/multimap/operations/1.cc: Likewise.
225         * testsuite/23_containers/multiset/operations/1.cc: Likewise.
226         * testsuite/23_containers/set/operations/1.cc: Likewise.
228 2015-06-05  Jonathan Wakely  <jwakely@redhat.com>
230         * doc/xml/manual/status_cxx2017.xml: Update status tables.
231         * doc/html/manual/*: Regenerate.
232         * include/std/type_traits (bool_constant): Define.
233         * testsuite/20_util/bool_constant/requirements.cc: New.
234         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
235         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
236         Likewise.
237         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
238         Likewise.
240         * include/std/shared_mutex (__shared_mutex_pthread,
241         __shared_mutex_cv): New helper types implementing the shared mutex
242         requirements.
243         (shared_mutex): New type for C++17.
244         (shared_timed_mutex): Derive from one of the new helper types.
245         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
246         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
247         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
248         * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
249         New.
250         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
251         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
253 2015-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
255         Add __is_nothrow_swappable and take it into use.
256         * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
257         * include/bits/move.h (swap): Add constraints in C++11 and later.
258         * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
259         for the free swap function for pair.
260         * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
261         for the free swap functions for queue and priority_queue.
262         * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
263         for the free swap function for stack.
264         * include/debug/array (swap): Use __is_nothrow_swappable
265         for the free swap function for array.
266         * include/profile/array (swap): Likewise.
267         * include/std/array (swap): Likewise.
268         * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
269         * include/std/type_traits (__is_swappable_impl::__is_swappable,
270         __is_nothrow_swappable_impl, __is_nothrow_swappable): New.
271         * testsuite/20_util/is_nothrow_swappable/requirements/
272         explicit_instantiation.cc: New.
273         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
274         New.
275         * testsuite/20_util/is_nothrow_swappable/value.cc: New.
277 2015-06-03  François Dumont  fdumont@gcc.gnu.org>
279         * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
281 2015-06-02  Jonathan Wakely  <jwakely@redhat.com>
283         * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
284         * doc/html/manual/*: Regenerate.
286         * doc/html/ext/lwg-active.html: Update to R93.
287         * doc/html/ext/lwg-closed.html: Likewise.
288         * doc/html/ext/lwg-defects.html: Likewise.
289         * doc/html/manual/*: Regenerate.
290         * doc/xml/manual/intro.xml: Document status of several DRs.
292 2015-06-02  Renlin Li  <renlin.li@arm.com>
294         * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
296 2015-06-01  Jonathan Wakely  <jwakely@redhat.com>
298         * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
299         environment variable.
301 2015-05-31  Jonathan Wakely  <jwakely@redhat.com>
303         PR libstdc++/66354
304         * include/bits/stl_algobase.h (__fill_a): Check length before calling
305         memset.
307 2015-05-30  Jonathan Wakely  <jwakely@redhat.com>
309         * include/bits/stl_algobase.h (__equal<true>::equal): Check length
310         instead of checking for null pointers.
311         (__lexicographical_compare<true>::__lc): Only check shorter length.
313 2015-05-29  François Dumont  fdumont@gcc.gnu.org>
315         * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
316         _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
317         * include/debug/assertions.h: ...here, new.
318         * include/debug/formatter.h
319         (_Error_formatter::_Is_iterator_value_type): New.
320         (_Error_formatter::_Is_instance): New.
321         (_Error_formatter::_Parameter): Make public and not friend anymore.
322         (_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
323         (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
324         entry.
325         (_Error_formatter::_Parameter::_Type): New.
326         (_Error_formatter::_Parameter::_Instance): New, inherit from
327         latter.
328         (union _Error_formatter::_Parameter::_M_variant): Reorganize.
329         (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
330         overloads take iterator through a const reference.
331         (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
332         New.
333         (_Parameter(const _Type&, const char*, _Is_instance)): New.
334         (_Error_formatter::_M_print_type): Delete.
335         (_Error_formatter::_M_iterator_value_type): New.
336         (_Error_formatter::_M_instance): New.
337         * include/Makefile.am: Add new above debug file.
338         * include/Makefile.in: Regenerate.
339         * include/debug/functions.h
340         (__check_dereferenceable(const _Safe_iterator<>&),
341         __valid_range(const _Safe_iterator<>&),
342         __is_safe_random_iterator<_Safe_iterator<>>): Move...
343         * include/debug/safe_iterator.h: ... here.
344         Replace debug.h include with assertions.h.
345         (__check_singular_aux): Move...
346         * include/debug/safe_base.h: ... here.
347         * include/debug/functions.h
348         (__check_dereferenceable(const _Safe_local_iterator<>&),
349         __valid_range(const _Safe_local_iterator<>&): Move...
350         * include/debug/safe_local_iterator.h: ...here.
351         * include/debug/safe_sequence.h: Replace debug.h with assertions.h.
352         Remove _Safe_iterator declaration.
353         * include/debug/safe_unordered_container.h: Replace debug.h with
354         assertions.h.
355         * include/debug/array: Replace safe_sequence.h include with
356         formatter.h and macros.h.
357         * include/debug/deque: Include functions.tcc.
358         * include/debug/forward_list: Likewise.
359         * include/debug/list: Likewise.
360         * include/debug/string: Likewise.
361         * include/debug/vector: Likewise.
362         * include/bits/unique_ptr.h: Replace debug.h include with new
363         assertions.h.
364         * include/bits/stl_iterator_base_funcs.h: Likewise.
365         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
366         Adjust dg-error line number.
367         * testsuite/23_containers/array/tuple_interface/
368         tuple_element_debug_neg.cc: Likewise.
369         * src/c++11/debug.cc: Adapt.
371 2015-05-29  Jonathan Wakely  <jwakely@redhat.com>
373         * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
374         * doc/html/manual/*: Regenerate.
376         * include/std/future (__async_result_of): New alias template.
377         (async): Use __async_result_of to pass decayed types to result_of.
378         * testsuite/30_threads/async/lwg2021.cc: New.
379         * doc/xml/manual/intro.xml: Document LWG 2021 status.
381         PR libstdc++/66327
382         * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
383         memcmp with null pointers.
384         (__lexicographical_compare<true>::__lc): Do not call memcmp for empty
385         ranges.
387 2015-05-28  Jonathan Wakely  <jwakely@redhat.com>
389         PR libstdc++/65352
390         * include/profile/array (array::data): Use _S_ptr.
391         * include/debug/array (array::data): Likewise.
393         PR libstdc++/65352
394         * include/std/array (__array_traits::_S_ptr): New function.
395         (array::data): Use _S_ptr to avoid creating invalid reference.
396         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
397         dg-error line numbers.
398         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
399         likewise.
401 2015-05-27  Jonathan Wakely  <jwakely@redhat.com>
403         * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
404         instead of downcasting.
405         (_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
406         (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
407         (_Rb_tree::_S_iter): Remove.
408         (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
409         (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
410         instead of _S_lower_bound_tr
411         (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
412         (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
413         instead of calling _S_lower_bound_tr.
414         (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
415         (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
416         instead of calling _S_upper_bound_tr.
417         (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
418         (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
419         (_Rb_tree::equal_range): Use _Base_ptr for end pointer.
420         (_Rb_tree::_M_get_insert_unique_pos): Likewise.
421         (_Rb_tree::_M_get_insert_equal_pos): Likewise.
422         (_Rb_tree::_M_insert_equal_lower_node): Likewise.
423         (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
424         _Rb_tree::_M_emplace_hint_unique): Remove static_cast.
426         PR libstdc++/66017
427         * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
428         (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
429         from _Base_ptr.
430         (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
431         (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
432         * include/ext/aligned_buffer.h (__aligned_membuf): New type using
433         alignment of _Tp as a member subobject, not as a complete object.
434         * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
435         _Link_type manually as it might not be in the debug info.
437 2015-05-26  Doug Evans  <dje@google.com>
439         * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
440         operator-> support.
441         * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
442         operator->.
444 2015-05-26  Jonathan Wakely  <jwakely@redhat.com>
446         * include/bits/locale_conv.h: Fix copyright years.
447         * include/bits/quoted_string.h: Likewise.
448         * src/filesystem/Makefile.am: Likewise.
449         * testsuite/22_locale/conversions/buffer/1.cc: Likewise.
450         * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
451         Likewise.
452         * testsuite/22_locale/conversions/string/1.cc: Likewise.
453         * testsuite/22_locale/conversions/string/2.cc: Likewise.
454         * testsuite/22_locale/conversions/string/3.cc: Likewise.
455         * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
456         Likewise.
457         * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
458         Likewise.
459         * testsuite/util/testsuite_fs.h: Likewise.
461 2015-05-23  François Dumont  fdumont@gcc.gnu.org>
463         PR libstdc++/64657
464         * include/debug/functions.h (__check_sorted_aux): Cast expression to
465         void.
467 2015-05-21  David Edelsohn  <dje.gcc@gmail.com>
469         PR target/66224
470         * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
471         Don't use isync. Use lwsync if available.
472         * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
473         powerpc cpu definition.
475 2015-05-21  Jason Merrill  <jason@redhat.com>
477         * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
478         * libsupc++/del_op.cc: Likewise.
480 2015-05-20  François Dumont  fdumont@gcc.gnu.org>
482         * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
483         usage of typeid.
484         (_Error_formatter::_M_print_type): New.
485         * src/c++11/debug.cc
486         (_Error_formatter::_Parameter::_M_print_field): Use latter.
487         (_Error_formatter::_M_print_type): Implement latter using
488         __cxaabiv1::__cxa_demangle to print demangled type name.
490         * include/bits/cpp_type_traits.h
491         (std::move_iterator): Delete declaration.
492         (std::__is_move_iterator<move_iterator>): Move partial specialization...
493         * include/bits/stl_iterator.h: ... here.
494         (std::__miter_base): Overloads for std::reverse_iterator and
495         std::move_iterator.
496         * include/bits/stl_algobase.h (std::__miter_base): Provide default
497         implementation.
499 2015-05-20  Jonathan Wakely  <jwakely@redhat.com>
501         * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
503         PR libstdc++/66078
504         * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
505         overload for pointers.
506         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
507         808590.cc: Add -std=gnu++03 switch.
508         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
509         808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
510         * testsuite/23_containers/vector/modifiers/push_back/
511         strong_guarantee.cc: New.
513 2015-05-19  Jonathan Wakely  <jwakely@redhat.com>
515         * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
516         (operator==(const list&, const list&)): If size() is O(1) compare
517         sizes before comparing each element.
518         * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
519         (list::resize): Use _M_resize_pos.
521 2015-05-19  François Dumont  <fdumont@gcc.gnu.org>
523         * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
524         invocations.
525         * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
526         * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
527         * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
529 2015-05-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
531         * configure.host: Define cpu_defines_dir for ARM.
532         * config/cpu/arm/cpu_defines.h: New file.
534 2015-05-17  François Dumont  <fdumont@gcc.gnu.org>
536         * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
537         missing constructors.
538         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
539         Likewise.
540         * include/debug/unordered_map (unordered_map, unordered_multimap): Add
541         missing constructors.
542         * include/debug/unordered_set (unordered_set, unordered_multiset):
543         Likewise.
544         * include/profile/unordered_map (unordered_map, unordered_multimap): Add
545         missing constructors.
546         * include/profile/unordered_set (unordered_set, unordered_multiset):
547         Likewise.
549 2015-05-15  Jonathan Wakely  <jwakely@redhat.com>
551         * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
552         use throughout the file.
553         (make_file_type): New function.
554         (file_size(const path&, error_code&)): Report an error for anything
555         that isn't a regular file.
556         (status(const path&), symlink_status(const path&)): Do not throw for
557         file_type::not_found.
558         (temp_directory_path()): Check additional environment variables.
559         * testsuite/experimental/filesystem/operations/exists.cc: New.
560         * testsuite/experimental/filesystem/operations/file_size.cc: New.
561         * testsuite/experimental/filesystem/operations/status.cc: New.
562         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
563         New.
565 2015-05-14  Nathan Myers  <ncm@cantrip.org>
566             Jonathan Wakely  <jwakely@redhat.com>
568         PR libstdc++/66055
569         * include/std/unordered_map (unordered_map, unordered_multimap): Add
570         missing constructors.
571         * include/std/unordered_set (unordered_set, unordered_multiset):
572         Likewise.
573         * testsuite/23_containers/unordered_map/cons/66055.cc: New.
574         * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
575         * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
576         * testsuite/23_containers/unordered_set/cons/66055.cc: New.
578 2015-05-14  Jonathan Wakely  <jwakely@redhat.com>
580         PR libstdc++/66011
581         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
582         sendfile.
583         * config.h.in: Regenerate.
584         * configure: Regenerate.
585         * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
586         not return after copying contents. Use fchmod, fchmodat, and sendfile
587         when available.
588         (current_path, permissions, space): Use errno not return value.
590         PR libstdc++/66018
591         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
592         dirent.d_type.
593         * config.h.in: Regenerate.
594         * configure: Regenerate.
595         * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
597 2015-05-13  Eric Botcazou  <ebotcazou@adacore.com>
599         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
600         * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
601         * config.h.in: Regenerate.
602         * configure: Likewise.
603         * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
604         __USING_SJLJ_EXCEPTIONS__.
605         * libsupc++/eh_throw.cc: Likewise.
606         * libsupc++/eh_ptr.cc: Likewise.
607         * doc/html/manual/appendix_porting.html: Remove
608         GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
609         * doc/xml/manual/build_hacking.xml: Likewise.
610         * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
611         * doc/xml/manual/configure.xml: Likewise.
613 2015-05-13  Jonathan Wakely  <jwakely@redhat.com>
615         * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
616         for nullptr (LWG 2415).
617         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
618         construction from empty unique_ptr.
619         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
620         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
622         * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
623         Define (LWG 2454).
624         * testsuite/20_util/raw_storage_iterator/base.cc: New.
626         * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
627         Remove explicit (LWG 2407).
629         * include/bits/basic_string.h (basic_string::basic_string()): Make
630         noexcept conditional on allocator (LWG 2455).
632         * include/std/complex (polar): Check for negative rho (LWG 2459).
634         * include/experimental/tuple (apply): Handle pointers to member (LWG
635         2418).
636         * include/std/functional (_Mem_fn_base): Make constructors constexpr.
637         (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
638         * testsuite/experimental/tuple/apply.cc: Test pointer to member.
640         * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
642         * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
643         * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
644         * testsuite/23_containers/forward_list/allocator/minimal.cc:
645         Likewise.
646         * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
647         * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
648         * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
649         * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
650         * testsuite/23_containers/unordered_map/allocator/minimal.cc:
651         Likewise.
652         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
653         Likewise.
654         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
655         Likewise.
656         * testsuite/23_containers/unordered_set/allocator/minimal.cc:
657         Likewise.
658         * testsuite/util/testsuite_allocator.h: Remove unused parameter.
660         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
661         * configure: Regenerate.
663 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
665         * Makefile.in: Regenerated with automake-1.11.6.
666         * aclocal.m4: Likewise.
667         * configure: Likewise.
668         * doc/Makefile.in: Likewise.
669         * include/Makefile.in: Likewise.
670         * libsupc++/Makefile.in: Likewise.
671         * po/Makefile.in: Likewise.
672         * python/Makefile.in: Likewise.
673         * src/Makefile.in: Likewise.
674         * src/c++11/Makefile.in: Likewise.
675         * src/c++98/Makefile.in: Likewise.
676         * src/filesystem/Makefile.in: Likewise.
677         * testsuite/Makefile.in: Likewise.
679 2015-05-09  Jason Merrill  <jason@redhat.com>
681         * testsuite/20_util/headers/functional/synopsis.cc: Add
682         _GLIBCXX14_CONSTEXPR.
683         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
685 2015-05-08  Jason Merrill  <jason@redhat.com>
687         * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
688         * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
689         * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
690         * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
691         * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
692         * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
693         * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
694         * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
695         * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
696         * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
697         * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
698         Likewise.
699         * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
700         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
701         Adjust expected errors.
702         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
703         Likewise.
704         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
705         Likewise.
706         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
707         Likewise.
708         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
709         Likewise.
710         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
711         Likewise.
712         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
713         Likewise.
714         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
715         Likewise.
716         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
717         Likewise.
718         * testsuite/23_containers/vector/requirements/dr438
719         /constructor_1_neg.cc: Likewise.
720         * testsuite/23_containers/vector/requirements/dr438
721         /constructor_2_neg.cc: Likewise.
722         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
723         Likewise.
724         * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
725         * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
726         * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
727         * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
728         * testsuite/ext/array_allocator/check_allocate_max_size.cc:
729         Add -Wno-deprecated.
730         * testsuite/ext/array_allocator/check_deallocate_null.cc:
731         Add -Wno-deprecated.
732         * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
733         * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
734         * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
735         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
736         Add -std=c++98.
737         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
738         Add -std=c++98.
739         * testsuite/tr1/2_general_utilities/shared_ptr/assign
740         /auto_ptr_rvalue_neg.cc: Add -std=c++98.
741         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
742         Add -std=c++98 -fno-show-column.
743         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
744         Add -std=c++98.
745         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
746         Add -std=c++98.
747         * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
748         * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
750         * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
751         * src/c++98/Makefile.in: Regenerate.
752         * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
753         * src/Makefile.in: Regenerate.
755 2015-05-02  Jonathan Wakely  <jwakely@redhat.com>
757         PR libstdc++/51617
758         * include/std/future (async): Change default policy to launch::async.
760         * include/experimental/any (any::_Storage): Fix alignment of buffer.
761         (any::_Internal): Check alignment of type.
762         * testsuite/experimental/any/cons/aligned.cc: New.
763         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
765         * include/experimental/iterator (ostream_joiner): Simplify by using
766         the injected-class-name and the ostream_type typedef.
768         * include/experimental/iterator: New. Define ostream_joiner.
769         * include/Makefile.am: Add new header.
770         * include/Makefile.in: Regenerate.
771         * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
772         * testsuite/experimental/iterator/ostream_joiner.cc: New.
773         * testsuite/experimental/iterator/requirements.cc: New.
774         * doc/xml/manual/status_cxx2017.xml: Update status.
775         * doc/html/manual/status.html: Regenerate.
777         * include/experimental/numeric: New. Define gcd and lcm.
778         * include/Makefile.am: Add new header.
779         * include/Makefile.in: Regenerate.
780         * testsuite/experimental/numeric/gcd.cc: New.
781         * testsuite/experimental/numeric/lcm.cc: New.
782         * doc/xml/manual/status_cxx2017.xml: Update status.
783         * doc/html/manual/status.html: Regenerate.
785 2015-05-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
787         Revert addition of feature macros from other headers per latest SD-6.
788         * include/experimental/deque: Remove feature-test macro.
789         * include/experimental/forward_list: Ditto.
790         * include/experimental/list: Ditto.
791         * include/experimental/map: Ditto.
792         * include/experimental/set: Ditto.
793         * include/experimental/string: Ditto.
794         * include/experimental/unordered_map: Ditto.
795         * include/experimental/unordered_set: Ditto.
797 2015-05-02  Jonathan Wakely  <jwakely@redhat.com>
799         * include/experimental/any (any::_Storage): Make non-copyable.
800         (any::any): Do not copy _Storage object.
801         (any::operator=): Implement more efficiently than swapping.
802         (any::swap): Use new _Op_xfer operation.
803         (any::_Op::_Op_xfer): New enumerator.
804         (_Manager_internal::_S_alloc): Remove unused function.
805         (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
806         parameter instead of returning a _Storage object.
807         (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
808         _Op_xfer operation for moving and swapping.
809         * testsuite/experimental/any/cons/nontrivial.cc: New.
810         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
812         * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
813         Declare.
814         * src/filesystem/path.cc (filesystem_error::~filesystem_error):
815         Define.
817         PR libstdc++/65978
818         * include/std/tuple (forward_as_tuple, tie): Add constexpr.
819         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
820         and fix tests for forward_as_tuple and tie.
822         * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
823         Set timespec members explicitly instead of with a braced-init-list.
824         [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
826 2015-05-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
828         * include/experimental/deque: Add feature-test macro.
829         * include/experimental/forward_list: Ditto.
830         * include/experimental/list: Ditto.
831         * include/experimental/map: Ditto.
832         * include/experimental/set: Ditto.
833         * include/experimental/string: Ditto.
834         * include/experimental/unordered_map: Ditto.
835         * include/experimental/unordered_set: Ditto.
837 2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
839         * include/experimental/memory: Correct feature-test macro.
841         * include/experimental/memory: Add feature-test macro.
842         * include/experimental/vector: Likewise.
843         * doc/xml/manual/status_cxx2017.xml: Update status.
844         * doc/html/manual/status.html: Regenerate.
846 2015-05-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
848         Implement observer_ptr.
849         * include/Makefile.am: Add new header.
850         * include/Makefile.in: Regenerate.
851         * include/experimental/memory: New.
852         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
853         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
854         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
855         * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
856         * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
857         * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
858         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
859         * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
861 2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
863         * src/filesystem/path.cc (path::compare): Do not copy strings.
865         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
866         is not available.
867         (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
868         * configure: Regenerate.
869         * config.h.in: Regenerate.
870         * configure.ac: Check for utime.h
871         * include/experimental/fs_path.h (path::string<>)
872         [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
873         * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
874         closedir, dirent, readdir_r): Replace dummy functions with #error.
875         (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
876         * src/filesystem/ops.cc (do_stat, is_set): Make inline.
877         (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
878         (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
879         (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
880         error_code.
882         * include/experimental/fs_path.h (path::_List): Use vector instead of
883         list.
884         * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
885         * src/filesystem/path.cc: Use std::prev instead of decrementing
886         rvalues. Fix whitespace.
887         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
888         Do not decrement iterators before begin.
890         * include/experimental/fs_dir.h: Fix use of non-reserved names.
891         * include/experimental/fs_ops.h: Likewise.
892         * include/experimental/fs_path.h: Likewise.
893         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
894         C++11 when checking for support.
896         * include/bits/locale_classes.h (locale::facet): Delete copy
897         operations in C++11 mode.
899         * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
901         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
902         * configure: Regenerate.
904 2015-05-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
906         Inline one-line erasure dispatch functions.
907         * include/experimental/forward_list (erase_if(), erase()): Inline.
908         * include/experimental/list (erase_if(), erase()): Inline.
909         * include/experimental/map (erase_if(*)): Inline.
910         * include/experimental/set (erase_if(*)): Inline.
911         * include/experimental/string (erase_if(), erase()): Inline.
912         * include/experimental/unordered_map (erase_if(*)): Inline.
913         * include/experimental/unordered_set (erase_if(*)): Inline.
915 2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
917         * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
918         * doc/xml/manual/status_cxx2011.xml: Update status tables.
919         * doc/xml/manual/status_cxx2014.xml: Likewise.
920         * doc/xml/manual/status_cxx2017.xml: New.
921         * doc/xml/manual/using.xml: Fix typo.
922         * doc/html/*: Regenerate.
924         * include/std/memory (pointer_safety, declare_reachable,
925         undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
926         get_pointer_safety): Define.
927         * testsuite/20_util/pointer_safety/1.cc: New.
929 2015-04-30  Jonathan Wakely  <jwakely@redhat.com>
931         Implement N4100 File System TS
932         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
933         (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
934         * config.h.in: Regenerate.
935         * configure: Regenerate.
936         * configure.ac: Enable filesystem TS and check its dependencies.
937         * include/Makefile.am: Add new headers.
938         * include/Makefile.in: Regenerate.
939         * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
940         __str_codecvt_out): Move code conversion logic from wstring_convert
941         into new global functions.
942         (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
943         functions.
944         (wstring_convert::_M_conv): Remove.
945         * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
946         * include/experimental/filesystem: New.
947         * include/experimental/fs_dir.h: New.
948         * include/experimental/fs_fwd.h: New.
949         * include/experimental/fs_ops.h: New.
950         * include/experimental/fs_path.h: New.
951         * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
952         * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
953         * src/Makefile.am (SUBDIRS): Add filesystem.
954         * src/Makefile.in: Regenerate.
955         * src/filesystem/Makefile.am: New.
956         * src/filesystem/Makefile.in: New.
957         * src/filesystem/dir.cc: New.
958         * src/filesystem/ops.cc: New.
959         * src/filesystem/path.cc: New.
960         * testsuite/experimental/filesystem/operations/absolute.cc: New.
961         * testsuite/experimental/filesystem/operations/copy.cc: New.
962         * testsuite/experimental/filesystem/operations/current_path.cc: New.
963         * testsuite/experimental/filesystem/path/append/path.cc: New.
964         * testsuite/experimental/filesystem/path/assign/assign.cc: New.
965         * testsuite/experimental/filesystem/path/assign/copy.cc: New.
966         * testsuite/experimental/filesystem/path/compare/compare.cc: New.
967         * testsuite/experimental/filesystem/path/compare/path.cc: New.
968         * testsuite/experimental/filesystem/path/compare/strings.cc: New.
969         * testsuite/experimental/filesystem/path/concat/path.cc: New.
970         * testsuite/experimental/filesystem/path/concat/strings.cc: New.
971         * testsuite/experimental/filesystem/path/construct/copy.cc: New.
972         * testsuite/experimental/filesystem/path/construct/default.cc: New.
973         * testsuite/experimental/filesystem/path/construct/locale.cc: New.
974         * testsuite/experimental/filesystem/path/construct/range.cc: New.
975         * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
976         * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
977         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
978         New.
979         * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
980         New.
981         * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
982         New.
983         * testsuite/experimental/filesystem/path/decompose/root_name.cc:
984         New.
985         * testsuite/experimental/filesystem/path/decompose/root_path.cc:
986         New.
987         * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
988         * testsuite/experimental/filesystem/path/generic/generic_string.cc:
989         New.
990         * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
991         * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
992         * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
993         New.
994         * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
995         New.
996         * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
997         New.
998         * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
999         New.
1000         * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
1001         * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
1002         * testsuite/experimental/filesystem/path/query/empty.cc: New.
1003         * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
1004         * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
1005         * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
1006         New.
1007         * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1008         New.
1009         * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
1010         New.
1011         * testsuite/experimental/filesystem/path/query/has_root_name.cc:
1012         New.
1013         * testsuite/experimental/filesystem/path/query/has_root_path.cc:
1014         New.
1015         * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
1016         * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
1017         * testsuite/util/testsuite_fs.h: New.
1019 2015-04-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
1021         Add fundamentals TR container erasure.
1022         * include/Makefile.am: Add new headers.
1023         * include/Makefile.in: Add new headers.
1024         * include/experimental/array: New.
1025         * include/experimental/deque: New.
1026         * include/experimental/erase_if.tcc: New.
1027         * include/experimental/forward_list: New.
1028         * include/experimental/list: New.
1029         * include/experimental/map: New.
1030         * include/experimental/set: New.
1031         * include/experimental/string: New.
1032         * include/experimental/unordered_map: New.
1033         * include/experimental/unordered_set: New.
1034         * include/experimental/vector: New.
1035         * testsuite/experimental/deque/erasure.cc: New.
1036         * testsuite/experimental/forward_list/erasure.cc: New.
1037         * testsuite/experimental/list/erasure.cc: New.
1038         * testsuite/experimental/map/erasure.cc: New.
1039         * testsuite/experimental/set/erasure.cc: New.
1040         * testsuite/experimental/string/erasure.cc: New.
1041         * testsuite/experimental/unordered_map/erasure.cc: New.
1042         * testsuite/experimental/unordered_set/erasure.cc: New.
1043         * testsuite/experimental/vector/erasure.cc: New.
1045 2015-04-30  François Dumont  <fdumont@gcc.gnu.org>
1047         * include/bits/cpp_type_traits.h
1048         (__gnu_cxx::__is_normal_iterator): Delete.
1049         * include/bits/stl_algobase.h (std::__niter_base): Adapt.
1050         * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
1051         (std::__niter_base): Overloads for std::reverse_iterator,
1052         __gnu_cxx::__normal_iterator and std::move_iterator.
1054 2015-04-30  François Dumont  <fdumont@gcc.gnu.org>
1056         * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
1057         Delete.
1058         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
1059         Remove usage of latter and compute size of the prime numbers array
1060         locally.
1062 2015-04-29  Doug Evans  <dje@google.com>
1064         PR libstdc++/65839
1065         * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
1066         Replace all lookups of "bool" with this.
1067         (get_std_size_type): New function.  Replace all lookups of std::size_t
1068         with this.
1069         (*Worker): New method get_result_type.
1070         (DequeWorkerBase.__init__): New arg val_type.  All callers updated.
1071         (ListWorkerBase.__init__): New arg val_type.  All callers updated.
1072         (UniquePtrGetWorker.__init__): New arg elem_type.  All callers updated.
1073         Delete setting of name, enabled.
1074         (UniquePtrDerefWorker.__init__): New arg elem_type.  All callers
1075         updated.  Delete setting of name.
1076         (UniquePtrMethodsMatcher): Rewrite for consistency with all other
1077         libstdc++ xmethod matchers.
1078         * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
1079         * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
1080         * testsuite/libstdc++-xmethods/deque.cc: Ditto.
1081         * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
1082         * testsuite/libstdc++-xmethods/list.cc: Ditto.
1083         * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
1084         * testsuite/libstdc++-xmethods/vector.cc: Ditto.
1086 2015-04-29  Doug Evans  <dje@google.com>
1088         Use consistent naming for value type attributes.
1089         * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
1090         to _val_type.
1091         (ArraySizeWorker, ArrayEmptyWorker): Ditto.
1092         (ArrayFrontWorker, ArrayBackWorker): Ditto.
1093         (ArrayAtWorker, ArraySubscriptWorker): Ditto.
1094         (DequeWorkerBase): Rename elemtype to val_type.
1095         (ForwardListWorkerBase): Rename _elem_type to _val_type.
1096         (ForwardListFrontWorker): Ditto.  And rename elem_address to
1097         val_address.
1098         (ForwardListMethodsMatcher): Rename elem_type to val_type.
1099         (VectorWorkerBase): Rename _elemtype to _val_type.
1101 2015-04-29  Jonathan Wakely  <jwakely@redhat.com>
1103         PR libstdc++/65760
1104         * include/std/functional (__check_func_return_type): Use is_same to
1105         avoid using _is_convertible on incomplete types.
1106         * testsuite/20_util/function/65760.cc: New.
1108         PR libstdc++/64657
1109         * include/bits/basic_string (basic_string::_S_copy_chars): Cast
1110         expression to void.
1111         * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
1112         time_get::_M_extract_num, time_get::_M_extract_name,
1113         time_get::_M_extract_wday_or_month): Likewise.
1114         * include/bits/stl_algo.h (__includes, __replace_copy_if,
1115         __is_sorted_until, __is_permutation, transform): Likewise.
1116         * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
1117         __equal::equal, __lexicographical_compare_impl, equal): Likewise.
1118         * include/bits/stl_numeric.h (inner_product): Likewise.
1119         * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
1120         * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
1121         input_iterator_wrapper): Declare unusable comma operator.
1122         * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
1123         * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
1124         New.
1126 2015-04-28  Doug Evans  <dje@google.com>
1128         * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
1129         Define to zero.
1131 2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
1133         * include/bits/stl_algo.h (random_shuffle): Only define for hosted
1134         implementations.
1136 2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
1138         * Makefile.am (SUBDIRS): Move python to hosted_source.
1139         * Makefile.in: Regenerate.
1140         * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
1141         * configure: Regenerate.
1143 2015-04-28  Marc Glisse  <marc.glisse@inria.fr>
1145         PR libstdc++/65883
1146         * include/std/limits (numeric_limits): Add missing unsigned.
1148 2015-04-28  Stephan Bergmann  <sbergman@redhat.com>
1150         * include/debug/vector (_Safe_vector::operator=): Add missing returns.
1152 2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
1154         PR libstdc++/60333
1155         * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
1156         Handle enumeration types larger than sizeof(long).
1157         (__make_signed_selector<_Tp, false, true>): Find unsigned type then
1158         make it signed.
1159         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1160         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1161         Likewise.
1162         * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
1163         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
1164         dg-error.
1165         * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
1167         PR libstdc++/61645
1168         * include/bits/forward_list.h (forward_list::splice_after): Add
1169         noexcept.
1170         * include/bits/forward_list.tcc (forward_list::splice_after):
1171         Likewise.
1173         PR libstdc++/65631
1174         * include/bits/random.h (seed_seq) Define copy constructor and copy
1175         assignment as deleted.
1176         * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
1178         * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
1179         * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
1180         Use -std=gnu++1z. Check feature-test macro.
1182         * include/std/type_traits (void_t): Add.
1183         * testsuite/20_util/void_t/1.cc: New.
1185 2015-04-28  Tim Shen  <timshen@google.com>
1187         * include/bits/regex.tcc: Handle regex_constants::__polynomial.
1188         * include/bits/regex_automaton.tcc: Throw exception when parsing
1189         back-reference with flag __polynomial.
1190         * include/bits/regex_constants.h: Add extension flag
1191         syntax_option_type __polynomial.
1192         * bits/regex_executor.tcc: Still let BFS process ECMAScript.
1193         Alternative operation will be fixed in the coming refactoring.
1194         * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
1195         loose match_search_debug to use DFS only.
1197 2015-04-27  Sandra Loosemore  <sandra@codesourcery.com>
1199         PR libstdc++/65909
1200         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
1201         Make the generated test program fail gracefully if the target
1202         doesn't support passing command-line arguments.
1204 2015-04-27  Federico Lenarduzzi  <federico.lenarduzzi@tallertechnologies.com>
1205             Jonathan Wakely  <jwakely@redhat.com>
1207         * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
1208         Return false or zero if the library is built without exceptions.
1209         * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
1210         the library is built without exceptions.
1212 2015-04-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
1214         * config/abi/pre/gnu.ver: Fix comment.
1216         Add support for std::uncaught_exceptions.
1217         * acinclude.m4: Bump libtool_VERSION.
1218         * config/abi/pre/gnu.ver: Export the new symbol.
1219         * configure: Regenerate.
1220         * libsupc++/eh_catch.cc (uncaught_exceptions): New.
1221         * libsupc++/exception (uncaught_exceptions): New.
1222         * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
1223         * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
1225 2015-04-27  Dmitry Prokoptsev  <dprokoptsev@gmail.com>
1226             Michael Hanselmann  <public@hansmi.ch>
1228         PR libstdc++/62258
1229         * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
1230         uncaught exceptions.
1231         * testsuite/18_support/exception_ptr/62258.cc: New.
1233 2015-04-27  Jonathan Wakely  <jwakely@redhat.com>
1235         * doc/xml/manual/extensions.xml: Add cross-reference.
1236         * doc/html/manual/ext_compile_checks.html: Regenerate.
1238 2015-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1240         * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
1241         * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
1243 2015-04-22  Renlin Li  <renlin.li@arm.com>
1245         * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
1246         * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
1247         * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
1248         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
1249         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
1251 2015-04-21  Jonathan Wakely  <jwakely@redhat.com>
1253         * doc/xml/manual/configure.xml: Update descriptions of options
1254         affecting dual ABI and add cross-references.
1255         * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
1256         * doc/xml/manual/using.xml: Document ABI transition.
1257         * doc/html/*: Regenerate.
1259         * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
1260         * doc/xml/manual/using.xml: Document newer -std options. Use better
1261         examples of nested namespaces.
1263 2015-04-20  Jonathan Wakely  <jwakely@redhat.com>
1265         * doc/xml/manual/concurrency_extensions.xml: Update documentation
1266         on atomics.
1267         * doc/xml/manual/using.xml: Likewise. Improve markup.
1268         * doc/html/*: Regenerate.
1270 2015-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1272         * scripts/extract_symvers.pl: Ignore elfdump error output.
1274 2015-04-14  Marc Glisse  <marc.glisse@inria.fr>
1276         PR libstdc++/61347
1277         * include/bits/stl_iterator_base_funcs.h (_List_iterator,
1278         _List_const_iterator): Declare.
1279         (__distance): Declare new overloads for _List_iterator and
1280         _List_const_iterator.
1281         * include/bits/stl_list.h (__distance): New overloads for
1282         _List_iterator and _List_const_iterator.
1283         * testsuite/23_containers/list/61347.cc: New testcase.
1285 2015-04-14  Jonathan Wakely  <jwakely@redhat.com>
1287         * doc/xml/manual/evolution.xml: Fix typos.
1288         * doc/html/manual/api.html: Regenerate.
1290 2015-04-14  Hans-Peter Nilsson  <hp@axis.com>
1292         * testsuite/29_atomics/atomic/62259.cc: Assert atomic
1293         alignment is larger-equal, not equal, to default alignment.
1295 2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
1297         PR libstdc++/65754
1298         * config/abi/pre/gnu.ver: Export base object constructors for
1299         fstreams.
1300         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1301         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1302         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1303         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1304         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1305         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1306         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
1307         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1308         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1309         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1310         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1311         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1312         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1313         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1314         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1315         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1316         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1317         * testsuite/27_io/basic_fstream/cons/base.cc: New.
1319 2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
1321         * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
1322         * doc/html/*: Regenerate.
1324 2015-04-12  Uros Bizjak  <ubizjak@gmail.com>
1326         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1328 2015-04-10  Andreas Schwab  <schwab@linux-m68k.org>
1330         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1332         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1334 2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
1336         * doc/xml/manual/test.xml: Improve documentation on running a subset
1337         of tests.
1338         * doc/html/manual/test.html: Regenerate.
1340 2015-04-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1342         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
1343         for GCC 5.1 release.
1344         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1345         Likewise.
1347 2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
1349         * include/std/shared_mutex (shared_timed_mutex): Add comments to
1350         explain the logic in the non-pthread_rwlock_t version.
1351         (_Mutex): Remove redundant type.
1352         (_M_n_readers): Rename to _S_max_readers.
1353         (_M_write_entered, _M_readers): New convenience functions.
1354         (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
1355         functions. Use predicates with condition variables. Simplify bitwise
1356         operations.
1357         (try_lock_for, try_shared_lock_for): Convert duration to time_point
1358         and call try_lock_until or try_shared_lock_until respectively.
1359         (try_lock_until, try_shared_lock_until): Wait on the condition
1360         variables until the specified time passes.
1361         (unlock): Add Debug Mode assertion.
1362         (unlock_shared): Add Debug Mode assertion.
1363         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
1365         * include/std/shared_mutex (shared_timed_mutex): Only use
1366         pthread_rwlock_t when the POSIX Timeouts option is supported.
1367         * testsuite/30_threads/shared_lock/cons/5.cc: Remove
1368         dg-require-gthreads-timed.
1369         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1370         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1371         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1373 2015-04-09  H.J. Lu  <hongjiu.lu@intel.com>
1375         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1377 2015-04-09  Jonathan Wakely  <jwakely@redhat.com>
1378             Richard Henderson  <rth@redhat.com>
1380         PR libstdc++/65147
1381         * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
1382         alignment.
1383         * include/std/atomic (atomic): For types with a power of two size set
1384         alignment to at least the size.
1385         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1386         * testsuite/29_atomics/atomic/65147.cc: New.
1387         * testsuite/29_atomics/atomic_integral/65147.cc: New.
1389 2015-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1391         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1392         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1393         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1395 2015-04-07  Jakub Jelinek  <jakub@redhat.com>
1397         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1398         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1399         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1400         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1401         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1402         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1403         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1404         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1406 2015-03-30  Jonathan Wakely  <jwakely@redhat.com>
1408         PR libstdc++/65630
1409         * config/abi/pre/gnu.ver: Export operator+ for new strings.
1410         * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
1411         * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
1413 2015-03-28  Tim Shen  <timshen@google.com>
1415         PR libstdc++/65420
1416         * include/bits/regex_constants.h: Use constexpr variables for flags.
1417         * testsuite/28_regex/constants/constexpr.cc: New testcase.
1419 2015-03-27  Jonathan Wakely  <jwakely@redhat.com>
1421         PR libstdc++/65499
1422         * include/std/chrono: Add using-directive for literals to std::chrono.
1423         * testsuite/20_util/duration/literals/65499.cc: New.
1425 2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
1427         PR libstdc++/58038
1428         PR libstdc++/60421
1429         * include/std/thread (this_thread::sleep_for): Check for negative
1430         durations.
1431         (this_thread::sleep_until): Check for times in the past.
1432         * testsuite/30_threads/this_thread/58038.cc: New.
1433         * testsuite/30_threads/this_thread/60421.cc: New.
1435 2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
1437         PR libstdc++/62259
1438         PR libstdc++/65147
1439         * include/std/atomic (atomic<T>): Increase alignment for types with
1440         the same size as one of the integral types.
1441         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1442         * testsuite/29_atomics/atomic/62259.cc: New.
1444 2015-03-26  Richard Henderson  <rth@redhat.com>
1446         PR libstdc++/65033
1447         * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
1448         a fake pointer indicating type alignment.
1449         (__atomic_base<T *>::is_lock_free): Likewise.
1450         * include/std/atomic (atomic<T>::is_lock_free): Likewise.
1452 2015-03-25  Alan Lawrence  <alan.lawrence@arm.com>
1454         PR libstdc++/33394
1455         * testsuite/21_strings/basic_string/pthread33394.cc: Use
1456         dg-additional-options.
1458 2015-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
1460         PR libstdc++/65543
1461         * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
1462         thinko in r150387.
1463         * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
1464         Likewise.
1465         * testsuite/27_io/rvalue_streams-2.cc: New.
1467 2015-03-24  Jonathan Wakely  <jwakely@redhat.com>
1469         PR libstdc++/33394
1470         * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
1472 2015-03-23  Jonathan Wakely  <jwakely@redhat.com>
1474         PR libstdc++/64967
1475         * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
1476         * configure: Regenerate.
1477         * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
1478         system_category): Use macros for versioned namespace.
1479         * src/c++11/futex.cc: Add missing end macro for versioned namespace.
1481 2015-03-20  James Greenhalgh  <james.greenhalgh@arm.com>
1483         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
1484         test for unused for ARM.
1485         * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
1486         * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1488 2015-03-20  Jonathan Wakely  <jwakely@redhat.com>
1490         * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
1491         * include/ext/codecvt_specializations.h (encoding_state,
1492         encoding_char_traits): Remove abi-tag and use inline namespace.
1493         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
1495 2015-03-19  Jason Merrill  <jason@redhat.com>
1497         * config/locale/gnu/messages_members.cc: Revert abi-tag change.
1498         * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
1500 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
1502         PR c++/65046
1503         * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
1504         get_catalogs): Add abi-tag.
1505         * include/ext/codecvt_specializations.h (encoding_state,
1506         encoding_char_traits): Likewise.
1507         * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
1508         * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
1509         numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
1510         money_get_shim, money_put_shim, messages_shim): Likewise.
1511         * src/c++11/future.cc (future_error_category::message): Likewise.
1512         * src/c++11/system_error.cc (generic_error_category::message,
1513         system_error_category::message): Likewise.
1514         (__sso_string): Disable -Wabi-tag warnings.
1516 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
1518         PR libstdc++/13631
1519         * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
1520         implementation for old glibc. Fix whitespace.
1522 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
1523             Torvald Riegel  <triegel@redhat.com>
1525         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
1526         * config.h.in: Regenerate.
1527         * configure: Regenerate.
1528         * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
1529         (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
1530         (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
1531         (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
1532         EDEADLK.
1534 2015-03-17  Jonathan Wakely  <jwakely@redhat.com>
1536         * libsupc++/nested_exception.h: Do not try to derive from final
1537         classes.
1538         * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
1539         final class.
1541         * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
1542         unused exception variable.
1543         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1544         * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
1545         test.
1546         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1548 2015-03-13  Jonathan Wakely  <jwakely@redhat.com>
1550         * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
1551         * configure: Regenerate.
1553         * include/experimental/system_error: Fix include guard.
1555 2015-03-12  Renlin Li  <renlin.li@arm.com>
1557         * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
1558         wrapped target.
1560 2015-03-10  Tim Shen  <timshen@google.com>
1562         PR libstdc++/64441
1563         * include/bits/regex.h (match_results<>::size,
1564         match_results<>::position, match_results<>::str,
1565         match_results<>::operator[], match_results<>::prefix,
1566         match_results<>::suffix, match_results<>::end,
1567         match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
1568         match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
1569         global __unmatched_sub. Add unmatched submatch as part of
1570         match_results.
1571         * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
1572         regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
1573         * testsuite/28_regex/match_results/out_of_range_submatches.cc:
1574         New testcases.
1576 2015-03-09  Jonathan Wakely  <jwakely@redhat.com>
1578         PR libstdc++/64467
1579         * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
1580         for newlib targets. Really fix mixed line-endings this time.
1582 2015-03-06  Jonathan Wakely  <jwakely@redhat.com>
1584         * include/std/future (future_error(error_code)): Construct base
1585         class with error_code's message.
1586         * src/c++11/future.cc (future_error::what()): Do not call c_str() on
1587         temporary string.
1589 2015-03-05  Jonathan Wakely  <jwakely@redhat.com>
1591         * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1592         noconv result.
1593         * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
1594         * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
1596 2015-03-04  Jonathan Wakely  <jwakely@redhat.com>
1598         PR libstdc++/64797
1599         * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1600         incomplete multibyte sequences correctly.
1601         * include/std/codecvt (codecvt_utf8, codecvt_utf16,
1602         codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
1603         * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
1604         Define constants.
1605         (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
1606         Define convenience functions.
1607         (read_utf8_code_point): Return relevant constant to distinguish
1608         incomplete characters from invalid sequences.
1609         (read_utf16_code_point): Likewise. Check for invalid sequences.
1610         (ucs4_in, utf16_in): Use incomplete_mb_character constant.
1611         (utf16_out): Check for invalid sequences.
1612         (utf16_span): Fix condition.
1613         (ucs2_out): Use is_high_surrogate.
1614         (ucs2_in): Use incomplete_mb_character constant and fix condition.
1615         * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
1616         * testsuite/22_locale/conversions/buffer/1.cc: New.
1617         * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
1618         char32_t instead of wchar_t.
1619         * testsuite/22_locale/conversions/string/3.cc: New.
1621 2015-03-03  Iain Sandoe  <iain@codesourcery.com>
1623         PR libstdc++/64883
1624         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
1625         visibility for Darwin.
1626         * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
1627         also deprecated.
1628         * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1630 2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
1632         PR libstdc++/65279
1633         * include/std/scoped_allocator (__inner_type_impl,
1634         scoped_allocator_adaptor): Add defaulted copy assignment and move
1635         assignment operators.
1636         * testsuite/20_util/scoped_allocator/65279.cc: New.
1638 2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
1640         PR libstdc++/64367
1641         * include/std/stdexcept (__sso_string): Don't use non-static member
1642         in sizeof.
1644 2015-02-28  Matthias Klose  <doko@ubuntu.com>
1646         PR libstdc++/65246
1647         * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
1649 2015-02-22  Jonathan Wakely  <jwakely@redhat.com>
1651         * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
1652         * doc/html/manual/status.html: Regenerate.
1654 2015-02-20  Jonathan Wakely  <jwakely@redhat.com>
1656         PR libstdc++/64695
1657         * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
1658         tuple layout.
1660         * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
1661         behavior.
1662         * doc/html/manual/status.html: Regenerate.
1664 2015-02-19  Jonathan Wakely  <jwakely@redhat.com>
1666         PR libstdc++/58357
1667         * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
1668         * include/bits/stl_algo.h (__rotate, rotate): Likewise.
1670 2015-02-19  Hans-Peter Nilsson  <hp@axis.com>
1672         PR testsuite/65093
1673         * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
1674         (test01): Add explanatory comment.  Keep only the bd1 sub-test and
1675         split out bd2, bd3, bd4, and bd5 sub-tests into...
1676         * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
1677         testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
1678         testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
1679         testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
1680         New separate files with the old parts.
1682 2015-02-18  Jonathan Wakely  <jwakely@redhat.com>
1684         * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
1685         surrogate pairs.
1686         (utf16_in): Pass mode argument to write_utf16_code_point.
1687         (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
1688         native byte order.
1689         * testsuite/22_locale/codecvt/char16_t.cc: New.
1690         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
1692         * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
1693         * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
1695 2015-02-17  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
1696             Jonathan Wakely  <jwakely@redhat.com>
1698         * testsuite/22_locale/codecvt/char32_t.cc: New.
1700 2015-02-17  Jonathan Wakely  <jwakely@redhat.com>
1702         PR libstdc++/65085
1703         * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
1704         empty string gets null-terminated.
1705         * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
1707 2015-02-13  Matthew Wahab  <matthew.wahab@arm.com>
1709         * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
1710         mixed line-endings introduced in last change.
1712 2015-02-12  Matthew Wahab  <matthew.wahab@arm.com>
1714         * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
1715         for __NEWLIB__ macro with a dejagnu set macro.
1716         * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
1718 2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>
1720         PR libstdc++/64467
1721         * testsuite/28_regex/traits/char/isctype.cc (test01):   Add newlib
1722         special case for '\n'.
1723         * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
1725 2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
1727         * src/c++11/futex.cc: Do not define for gthr-single.h targets.
1729 2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
1731         PR libstdc++/64883
1732         * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
1733         of deprecated.
1734         * include/c_std/cstdio (gets): Likewise.
1735         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
1736         with attributes used in darwin headers.
1738 2015-01-29  Jakub Jelinek  <jakub@redhat.com>
1740         * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
1741         $vtv_cygmin = yes.  Initialize vtv_cygmin=no unconditionally first.
1742         * configure: Regenerated.
1744 2015-01-29  H.J. Lu  <hongjiu.lu@intel.com>
1746         * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
1747         after vtv_cygmin is set.
1748         * configure: Regenerated.
1750 2015-01-29  Matthias Klose  <doko@ubuntu.com>
1752         * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
1753         unconditionally.
1754         * configure: Regenerate.
1756 2015-01-29  Caroline Tice  <cmtice@google.com>
1758         Committing VTV Cywin/Ming patch for Patrick Wollgast
1759         * configure: Regenerate.
1760         * libsupc++/Makefile.in: Regenerate.
1761         * src/Makefile.in: Regenerate.
1763 2015-01-29  Jonathan Wakely  <jwakely@redhat.com>
1765         * include/bits/atomic_base.h: Use __always_inline__ instead of
1766         always_inline.
1767         * include/bits/atomic_futex.h: Likewise.
1768         * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
1769         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
1770         __packed__ instead of packed.
1771         * include/std/shared_mutex: Use __unused__ instead of unused.
1772         * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
1773         * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
1774         * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
1776 2015-01-28  Caroline Tice  <cmtice@google.com>
1778         Committing VTV Cywin/Ming patch for Patrick Wollgast
1779         * acinclude.m4: Define VTV_CYGMIN.
1780         * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
1781         and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
1782         * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
1783         for Cygwin and MinGW.
1784         * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
1785         VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
1786         libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
1788 2015-01-28  Jonathan Wakely  <jwakely@redhat.com>
1790         PR libstdc++/64828
1791         * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
1792         * libsupc++/Makefile.in: Regenerate.
1793         * src/c++11/Makefile.in: Regenerate.
1795 2015-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1797         * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
1798         check for unsupported.
1799         (v3_target_compile_as_c): Likewise.
1801 2015-01-28  Richard Biener  <rguenther@suse.de>
1803         PR libstdc++/64798
1804         * libsupc++/eh_alloc.cc (struct allocated_entry): Align
1805         data member.
1806         (pool::allocate): Adjust allocation size and alignment to
1807         that change.
1808         (pool::free): Adjust pointer offsetting.
1810 2015-01-27  Jonathan Wakely  <jwakely@redhat.com>
1812         PR libstdc++/64368
1813         * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
1814         shared_timed_mutex::try_lock_until): Only define when POSIX thread
1815         timeouts option is supported.
1816         (shared_timed_mutex::try_shared_lock_for,
1817         shared_timed_mutex::try_shared_lock_until): Likewise.
1819 2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
1821         PR libstdc++/64368
1822         * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
1823         numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
1824         * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
1825         and use cache's _M_grouping field.
1826         (__numpunct_fill_cache): Likewise.
1827         (__moneypunct_fill_cache): Improve comments.
1829 2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
1831         * testsuite/23_containers/set/operations/2.cc: Add test for
1832         non-transparent comparison function.
1834 2015-01-25  Oleg Endo  <olegendo@gcc.gnu.org>
1836         PR target/29366
1837         * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): 
1838         Remove SH4A inline asm and lock based implementations and use the
1839         defaults from ext/atomicity.h.
1841 2015-01-23  Jonathan Wakely  <jwakely@redhat.com>
1843         * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
1844         new std::string constructors for byname facets.
1846 2015-01-22  Richard Biener  <rguenther@suse.de>
1848         PR libstdc++/64535
1849         * libsupc++/eh_alloc.cc: Include new.
1850         (bitmask_type): Remove.
1851         (one_buffer): Likewise.
1852         (emergency_buffer): Likewise.
1853         (emergency_used): Likewise.
1854         (dependents_buffer): Likewise.
1855         (dependents_used): Likewise.
1856         (class pool): New custom fixed-size arena, variable size object
1857         allocator.
1858         (emergency_pool): New global.
1859         (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
1860         (__cxxabiv1::__cxa_free_exception): Likewise.
1861         (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
1862         (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
1864 2015-01-22  Tim Shen  <timshen@google.com>
1866         PR libstdc++/64680
1867         * include/bits/regex.h (basic_regex<>::basic_regex,
1868         basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
1869         standard interface.
1870         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
1872 2015-01-22  Tim Shen  <timshen@google.com>
1874         PR libstdc++/64649
1875         * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
1876         regex_traits<>::lookup_classname): Correctly narrow input chars.
1877         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
1879 2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
1881         * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
1883 2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
1885         * testsuite/29_atomics/atomic/64658.cc: Test stored value.
1887 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
1889         * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
1890         * doc/xml/manual/status_cxx2014.xml: Update status.
1891         * doc/html/manual/status.html: Regenerate.
1893 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
1895         PR libstdc++/64650
1896         * include/experimental/optional (bad_optional_access): Add default
1897         constructor.
1898         * testsuite/experimental/optional/requirements.cc: Test for default
1899         constructor.
1901 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
1903         * include/bits/stl_map.h (map::find<>, map::count<>,
1904         map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
1905         member function templates to perform heterogeneous lookup.
1906         * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
1907         multimap::lower_bound<>, multimap::upper_bound<>,
1908         multimap::equal_range<>): Likewise.
1909         * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
1910         multiset::lower_bound<>, multiset::upper_bound<>,
1911         multiset::equal_range<>): Likewise.
1912         * include/bits/stl_set.h (set::find<>, set::count<>,
1913         set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
1914         * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
1915         _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
1916         _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
1917         _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
1918         * testsuite/23_containers/map/operations/2.cc: New.
1919         * testsuite/23_containers/multimap/operations/2.cc: New.
1920         * testsuite/23_containers/multiset/operations/2.cc: New.
1921         * testsuite/23_containers/set/operations/2.cc: New.
1923 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
1925         * config/abi/pre/gnu.ver: Export new constructors.
1926         * include/bits/codecvt.h (codecvt_byname): Add string constructor.
1927         (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
1928         specializations and declare explicit instantiations.
1929         * include/bits/locale_classes.h (locale, collate_byname): Add string
1930         constructors.
1931         * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
1932         Likewise.
1933         * include/bits/locale_facets_nonio.h (time_get_byname,
1934         time_put_byname, moneypunct_byname, messages_byname): Likewise.
1935         * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
1936         codecvt_byname<char32_t>): Define explicit instantiations.
1937         * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
1938         Instantiate string constructors.
1939         (ctype_byname): Define string constructor.
1940         * testsuite/22_locale/codecvt_byname/1.cc: New.
1941         * testsuite/22_locale/collate_byname/1.cc: New.
1942         * testsuite/22_locale/ctype_byname/2.cc: New.
1943         * testsuite/22_locale/messages_byname/1.cc: New.
1944         * testsuite/22_locale/moneypunct_byname/1.cc: New.
1945         * testsuite/22_locale/numpunct_byname/1.cc: New.
1947 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
1949         PR libstdc++/64658
1950         * include/std/atomic (atomic_init): Define.
1951         * testsuite/29_atomics/atomic/64658.cc: New.
1953 2015-01-19  Tim Shen  <timshen@google.com>
1955         PR libstdc++/64649
1956         * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
1957         regex_traits<>::lookup_classname): Support forward iterators.
1958         * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
1959         * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
1961 2015-01-19  Tim Shen  <timshen@google.com>
1963         PR libstdc++/64584
1964         PR libstdc++/64585
1965         * include/bits/regex.h (basic_regex<>::basic_regex,
1966         basic_regex<>::assign, basic_regex<>::imbue,
1967         basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
1968         imbuing basic_regex; Make assign() transactional against exception.
1969         * include/bits/regex_compiler.h (__compile_nfa<>): Add back
1970         __compile_nfa SFINAE.
1971         * include/std/regex: Adjust include order to avoid __compile_nfa
1972         forward declaration.
1973         * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
1974         * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
1976 2015-01-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
1977             Jonathan Wakely  <jwakely@redhat.com>
1979         * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
1980         on overloads for arrays.
1981         (cbegin, cend, rbegin, rend, crbegin, crend): New.
1982         * testsuite/24_iterators/range_access_cpp14.cc: New.
1984 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
1986         PR libstdc++/64646
1987         * include/bits/stl_algo.h (__is_permutation): Also test for reaching
1988         end of the second range.
1989         * testsuite/25_algorithms/is_permutation/64646.cc: New.
1991 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
1993         * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
1994         * doc/html/manual/status.html: Regenerate.
1996 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
1998         * include/bits/atomic_futex.h: Use mutex and condition_variable when
1999         atomic int is not lock-free. Make member variables private.
2000         * src/c++11/futex.cc: Likewise.
2002         * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
2004 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2006         PR libstdc++/64638
2007         * include/bits/atomic_futex.h: Use appropriate config macros for
2008         availability of std::mutex, std::condition and std::chrono.
2010 2015-01-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
2011             Jonathan Wakely  <jwakely@redhat.com>
2013         * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
2014         * doc/html/*: Regenerate.
2016 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2018         DR 488
2019         PR libstdc++/58357
2020         * include/bits/algorithmfwd.h (rotate): Return an iterator.
2021         * include/bits/stl_algo.h (rotate, __rotate): Likewise.
2022         * testsuite/25_algorithms/rotate/dr488.cc: New.
2023         * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
2024         * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2025         2.cc: Likewise.
2026         * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2027         pod.cc: Likewise.
2029 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2031         PR libstdc++/60940
2032         * include/bits/atomic_base.h: Remove atomic integral typedefs as
2033         synonyms for __atomic_base<int> etc.
2034         * include/std/atomic: Make atomic_int a synonym for atomic<int> and
2035         likewise for all atomic integral types.
2036         * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
2037         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2039 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2041         PR libstdc++/56785
2042         * include/std/tuple (_Tuple_impl): Remove zero-element specialization
2043         and define one-element specialization.
2044         * testsuite/20_util/tuple/56785.cc: New.
2046 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2048         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
2049         Remove unused header.
2050         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
2051         Likewise.
2052         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
2053         Likewise.
2055 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
2057         * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
2058         * include/std/locale: Include new header.
2059         * include/Makefile.am: Add it.
2060         * include/Makefile.in: Regenerate.
2061         * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
2062         * testsuite/22_locale/conversions/string/1.cc: New.
2063         * testsuite/22_locale/conversions/string/2.cc: New.
2064         * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
2065         * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
2066         New.
2068 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
2070         * config/abi/pre/gnu.ver: Export new symbols.
2071         * include/Makefile.am: Add codecvt.
2072         * include/Makefile.in: Regenerate.
2073         * include/std/codecvt: New header.
2074         * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
2075         __codecvt_utf8_utf16_base): Define specializations.
2076         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
2077         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
2078         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
2079         New.
2081 2015-01-16  Torvald Riegel  <triegel@redhat.com>
2083         * src/c++11/futex.cc: New file.
2084         * include/bits/atomic_futex.h: New file.
2085         * include/std/future (__future_base::_State_baseV2): Use
2086         atomic_futex_unsigned instead of mutex+condvar.
2087         * src/c++11/futex.cc: Likewise.
2088         * include/Makefile.am: Add atomic_futex.h.
2089         * include/Makefile.in: Likewise.
2090         * src/c++11/Makefile.am: Add futex.cc.
2091         * src/c++11/Makefile.in: Likewise.
2093 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
2095         * acinclude.m4: Fix typo in comment.
2096         * configure: Regenerate.
2097         * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
2098         codecvt<char16_t, char, mbstate_t>): Declare specializations.
2099         * include/bits/locale_facets.h: Reserve space for new specializations.
2100         * src/c++11/Makefile.am: Add codecvt.cc.
2101         * src/c++11/Makefile.in: Regenerate.
2102         * src/c++11/codecvt.cc: New.
2103         * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
2104         with -std=gnu++11.
2105         * src/c++98/Makefile.in: Regenerate.
2106         * src/c++98/locale_init.cc: Initialize new codecvt specializations.
2107         * src/c++98/localename.cc: Likewise.
2108         * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
2109         * testsuite/22_locale/codecvt/utf8.cc: New.
2110         * testsuite/22_locale/locale/cons/unicode.cc: Check that new
2111         specializations are installed in locale objects.
2113 2015-01-16  Torvald Riegel  <triegel@redhat.com>
2115         * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
2116         implementation.
2118 2015-01-13  Jonathan Wakely  <jwakely@redhat.com>
2120         PR libstdc++/64571
2121         * config/abi/pre/gnu.ver: Export fstream functions using new string.
2123 2015-01-12  Jonathan Wakely  <jwakely@redhat.com>
2125         PR libstdc++/64560
2126         * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
2127         for RTTI support.
2129         PR libstdc++/64553
2130         * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
2132 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
2134         * doc/xml/manual/parallel_mode.xml: Update for libgomp being
2135         renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
2136         Multi Processing Runtime Library".
2138 2015-01-09  Jonathan Wakely  <jwakely@redhat.com>
2140         PR libstdc++/64476
2141         * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
2142         is_assignable arguments.
2143         * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
2144         New.
2146 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
2148         * libsupc++/unwind-cxx.h: Revert previous commit.
2150 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
2152         * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
2154 2015-01-09  Tim Shen  <timshen@google.com>
2156         PR libstdc++/64239
2157         * include/bits/regex.h (match_results<>::swap): Use std::swap
2158         instead of swap.
2159         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
2160         Likewise.
2161         * testsuite/28_regex/match_results/swap.cc: New testcase.
2163 2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
2165         PR libstdc++/60132
2166         * include/std/type_traits (has_trivial_default_constructor,
2167         has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
2168         attribute.
2169         * testsuite/20_util/has_trivial_copy_assign/requirements/
2170         explicit_instantiation.cc: Use -Wno-deprecated.
2171         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
2172         Likewise.
2173         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
2174         * testsuite/20_util/has_trivial_copy_constructor/requirements/
2175         explicit_instantiation.cc: Likewise.
2176         * testsuite/20_util/has_trivial_copy_constructor/requirements/
2177         typedefs.cc: Likewise.
2178         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
2179         * testsuite/20_util/has_trivial_default_constructor/requirements/
2180         explicit_instantiation.c: Likewise.
2181         * testsuite/20_util/has_trivial_default_constructor/requirements/
2182         typedefs.cc: Likewise.
2183         * testsuite/20_util/has_trivial_default_constructor/value.cc:
2184         Likewise.
2185         * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
2186         trait.
2187         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
2188         * testsuite/util/testsuite_common_types.h: Likewise.
2190 2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
2192         * include/bits/hashtable_policy.h: Use __bool_constant.
2194 2015-01-07  Jonathan Wakely  <jwakely@redhat.com>
2196         * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
2197         * libsupc++/Makefile.in: Regenerate.
2199 2015-01-06  Jonathan Wakely  <jwakely@redhat.com>
2201         * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
2203 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
2205         Update copyright years.
2207 2015-01-04  Jonathan Wakely  <jwakely@redhat.com>
2209         PR libstdc++/64483
2210         * testsuite/18_support/exception_ptr/64241.cc: Use
2211         dg-require-atomic-builtins.
2213 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
2215         * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
2216         date.
2218 2015-01-02  Tim Shen  <timshen@google.com>
2220         PR libstdc++/64475
2221         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
2222         iterator, since the original one shouldn't be mutated.
2224 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2226         PR libstdc++/64422
2227         * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
2228         (string::insert): Likewise.
2229         (string::replace): Likewise.
2230         (wstring::erase): Likewise.
2231         (wstring::insert): Likewise.
2232         (wstring::replace): Likewise.
2233         * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
2235 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
2237         PR libstdc++/64468
2238         * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
2240 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
2242         PR libstdc++/64438
2243         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
2244         Revert removal of dg-require-string-conversions.
2245         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
2246         Likewise.
2247         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
2248         Likewise.
2249         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
2250         Likewise.
2251         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
2252         Likewise.
2253         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
2254         Likewise.
2255         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
2256         Likewise.
2257         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
2258         Likewise.
2259         * testsuite/21_strings/basic_string/numeric_conversions/char/
2260         stoull.cc: Likewise.
2261         * testsuite/21_strings/basic_string/numeric_conversions/char/
2262         to_string.cc: Likewise.
2264 Copyright (C) 2015 Free Software Foundation, Inc.
2266 Copying and distribution of this file, with or without modification,
2267 are permitted in any medium without royalty provided the copyright
2268 notice and this notice are preserved.