PR libstdc++/82966 fix swapping of node handles
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob2c0c0d47a7a7ed2dcf79e11eaf256edb2e10e50a
1 2018-05-14  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/82966
4         * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
5         instead of type.
6         * testsuite/23_containers/set/modifiers/node_swap.cc: New.
8 2018-05-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
10         PR libstdc++/80165
11         * testsuite/20_util/variant/80165.cc: New.
13 2018-05-10  Jonathan Wakely  <jwakely@redhat.com>
15         * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
16         * doc/xml/manual/debug_mode.xml: Add array and forward_list to list
17         of C++11 containers with Debug Mode support.
18         * doc/xml/manual/using.xml: Document Dual ABI for ios_base::failure.
19         * doc/html/*: Regenerate.
21 2018-05-10  Jason Merrill  <jason@redhat.com>
23         * include/bits/regex_compiler.h (_S_cache_size): Change from
24         function to variable.
26 2018-05-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
28         PR libstdc++/83140 - assoc_legendre returns negated value when m is odd
29         * include/tr1/legendre_function.tcc (__assoc_legendre_p): Add __phase
30         argument defaulted to +1.  Doxy comments on same.
31         * testsuite/special_functions/02_assoc_legendre/
32         check_value.cc: Regen.
33         * testsuite/tr1/5_numerical_facilities/special_functions/
34         02_assoc_legendre/check_value.cc: Regen.
36 2018-05-10  Jonathan Wakely  <jwakely@redhat.com>
38         PR libstdc++/85729
39         * include/bits/c++config.h (__replacement_assert): Add linkage
40         specification.
41         * include/bits/std_abs.h: Add comment to closing brace of block.
42         * include/c_global/cstddef: Add linkage specification.
43         * include/c_global/cstring: Likewise.
44         * include/c_global/cwchar: Likewise.
46 2018-05-09  François Dumont  <fdumont@gcc.gnu.org>
48         * include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()):
49         Rename in...
50         (_Safe_iterator<>::_S_constant()): ...that.
51         * include/debug/safe_local_iterator.h
52         (_Safe_local_iterator<>::_M_constant()): Rename in...
53         (_Safe_local_iterator<>::_S_constant()): ...that.
54         * include/debug/formatter.h: Remove bits/cpp_type_traits.h include.
55         (_Iterator_state::__rbegin): New.
56         (_Iterator_state::__rmiddle): New.
57         (_Iterator_state::__rend): New.
58         (_Parameter::_Parameter(const _Safe_iterator<>&, const char*,
59         _Is_iterator)): Use _Safe_iterator<>::_S_constant. Grab normal underlying
60         iterator type.
61         (_Parameter::_Parameter(const _Safe_local_iterator<>&, const char*,
62         _Is_iterator)): Likewise.
63         (_Parameter::_S_reverse_state(_Iterator_state)): New.
64         (_Parameter(__gnu_cxx::__normal_iterator<> const&, const char*,
65         _Is_iterator)): New.
66         (_Parameter(std::reverse_iterator<> const&, const char*,
67         _Is_iterator)): New.
68         (_Parameter(std::reverse_iterator<_Safe_iterator<>> const&,
69         const char*, _Is_iterator)): New.
70         (_Parameter(std::move_iterator<> const&, const char*, _Is_iterator):
71         New.
72         (_Parameter(std::move_iterator<_Safe_iterator<>> const&, const char*,
73         _Is_iterator)): New.
74         * testsuite/24_iterators/move_iterator/debug_neg.cc: New.
75         * testsuite/24_iterators/normal_iterator/debug_neg.cc: New.
76         * testsuite/24_iterators/reverse_iterator/debug_neg.cc: New.
78 2018-05-09  Jonathan Wakely  <jwakely@redhat.com>
80         * include/bits/std_function.h (_Base_manager::_M_get_pointer):
81         Use constexpr if in C++17 mode.
82         (_Base_manager::_M_clone(_Any_data&, const _Any_data&, true_type)):
83         Copy from const object.
84         * testsuite/20_util/function/cons/non_copyconstructible.cc: New.
86 2018-05-08  François Dumont  <fdumont@gcc.gnu.org>
88         * src/c++11/debug.cc [_GLIBCXX_HAVE_EXECINFO_H]: Include execinfo.h.
89         [_GLIBCXX_HAVE_EXECINFO_H](_Error_formatter::_M_error): Render
90         backtrace.
92         * include/debug/macros.h (__glibcxx_check_valid_range_at): New.
93         * include/debug/functions.h (__check_valid_range): Use latter.
94         * include/debug/macros.h (__glibcxx_check_valid_constructor_range): New,
95         use latter.
96         * include/debug/deque
97         (deque::deque<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
98         * include/debug/forward_list
99         (forward_list::forward_list<_Iter>(_Iter, _Iter, const _Alloc&)):
100         Likewise.
101         * include/debug/list
102         (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
103         * include/debug/list
104         (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
105         * include/debug/map.h
106         (map::map<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
107         (map::map<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
108         Likewise.
109         * include/debug/multimap.h
110         (multimap::multimap<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
111         (multimap::multimap<_Iter>(_Iter, _Iter, const _Compare&,
112         const _Alloc&)): Likewise.
113         * include/debug/set.h
114         (set::set<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
115         (set::set<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
116         Likewise.
117         * include/debug/multiset.h
118         (multiset::multiset<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
119         (multiset::multiset<_Iter>(_Iter, _Iter, const _Compare&,
120         const _Alloc&)): Likewise.
121         * include/debug/string
122         (basic_string::basic_string<_Iter>(_Iter, _Iter, const _Alloc&)):
123         Likewise.
124         * include/debug/unordered_map
125         (unordered_map::unordered_map<_Iter>(_Iter, _Iter, const _Alloc&)):
126         Likewise.
127         (unordered_multimap::unordered_multimap<_Iter>(_Iter, _Iter,
128         const _Alloc&)): Likewise.
129         * include/debug/unordered_set
130         (unordered_set::unordered_set<_Iter>(_Iter, _Iter, const _Alloc&)):
131         Likewise.
132         (unordered_multiset::unordered_multiset<_Iter>(_Iter, _Iter,
133         const _Alloc&)): Likewise.
134         * include/debug/vector
135         (vector::vector<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
137         * include/debug/formatter.h (_Error_formatter::_M_function): New.
138         (_Error_formatter(const char*, unsigned int)): Adapt.
139         (_Error_formatter::_M_at): Rename in...
140         (_Error_formatter::_S_at): ...that and adapt.
141         * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): New.
142         (_GLIBCXX_DEBUG_VERIFY_AT, _GLIBCXX_DEBUG_VERIFY): Adapt.
143         * src/c++11/debug.cc (_Error_formatter::_M_error): Render _M_function
144         when available.
146 2018-05-08  Jonathan Wakely  <jwakely@redhat.com>
148         * include/bits/regex_automaton.h (_NFA_base::_M_paren_stack, _NFA):
149         Use normal std::vector even in Debug Mode.
151         PR libstdc++/85672
152         * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
153         to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
154         * include/Makefile.in: Regenerate.
155         * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
156         within conditional block.
158 2018-05-07  Jonathan Wakely  <jwakely@redhat.com>
160         * doc/xml/manual/using.xml (table.cmd_options): Document that the
161         C++17 Filesystem implementation also needs -lstdc++fs.
163         PR libstdc++/85671
164         * include/bits/fs_path.h (operator/): Permit copy elision.
165         * include/experimental/bits/fs_path.h (operator/): Likewise.
167 2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
169         Moar PR libstdc++/80506
170         * include/bits/random.tcc (gamma_distribution::__generate_impl()):
171         Fix magic number used in loop condition.
173 2018-05-04  Jonathan Wakely  <jwakely@redhat.com>
175         PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
176         * include/std/optional (_Optional_payload): Add noexcept to default
177         constructor. Re-indent.
178         (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
179         constructor for copying disengaged payloads.
180         (_Optional_payload<_Tp, true, false, true>): Likewise.
181         (_Optional_payload<_Tp, true, true, false>): Likewise.
182         (_Optional_payload<_Tp, true, false, false>): Likewise.
183         * testsuite/20_util/optional/cons/85642.cc: New.
184         * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
186 2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
188         PR libstdc++/82644
189         * include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
190         inline definitions instead of using-declarations.
191         [__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
192         * testsuite/tr1/5_numerical_facilities/special_functions/
193         07_conf_hyperg/compile_cxx17.cc: New.
194         * testsuite/tr1/5_numerical_facilities/special_functions/
195         17_hyperg/compile_cxx17.cc: New.
197         PR libstdc++/84769
198         * include/std/variant (visit): Qualify std::get call.
200         PR libstdc++/85632 use uintmax_t for arithmetic
201         * src/filesystem/ops.cc (experimental::filesystem::space): Perform
202         arithmetic in result type.
203         * src/filesystem/std-ops.cc (filesystem::space): Likewise.
204         * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
205         is greater than free space.
206         * testsuite/experimental/filesystem/operations/space.cc: New.
208         * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
209         * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
210         New.
211         * testsuite/20_util/remove_cvref/value.cc: New.
212         * testsuite/20_util/remove_cvref/value_ext.cc: New.
214         PR libstdc++/84087 LWG DR 2268 basic_string default arguments
215         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
216         (append(const basic_string&, size_type, size_type)
217         (assign(const basic_string&, size_type, size_type)
218         (insert(size_type, const basic_string&, size_type, size_type)
219         (replace(size_type,size_type,const basic_string&,size_type,size_type)
220         (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
221         Add default arguments (LWG 2268).
222         [_GLIBCXX_USE_CXX11_ABI=0]
223         (append(const basic_string&, size_type, size_type)
224         (assign(const basic_string&, size_type, size_type)
225         (insert(size_type, const basic_string&, size_type, size_type)
226         (replace(size_type,size_type,const basic_string&,size_type,size_type)
227         (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
228         Likewise.
229         * testsuite/21_strings/basic_string/dr2268.cc: New test.
231         PR libstdc++/84535
232         * include/std/thread (thread::__not_same): New SFINAE helper.
233         (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
234         first argument is not a std::thread. Add static assertion to check
235         INVOKE expression is valid.
236         (thread::thread(thread&), thread::thread(const thread&&)): Remove.
237         (thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
238         __invoke_result for return types and remove exception specifications.
239         * testsuite/30_threads/thread/cons/84535.cc: New.
241         * include/std/future (__async_result_of): Use __invoke_result instead
242         of result_of.
244         * include/std/any (any_cast): Use __remove_cvref_t.
245         * include/std/tuple (__make_tuple): Likewise.
246         * include/std/type_traits (__remove_cvref_t): Define.
247         (__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
248         [__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
249         * include/std/variant (__erased_hash): Use __remove_cvref_t.
251 2018-05-02  François Dumont  <fdumont@gcc.gnu.org>
253         * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
254         ensure overloaded comma not used.
255         * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
256         * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
257         * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
258         * testsuite/23_containers/deque/modifiers/assign/1.cc: New.
259         * testsuite/23_containers/list/modifiers/assign/1.cc: New.
260         * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
261         * testsuite/23_containers/vector/modifiers/assign/1.cc: New.
263 2018-05-02  Jonathan Wakely  <jwakely@redhat.com>
265         PR libstdc++/68197
266         * include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
267         indices to unsigned.
268         * src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
269         as failure. Refactor error handling.
270         * testsuite/27_io/ios_base/storage/68197.cc: New.
272         PR libstdc++/57997
273         PR libstdc++/83860
274         * include/bits/gslice_array.h (gslice_array): Define default
275         constructor as deleted, as per C++11 standard.
276         * include/bits/mask_array.h (mask_array): Likewise.
277         * include/bits/slice_array.h (slice_array): Likewise.
278         * include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
279         to namespace __detail.
280         (_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
281         members.
282         * include/bits/valarray_before.h (_ValArrayRef): New helper for type
283         of data members in closure objects.
284         (_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
285         (_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
286         __detail.
287         (_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
288         (_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
289         (_SBase::_M_expr): Use _ValArrayRef for type of data members.
290         * include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
291         (_ValFunClos, _RefFunClos): Move to namespace __detail and add
292         using-declarations to namespace std.
293         * testsuite/26_numerics/valarray/83860.cc: New.
295         * testsuite/backward/strstream_move.cc: Remove duplicate function
296         call.
298         PR libstdc++/69608
299         * include/backward/strstream (strstreambuf): Define move constructor
300         and move assignment operator.
301         (istrstream, ostrstream, strstream): Likewise.
302         * testsuite/backward/strstream_move.cc: New.
304 2018-05-01  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
306         PR libstdc++/84654
307         * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
308         * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
309         * configure: Regenerate.
310         * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
311         based on ENABLE_FLOAT128.
312         * include/Makefile.in: Regenerate.
313         * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
314         [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
315         _GLIBCXX_USE_FLOAT128.
317 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
319         * configure: Regenerated.
321 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
323         * configure: Regenerated.
325 2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
326             Jakub Jelinek  <jakub@redhat.com>
328         PR libstdc++/85442
329         * src/c++11/Makefile.am: Don't generate debuginfo again for
330         cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
331         * src/c++11/Makefile.in: Regenerate.
333 2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
335         PR libstdc++/84442
336         * testsuite/30_threads/thread/cons/terminate.cc
337         [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
339 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
341         PR jit/85384
342         * configure: Regenerate.
344 2018-04-16  Jonathan Wakely  <jwakely@redhat.com>
346         * testsuite/experimental/filesystem/file_status/1.cc: Add
347         -DUSE_FILESYSTEM_TS to dg-options.
348         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
349         Likewise.
350         * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
351         * testsuite/experimental/filesystem/iterators/
352         recursive_directory_iterator.cc: Likewise.
353         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
354         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
355         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
356         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
357         * testsuite/experimental/filesystem/operations/create_directories.cc:
358         Likewise.
359         * testsuite/experimental/filesystem/operations/create_directory.cc:
360         Likewise.
361         * testsuite/experimental/filesystem/operations/create_symlink.cc:
362         Likewise.
363         * testsuite/experimental/filesystem/operations/current_path.cc:
364         Likewise.
365         * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
366         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
367         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
368         * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
369         * testsuite/experimental/filesystem/operations/last_write_time.cc:
370         Likewise.
371         * testsuite/experimental/filesystem/operations/permissions.cc:
372         Likewise.
373         * testsuite/experimental/filesystem/operations/read_symlink.cc:
374         Likewise.
375         * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
376         * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
377         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
378         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
379         Likewise.
380         * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
381         * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
382         * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
383         * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
384         * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
385         * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
386         * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
387         * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
388         * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
389         * testsuite/experimental/filesystem/path/construct/default.cc:
390         Likewise.
391         * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
392         * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
393         * testsuite/experimental/filesystem/path/construct/string_view.cc:
394         Likewise.
395         * testsuite/experimental/filesystem/path/decompose/extension.cc:
396         Likewise.
397         * testsuite/experimental/filesystem/path/decompose/filename.cc:
398         Likewise.
399         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
400         Likewise.
401         * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
402         Likewise.
403         * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
404         Likewise.
405         * testsuite/experimental/filesystem/path/decompose/root_name.cc:
406         Likewise.
407         * testsuite/experimental/filesystem/path/decompose/root_path.cc:
408         Likewise.
409         * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
410         * testsuite/experimental/filesystem/path/generic/generic_string.cc:
411         Likewise.
412         * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
413         * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
414         * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
415         Likewise.
416         * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
417         Likewise.
418         * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
419         Likewise.
420         * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
421         Likewise.
422         * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
423         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
424         * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
425         Likewise.
426         * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
427         * testsuite/experimental/filesystem/path/query/has_extension.cc:
428         Likewise.
429         * testsuite/experimental/filesystem/path/query/has_filename.cc:
430         Likewise.
431         * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
432         Likewise.
433         * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
434         Likewise.
435         * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
436         Likewise.
437         * testsuite/experimental/filesystem/path/query/has_root_name.cc:
438         Likewise.
439         * testsuite/experimental/filesystem/path/query/has_root_path.cc:
440         Likewise.
441         * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
442         * testsuite/experimental/filesystem/path/query/is_relative.cc:
443         Likewise.
445 2018-04-13  Jonathan Wakely  <jwakely@redhat.com>
447         * src/c++11/Makefile.am: Fix sed command.
448         * src/c++11/Makefile.in: Regenerate.
450         * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
451         handle mangled names starting with double underscores on darwin.
452         * src/c++11/Makefile.in: Regenerate.
454 2018-04-12  Jonathan Wakely  <jwakely@redhat.com>
456         * src/c++11/Makefile.am: Fix comment.
457         * src/c++11/Makefile.in: Regenerate.
458         * src/c++11/cxx11-ios_failure.cc: Fix comment.
459         * src/c++98/ios_failure.cc: Likewise.
461         * src/c++11/ios.cc: Remove redundant macro definition.
463 2018-04-11  Jonathan Wakely  <jwakely@redhat.com>
465         * doc/xml/manual/abi.xml: Document header locations in recent
466         releases.
467         * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
468         * doc/xml/manual/spine.xml: Update copyright years.
469         * doc/xml/manual/strings.xml: Adjust tolower example to avoid
470         undefined behaviour.
471         * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
472         * doc/html/*: Regenerate.
474 2018-04-10  Jonathan Wakely  <jwakely@redhat.com>
476         * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
477         * doc/xml/manual/backwards_compatibility.xml: Likewise.
478         * doc/xml/manual/containers.xml: Likewise.
479         * doc/xml/manual/debug_mode.xml: Likewise.
480         * doc/xml/manual/extensions.xml: Likewise.
481         * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
482         * doc/xml/manual/using.xml: Likewise.
483         * doc/xml/manual/utilities.xml: Likewise.
485         PR libstdc++/85222
486         * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
487         cxx11-ios_failure.cc to rewrite type info for __ios_failure.
488         * src/c++11/Makefile.in: Regenerate.
489         * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
490         New types.
491         [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
492         * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
493         * src/c++98/ios_failure.cc (__construct_ios_failure)
494         (__destroy_ios_failure, is_ios_failure_handler): New functions.
495         [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
496         * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
497         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
498         handler types, to always catch std::ios_base::failure.
499         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
500         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
501         exceptions_failbit.cc: Likewise.
502         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
503         exceptions_failbit.cc: Likewise.
504         * testsuite/27_io/basic_istream/extractors_other/char/
505         exceptions_null.cc: Likewise.
506         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
507         exceptions_null.cc: Likewise.
508         * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
509         * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
510         * testsuite/27_io/basic_ostream/inserters_other/char/
511         exceptions_null.cc: Likewise.
512         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
513         exceptions_null.cc: Likewise.
514         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
516 2018-04-05  Jonathan Wakely  <jwakely@redhat.com>
518         * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
519         __get calls to avoid ADL and avoid ambiguity due to Clang bug.
521 2018-04-03  Jonathan Wakely  <jwakely@redhat.com>
523         PR libstdc++/85183
524         * include/std/variant (_Move_assign_base::operator=): Fix incorrect
525         value categories.
526         * testsuite/20_util/variant/85183.cc: New.
528 2018-03-26  Jonathan Wakely  <jwakely@redhat.com>
530         * include/std/variant (__get): Qualify calls to avoid ADL.
531         (__select_index): Adjust whitespace.
532         (variant): Add using-declaration to workaround Clang bug.
534 2018-03-22  Jonathan Wakely  <jwakely@redhat.com>
536         PR libstdc++/85040
537         * include/bits/stl_function.h (greater::__not_overloaded)
538         (less::__not_overloaded, greater_equal::__not_overloaded)
539         (less_equal::__not_overloaded): Fix ambiguous specializations.
540         * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
541         tests for type with overloaded operators.
543 2018-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
545         PR libstdc++/77691
546         * testsuite/experimental/memory_resource/resource_adaptor.cc:
547         xfail execution on 32-bit Solaris/x86.
549 2018-03-21  Jonathan Wakely  <jwakely@redhat.com>
551         * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
552         VERIFY instead of assert.
553         * testsuite/20_util/hash/84998.cc: New test.
554         * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
555         copy of test adjusted for Debug Mode.
556         * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
557         test in Debug Mode.
559 2018-03-20  François Dumont  <fdumont@gcc.gnu.org>
561         PR libstdc++/84998
562         * include/bits/stl_bvector.h: Fix std::hash friend declaration.
563         * include/std/bitset: Likewise.
564         * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
565         declaration.
566         * include/bits/stl_multimap.h (std::multimap<>): Likewise.
567         * include/bits/stl_multiset.h (std::multiset<>): Likewise.
568         * include/bits/stl_set.h (std::set<>): Likewise.
569         * include/bits/unordered_map.h (std::unordered_map<>): Fix
570         _Hash_merge_helper friend declaration.
571         (std::unordered_multimap<>): Likewise.
572         * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
573         (std::unordered_multiset<>): Likewise.
575 2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
577         * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
578         trailing slash for domain level link.
579         * doc/xml/faq.xml: Ditto.
580         * doc/xml/manual/appendix_free.xml (software): Ditto.
581         * doc/xml/manual/intro.xml: Ditto.
582         * doc/xml/manual/spine.xml: Ditto.
583         * doc/xml/spine.xml: Ditto.
585 2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
587         * doc/xml/manual/documentation_hacking.xml: Adjust link to
588         docbook.org.
590 2018-03-17  Jonathan Wakely  <jwakely@redhat.com>
592         * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
593         to compile as C++98.
595 2018-03-14  Jonathan Wakely  <jwakely@redhat.com>
597         PR libstdc++/78420
598         * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
599         (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
600         to ensure total order for pointers.
601         (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
602         Add operator() overloads for pointer arguments and make generic
603         overloads dispatch to new _S_cmp functions when comparisons would
604         use built-in operators for pointers.
605         * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
607 2018-03-12  Jonathan Wakely  <jwakely@redhat.com>
609         PR libstdc++/84773
610         PR libstdc++/83662
611         * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
612         * configure: Regenerate.
613         * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
614         (aligned_alloc): Add using-declaration.
615         * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
617 2018-03-09  François Dumont  <fdumont@gcc.gnu.org>
619         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
620         Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
621         registration.
623 2018-03-09  Jonathan Wakely  <jwakely@redhat.com>
625         PR libstdc++/84769
626         * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
627         Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
629         src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
630         src/filesystem/std-ops.cc (create_dir): Likewise.
632 2018-03-08  François Dumont  <fdumont@gcc.gnu.org>
634         * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
635         (StdListIteratorPrinter): Inherit from latter.
636         (StdFwdListIteratorPrinter): New, inherit from latter.
637         (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
638         when iterator has no associated container.
639         (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
640         __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
641         registrations.
642         * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
643         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
645 2018-03-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
647         PR libstdc++/84601
648         * include/std/optional (_Optional_payload): Split into multiple
649         specializations that can handle different cases of trivial or
650         non-trivial assignment operators.
651         * testsuite/20_util/optional/84601.cc: New.
652         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
654 2018-03-02  Jonathan Wakely  <jwakely@redhat.com>
656         PR libstdc++/84671
657         * include/bits/parse_numbers.h (_Number_help): Add partial
658         specialization to handle digit separators. Adjust partial
659         specialization for recursion temrination to require _Pow == 1ULL.
660         * testsuite/20_util/duration/literals/84671.cc: New
662 2018-02-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
664         Implement the missing bits of LWG 2769
665         * include/std/any (any_cast(const any&)): Add static_assert.
666         (any_cast(any&)): Likewise.
667         (any_cast(any&&)): Likewise, and remove the handling
668         for copyable-but-not-movable type.
669         * testsuite/20_util/any/misc/any_cast.cc: Adjust.
670         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
671         add new tests.
673 2018-02-23  Jonathan Wakely  <jwakely@redhat.com>
675         PR libstdc++/84532
676         * include/std/thread (thread::__make_invoker): Construct tuple
677         directly instead of using make_tuple.
678         * testsuite/30_threads/async/84532.cc: New.
679         * testsuite/30_threads/thread/84532.cc: New.
681 2018-02-20  François Dumont  <fdumont@gcc.gnu.org>
683         * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
684         (template<> __aligned_buffer): Define as __aligned_membuf alias.
686 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
688         PR target/84148
689         * configure: Regenerate.
691 2018-02-15  Jonathan Wakely  <jwakely@redhat.com>
693         PR libstdc++/81797
694         * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
695         * configure: Regenerate.
696         * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
697         defined.
698         * include/Makefile.in: Regenerate.
700 2018-01-29  Jonathan Wakely  <jwakely@redhat.com>
702         PR libstdc++/83833
703         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
704         Add -ffloat-store to options for m68k and ia32.
706         * doc/xml/faq.xml: Update copyright years.
707         * doc/html/*: Regenerate.
709         PR libstdc++/83658
710         * include/std/any (any::__do_emplace): Only set _M_manager after
711         constructing the contained object.
712         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
713         * testsuite/20_util/any/modifiers/83658.cc: New test.
715 2018-01-25  Jonathan Wakely  <jwakely@redhat.com>
717         PR libstdc++/81076
718         * include/c_global/cstddef (__byte_operand): Define primary template.
719         * testsuite/18_support/byte/81076.cc: New test.
721 2018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
723         * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
724         dg-options and dg-add-options order.
725         * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
726         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
727         Likewise.
728         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
729         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
730         Likewise.
731         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
732         Likewise.
733         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
734         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
735         Likewise.
736         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
737         Likewise.
738         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
739         Likewise.
740         * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
741         Likewise.
742         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
743         Likewise.
744         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
745         Likewise.
746         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
747         Likewise.
748         * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
749         Likewise.
750         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
751         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
752         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
753         * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
754         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
755         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
756         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
757         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
758         * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
759         Likewise.
760         * testsuite/special_functions/19_sph_bessel/check_nan.cc:
761         Likewise.
762         * testsuite/special_functions/20_sph_legendre/check_nan.cc:
763         Likewise.
764         * testsuite/special_functions/21_sph_neumann/check_nan.cc:
765         Likewise.
767 2018-01-18  Uros Bizjak  <ubizjak@gmail.com>
769         * configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
770         include linux/types.h when checking linux/random.h header.
771         * config.h.in: Regenerate.
772         * configure: Ditto.
773         * src/c++11/random.cc: Conditionally include linux/types.h.
775 2018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
777         * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
779 2018-01-16  Jonathan Wakely  <jwakely@redhat.com>
781         PR libstdc++/83834
782         * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
783         pattern with exact match for std::cerr.
785 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
787         PR libstdc++/83833
788         * include/bits/random.h (chi_squared_distribution::param): Update
789         gamma distribution parameter.
790         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
791         test.
793         PR libstdc++/83830
794         * include/std/type_traits (has_unique_object_representations_v): Add
795         variable template.
796         * testsuite/20_util/has_unique_object_representations/value.cc: Check
797         variable template.
799 2018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
801         Make optional conditionally
802         trivially_{copy,move}_{constructible,assignable}
803         * include/std/optional (_Optional_payload): Fix the comment in
804         the class head and turn into a primary and one specialization.
805         (_Optional_payload::_M_engaged): Strike the NSDMI.
806         (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
807         New.
808         (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
809         Likewise.
810         (_Optional_payload<_Tp, false>::_M_get): Likewise.
811         (_Optional_payload<_Tp, false>::_M_reset): Likewise.
812         (_Optional_base_impl): Likewise.
813         (_Optional_base): Turn into a primary and three specializations.
814         (optional(nullopt)): Change the base init.
815         * testsuite/20_util/optional/assignment/8.cc: New.
816         * testsuite/20_util/optional/cons/trivial.cc: Likewise.
817         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
819 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
821         PR libstdc++/80276
822         * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
823         (get_template_arg_list): New.
824         (StdVariantPrinter._template_args): Remove, use get_template_arg_list
825         instead.
826         (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
827         of strings and regular expressions.
828         (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
829         (FilteringTypePrinter): Add docstring. Match using startswith. Use
830         strip_inline_namespaces instead of strip_versioned_namespace.
831         (add_one_type_printer): Prepend namespace to match argument.
832         (register_type_printers): Add type printers for char16_t and char32_t
833         string types and for types using cxx11 ABI. Update calls to
834         add_one_template_type_printer to provide default argument dicts.
835         * testsuite/libstdc++-prettyprinters/80276.cc: New test.
836         * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
837         basic_string<unsigned char> and basic_string<signed char>.
838         * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
839         to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
841 2018-01-14  Andreas Schwab  <schwab@linux-m68k.org>
843         PR libstdc++/81092
844         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
846 2018-01-13  Tim Shen  <timshen@google.com>
848         PR libstdc++/83601
849         * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
850         * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
851         * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
853 2018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
855         PR libstdc++/64054
856         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
857         Remove dg-xfail-run-if.
859 2018-01-10  François Dumont  <fdumont@gcc.gnu.org>
861         * include/bits/forward_list.h
862         (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
863         (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
864         (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
865         (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
866         (_Fwd_list_impl()): Add noexcept qualification.
867         (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
868         (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
869         (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
870         (_Fwd_list_base()): Default.
871         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
872         (_Fwd_list_base(_Fwd_list_base&&)): Default.
873         (forward_list<>()): Default.
874         (forward_list<>(forward_list&&)): Default.
875         (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
876         (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
877         (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
878         * include/bits/forward_list.tcc
879         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
880         _M_impl._M_head move assignment.
881         (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
882         * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
884 2018-01-09  Jonathan Wakely  <jwakely@redhat.com>
886         PR libstdc++/80276
887         * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
888         (UniquePointerPrinter): Print correct template argument, not type of
889         the pointer.
890         (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
891         a type.
892         * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
893         array type.
894         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
895         weak_ptr of array types.
897 2018-01-09  François Dumont  <fdumont@gcc.gnu.org>
899         PR libstdc++/83709
900         * include/bits/hashtable_policy.h
901         (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
902         __first != __last.
903         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
904         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
905         Add false_type parameter.
906         (_Insert_base::insert): Adapt.
907         * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
908         Adapt.
909         (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
910          Add __n_elt parameter, defaulted to 1.
911         (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
912         policy _M_need_rehash.
913         (_Hashtable::_M_merge_unique): Pass target number of elements to add to
914         produce only 1 rehash if necessary.
915         * testsuite/23_containers/unordered_map/insert/83709.cc: New.
916         * testsuite/23_containers/unordered_set/insert/83709.cc: New.
918 2018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
919             Jonathan Wakely  <jwakely@redhat.com>
921         PR libstdc++/59253 (partial)
922         * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
923         type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
924         (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
925         children.
926         * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
927         of unique_ptr printer.
928         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
929         output of shared_ptr printer.
931 2018-01-05  Jonathan Wakely  <jwakely@redhat.com>
933         PR libstdc++/83626
934         * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
935         unnecessary symlink_status call.
936         (remove_all(const path&, error_code&)): Use filesystem::remove.
937         * src/filesystem/std-ops.cc: Likewise.
939         PR libstdc++/83279
940         * src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
941         sendfile.
943         PR libstdc++/83626
944         * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
945         report an error for ENOENT.
946         (remove_all(const path&)): Fix type of result variable.
947         (remove_all(const path&, error_code&)): Use non-throwing increment
948         for directory iterator. Call POSIX remove directly to avoid redundant
949         calls to symlink_status. Do not report errors for ENOENT.
950         * src/filesystem/std-ops.cc: Likewise.
951         * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
952         overload.
953         * testsuite/experimental/filesystem/operations/remove_all.cc:
954         Likewise.
956 2018-01-04  Jonathan Wakely  <jwakely@redhat.com>
958         PR libstdc++/83626
959         * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
960         redundant call to ec.clear().
961         (remove_all(const path&, error_code&))): Do not return an error for
962         non-existent paths.
963         * src/filesystem/std-ops.cc: Likewise.
964         * testsuite/27_io/filesystem/operations/remove.cc: New test.
965         * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
966         results for non-existent paths.
967         * testsuite/experimental/filesystem/operations/remove.cc: New test.
968         * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
969         expected results for non-existent paths.
971         * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
972         check status_known once.
973         * include/experimental/bits/fs_ops.h: Likewise.
975         PR libstdc++/83607
976         * include/std/functional (__is_byte_like): New trait.
977         (__is_std_equal_to): Remove.
978         (__boyer_moore_base_t): Use __is_byte_like instead of
979         __is_std_equal_to.
980         * include/experimental/functional (__is_std_equal_to): Remove.
981         (__boyer_moore_base_t): Use __is_byte_like instead of
982         __is_std_equal_to.
983         * testsuite/20_util/function_objects/83607.cc: New test.
985 2018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
987         Protect optional's deduction guide with the feature macro
988         * include/std/optional: Use the feature macro.
990 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
992         Update copyright years.
994 Copyright (C) 2018 Free Software Foundation, Inc.
996 Copying and distribution of this file, with or without modification,
997 are permitted in any medium without royalty provided the copyright
998 notice and this notice are preserved.