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