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