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