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