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