Daily bump.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob0f21a84d2785b1caa158772d1ead5873aceab262
1 2018-07-05  François Dumont  <fdumont@gcc.gnu.org>
3         Backport from mainline
4         2018-07-04  François Dumont  <fdumont@gcc.gnu.org>
6         PR libstdc++/86272
7         * include/debug/string
8         (__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)):
9         Use __glibcxx_check_insert_range.
11 2018-07-04  Jonathan Wakely  <jwakely@redhat.com>
13         Backport from mainline
14         2018-05-19  Jonathan Wakely  <jwakely@redhat.com>
16         * src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
17         [__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
18         little_endian element in bitmask.
19         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
20         * testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
22         Backport from mainline
23         2018-07-03  Jonathan Wakely  <jwakely@redhat.com>
25         * include/bits/alloc_traits.h: Remove redundant preprocessor
26         condition.
28         Backport from mainline
29         2018-06-27  Jonathan Wakely  <jwakely@redhat.com>
31         * include/bits/cpp_type_traits.h [__cplusplus >= 201703]
32         (__is_byte<byte>): Define specialization for std::byte.
34         Backport from mainline
35         2018-06-18  Jonathan Wakely  <jwakely@redhat.com>
37         LWG 3050 Fix cv-qualification of convertibility constraints
38         * include/std/chrono (duration, operator*, operator/, operator%): Use
39         const-qualified type as source type in is_convertible constraints.
40         * testsuite/20_util/duration/arithmetic/dr3050.cc: New.
41         * testsuite/20_util/duration/cons/dr3050.cc: New.
42         * testsuite/20_util/duration/literals/range.cc: Rename to...
43         * testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
44         dg-error lineno.
46         Backport from mainline
47         2018-06-13  Jonathan Wakely  <jwakely@redhat.com>
49         PR libstdc++/86127
50         * include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
51         unused typedef.
52         (_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
53         Use node allocator to create and destroy elements.
54         (forward_list::_Tp_alloc_type): Remove unused typedef.
55         (forward_list::_Alloc_traits): Use allocator_traits instead of
56         __gnu_cxx::__alloc_traits.
58         Backport from mainline
59         2018-05-29  Jonathan Wakely  <jwakely@redhat.com>
61         * include/std/variant (__erased_dtor): Qualify call to __get.
63         Backport from mainline
64         2018-05-15  Jonathan Wakely  <jwakely@redhat.com>
66         * include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
67         __invoke to prevent ADL.
69         Backport from mainline
70         2018-05-24  Maya Rashish  <coypu@sdf.org>
72         PR target/85904
73         * crossconfig.m4: Test for aligned_alloc on netbsd.
74         * configure: Regenerate.
76         Backport from mainline
77         2018-05-18  Jonathan Wakely  <jwakely@redhat.com>
79         PR libstdc++/85098
80         * include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
81         (basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
82         (basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
83         (basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
84         definitions.
85         * include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
86         whitespace.
87         * include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
88         braces around body of do-while.
89         * testsuite/28_regex/basic_regex/85098.cc: New
91         Backport from mainline
92         2018-05-07  Jonathan Wakely  <jwakely@redhat.com>
94         PR libstdc++/85671
95         * include/bits/fs_path.h (operator/): Permit copy elision.
96         * include/experimental/bits/fs_path.h (operator/): Likewise.
98         Backport from mainline
99         2018-06-14  Daniel Trebbien <dtrebbien@gmail.com>
100                     Jonathan Wakely  <jwakely@redhat.com>
102         PR libstdc++/83982
103         * include/bits/vector.tcc (vector::_M_default_append(size_type)):
104         Default-construct new elements before moving existing ones.
105         * testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
106         New.
108         Backport from mainline
109         2018-06-25  Jonathan Wakely  <jwakely@redhat.com>
111         PR libstdc++/86292
112         * include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>):
113         Add try-catch block.
114         * testsuite/23_containers/vector/cons/86292.cc: New.
116         Backport from mainline
117         2018-06-27  Jonathan Wakely  <jwakely@redhat.com>
119         PR libstdc++/86138
120         * include/bits/basic_string.tcc: [_GLIBCXX_EXTERN_TEMPLATE < 0]
121         Declare explicit instantiations of COW empty reps and I/O functions.
123         Backport from mainline
124         2018-06-16  Jonathan Wakely  <jwakely@redhat.com>
126         LWG 3076 basic_string CTAD ambiguity
127         * doc/xml/manual/intro.xml: Document LWG 3076 change.
128         * include/bits/basic_string.h
129         [__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
130         (basic_string(const _CharT*, const _Alloc&)): Turn into a function
131         template constrained by _RequireAllocator.
132         (basic_string(size_type, _CharT, const _Alloc&)): Likewise.
133         * src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
134         Define.
135         * testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
136         deduction
137         * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
138         Likewise.
140         Backport from mainline
141         2018-06-14  Jonathan Wakely  <jwakely@redhat.com>
143         LWG 3075 basic_string needs deduction guides from basic_string_view
144         * include/bits/basic_string.h: Add deduction guides from string_view.
145         * testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
146         deduction from string views.
147         * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
148         Likewise.
150         Backport from mainline
151         2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
153         PR libstdc++/84087 LWG DR 2268 basic_string default arguments
154         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
155         (append(const basic_string&, size_type, size_type)
156         (assign(const basic_string&, size_type, size_type)
157         (insert(size_type, const basic_string&, size_type, size_type)
158         (replace(size_type,size_type,const basic_string&,size_type,size_type)
159         (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
160         Add default arguments (LWG 2268).
161         [_GLIBCXX_USE_CXX11_ABI=0]
162         (append(const basic_string&, size_type, size_type)
163         (assign(const basic_string&, size_type, size_type)
164         (insert(size_type, const basic_string&, size_type, size_type)
165         (replace(size_type,size_type,const basic_string&,size_type,size_type)
166         (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
167         Likewise.
168         * testsuite/21_strings/basic_string/dr2268.cc: New test.
170         PR libstdc++/86398
171         * include/std/type_traits (is_trivially_constructible): Check
172         is_constructible before __is_trivially_constructible.
173         * testsuite/20_util/is_trivially_constructible/value.cc: Add more
174         tests, including negative cases.
175         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use
176         zero for dg-error lineno.
177         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
178         Likewise.
180 2018-06-25  Jonathan Wakely  <jwakely@redhat.com>
182         PR libstdc++/86112
183         * python/libstdcxx/v6/printers.py (add_one_template_type_printer):
184         Replace dict comprehension.
186 2018-06-25  Jonathan Wakely  <jwakely@redhat.com>
188         PR libstdc++/81092
189         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
191 2018-06-22  Jonathan Wakely  <jwakely@redhat.com>
193         Backport from mainline
194         2018-06-22  Jonathan Wakely  <jwakely@redhat.com>
196         PR libstdc++/86138
197         * include/bits/basic_string.tcc:
198         [__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI]
199         (basic_string<char>::_Rep::_S_empty_rep_storage)
200         (basic_string<wchar_t>::_Rep::_S_empty_rep_storage): Add explicit
201         instantiation declarations.
202         [__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable
203         explicit instantiation declarations.
204         * testsuite/21_strings/basic_string/cons/char/86138.cc: New.
205         * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New.
207 2018-06-21  Jonathan Wakely  <jwakely@redhat.com>
209         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
211 2018-06-19  Jonathan Wakely  <jwakely@redhat.com>
213         * include/std/utility: Remove unused <exception> header.
215 2018-06-19  Jonathan Wakely  <jwakely@redhat.com>
217         Backport from mainline
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 2018-06-15  Jonathan Wakely  <jwakely@redhat.com>
231         PR libstdc++/86169
232         * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
233         (basic_string::data()): Unshare string.
234         * testsuite/21_strings/basic_string/operations/data/char/86169.cc:
235         New.
237 2018-06-15  Jonathan Wakely  <jwakely@redhat.com>
239         * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
240         define for C++17 and above.
242 2018-06-06  Jonathan Wakely  <jwakely@redhat.com>
244         PR libstdc++/86008
245         * include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
246         Define new partial specialization.
247         * include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
248         new overload.
249         (operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
250         value not reference for iteration.
251         * testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
252         comment.
253         * testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
254         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
255         comment.
257 2018-06-05  Jonathan Wakely  <jwakely@redhat.com>
259         * include/std/type_traits: Fix comment typo.
261 2018-06-04  Jonathan Wakely  <jwakely@redhat.com>
263         PR libstdc++/85930
264         * include/bits/shared_ptr_base.h [!__cpp_rtti]: Include <typeinfo>
265         unconditionally. Remove redundant declaration.
266         [!__cpp_rtti] (_Sp_make_shared_tag::_S_ti): Align the static variable
267         correctly.
269 2018-05-31  Jonathan Wakely  <jwakely@redhat.com>
271         PR libstdc++/85951
272         * include/std/type_traits [_GLIBCXX_USE_C99_STDINT_TR1]: Do not define
273         uint_least16_t and uint_least32_t.
274         (__make_unsigned<wchar_t>): Define unconditionally.
275         (__make_unsigned<char16_t>, __make_unsigned<char32_t>): Define.
276         (__make_signed<wchar_t>, __make_signed<char16_t>)
277         (__make_signed<char32_t>)): Define unconditionally.
278         * testsuite/20_util/make_signed/requirements/typedefs-3.cc: Check
279         wchar_t, char16_t and char32_t are transformed correctly.
280         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
281         dg-error lineno.
282         * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: Check
283         wchar_t, char16_t and char32_t are transformed correctly.
284         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
285         dg-error lineno.
287 2018-05-21  François Dumont  <fdumont@gcc.gnu.org>
289         * include/debug/map.h
290         (map(map&&, const_allocator_type&)): Add noexcept qualitication.
291         * include/debug/multimap.h
292         (multimap(multimap&&, const_allocator_type&)): Likewise.
293         * include/debug/set.h
294         (set(set&&, const_allocator_type&)): Likewise.
295         * include/debug/multiset.h
296         (multiset(multiset&&, const_allocator_type&)): Likewise.
298 2018-05-21  Jonathan Wakely  <jwakely@redhat.com>
300         PR libstdc++/85818
301         * testsuite/experimental/filesystem/path/preferred_separator.cc: Add
302         dg-require-filesystem-ts.
304 2018-05-17  Jonathan Wakely  <jwakely@redhat.com>
306         PR libstdc++/85818
307         * src/filesystem/path.cc (path::preferred_separator): Add used
308         attribute.
309         * testsuite/experimental/filesystem/path/preferred_separator.cc: New.
311         PR libstdc++/85812
312         * libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
313         * libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
314         Refactor to separate non-throwing and throwing implementations.
315         [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
316         if constructing the object throws.
318 2018-05-15  Jonathan Wakely  <jwakely@redhat.com>
320         PR libstdc++/83891
321         * include/bits/fs_path.h (path::is_absolute()): Use same definition
322         for all operating systems.
323         * include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
324         * testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
325         * testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
326         * testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
328         * testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
329         unused <vector> header.
330         * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
331         * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
332         * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
333         * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
334         * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
335         Likewise.
336         * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
337         Likewise.
338         * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
339         * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
340         * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
341         * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
342         * testsuite/experimental/filesystem/path/decompose/extension.cc:
343         Likewise.
344         * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
345         * testsuite/experimental/filesystem/path/query/has_extension.cc:
346         Likewise.
347         * testsuite/experimental/filesystem/path/query/has_filename.cc:
348         Likewise.
349         * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
350         Likewise.
351         * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
352         Likewise.
353         * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
354         Likewise.
355         * testsuite/experimental/filesystem/path/query/has_root_name.cc:
356         Likewise.
357         * testsuite/experimental/filesystem/path/query/has_root_path.cc:
358         Likewise.
359         * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
360         * testsuite/experimental/filesystem/path/query/is_relative.cc:
361         Likewise.
363         PR libstdc++/84159
364         * include/bits/fs_path.h (path::operator/=, path::append): Construct
365         temporary path before calling _M_append.
366         (path::_M_append): Change parameter to path and implement C++17
367         semantics.
368         * testsuite/27_io/filesystem/path/append/path.cc: Add helper function
369         and more examples from the standard.
370         * testsuite/27_io/filesystem/path/append/source.cc: New.
371         * testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
372         * testsuite/27_io/filesystem/path/nonmember/append.cc: New.
374 2018-05-14  Jonathan Wakely  <jwakely@redhat.com>
376         PR libstdc++/67554
377         * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
378         (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
380         PR libstdc++/82966
381         * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
382         instead of type.
383         * testsuite/23_containers/set/modifiers/node_swap.cc: New.
385 2018-05-10  Jonathan Wakely  <jwakely@redhat.com>
387         * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
388         * doc/xml/manual/debug_mode.xml: Add array and forward_list to list
389         of C++11 containers with Debug Mode support.
390         * doc/xml/manual/using.xml: Document that the C++17 Filesystem
391         implementation also needs -lstdc++fs. Document Dual ABI for
392         ios_base::failure.
393         * doc/html/*: Regenerate.
395 2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
397         Backport from mainline
398         2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
400         Moar PR libstdc++/80506
401         * include/bits/random.tcc (gamma_distribution::__generate_impl()):
402         Fix magic number used in loop condition.
404 2018-05-04  Jonathan Wakely  <jwakely@redhat.com>
406         PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
407         * include/std/optional (_Optional_payload): Add noexcept to default
408         constructor. Re-indent.
409         (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
410         constructor for copying disengaged payloads.
411         (_Optional_payload<_Tp, true, false, true>): Likewise.
412         (_Optional_payload<_Tp, true, true, false>): Likewise.
413         (_Optional_payload<_Tp, true, false, false>): Likewise.
414         * testsuite/20_util/optional/cons/85642.cc: New.
415         * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
417 2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
419         PR libstdc++/84769
420         * include/std/variant (visit): Qualify std::get call.
422 2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
424         PR libstdc++/85632 use uintmax_t for arithmetic
425         * src/filesystem/ops.cc (experimental::filesystem::space): Perform
426         arithmetic in result type.
427         * src/filesystem/std-ops.cc (filesystem::space): Likewise.
428         * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
429         is greater than free space.
430         * testsuite/experimental/filesystem/operations/space.cc: New.
432 2018-05-02  Release Manager
434         * GCC 8.1.0 released.
436 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
438         * configure: Regenerated.
440 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
442         * configure: Regenerated.
444 2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
445             Jakub Jelinek  <jakub@redhat.com>
447         PR libstdc++/85442
448         * src/c++11/Makefile.am: Don't generate debuginfo again for
449         cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
450         * src/c++11/Makefile.in: Regenerate.
452 2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
454         PR libstdc++/84442
455         * testsuite/30_threads/thread/cons/terminate.cc
456         [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
458 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
460         PR jit/85384
461         * configure: Regenerate.
463 2018-04-16  Jonathan Wakely  <jwakely@redhat.com>
465         * testsuite/experimental/filesystem/file_status/1.cc: Add
466         -DUSE_FILESYSTEM_TS to dg-options.
467         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
468         Likewise.
469         * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
470         * testsuite/experimental/filesystem/iterators/
471         recursive_directory_iterator.cc: Likewise.
472         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
473         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
474         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
475         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
476         * testsuite/experimental/filesystem/operations/create_directories.cc:
477         Likewise.
478         * testsuite/experimental/filesystem/operations/create_directory.cc:
479         Likewise.
480         * testsuite/experimental/filesystem/operations/create_symlink.cc:
481         Likewise.
482         * testsuite/experimental/filesystem/operations/current_path.cc:
483         Likewise.
484         * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
485         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
486         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
487         * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
488         * testsuite/experimental/filesystem/operations/last_write_time.cc:
489         Likewise.
490         * testsuite/experimental/filesystem/operations/permissions.cc:
491         Likewise.
492         * testsuite/experimental/filesystem/operations/read_symlink.cc:
493         Likewise.
494         * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
495         * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
496         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
497         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
498         Likewise.
499         * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
500         * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
501         * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
502         * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
503         * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
504         * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
505         * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
506         * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
507         * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
508         * testsuite/experimental/filesystem/path/construct/default.cc:
509         Likewise.
510         * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
511         * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
512         * testsuite/experimental/filesystem/path/construct/string_view.cc:
513         Likewise.
514         * testsuite/experimental/filesystem/path/decompose/extension.cc:
515         Likewise.
516         * testsuite/experimental/filesystem/path/decompose/filename.cc:
517         Likewise.
518         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
519         Likewise.
520         * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
521         Likewise.
522         * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
523         Likewise.
524         * testsuite/experimental/filesystem/path/decompose/root_name.cc:
525         Likewise.
526         * testsuite/experimental/filesystem/path/decompose/root_path.cc:
527         Likewise.
528         * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
529         * testsuite/experimental/filesystem/path/generic/generic_string.cc:
530         Likewise.
531         * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
532         * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
533         * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
534         Likewise.
535         * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
536         Likewise.
537         * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
538         Likewise.
539         * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
540         Likewise.
541         * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
542         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
543         * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
544         Likewise.
545         * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
546         * testsuite/experimental/filesystem/path/query/has_extension.cc:
547         Likewise.
548         * testsuite/experimental/filesystem/path/query/has_filename.cc:
549         Likewise.
550         * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
551         Likewise.
552         * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
553         Likewise.
554         * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
555         Likewise.
556         * testsuite/experimental/filesystem/path/query/has_root_name.cc:
557         Likewise.
558         * testsuite/experimental/filesystem/path/query/has_root_path.cc:
559         Likewise.
560         * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
561         * testsuite/experimental/filesystem/path/query/is_relative.cc:
562         Likewise.
564 2018-04-13  Jonathan Wakely  <jwakely@redhat.com>
566         * src/c++11/Makefile.am: Fix sed command.
567         * src/c++11/Makefile.in: Regenerate.
569         * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
570         handle mangled names starting with double underscores on darwin.
571         * src/c++11/Makefile.in: Regenerate.
573 2018-04-12  Jonathan Wakely  <jwakely@redhat.com>
575         * src/c++11/Makefile.am: Fix comment.
576         * src/c++11/Makefile.in: Regenerate.
577         * src/c++11/cxx11-ios_failure.cc: Fix comment.
578         * src/c++98/ios_failure.cc: Likewise.
580         * src/c++11/ios.cc: Remove redundant macro definition.
582 2018-04-11  Jonathan Wakely  <jwakely@redhat.com>
584         * doc/xml/manual/abi.xml: Document header locations in recent
585         releases.
586         * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
587         * doc/xml/manual/spine.xml: Update copyright years.
588         * doc/xml/manual/strings.xml: Adjust tolower example to avoid
589         undefined behaviour.
590         * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
591         * doc/html/*: Regenerate.
593 2018-04-10  Jonathan Wakely  <jwakely@redhat.com>
595         * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
596         * doc/xml/manual/backwards_compatibility.xml: Likewise.
597         * doc/xml/manual/containers.xml: Likewise.
598         * doc/xml/manual/debug_mode.xml: Likewise.
599         * doc/xml/manual/extensions.xml: Likewise.
600         * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
601         * doc/xml/manual/using.xml: Likewise.
602         * doc/xml/manual/utilities.xml: Likewise.
604         PR libstdc++/85222
605         * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
606         cxx11-ios_failure.cc to rewrite type info for __ios_failure.
607         * src/c++11/Makefile.in: Regenerate.
608         * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
609         New types.
610         [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
611         * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
612         * src/c++98/ios_failure.cc (__construct_ios_failure)
613         (__destroy_ios_failure, is_ios_failure_handler): New functions.
614         [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
615         * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
616         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
617         handler types, to always catch std::ios_base::failure.
618         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
619         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
620         exceptions_failbit.cc: Likewise.
621         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
622         exceptions_failbit.cc: Likewise.
623         * testsuite/27_io/basic_istream/extractors_other/char/
624         exceptions_null.cc: Likewise.
625         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
626         exceptions_null.cc: Likewise.
627         * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
628         * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
629         * testsuite/27_io/basic_ostream/inserters_other/char/
630         exceptions_null.cc: Likewise.
631         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
632         exceptions_null.cc: Likewise.
633         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
635 2018-04-05  Jonathan Wakely  <jwakely@redhat.com>
637         * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
638         __get calls to avoid ADL and avoid ambiguity due to Clang bug.
640 2018-04-03  Jonathan Wakely  <jwakely@redhat.com>
642         PR libstdc++/85183
643         * include/std/variant (_Move_assign_base::operator=): Fix incorrect
644         value categories.
645         * testsuite/20_util/variant/85183.cc: New.
647 2018-03-26  Jonathan Wakely  <jwakely@redhat.com>
649         * include/std/variant (__get): Qualify calls to avoid ADL.
650         (__select_index): Adjust whitespace.
651         (variant): Add using-declaration to workaround Clang bug.
653 2018-03-22  Jonathan Wakely  <jwakely@redhat.com>
655         PR libstdc++/85040
656         * include/bits/stl_function.h (greater::__not_overloaded)
657         (less::__not_overloaded, greater_equal::__not_overloaded)
658         (less_equal::__not_overloaded): Fix ambiguous specializations.
659         * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
660         tests for type with overloaded operators.
662 2018-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
664         PR libstdc++/77691
665         * testsuite/experimental/memory_resource/resource_adaptor.cc:
666         xfail execution on 32-bit Solaris/x86.
668 2018-03-21  Jonathan Wakely  <jwakely@redhat.com>
670         * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
671         VERIFY instead of assert.
672         * testsuite/20_util/hash/84998.cc: New test.
673         * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
674         copy of test adjusted for Debug Mode.
675         * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
676         test in Debug Mode.
678 2018-03-20  François Dumont  <fdumont@gcc.gnu.org>
680         PR libstdc++/84998
681         * include/bits/stl_bvector.h: Fix std::hash friend declaration.
682         * include/std/bitset: Likewise.
683         * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
684         declaration.
685         * include/bits/stl_multimap.h (std::multimap<>): Likewise.
686         * include/bits/stl_multiset.h (std::multiset<>): Likewise.
687         * include/bits/stl_set.h (std::set<>): Likewise.
688         * include/bits/unordered_map.h (std::unordered_map<>): Fix
689         _Hash_merge_helper friend declaration.
690         (std::unordered_multimap<>): Likewise.
691         * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
692         (std::unordered_multiset<>): Likewise.
694 2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
696         * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
697         trailing slash for domain level link.
698         * doc/xml/faq.xml: Ditto.
699         * doc/xml/manual/appendix_free.xml (software): Ditto.
700         * doc/xml/manual/intro.xml: Ditto.
701         * doc/xml/manual/spine.xml: Ditto.
702         * doc/xml/spine.xml: Ditto.
704 2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
706         * doc/xml/manual/documentation_hacking.xml: Adjust link to
707         docbook.org.
709 2018-03-17  Jonathan Wakely  <jwakely@redhat.com>
711         * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
712         to compile as C++98.
714 2018-03-14  Jonathan Wakely  <jwakely@redhat.com>
716         PR libstdc++/78420
717         * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
718         (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
719         to ensure total order for pointers.
720         (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
721         Add operator() overloads for pointer arguments and make generic
722         overloads dispatch to new _S_cmp functions when comparisons would
723         use built-in operators for pointers.
724         * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
726 2018-03-12  Jonathan Wakely  <jwakely@redhat.com>
728         PR libstdc++/84773
729         PR libstdc++/83662
730         * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
731         * configure: Regenerate.
732         * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
733         (aligned_alloc): Add using-declaration.
734         * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
736 2018-03-09  François Dumont  <fdumont@gcc.gnu.org>
738         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
739         Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
740         registration.
742 2018-03-09  Jonathan Wakely  <jwakely@redhat.com>
744         PR libstdc++/84769
745         * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
746         Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
748         src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
749         src/filesystem/std-ops.cc (create_dir): Likewise.
751 2018-03-08  François Dumont  <fdumont@gcc.gnu.org>
753         * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
754         (StdListIteratorPrinter): Inherit from latter.
755         (StdFwdListIteratorPrinter): New, inherit from latter.
756         (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
757         when iterator has no associated container.
758         (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
759         __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
760         registrations.
761         * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
762         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
764 2018-03-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
766         PR libstdc++/84601
767         * include/std/optional (_Optional_payload): Split into multiple
768         specializations that can handle different cases of trivial or
769         non-trivial assignment operators.
770         * testsuite/20_util/optional/84601.cc: New.
771         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
773 2018-03-02  Jonathan Wakely  <jwakely@redhat.com>
775         PR libstdc++/84671
776         * include/bits/parse_numbers.h (_Number_help): Add partial
777         specialization to handle digit separators. Adjust partial
778         specialization for recursion temrination to require _Pow == 1ULL.
779         * testsuite/20_util/duration/literals/84671.cc: New
781 2018-02-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
783         Implement the missing bits of LWG 2769
784         * include/std/any (any_cast(const any&)): Add static_assert.
785         (any_cast(any&)): Likewise.
786         (any_cast(any&&)): Likewise, and remove the handling
787         for copyable-but-not-movable type.
788         * testsuite/20_util/any/misc/any_cast.cc: Adjust.
789         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
790         add new tests.
792 2018-02-23  Jonathan Wakely  <jwakely@redhat.com>
794         PR libstdc++/84532
795         * include/std/thread (thread::__make_invoker): Construct tuple
796         directly instead of using make_tuple.
797         * testsuite/30_threads/async/84532.cc: New.
798         * testsuite/30_threads/thread/84532.cc: New.
800 2018-02-20  François Dumont  <fdumont@gcc.gnu.org>
802         * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
803         (template<> __aligned_buffer): Define as __aligned_membuf alias.
805 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
807         PR target/84148
808         * configure: Regenerate.
810 2018-02-15  Jonathan Wakely  <jwakely@redhat.com>
812         PR libstdc++/81797
813         * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
814         * configure: Regenerate.
815         * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
816         defined.
817         * include/Makefile.in: Regenerate.
819 2018-01-29  Jonathan Wakely  <jwakely@redhat.com>
821         PR libstdc++/83833
822         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
823         Add -ffloat-store to options for m68k and ia32.
825         * doc/xml/faq.xml: Update copyright years.
826         * doc/html/*: Regenerate.
828         PR libstdc++/83658
829         * include/std/any (any::__do_emplace): Only set _M_manager after
830         constructing the contained object.
831         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
832         * testsuite/20_util/any/modifiers/83658.cc: New test.
834 2018-01-25  Jonathan Wakely  <jwakely@redhat.com>
836         PR libstdc++/81076
837         * include/c_global/cstddef (__byte_operand): Define primary template.
838         * testsuite/18_support/byte/81076.cc: New test.
840 2018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
842         * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
843         dg-options and dg-add-options order.
844         * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
845         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
846         Likewise.
847         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
848         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
849         Likewise.
850         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
851         Likewise.
852         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
853         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
854         Likewise.
855         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
856         Likewise.
857         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
858         Likewise.
859         * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
860         Likewise.
861         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
862         Likewise.
863         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
864         Likewise.
865         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
866         Likewise.
867         * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
868         Likewise.
869         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
870         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
871         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
872         * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
873         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
874         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
875         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
876         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
877         * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
878         Likewise.
879         * testsuite/special_functions/19_sph_bessel/check_nan.cc:
880         Likewise.
881         * testsuite/special_functions/20_sph_legendre/check_nan.cc:
882         Likewise.
883         * testsuite/special_functions/21_sph_neumann/check_nan.cc:
884         Likewise.
886 2018-01-18  Uros Bizjak  <ubizjak@gmail.com>
888         * configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
889         include linux/types.h when checking linux/random.h header.
890         * config.h.in: Regenerate.
891         * configure: Ditto.
892         * src/c++11/random.cc: Conditionally include linux/types.h.
894 2018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
896         * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
898 2018-01-16  Jonathan Wakely  <jwakely@redhat.com>
900         PR libstdc++/83834
901         * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
902         pattern with exact match for std::cerr.
904 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
906         PR libstdc++/83833
907         * include/bits/random.h (chi_squared_distribution::param): Update
908         gamma distribution parameter.
909         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
910         test.
912         PR libstdc++/83830
913         * include/std/type_traits (has_unique_object_representations_v): Add
914         variable template.
915         * testsuite/20_util/has_unique_object_representations/value.cc: Check
916         variable template.
918 2018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
920         Make optional conditionally
921         trivially_{copy,move}_{constructible,assignable}
922         * include/std/optional (_Optional_payload): Fix the comment in
923         the class head and turn into a primary and one specialization.
924         (_Optional_payload::_M_engaged): Strike the NSDMI.
925         (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
926         New.
927         (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
928         Likewise.
929         (_Optional_payload<_Tp, false>::_M_get): Likewise.
930         (_Optional_payload<_Tp, false>::_M_reset): Likewise.
931         (_Optional_base_impl): Likewise.
932         (_Optional_base): Turn into a primary and three specializations.
933         (optional(nullopt)): Change the base init.
934         * testsuite/20_util/optional/assignment/8.cc: New.
935         * testsuite/20_util/optional/cons/trivial.cc: Likewise.
936         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
938 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
940         PR libstdc++/80276
941         * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
942         (get_template_arg_list): New.
943         (StdVariantPrinter._template_args): Remove, use get_template_arg_list
944         instead.
945         (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
946         of strings and regular expressions.
947         (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
948         (FilteringTypePrinter): Add docstring. Match using startswith. Use
949         strip_inline_namespaces instead of strip_versioned_namespace.
950         (add_one_type_printer): Prepend namespace to match argument.
951         (register_type_printers): Add type printers for char16_t and char32_t
952         string types and for types using cxx11 ABI. Update calls to
953         add_one_template_type_printer to provide default argument dicts.
954         * testsuite/libstdc++-prettyprinters/80276.cc: New test.
955         * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
956         basic_string<unsigned char> and basic_string<signed char>.
957         * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
958         to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
960 2018-01-14  Andreas Schwab  <schwab@linux-m68k.org>
962         PR libstdc++/81092
963         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
965 2018-01-13  Tim Shen  <timshen@google.com>
967         PR libstdc++/83601
968         * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
969         * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
970         * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
972 2018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
974         PR libstdc++/64054
975         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
976         Remove dg-xfail-run-if.
978 2018-01-10  François Dumont  <fdumont@gcc.gnu.org>
980         * include/bits/forward_list.h
981         (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
982         (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
983         (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
984         (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
985         (_Fwd_list_impl()): Add noexcept qualification.
986         (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
987         (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
988         (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
989         (_Fwd_list_base()): Default.
990         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
991         (_Fwd_list_base(_Fwd_list_base&&)): Default.
992         (forward_list<>()): Default.
993         (forward_list<>(forward_list&&)): Default.
994         (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
995         (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
996         (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
997         * include/bits/forward_list.tcc
998         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
999         _M_impl._M_head move assignment.
1000         (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
1001         * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
1003 2018-01-09  Jonathan Wakely  <jwakely@redhat.com>
1005         PR libstdc++/80276
1006         * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
1007         (UniquePointerPrinter): Print correct template argument, not type of
1008         the pointer.
1009         (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
1010         a type.
1011         * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
1012         array type.
1013         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
1014         weak_ptr of array types.
1016 2018-01-09  François Dumont  <fdumont@gcc.gnu.org>
1018         PR libstdc++/83709
1019         * include/bits/hashtable_policy.h
1020         (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
1021         __first != __last.
1022         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
1023         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
1024         Add false_type parameter.
1025         (_Insert_base::insert): Adapt.
1026         * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
1027         Adapt.
1028         (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
1029          Add __n_elt parameter, defaulted to 1.
1030         (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
1031         policy _M_need_rehash.
1032         (_Hashtable::_M_merge_unique): Pass target number of elements to add to
1033         produce only 1 rehash if necessary.
1034         * testsuite/23_containers/unordered_map/insert/83709.cc: New.
1035         * testsuite/23_containers/unordered_set/insert/83709.cc: New.
1037 2018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
1038             Jonathan Wakely  <jwakely@redhat.com>
1040         PR libstdc++/59253 (partial)
1041         * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
1042         type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
1043         (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
1044         children.
1045         * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
1046         of unique_ptr printer.
1047         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
1048         output of shared_ptr printer.
1050 2018-01-05  Jonathan Wakely  <jwakely@redhat.com>
1052         PR libstdc++/83626
1053         * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
1054         unnecessary symlink_status call.
1055         (remove_all(const path&, error_code&)): Use filesystem::remove.
1056         * src/filesystem/std-ops.cc: Likewise.
1058         PR libstdc++/83279
1059         * src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
1060         sendfile.
1062         PR libstdc++/83626
1063         * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
1064         report an error for ENOENT.
1065         (remove_all(const path&)): Fix type of result variable.
1066         (remove_all(const path&, error_code&)): Use non-throwing increment
1067         for directory iterator. Call POSIX remove directly to avoid redundant
1068         calls to symlink_status. Do not report errors for ENOENT.
1069         * src/filesystem/std-ops.cc: Likewise.
1070         * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
1071         overload.
1072         * testsuite/experimental/filesystem/operations/remove_all.cc:
1073         Likewise.
1075 2018-01-04  Jonathan Wakely  <jwakely@redhat.com>
1077         PR libstdc++/83626
1078         * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
1079         redundant call to ec.clear().
1080         (remove_all(const path&, error_code&))): Do not return an error for
1081         non-existent paths.
1082         * src/filesystem/std-ops.cc: Likewise.
1083         * testsuite/27_io/filesystem/operations/remove.cc: New test.
1084         * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
1085         results for non-existent paths.
1086         * testsuite/experimental/filesystem/operations/remove.cc: New test.
1087         * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
1088         expected results for non-existent paths.
1090         * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
1091         check status_known once.
1092         * include/experimental/bits/fs_ops.h: Likewise.
1094         PR libstdc++/83607
1095         * include/std/functional (__is_byte_like): New trait.
1096         (__is_std_equal_to): Remove.
1097         (__boyer_moore_base_t): Use __is_byte_like instead of
1098         __is_std_equal_to.
1099         * include/experimental/functional (__is_std_equal_to): Remove.
1100         (__boyer_moore_base_t): Use __is_byte_like instead of
1101         __is_std_equal_to.
1102         * testsuite/20_util/function_objects/83607.cc: New test.
1104 2018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
1106         Protect optional's deduction guide with the feature macro
1107         * include/std/optional: Use the feature macro.
1109 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
1111         Update copyright years.
1113 Copyright (C) 2018 Free Software Foundation, Inc.
1115 Copying and distribution of this file, with or without modification,
1116 are permitted in any medium without royalty provided the copyright
1117 notice and this notice are preserved.