PR libstdc++/84159 fix appending strings to paths
[gcc.git] / libstdc++-v3 / ChangeLog
1 2018-05-15 Jonathan Wakely <jwakely@redhat.com>
2
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.
13
14 * include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
15 __invoke to prevent ADL.
16
17 2018-05-14 Jonathan Wakely <jwakely@redhat.com>
18
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.
25
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.
30
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.
34
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.
39
40 2018-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
41
42 PR libstdc++/80165
43 * testsuite/20_util/variant/80165.cc: New.
44
45 2018-05-10 Jonathan Wakely <jwakely@redhat.com>
46
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.
52
53 2018-05-10 Jason Merrill <jason@redhat.com>
54
55 * include/bits/regex_compiler.h (_S_cache_size): Change from
56 function to variable.
57
58 2018-05-10 Edward Smith-Rowland <3dw4rd@verizon.net>
59
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.
67
68 2018-05-10 Jonathan Wakely <jwakely@redhat.com>
69
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.
77
78 2018-05-09 François Dumont <fdumont@gcc.gnu.org>
79
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.
109
110 2018-05-09 Jonathan Wakely <jwakely@redhat.com>
111
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.
117
118 2018-05-08 François Dumont <fdumont@gcc.gnu.org>
119
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.
123
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.
168
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.
177
178 2018-05-08 Jonathan Wakely <jwakely@redhat.com>
179
180 * include/bits/regex_automaton.h (_NFA_base::_M_paren_stack, _NFA):
181 Use normal std::vector even in Debug Mode.
182
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.
189
190 2018-05-07 Jonathan Wakely <jwakely@redhat.com>
191
192 * doc/xml/manual/using.xml (table.cmd_options): Document that the
193 C++17 Filesystem implementation also needs -lstdc++fs.
194
195 PR libstdc++/85671
196 * include/bits/fs_path.h (operator/): Permit copy elision.
197 * include/experimental/bits/fs_path.h (operator/): Likewise.
198
199 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
200
201 Moar PR libstdc++/80506
202 * include/bits/random.tcc (gamma_distribution::__generate_impl()):
203 Fix magic number used in loop condition.
204
205 2018-05-04 Jonathan Wakely <jwakely@redhat.com>
206
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.
217
218 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
219
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.
228
229 PR libstdc++/84769
230 * include/std/variant (visit): Qualify std::get call.
231
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.
239
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.
245
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.
262
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.
272
273 * include/std/future (__async_result_of): Use __invoke_result instead
274 of result_of.
275
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.
282
283 2018-05-02 François Dumont <fdumont@gcc.gnu.org>
284
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.
294
295 2018-05-02 Jonathan Wakely <jwakely@redhat.com>
296
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.
303
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.
326
327 * testsuite/backward/strstream_move.cc: Remove duplicate function
328 call.
329
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.
335
336 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
337
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.
348
349 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
350
351 * configure: Regenerated.
352
353 2018-04-19 Jakub Jelinek <jakub@redhat.com>
354
355 * configure: Regenerated.
356
357 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
358 Jakub Jelinek <jakub@redhat.com>
359
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.
364
365 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
366
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.
370
371 2018-04-18 David Malcolm <dmalcolm@redhat.com>
372
373 PR jit/85384
374 * configure: Regenerate.
375
376 2018-04-16 Jonathan Wakely <jwakely@redhat.com>
377
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.
476
477 2018-04-13 Jonathan Wakely <jwakely@redhat.com>
478
479 * src/c++11/Makefile.am: Fix sed command.
480 * src/c++11/Makefile.in: Regenerate.
481
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.
485
486 2018-04-12 Jonathan Wakely <jwakely@redhat.com>
487
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.
492
493 * src/c++11/ios.cc: Remove redundant macro definition.
494
495 2018-04-11 Jonathan Wakely <jwakely@redhat.com>
496
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.
505
506 2018-04-10 Jonathan Wakely <jwakely@redhat.com>
507
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.
516
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.
547
548 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
549
550 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
551 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
552
553 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
554
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.
559
560 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
561
562 * include/std/variant (__get): Qualify calls to avoid ADL.
563 (__select_index): Adjust whitespace.
564 (variant): Add using-declaration to workaround Clang bug.
565
566 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
567
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.
574
575 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
576
577 PR libstdc++/77691
578 * testsuite/experimental/memory_resource/resource_adaptor.cc:
579 xfail execution on 32-bit Solaris/x86.
580
581 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
582
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.
590
591 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
592
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.
606
607 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
608
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.
616
617 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
618
619 * doc/xml/manual/documentation_hacking.xml: Adjust link to
620 docbook.org.
621
622 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
623
624 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
625 to compile as C++98.
626
627 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
628
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.
638
639 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
640
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.
648
649 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
650
651 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
652 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
653 registration.
654
655 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
656
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...>.
660
661 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
662 src/filesystem/std-ops.cc (create_dir): Likewise.
663
664 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
665
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.
676
677 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
678
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.
685
686 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
687
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
693
694 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
695
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.
704
705 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
706
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.
712
713 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
714
715 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
716 (template<> __aligned_buffer): Define as __aligned_membuf alias.
717
718 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
719
720 PR target/84148
721 * configure: Regenerate.
722
723 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
724
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.
731
732 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
733
734 PR libstdc++/83833
735 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
736 Add -ffloat-store to options for m68k and ia32.
737
738 * doc/xml/faq.xml: Update copyright years.
739 * doc/html/*: Regenerate.
740
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.
746
747 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
748
749 PR libstdc++/81076
750 * include/c_global/cstddef (__byte_operand): Define primary template.
751 * testsuite/18_support/byte/81076.cc: New test.
752
753 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
754
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.
798
799 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
800
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.
806
807 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
808
809 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
810
811 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
812
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.
816
817 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
818
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.
824
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.
830
831 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
832
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.
850
851 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
852
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.
872
873 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
874
875 PR libstdc++/81092
876 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
877
878 2018-01-13 Tim Shen <timshen@google.com>
879
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.
884
885 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
886
887 PR libstdc++/64054
888 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
889 Remove dg-xfail-run-if.
890
891 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
892
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.
915
916 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
917
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.
928
929 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
930
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.
949
950 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
951 Jonathan Wakely <jwakely@redhat.com>
952
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.
962
963 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
964
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.
970
971 PR libstdc++/83279
972 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
973 sendfile.
974
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.
987
988 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
989
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.
1002
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.
1006
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.
1016
1017 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
1018
1019 Protect optional's deduction guide with the feature macro
1020 * include/std/optional: Use the feature macro.
1021
1022 2018-01-03 Jakub Jelinek <jakub@redhat.com>
1023
1024 Update copyright years.
1025 \f
1026 Copyright (C) 2018 Free Software Foundation, Inc.
1027
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.