re PR libstdc++/83601 (std::regex_replace C++14 conformance issue: escaping in SED...
[gcc.git] / libstdc++-v3 / ChangeLog
1 2018-01-13 Tim Shen <timshen@google.com>
2
3 PR libstdc++/83601
4 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
5 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
6 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
7
8 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9
10 PR libstdc++/64054
11 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
12 Remove dg-xfail-run-if.
13
14 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
15
16 * include/bits/forward_list.h
17 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
18 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
19 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
20 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
21 (_Fwd_list_impl()): Add noexcept qualification.
22 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
23 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
24 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
25 (_Fwd_list_base()): Default.
26 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
27 (_Fwd_list_base(_Fwd_list_base&&)): Default.
28 (forward_list<>()): Default.
29 (forward_list<>(forward_list&&)): Default.
30 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
31 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
32 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
33 * include/bits/forward_list.tcc
34 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
35 _M_impl._M_head move assignment.
36 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
37 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
38
39 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
40
41 PR libstdc++/80276
42 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
43 (UniquePointerPrinter): Print correct template argument, not type of
44 the pointer.
45 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
46 a type.
47 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
48 array type.
49 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
50 weak_ptr of array types.
51
52 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
53
54 PR libstdc++/83709
55 * include/bits/hashtable_policy.h
56 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
57 __first != __last.
58 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
59 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
60 Add false_type parameter.
61 (_Insert_base::insert): Adapt.
62 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
63 Adapt.
64 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
65 Add __n_elt parameter, defaulted to 1.
66 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
67 policy _M_need_rehash.
68 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
69 produce only 1 rehash if necessary.
70 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
71 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
72
73 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
74
75 PR libstdc++/59253 (partial)
76 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
77 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
78 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
79 children.
80 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
81 of unique_ptr printer.
82 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
83 output of shared_ptr printer.
84
85 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
86
87 PR libstdc++/83626
88 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
89 unnecessary symlink_status call.
90 (remove_all(const path&, error_code&)): Use filesystem::remove.
91 * src/filesystem/std-ops.cc: Likewise.
92
93 PR libstdc++/83279
94 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
95 sendfile.
96
97 PR libstdc++/83626
98 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
99 report an error for ENOENT.
100 (remove_all(const path&)): Fix type of result variable.
101 (remove_all(const path&, error_code&)): Use non-throwing increment
102 for directory iterator. Call POSIX remove directly to avoid redundant
103 calls to symlink_status. Do not report errors for ENOENT.
104 * src/filesystem/std-ops.cc: Likewise.
105 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
106 overload.
107 * testsuite/experimental/filesystem/operations/remove_all.cc:
108 Likewise.
109
110 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
111
112 PR libstdc++/83626
113 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
114 redundant call to ec.clear().
115 (remove_all(const path&, error_code&))): Do not return an error for
116 non-existent paths.
117 * src/filesystem/std-ops.cc: Likewise.
118 * testsuite/27_io/filesystem/operations/remove.cc: New test.
119 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
120 results for non-existent paths.
121 * testsuite/experimental/filesystem/operations/remove.cc: New test.
122 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
123 expected results for non-existent paths.
124
125 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
126 check status_known once.
127 * include/experimental/bits/fs_ops.h: Likewise.
128
129 PR libstdc++/83607
130 * include/std/functional (__is_byte_like): New trait.
131 (__is_std_equal_to): Remove.
132 (__boyer_moore_base_t): Use __is_byte_like instead of
133 __is_std_equal_to.
134 * include/experimental/functional (__is_std_equal_to): Remove.
135 (__boyer_moore_base_t): Use __is_byte_like instead of
136 __is_std_equal_to.
137 * testsuite/20_util/function_objects/83607.cc: New test.
138
139 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
140
141 Protect optional's deduction guide with the feature macro
142 * include/std/optional: Use the feature macro.
143
144 2018-01-03 Jakub Jelinek <jakub@redhat.com>
145
146 Update copyright years.
147 \f
148 Copyright (C) 2018 Free Software Foundation, Inc.
149
150 Copying and distribution of this file, with or without modification,
151 are permitted in any medium without royalty provided the copyright
152 notice and this notice are preserved.