1 2018-05-21 François Dumont <fdumont@gcc.gnu.org>
4 * include/bits/stl_tree.h
5 (_Rb_tree_impl(_Rb_tree_impl&&, _Node_allocator&&)): Fix noexcept
8 2018-05-21 Jonathan Wakely <jwakely@redhat.com>
10 * src/filesystem/std-ops.cc (absolute): Report an error for empty
12 (weakly_canonical(const path&)): Do not call canonical on empty path.
13 (weakly_canonical(const path&, error_code&)): Likewise.
14 * testsuite/27_io/filesystem/operations/absolute.cc: Check for errors.
17 * testsuite/experimental/filesystem/path/preferred_separator.cc: Add
18 dg-require-filesystem-ts.
21 * src/c++11/cow-stdexcept.cc (logic_error, runtime_error): Explicitly
22 initialize base class to avoid warnings.
24 2018-05-19 Jonathan Wakely <jwakely@redhat.com>
26 * src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
27 [__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
28 little_endian element in bitmask.
29 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
30 * testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
32 2018-05-18 François Dumont <fdumont@gcc.gnu.org>
34 * include/bits/stl_tree.h
35 (_Rb_tree_impl(_Rb_tree_impl&&, _Node_allocator&&)): New.
36 (_Rb_tree(_Rb_tree&&, _Node_allocator&&, true_type)): New, use latter.
37 (_Rb_tree(_Rb_tree&&, _Node_allocator&&, false_type)): New.
38 (_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Adapt, use latters.
40 (map(map&&, const_allocator_type&)): Add noexcept qualitication.
41 * include/debug/multimap.h
42 (multimap(multimap&&, const_allocator_type&)): Likewise.
44 (set(set&&, const_allocator_type&)): Likewise.
45 * include/debug/multiset.h
46 (multiset(multiset&&, const_allocator_type&)): Likewise.
47 * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
49 * testsuite/23_containers/map/cons/noexcept_move_construct.cc:
51 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
53 * testsuite/23_containers/multimap/cons/noexcept_move_construct.cc:
55 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
57 * testsuite/23_containers/multiset/cons/noexcept_move_construct.cc:
59 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
61 * testsuite/23_containers/set/cons/noexcept_move_construct.cc:
64 2018-05-18 Jason Merrill <jason@redhat.com>
66 * include/bits/stl_deque.h (_Deque_iterator): Constrain constructor
67 for conversion to const_iterator. Add defaulted copy ops.
68 * libsupc++/new (bad_alloc): Add defaulted copy ops.
69 * libsupc++/exception.h (exception): Add defaulted copy ops.
70 * include/std/system_error (system_error): Add defaulted copy ops.
71 * include/std/stdexcept (domain_error, invalid_argument)
72 (length_error, out_of_range, range_error, overflow_error)
73 (underflow_error): Add defaulted copy ops.
74 * include/bits/stl_iterator.h (reverse_iterator): Add defaulted
76 * include/bits/allocator.h (allocator): Add defaulted copy assignment.
77 * include/ext/throw_allocator.h (condition_base): Add defaulted
78 default and copy ctor and copy assignment.
80 2018-05-18 Jonathan Wakely <jwakely@redhat.com>
83 * include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
84 (basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
85 (basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
86 (basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
88 * include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
90 * include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
91 braces around body of do-while.
92 * testsuite/28_regex/basic_regex/85098.cc: New
94 2018-05-17 Jonathan Wakely <jwakely@redhat.com>
97 * src/filesystem/path.cc (path::preferred_separator): Add used
99 * testsuite/experimental/filesystem/path/preferred_separator.cc: New.
102 * libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
103 * libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
104 Refactor to separate non-throwing and throwing implementations.
105 [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
106 if constructing the object throws.
108 2018-05-15 Jonathan Wakely <jwakely@redhat.com>
111 * include/bits/random.h (__detail::__is_seed_seq): New SFINAE helper.
112 (linear_congruential_engine, mersenne_twister_engine)
113 (subtract_with_carry_engine, discard_block_engine)
114 (independent_bits_engine, shuffle_order_engine): Use __is_seed_seq to
115 constrain function templates taking seed sequences.
116 * include/bits/random.tcc (linear_congruential_engine::seed(_Sseq&))
117 (mersenne_twister_engine::seed(_Sseq&))
118 (subtract_with_carry_engine::seed(_Sseq&)): Change return types to
120 * include/ext/random (simd_fast_mersenne_twister_engine): Use
121 __is_seed_seq to constrain function templates taking seed sequences.
122 * include/ext/random.tcc (simd_fast_mersenne_twister_engine::seed):
123 Change return type to match declaration.
124 * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
126 * testsuite/26_numerics/random/independent_bits_engine/cons/
128 * testsuite/26_numerics/random/linear_congruential_engine/cons/
130 * testsuite/26_numerics/random/mersenne_twister_engine/cons/
132 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
133 * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
135 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
137 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
141 * include/bits/fs_path.h (path::is_absolute()): Use same definition
142 for all operating systems.
143 * include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
144 * testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
145 * testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
146 * testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
148 * testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
149 unused <vector> header.
150 * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
151 * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
152 * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
153 * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
154 * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
156 * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
158 * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
159 * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
160 * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
161 * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
162 * testsuite/experimental/filesystem/path/decompose/extension.cc:
164 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
165 * testsuite/experimental/filesystem/path/query/has_extension.cc:
167 * testsuite/experimental/filesystem/path/query/has_filename.cc:
169 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
171 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
173 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
175 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
177 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
179 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
180 * testsuite/experimental/filesystem/path/query/is_relative.cc:
184 * include/bits/fs_path.h (path::operator/=, path::append): Construct
185 temporary path before calling _M_append.
186 (path::_M_append): Change parameter to path and implement C++17
188 * testsuite/27_io/filesystem/path/append/path.cc: Add helper function
189 and more examples from the standard.
190 * testsuite/27_io/filesystem/path/append/source.cc: New.
191 * testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
192 * testsuite/27_io/filesystem/path/nonmember/append.cc: New.
194 * include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
195 __invoke to prevent ADL.
197 2018-05-14 Jonathan Wakely <jwakely@redhat.com>
200 * include/bits/fstream.tcc (basic_filebuf::close): Do not swallow
201 exceptions from _M_terminate_output().
202 * include/std/fstream (basic_filebuf::~basic_filebuf): Swallow any
203 exceptions from close().
204 * testsuite/27_io/basic_filebuf/close/81256.cc: New.
206 * include/bits/valarray_array.h (__valarray_get_memory): Remove.
207 (__valarray_get_storage): Call operator new directly. Remove ignored
208 top-level restrict qualifier and add malloc attribute instead.
209 (_Array<_Tp>::_Array(size_t)): Remove unused constructor.
212 * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
213 (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
216 * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
218 * testsuite/23_containers/set/modifiers/node_swap.cc: New.
220 2018-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
223 * testsuite/20_util/variant/80165.cc: New.
225 2018-05-10 Jonathan Wakely <jwakely@redhat.com>
227 * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
228 * doc/xml/manual/debug_mode.xml: Add array and forward_list to list
229 of C++11 containers with Debug Mode support.
230 * doc/xml/manual/using.xml: Document Dual ABI for ios_base::failure.
231 * doc/html/*: Regenerate.
233 2018-05-10 Jason Merrill <jason@redhat.com>
235 * include/bits/regex_compiler.h (_S_cache_size): Change from
236 function to variable.
238 2018-05-10 Edward Smith-Rowland <3dw4rd@verizon.net>
240 PR libstdc++/83140 - assoc_legendre returns negated value when m is odd
241 * include/tr1/legendre_function.tcc (__assoc_legendre_p): Add __phase
242 argument defaulted to +1. Doxy comments on same.
243 * testsuite/special_functions/02_assoc_legendre/
244 check_value.cc: Regen.
245 * testsuite/tr1/5_numerical_facilities/special_functions/
246 02_assoc_legendre/check_value.cc: Regen.
248 2018-05-10 Jonathan Wakely <jwakely@redhat.com>
251 * include/bits/c++config.h (__replacement_assert): Add linkage
253 * include/bits/std_abs.h: Add comment to closing brace of block.
254 * include/c_global/cstddef: Add linkage specification.
255 * include/c_global/cstring: Likewise.
256 * include/c_global/cwchar: Likewise.
258 2018-05-09 François Dumont <fdumont@gcc.gnu.org>
260 * include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()):
262 (_Safe_iterator<>::_S_constant()): ...that.
263 * include/debug/safe_local_iterator.h
264 (_Safe_local_iterator<>::_M_constant()): Rename in...
265 (_Safe_local_iterator<>::_S_constant()): ...that.
266 * include/debug/formatter.h: Remove bits/cpp_type_traits.h include.
267 (_Iterator_state::__rbegin): New.
268 (_Iterator_state::__rmiddle): New.
269 (_Iterator_state::__rend): New.
270 (_Parameter::_Parameter(const _Safe_iterator<>&, const char*,
271 _Is_iterator)): Use _Safe_iterator<>::_S_constant. Grab normal underlying
273 (_Parameter::_Parameter(const _Safe_local_iterator<>&, const char*,
274 _Is_iterator)): Likewise.
275 (_Parameter::_S_reverse_state(_Iterator_state)): New.
276 (_Parameter(__gnu_cxx::__normal_iterator<> const&, const char*,
278 (_Parameter(std::reverse_iterator<> const&, const char*,
280 (_Parameter(std::reverse_iterator<_Safe_iterator<>> const&,
281 const char*, _Is_iterator)): New.
282 (_Parameter(std::move_iterator<> const&, const char*, _Is_iterator):
284 (_Parameter(std::move_iterator<_Safe_iterator<>> const&, const char*,
286 * testsuite/24_iterators/move_iterator/debug_neg.cc: New.
287 * testsuite/24_iterators/normal_iterator/debug_neg.cc: New.
288 * testsuite/24_iterators/reverse_iterator/debug_neg.cc: New.
290 2018-05-09 Jonathan Wakely <jwakely@redhat.com>
292 * include/bits/std_function.h (_Base_manager::_M_get_pointer):
293 Use constexpr if in C++17 mode.
294 (_Base_manager::_M_clone(_Any_data&, const _Any_data&, true_type)):
295 Copy from const object.
296 * testsuite/20_util/function/cons/non_copyconstructible.cc: New.
298 2018-05-08 François Dumont <fdumont@gcc.gnu.org>
300 * src/c++11/debug.cc [_GLIBCXX_HAVE_EXECINFO_H]: Include execinfo.h.
301 [_GLIBCXX_HAVE_EXECINFO_H](_Error_formatter::_M_error): Render
304 * include/debug/macros.h (__glibcxx_check_valid_range_at): New.
305 * include/debug/functions.h (__check_valid_range): Use latter.
306 * include/debug/macros.h (__glibcxx_check_valid_constructor_range): New,
308 * include/debug/deque
309 (deque::deque<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
310 * include/debug/forward_list
311 (forward_list::forward_list<_Iter>(_Iter, _Iter, const _Alloc&)):
314 (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
316 (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
317 * include/debug/map.h
318 (map::map<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
319 (map::map<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
321 * include/debug/multimap.h
322 (multimap::multimap<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
323 (multimap::multimap<_Iter>(_Iter, _Iter, const _Compare&,
324 const _Alloc&)): Likewise.
325 * include/debug/set.h
326 (set::set<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
327 (set::set<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
329 * include/debug/multiset.h
330 (multiset::multiset<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
331 (multiset::multiset<_Iter>(_Iter, _Iter, const _Compare&,
332 const _Alloc&)): Likewise.
333 * include/debug/string
334 (basic_string::basic_string<_Iter>(_Iter, _Iter, const _Alloc&)):
336 * include/debug/unordered_map
337 (unordered_map::unordered_map<_Iter>(_Iter, _Iter, const _Alloc&)):
339 (unordered_multimap::unordered_multimap<_Iter>(_Iter, _Iter,
340 const _Alloc&)): Likewise.
341 * include/debug/unordered_set
342 (unordered_set::unordered_set<_Iter>(_Iter, _Iter, const _Alloc&)):
344 (unordered_multiset::unordered_multiset<_Iter>(_Iter, _Iter,
345 const _Alloc&)): Likewise.
346 * include/debug/vector
347 (vector::vector<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
349 * include/debug/formatter.h (_Error_formatter::_M_function): New.
350 (_Error_formatter(const char*, unsigned int)): Adapt.
351 (_Error_formatter::_M_at): Rename in...
352 (_Error_formatter::_S_at): ...that and adapt.
353 * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): New.
354 (_GLIBCXX_DEBUG_VERIFY_AT, _GLIBCXX_DEBUG_VERIFY): Adapt.
355 * src/c++11/debug.cc (_Error_formatter::_M_error): Render _M_function
358 2018-05-08 Jonathan Wakely <jwakely@redhat.com>
360 * include/bits/regex_automaton.h (_NFA_base::_M_paren_stack, _NFA):
361 Use normal std::vector even in Debug Mode.
364 * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
365 to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
366 * include/Makefile.in: Regenerate.
367 * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
368 within conditional block.
370 2018-05-07 Jonathan Wakely <jwakely@redhat.com>
372 * doc/xml/manual/using.xml (table.cmd_options): Document that the
373 C++17 Filesystem implementation also needs -lstdc++fs.
376 * include/bits/fs_path.h (operator/): Permit copy elision.
377 * include/experimental/bits/fs_path.h (operator/): Likewise.
379 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
381 Moar PR libstdc++/80506
382 * include/bits/random.tcc (gamma_distribution::__generate_impl()):
383 Fix magic number used in loop condition.
385 2018-05-04 Jonathan Wakely <jwakely@redhat.com>
387 PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
388 * include/std/optional (_Optional_payload): Add noexcept to default
389 constructor. Re-indent.
390 (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
391 constructor for copying disengaged payloads.
392 (_Optional_payload<_Tp, true, false, true>): Likewise.
393 (_Optional_payload<_Tp, true, true, false>): Likewise.
394 (_Optional_payload<_Tp, true, false, false>): Likewise.
395 * testsuite/20_util/optional/cons/85642.cc: New.
396 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
398 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
401 * include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
402 inline definitions instead of using-declarations.
403 [__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
404 * testsuite/tr1/5_numerical_facilities/special_functions/
405 07_conf_hyperg/compile_cxx17.cc: New.
406 * testsuite/tr1/5_numerical_facilities/special_functions/
407 17_hyperg/compile_cxx17.cc: New.
410 * include/std/variant (visit): Qualify std::get call.
412 PR libstdc++/85632 use uintmax_t for arithmetic
413 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
414 arithmetic in result type.
415 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
416 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
417 is greater than free space.
418 * testsuite/experimental/filesystem/operations/space.cc: New.
420 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
421 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
423 * testsuite/20_util/remove_cvref/value.cc: New.
424 * testsuite/20_util/remove_cvref/value_ext.cc: New.
426 PR libstdc++/84087 LWG DR 2268 basic_string default arguments
427 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
428 (append(const basic_string&, size_type, size_type)
429 (assign(const basic_string&, size_type, size_type)
430 (insert(size_type, const basic_string&, size_type, size_type)
431 (replace(size_type,size_type,const basic_string&,size_type,size_type)
432 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
433 Add default arguments (LWG 2268).
434 [_GLIBCXX_USE_CXX11_ABI=0]
435 (append(const basic_string&, size_type, size_type)
436 (assign(const basic_string&, size_type, size_type)
437 (insert(size_type, const basic_string&, size_type, size_type)
438 (replace(size_type,size_type,const basic_string&,size_type,size_type)
439 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
441 * testsuite/21_strings/basic_string/dr2268.cc: New test.
444 * include/std/thread (thread::__not_same): New SFINAE helper.
445 (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
446 first argument is not a std::thread. Add static assertion to check
447 INVOKE expression is valid.
448 (thread::thread(thread&), thread::thread(const thread&&)): Remove.
449 (thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
450 __invoke_result for return types and remove exception specifications.
451 * testsuite/30_threads/thread/cons/84535.cc: New.
453 * include/std/future (__async_result_of): Use __invoke_result instead
456 * include/std/any (any_cast): Use __remove_cvref_t.
457 * include/std/tuple (__make_tuple): Likewise.
458 * include/std/type_traits (__remove_cvref_t): Define.
459 (__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
460 [__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
461 * include/std/variant (__erased_hash): Use __remove_cvref_t.
463 2018-05-02 François Dumont <fdumont@gcc.gnu.org>
465 * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
466 ensure overloaded comma not used.
467 * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
468 * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
469 * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
470 * testsuite/23_containers/deque/modifiers/assign/1.cc: New.
471 * testsuite/23_containers/list/modifiers/assign/1.cc: New.
472 * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
473 * testsuite/23_containers/vector/modifiers/assign/1.cc: New.
475 2018-05-02 Jonathan Wakely <jwakely@redhat.com>
478 * include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
480 * src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
481 as failure. Refactor error handling.
482 * testsuite/27_io/ios_base/storage/68197.cc: New.
486 * include/bits/gslice_array.h (gslice_array): Define default
487 constructor as deleted, as per C++11 standard.
488 * include/bits/mask_array.h (mask_array): Likewise.
489 * include/bits/slice_array.h (slice_array): Likewise.
490 * include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
491 to namespace __detail.
492 (_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
494 * include/bits/valarray_before.h (_ValArrayRef): New helper for type
495 of data members in closure objects.
496 (_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
497 (_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
499 (_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
500 (_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
501 (_SBase::_M_expr): Use _ValArrayRef for type of data members.
502 * include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
503 (_ValFunClos, _RefFunClos): Move to namespace __detail and add
504 using-declarations to namespace std.
505 * testsuite/26_numerics/valarray/83860.cc: New.
507 * testsuite/backward/strstream_move.cc: Remove duplicate function
511 * include/backward/strstream (strstreambuf): Define move constructor
512 and move assignment operator.
513 (istrstream, ostrstream, strstream): Likewise.
514 * testsuite/backward/strstream_move.cc: New.
516 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
519 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
520 * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
521 * configure: Regenerate.
522 * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
523 based on ENABLE_FLOAT128.
524 * include/Makefile.in: Regenerate.
525 * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
526 [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
527 _GLIBCXX_USE_FLOAT128.
529 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
531 * configure: Regenerated.
533 2018-04-19 Jakub Jelinek <jakub@redhat.com>
535 * configure: Regenerated.
537 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
538 Jakub Jelinek <jakub@redhat.com>
541 * src/c++11/Makefile.am: Don't generate debuginfo again for
542 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
543 * src/c++11/Makefile.in: Regenerate.
545 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
548 * testsuite/30_threads/thread/cons/terminate.cc
549 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
551 2018-04-18 David Malcolm <dmalcolm@redhat.com>
554 * configure: Regenerate.
556 2018-04-16 Jonathan Wakely <jwakely@redhat.com>
558 * testsuite/experimental/filesystem/file_status/1.cc: Add
559 -DUSE_FILESYSTEM_TS to dg-options.
560 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
562 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
563 * testsuite/experimental/filesystem/iterators/
564 recursive_directory_iterator.cc: Likewise.
565 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
566 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
567 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
568 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
569 * testsuite/experimental/filesystem/operations/create_directories.cc:
571 * testsuite/experimental/filesystem/operations/create_directory.cc:
573 * testsuite/experimental/filesystem/operations/create_symlink.cc:
575 * testsuite/experimental/filesystem/operations/current_path.cc:
577 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
578 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
579 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
580 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
581 * testsuite/experimental/filesystem/operations/last_write_time.cc:
583 * testsuite/experimental/filesystem/operations/permissions.cc:
585 * testsuite/experimental/filesystem/operations/read_symlink.cc:
587 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
588 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
589 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
590 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
592 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
593 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
594 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
595 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
596 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
597 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
598 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
599 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
600 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
601 * testsuite/experimental/filesystem/path/construct/default.cc:
603 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
604 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
605 * testsuite/experimental/filesystem/path/construct/string_view.cc:
607 * testsuite/experimental/filesystem/path/decompose/extension.cc:
609 * testsuite/experimental/filesystem/path/decompose/filename.cc:
611 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
613 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
615 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
617 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
619 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
621 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
622 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
624 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
625 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
626 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
628 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
630 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
632 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
634 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
635 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
636 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
638 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
639 * testsuite/experimental/filesystem/path/query/has_extension.cc:
641 * testsuite/experimental/filesystem/path/query/has_filename.cc:
643 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
645 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
647 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
649 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
651 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
653 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
654 * testsuite/experimental/filesystem/path/query/is_relative.cc:
657 2018-04-13 Jonathan Wakely <jwakely@redhat.com>
659 * src/c++11/Makefile.am: Fix sed command.
660 * src/c++11/Makefile.in: Regenerate.
662 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
663 handle mangled names starting with double underscores on darwin.
664 * src/c++11/Makefile.in: Regenerate.
666 2018-04-12 Jonathan Wakely <jwakely@redhat.com>
668 * src/c++11/Makefile.am: Fix comment.
669 * src/c++11/Makefile.in: Regenerate.
670 * src/c++11/cxx11-ios_failure.cc: Fix comment.
671 * src/c++98/ios_failure.cc: Likewise.
673 * src/c++11/ios.cc: Remove redundant macro definition.
675 2018-04-11 Jonathan Wakely <jwakely@redhat.com>
677 * doc/xml/manual/abi.xml: Document header locations in recent
679 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
680 * doc/xml/manual/spine.xml: Update copyright years.
681 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
683 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
684 * doc/html/*: Regenerate.
686 2018-04-10 Jonathan Wakely <jwakely@redhat.com>
688 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
689 * doc/xml/manual/backwards_compatibility.xml: Likewise.
690 * doc/xml/manual/containers.xml: Likewise.
691 * doc/xml/manual/debug_mode.xml: Likewise.
692 * doc/xml/manual/extensions.xml: Likewise.
693 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
694 * doc/xml/manual/using.xml: Likewise.
695 * doc/xml/manual/utilities.xml: Likewise.
698 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
699 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
700 * src/c++11/Makefile.in: Regenerate.
701 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
703 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
704 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
705 * src/c++98/ios_failure.cc (__construct_ios_failure)
706 (__destroy_ios_failure, is_ios_failure_handler): New functions.
707 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
708 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
709 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
710 handler types, to always catch std::ios_base::failure.
711 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
712 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
713 exceptions_failbit.cc: Likewise.
714 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
715 exceptions_failbit.cc: Likewise.
716 * testsuite/27_io/basic_istream/extractors_other/char/
717 exceptions_null.cc: Likewise.
718 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
719 exceptions_null.cc: Likewise.
720 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
721 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
722 * testsuite/27_io/basic_ostream/inserters_other/char/
723 exceptions_null.cc: Likewise.
724 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
725 exceptions_null.cc: Likewise.
726 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
728 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
730 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
731 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
733 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
736 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
738 * testsuite/20_util/variant/85183.cc: New.
740 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
742 * include/std/variant (__get): Qualify calls to avoid ADL.
743 (__select_index): Adjust whitespace.
744 (variant): Add using-declaration to workaround Clang bug.
746 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
749 * include/bits/stl_function.h (greater::__not_overloaded)
750 (less::__not_overloaded, greater_equal::__not_overloaded)
751 (less_equal::__not_overloaded): Fix ambiguous specializations.
752 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
753 tests for type with overloaded operators.
755 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
758 * testsuite/experimental/memory_resource/resource_adaptor.cc:
759 xfail execution on 32-bit Solaris/x86.
761 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
763 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
764 VERIFY instead of assert.
765 * testsuite/20_util/hash/84998.cc: New test.
766 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
767 copy of test adjusted for Debug Mode.
768 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
771 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
774 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
775 * include/std/bitset: Likewise.
776 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
778 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
779 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
780 * include/bits/stl_set.h (std::set<>): Likewise.
781 * include/bits/unordered_map.h (std::unordered_map<>): Fix
782 _Hash_merge_helper friend declaration.
783 (std::unordered_multimap<>): Likewise.
784 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
785 (std::unordered_multiset<>): Likewise.
787 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
789 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
790 trailing slash for domain level link.
791 * doc/xml/faq.xml: Ditto.
792 * doc/xml/manual/appendix_free.xml (software): Ditto.
793 * doc/xml/manual/intro.xml: Ditto.
794 * doc/xml/manual/spine.xml: Ditto.
795 * doc/xml/spine.xml: Ditto.
797 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
799 * doc/xml/manual/documentation_hacking.xml: Adjust link to
802 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
804 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
807 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
810 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
811 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
812 to ensure total order for pointers.
813 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
814 Add operator() overloads for pointer arguments and make generic
815 overloads dispatch to new _S_cmp functions when comparisons would
816 use built-in operators for pointers.
817 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
819 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
823 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
824 * configure: Regenerate.
825 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
826 (aligned_alloc): Add using-declaration.
827 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
829 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
831 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
832 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
835 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
838 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
839 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
841 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
842 src/filesystem/std-ops.cc (create_dir): Likewise.
844 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
846 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
847 (StdListIteratorPrinter): Inherit from latter.
848 (StdFwdListIteratorPrinter): New, inherit from latter.
849 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
850 when iterator has no associated container.
851 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
852 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
854 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
855 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
857 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
860 * include/std/optional (_Optional_payload): Split into multiple
861 specializations that can handle different cases of trivial or
862 non-trivial assignment operators.
863 * testsuite/20_util/optional/84601.cc: New.
864 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
866 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
869 * include/bits/parse_numbers.h (_Number_help): Add partial
870 specialization to handle digit separators. Adjust partial
871 specialization for recursion temrination to require _Pow == 1ULL.
872 * testsuite/20_util/duration/literals/84671.cc: New
874 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
876 Implement the missing bits of LWG 2769
877 * include/std/any (any_cast(const any&)): Add static_assert.
878 (any_cast(any&)): Likewise.
879 (any_cast(any&&)): Likewise, and remove the handling
880 for copyable-but-not-movable type.
881 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
882 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
885 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
888 * include/std/thread (thread::__make_invoker): Construct tuple
889 directly instead of using make_tuple.
890 * testsuite/30_threads/async/84532.cc: New.
891 * testsuite/30_threads/thread/84532.cc: New.
893 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
895 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
896 (template<> __aligned_buffer): Define as __aligned_membuf alias.
898 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
901 * configure: Regenerate.
903 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
906 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
907 * configure: Regenerate.
908 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
910 * include/Makefile.in: Regenerate.
912 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
915 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
916 Add -ffloat-store to options for m68k and ia32.
918 * doc/xml/faq.xml: Update copyright years.
919 * doc/html/*: Regenerate.
922 * include/std/any (any::__do_emplace): Only set _M_manager after
923 constructing the contained object.
924 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
925 * testsuite/20_util/any/modifiers/83658.cc: New test.
927 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
930 * include/c_global/cstddef (__byte_operand): Define primary template.
931 * testsuite/18_support/byte/81076.cc: New test.
933 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
935 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
936 dg-options and dg-add-options order.
937 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
938 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
940 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
941 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
943 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
945 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
946 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
948 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
950 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
952 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
954 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
956 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
958 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
960 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
962 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
963 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
964 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
965 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
966 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
967 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
968 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
969 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
970 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
972 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
974 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
976 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
979 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
981 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
982 include linux/types.h when checking linux/random.h header.
983 * config.h.in: Regenerate.
985 * src/c++11/random.cc: Conditionally include linux/types.h.
987 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
989 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
991 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
994 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
995 pattern with exact match for std::cerr.
997 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
1000 * include/bits/random.h (chi_squared_distribution::param): Update
1001 gamma distribution parameter.
1002 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
1006 * include/std/type_traits (has_unique_object_representations_v): Add
1008 * testsuite/20_util/has_unique_object_representations/value.cc: Check
1011 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1013 Make optional conditionally
1014 trivially_{copy,move}_{constructible,assignable}
1015 * include/std/optional (_Optional_payload): Fix the comment in
1016 the class head and turn into a primary and one specialization.
1017 (_Optional_payload::_M_engaged): Strike the NSDMI.
1018 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
1020 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
1022 (_Optional_payload<_Tp, false>::_M_get): Likewise.
1023 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
1024 (_Optional_base_impl): Likewise.
1025 (_Optional_base): Turn into a primary and three specializations.
1026 (optional(nullopt)): Change the base init.
1027 * testsuite/20_util/optional/assignment/8.cc: New.
1028 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
1029 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
1031 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
1034 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
1035 (get_template_arg_list): New.
1036 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
1038 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
1039 of strings and regular expressions.
1040 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
1041 (FilteringTypePrinter): Add docstring. Match using startswith. Use
1042 strip_inline_namespaces instead of strip_versioned_namespace.
1043 (add_one_type_printer): Prepend namespace to match argument.
1044 (register_type_printers): Add type printers for char16_t and char32_t
1045 string types and for types using cxx11 ABI. Update calls to
1046 add_one_template_type_printer to provide default argument dicts.
1047 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
1048 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
1049 basic_string<unsigned char> and basic_string<signed char>.
1050 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
1051 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
1053 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
1056 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1058 2018-01-13 Tim Shen <timshen@google.com>
1061 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
1062 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
1063 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
1065 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1068 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
1069 Remove dg-xfail-run-if.
1071 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
1073 * include/bits/forward_list.h
1074 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
1075 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
1076 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
1077 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
1078 (_Fwd_list_impl()): Add noexcept qualification.
1079 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
1080 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
1081 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
1082 (_Fwd_list_base()): Default.
1083 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
1084 (_Fwd_list_base(_Fwd_list_base&&)): Default.
1085 (forward_list<>()): Default.
1086 (forward_list<>(forward_list&&)): Default.
1087 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
1088 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
1089 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
1090 * include/bits/forward_list.tcc
1091 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
1092 _M_impl._M_head move assignment.
1093 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
1094 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
1096 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
1099 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
1100 (UniquePointerPrinter): Print correct template argument, not type of
1102 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
1104 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
1106 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
1107 weak_ptr of array types.
1109 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
1112 * include/bits/hashtable_policy.h
1113 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
1115 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
1116 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
1117 Add false_type parameter.
1118 (_Insert_base::insert): Adapt.
1119 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
1121 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
1122 Add __n_elt parameter, defaulted to 1.
1123 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
1124 policy _M_need_rehash.
1125 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
1126 produce only 1 rehash if necessary.
1127 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
1128 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
1130 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
1131 Jonathan Wakely <jwakely@redhat.com>
1133 PR libstdc++/59253 (partial)
1134 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
1135 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
1136 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
1138 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
1139 of unique_ptr printer.
1140 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
1141 output of shared_ptr printer.
1143 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
1146 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
1147 unnecessary symlink_status call.
1148 (remove_all(const path&, error_code&)): Use filesystem::remove.
1149 * src/filesystem/std-ops.cc: Likewise.
1152 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
1156 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
1157 report an error for ENOENT.
1158 (remove_all(const path&)): Fix type of result variable.
1159 (remove_all(const path&, error_code&)): Use non-throwing increment
1160 for directory iterator. Call POSIX remove directly to avoid redundant
1161 calls to symlink_status. Do not report errors for ENOENT.
1162 * src/filesystem/std-ops.cc: Likewise.
1163 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
1165 * testsuite/experimental/filesystem/operations/remove_all.cc:
1168 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
1171 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
1172 redundant call to ec.clear().
1173 (remove_all(const path&, error_code&))): Do not return an error for
1175 * src/filesystem/std-ops.cc: Likewise.
1176 * testsuite/27_io/filesystem/operations/remove.cc: New test.
1177 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
1178 results for non-existent paths.
1179 * testsuite/experimental/filesystem/operations/remove.cc: New test.
1180 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
1181 expected results for non-existent paths.
1183 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
1184 check status_known once.
1185 * include/experimental/bits/fs_ops.h: Likewise.
1188 * include/std/functional (__is_byte_like): New trait.
1189 (__is_std_equal_to): Remove.
1190 (__boyer_moore_base_t): Use __is_byte_like instead of
1192 * include/experimental/functional (__is_std_equal_to): Remove.
1193 (__boyer_moore_base_t): Use __is_byte_like instead of
1195 * testsuite/20_util/function_objects/83607.cc: New test.
1197 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
1199 Protect optional's deduction guide with the feature macro
1200 * include/std/optional: Use the feature macro.
1202 2018-01-03 Jakub Jelinek <jakub@redhat.com>
1204 Update copyright years.
1206 Copyright (C) 2018 Free Software Foundation, Inc.
1208 Copying and distribution of this file, with or without modification,
1209 are permitted in any medium without royalty provided the copyright
1210 notice and this notice are preserved.