1 2018-05-21 Jonathan Wakely <jwakely@redhat.com>
4 * testsuite/experimental/filesystem/path/preferred_separator.cc: Add
5 dg-require-filesystem-ts.
8 * src/c++11/cow-stdexcept.cc (logic_error, runtime_error): Explicitly
9 initialize base class to avoid warnings.
11 2018-05-19 Jonathan Wakely <jwakely@redhat.com>
13 * src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
14 [__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
15 little_endian element in bitmask.
16 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
17 * testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
19 2018-05-18 François Dumont <fdumont@gcc.gnu.org>
21 * include/bits/stl_tree.h
22 (_Rb_tree_impl(_Rb_tree_impl&&, _Node_allocator&&)): New.
23 (_Rb_tree(_Rb_tree&&, _Node_allocator&&, true_type)): New, use latter.
24 (_Rb_tree(_Rb_tree&&, _Node_allocator&&, false_type)): New.
25 (_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Adapt, use latters.
27 (map(map&&, const_allocator_type&)): Add noexcept qualitication.
28 * include/debug/multimap.h
29 (multimap(multimap&&, const_allocator_type&)): Likewise.
31 (set(set&&, const_allocator_type&)): Likewise.
32 * include/debug/multiset.h
33 (multiset(multiset&&, const_allocator_type&)): Likewise.
34 * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
36 * testsuite/23_containers/map/cons/noexcept_move_construct.cc:
38 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
40 * testsuite/23_containers/multimap/cons/noexcept_move_construct.cc:
42 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
44 * testsuite/23_containers/multiset/cons/noexcept_move_construct.cc:
46 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
48 * testsuite/23_containers/set/cons/noexcept_move_construct.cc:
51 2018-05-18 Jason Merrill <jason@redhat.com>
53 * include/bits/stl_deque.h (_Deque_iterator): Constrain constructor
54 for conversion to const_iterator. Add defaulted copy ops.
55 * libsupc++/new (bad_alloc): Add defaulted copy ops.
56 * libsupc++/exception.h (exception): Add defaulted copy ops.
57 * include/std/system_error (system_error): Add defaulted copy ops.
58 * include/std/stdexcept (domain_error, invalid_argument)
59 (length_error, out_of_range, range_error, overflow_error)
60 (underflow_error): Add defaulted copy ops.
61 * include/bits/stl_iterator.h (reverse_iterator): Add defaulted
63 * include/bits/allocator.h (allocator): Add defaulted copy assignment.
64 * include/ext/throw_allocator.h (condition_base): Add defaulted
65 default and copy ctor and copy assignment.
67 2018-05-18 Jonathan Wakely <jwakely@redhat.com>
70 * include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
71 (basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
72 (basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
73 (basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
75 * include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
77 * include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
78 braces around body of do-while.
79 * testsuite/28_regex/basic_regex/85098.cc: New
81 2018-05-17 Jonathan Wakely <jwakely@redhat.com>
84 * src/filesystem/path.cc (path::preferred_separator): Add used
86 * testsuite/experimental/filesystem/path/preferred_separator.cc: New.
89 * libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
90 * libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
91 Refactor to separate non-throwing and throwing implementations.
92 [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
93 if constructing the object throws.
95 2018-05-15 Jonathan Wakely <jwakely@redhat.com>
98 * include/bits/random.h (__detail::__is_seed_seq): New SFINAE helper.
99 (linear_congruential_engine, mersenne_twister_engine)
100 (subtract_with_carry_engine, discard_block_engine)
101 (independent_bits_engine, shuffle_order_engine): Use __is_seed_seq to
102 constrain function templates taking seed sequences.
103 * include/bits/random.tcc (linear_congruential_engine::seed(_Sseq&))
104 (mersenne_twister_engine::seed(_Sseq&))
105 (subtract_with_carry_engine::seed(_Sseq&)): Change return types to
107 * include/ext/random (simd_fast_mersenne_twister_engine): Use
108 __is_seed_seq to constrain function templates taking seed sequences.
109 * include/ext/random.tcc (simd_fast_mersenne_twister_engine::seed):
110 Change return type to match declaration.
111 * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
113 * testsuite/26_numerics/random/independent_bits_engine/cons/
115 * testsuite/26_numerics/random/linear_congruential_engine/cons/
117 * testsuite/26_numerics/random/mersenne_twister_engine/cons/
119 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
120 * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
122 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
124 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
128 * include/bits/fs_path.h (path::is_absolute()): Use same definition
129 for all operating systems.
130 * include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
131 * testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
132 * testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
133 * testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
135 * testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
136 unused <vector> header.
137 * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
138 * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
139 * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
140 * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
141 * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
143 * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
145 * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
146 * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
147 * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
148 * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
149 * testsuite/experimental/filesystem/path/decompose/extension.cc:
151 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
152 * testsuite/experimental/filesystem/path/query/has_extension.cc:
154 * testsuite/experimental/filesystem/path/query/has_filename.cc:
156 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
158 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
160 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
162 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
164 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
166 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
167 * testsuite/experimental/filesystem/path/query/is_relative.cc:
171 * include/bits/fs_path.h (path::operator/=, path::append): Construct
172 temporary path before calling _M_append.
173 (path::_M_append): Change parameter to path and implement C++17
175 * testsuite/27_io/filesystem/path/append/path.cc: Add helper function
176 and more examples from the standard.
177 * testsuite/27_io/filesystem/path/append/source.cc: New.
178 * testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
179 * testsuite/27_io/filesystem/path/nonmember/append.cc: New.
181 * include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
182 __invoke to prevent ADL.
184 2018-05-14 Jonathan Wakely <jwakely@redhat.com>
187 * include/bits/fstream.tcc (basic_filebuf::close): Do not swallow
188 exceptions from _M_terminate_output().
189 * include/std/fstream (basic_filebuf::~basic_filebuf): Swallow any
190 exceptions from close().
191 * testsuite/27_io/basic_filebuf/close/81256.cc: New.
193 * include/bits/valarray_array.h (__valarray_get_memory): Remove.
194 (__valarray_get_storage): Call operator new directly. Remove ignored
195 top-level restrict qualifier and add malloc attribute instead.
196 (_Array<_Tp>::_Array(size_t)): Remove unused constructor.
199 * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
200 (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
203 * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
205 * testsuite/23_containers/set/modifiers/node_swap.cc: New.
207 2018-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
210 * testsuite/20_util/variant/80165.cc: New.
212 2018-05-10 Jonathan Wakely <jwakely@redhat.com>
214 * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
215 * doc/xml/manual/debug_mode.xml: Add array and forward_list to list
216 of C++11 containers with Debug Mode support.
217 * doc/xml/manual/using.xml: Document Dual ABI for ios_base::failure.
218 * doc/html/*: Regenerate.
220 2018-05-10 Jason Merrill <jason@redhat.com>
222 * include/bits/regex_compiler.h (_S_cache_size): Change from
223 function to variable.
225 2018-05-10 Edward Smith-Rowland <3dw4rd@verizon.net>
227 PR libstdc++/83140 - assoc_legendre returns negated value when m is odd
228 * include/tr1/legendre_function.tcc (__assoc_legendre_p): Add __phase
229 argument defaulted to +1. Doxy comments on same.
230 * testsuite/special_functions/02_assoc_legendre/
231 check_value.cc: Regen.
232 * testsuite/tr1/5_numerical_facilities/special_functions/
233 02_assoc_legendre/check_value.cc: Regen.
235 2018-05-10 Jonathan Wakely <jwakely@redhat.com>
238 * include/bits/c++config.h (__replacement_assert): Add linkage
240 * include/bits/std_abs.h: Add comment to closing brace of block.
241 * include/c_global/cstddef: Add linkage specification.
242 * include/c_global/cstring: Likewise.
243 * include/c_global/cwchar: Likewise.
245 2018-05-09 François Dumont <fdumont@gcc.gnu.org>
247 * include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()):
249 (_Safe_iterator<>::_S_constant()): ...that.
250 * include/debug/safe_local_iterator.h
251 (_Safe_local_iterator<>::_M_constant()): Rename in...
252 (_Safe_local_iterator<>::_S_constant()): ...that.
253 * include/debug/formatter.h: Remove bits/cpp_type_traits.h include.
254 (_Iterator_state::__rbegin): New.
255 (_Iterator_state::__rmiddle): New.
256 (_Iterator_state::__rend): New.
257 (_Parameter::_Parameter(const _Safe_iterator<>&, const char*,
258 _Is_iterator)): Use _Safe_iterator<>::_S_constant. Grab normal underlying
260 (_Parameter::_Parameter(const _Safe_local_iterator<>&, const char*,
261 _Is_iterator)): Likewise.
262 (_Parameter::_S_reverse_state(_Iterator_state)): New.
263 (_Parameter(__gnu_cxx::__normal_iterator<> const&, const char*,
265 (_Parameter(std::reverse_iterator<> const&, const char*,
267 (_Parameter(std::reverse_iterator<_Safe_iterator<>> const&,
268 const char*, _Is_iterator)): New.
269 (_Parameter(std::move_iterator<> const&, const char*, _Is_iterator):
271 (_Parameter(std::move_iterator<_Safe_iterator<>> const&, const char*,
273 * testsuite/24_iterators/move_iterator/debug_neg.cc: New.
274 * testsuite/24_iterators/normal_iterator/debug_neg.cc: New.
275 * testsuite/24_iterators/reverse_iterator/debug_neg.cc: New.
277 2018-05-09 Jonathan Wakely <jwakely@redhat.com>
279 * include/bits/std_function.h (_Base_manager::_M_get_pointer):
280 Use constexpr if in C++17 mode.
281 (_Base_manager::_M_clone(_Any_data&, const _Any_data&, true_type)):
282 Copy from const object.
283 * testsuite/20_util/function/cons/non_copyconstructible.cc: New.
285 2018-05-08 François Dumont <fdumont@gcc.gnu.org>
287 * src/c++11/debug.cc [_GLIBCXX_HAVE_EXECINFO_H]: Include execinfo.h.
288 [_GLIBCXX_HAVE_EXECINFO_H](_Error_formatter::_M_error): Render
291 * include/debug/macros.h (__glibcxx_check_valid_range_at): New.
292 * include/debug/functions.h (__check_valid_range): Use latter.
293 * include/debug/macros.h (__glibcxx_check_valid_constructor_range): New,
295 * include/debug/deque
296 (deque::deque<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
297 * include/debug/forward_list
298 (forward_list::forward_list<_Iter>(_Iter, _Iter, const _Alloc&)):
301 (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
303 (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
304 * include/debug/map.h
305 (map::map<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
306 (map::map<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
308 * include/debug/multimap.h
309 (multimap::multimap<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
310 (multimap::multimap<_Iter>(_Iter, _Iter, const _Compare&,
311 const _Alloc&)): Likewise.
312 * include/debug/set.h
313 (set::set<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
314 (set::set<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
316 * include/debug/multiset.h
317 (multiset::multiset<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
318 (multiset::multiset<_Iter>(_Iter, _Iter, const _Compare&,
319 const _Alloc&)): Likewise.
320 * include/debug/string
321 (basic_string::basic_string<_Iter>(_Iter, _Iter, const _Alloc&)):
323 * include/debug/unordered_map
324 (unordered_map::unordered_map<_Iter>(_Iter, _Iter, const _Alloc&)):
326 (unordered_multimap::unordered_multimap<_Iter>(_Iter, _Iter,
327 const _Alloc&)): Likewise.
328 * include/debug/unordered_set
329 (unordered_set::unordered_set<_Iter>(_Iter, _Iter, const _Alloc&)):
331 (unordered_multiset::unordered_multiset<_Iter>(_Iter, _Iter,
332 const _Alloc&)): Likewise.
333 * include/debug/vector
334 (vector::vector<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
336 * include/debug/formatter.h (_Error_formatter::_M_function): New.
337 (_Error_formatter(const char*, unsigned int)): Adapt.
338 (_Error_formatter::_M_at): Rename in...
339 (_Error_formatter::_S_at): ...that and adapt.
340 * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): New.
341 (_GLIBCXX_DEBUG_VERIFY_AT, _GLIBCXX_DEBUG_VERIFY): Adapt.
342 * src/c++11/debug.cc (_Error_formatter::_M_error): Render _M_function
345 2018-05-08 Jonathan Wakely <jwakely@redhat.com>
347 * include/bits/regex_automaton.h (_NFA_base::_M_paren_stack, _NFA):
348 Use normal std::vector even in Debug Mode.
351 * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
352 to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
353 * include/Makefile.in: Regenerate.
354 * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
355 within conditional block.
357 2018-05-07 Jonathan Wakely <jwakely@redhat.com>
359 * doc/xml/manual/using.xml (table.cmd_options): Document that the
360 C++17 Filesystem implementation also needs -lstdc++fs.
363 * include/bits/fs_path.h (operator/): Permit copy elision.
364 * include/experimental/bits/fs_path.h (operator/): Likewise.
366 2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
368 Moar PR libstdc++/80506
369 * include/bits/random.tcc (gamma_distribution::__generate_impl()):
370 Fix magic number used in loop condition.
372 2018-05-04 Jonathan Wakely <jwakely@redhat.com>
374 PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
375 * include/std/optional (_Optional_payload): Add noexcept to default
376 constructor. Re-indent.
377 (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
378 constructor for copying disengaged payloads.
379 (_Optional_payload<_Tp, true, false, true>): Likewise.
380 (_Optional_payload<_Tp, true, true, false>): Likewise.
381 (_Optional_payload<_Tp, true, false, false>): Likewise.
382 * testsuite/20_util/optional/cons/85642.cc: New.
383 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
385 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
388 * include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
389 inline definitions instead of using-declarations.
390 [__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
391 * testsuite/tr1/5_numerical_facilities/special_functions/
392 07_conf_hyperg/compile_cxx17.cc: New.
393 * testsuite/tr1/5_numerical_facilities/special_functions/
394 17_hyperg/compile_cxx17.cc: New.
397 * include/std/variant (visit): Qualify std::get call.
399 PR libstdc++/85632 use uintmax_t for arithmetic
400 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
401 arithmetic in result type.
402 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
403 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
404 is greater than free space.
405 * testsuite/experimental/filesystem/operations/space.cc: New.
407 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
408 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
410 * testsuite/20_util/remove_cvref/value.cc: New.
411 * testsuite/20_util/remove_cvref/value_ext.cc: New.
413 PR libstdc++/84087 LWG DR 2268 basic_string default arguments
414 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
415 (append(const basic_string&, size_type, size_type)
416 (assign(const basic_string&, size_type, size_type)
417 (insert(size_type, const basic_string&, size_type, size_type)
418 (replace(size_type,size_type,const basic_string&,size_type,size_type)
419 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
420 Add default arguments (LWG 2268).
421 [_GLIBCXX_USE_CXX11_ABI=0]
422 (append(const basic_string&, size_type, size_type)
423 (assign(const basic_string&, size_type, size_type)
424 (insert(size_type, const basic_string&, size_type, size_type)
425 (replace(size_type,size_type,const basic_string&,size_type,size_type)
426 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
428 * testsuite/21_strings/basic_string/dr2268.cc: New test.
431 * include/std/thread (thread::__not_same): New SFINAE helper.
432 (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
433 first argument is not a std::thread. Add static assertion to check
434 INVOKE expression is valid.
435 (thread::thread(thread&), thread::thread(const thread&&)): Remove.
436 (thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
437 __invoke_result for return types and remove exception specifications.
438 * testsuite/30_threads/thread/cons/84535.cc: New.
440 * include/std/future (__async_result_of): Use __invoke_result instead
443 * include/std/any (any_cast): Use __remove_cvref_t.
444 * include/std/tuple (__make_tuple): Likewise.
445 * include/std/type_traits (__remove_cvref_t): Define.
446 (__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
447 [__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
448 * include/std/variant (__erased_hash): Use __remove_cvref_t.
450 2018-05-02 François Dumont <fdumont@gcc.gnu.org>
452 * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
453 ensure overloaded comma not used.
454 * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
455 * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
456 * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
457 * testsuite/23_containers/deque/modifiers/assign/1.cc: New.
458 * testsuite/23_containers/list/modifiers/assign/1.cc: New.
459 * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
460 * testsuite/23_containers/vector/modifiers/assign/1.cc: New.
462 2018-05-02 Jonathan Wakely <jwakely@redhat.com>
465 * include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
467 * src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
468 as failure. Refactor error handling.
469 * testsuite/27_io/ios_base/storage/68197.cc: New.
473 * include/bits/gslice_array.h (gslice_array): Define default
474 constructor as deleted, as per C++11 standard.
475 * include/bits/mask_array.h (mask_array): Likewise.
476 * include/bits/slice_array.h (slice_array): Likewise.
477 * include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
478 to namespace __detail.
479 (_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
481 * include/bits/valarray_before.h (_ValArrayRef): New helper for type
482 of data members in closure objects.
483 (_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
484 (_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
486 (_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
487 (_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
488 (_SBase::_M_expr): Use _ValArrayRef for type of data members.
489 * include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
490 (_ValFunClos, _RefFunClos): Move to namespace __detail and add
491 using-declarations to namespace std.
492 * testsuite/26_numerics/valarray/83860.cc: New.
494 * testsuite/backward/strstream_move.cc: Remove duplicate function
498 * include/backward/strstream (strstreambuf): Define move constructor
499 and move assignment operator.
500 (istrstream, ostrstream, strstream): Likewise.
501 * testsuite/backward/strstream_move.cc: New.
503 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
506 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
507 * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
508 * configure: Regenerate.
509 * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
510 based on ENABLE_FLOAT128.
511 * include/Makefile.in: Regenerate.
512 * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
513 [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
514 _GLIBCXX_USE_FLOAT128.
516 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
518 * configure: Regenerated.
520 2018-04-19 Jakub Jelinek <jakub@redhat.com>
522 * configure: Regenerated.
524 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
525 Jakub Jelinek <jakub@redhat.com>
528 * src/c++11/Makefile.am: Don't generate debuginfo again for
529 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
530 * src/c++11/Makefile.in: Regenerate.
532 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
535 * testsuite/30_threads/thread/cons/terminate.cc
536 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
538 2018-04-18 David Malcolm <dmalcolm@redhat.com>
541 * configure: Regenerate.
543 2018-04-16 Jonathan Wakely <jwakely@redhat.com>
545 * testsuite/experimental/filesystem/file_status/1.cc: Add
546 -DUSE_FILESYSTEM_TS to dg-options.
547 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
549 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
550 * testsuite/experimental/filesystem/iterators/
551 recursive_directory_iterator.cc: Likewise.
552 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
553 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
554 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
555 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
556 * testsuite/experimental/filesystem/operations/create_directories.cc:
558 * testsuite/experimental/filesystem/operations/create_directory.cc:
560 * testsuite/experimental/filesystem/operations/create_symlink.cc:
562 * testsuite/experimental/filesystem/operations/current_path.cc:
564 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
565 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
566 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
567 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
568 * testsuite/experimental/filesystem/operations/last_write_time.cc:
570 * testsuite/experimental/filesystem/operations/permissions.cc:
572 * testsuite/experimental/filesystem/operations/read_symlink.cc:
574 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
575 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
576 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
577 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
579 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
580 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
581 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
582 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
583 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
584 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
585 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
586 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
587 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
588 * testsuite/experimental/filesystem/path/construct/default.cc:
590 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
591 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
592 * testsuite/experimental/filesystem/path/construct/string_view.cc:
594 * testsuite/experimental/filesystem/path/decompose/extension.cc:
596 * testsuite/experimental/filesystem/path/decompose/filename.cc:
598 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
600 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
602 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
604 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
606 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
608 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
609 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
611 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
612 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
613 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
615 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
617 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
619 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
621 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
622 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
623 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
625 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
626 * testsuite/experimental/filesystem/path/query/has_extension.cc:
628 * testsuite/experimental/filesystem/path/query/has_filename.cc:
630 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
632 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
634 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
636 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
638 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
640 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
641 * testsuite/experimental/filesystem/path/query/is_relative.cc:
644 2018-04-13 Jonathan Wakely <jwakely@redhat.com>
646 * src/c++11/Makefile.am: Fix sed command.
647 * src/c++11/Makefile.in: Regenerate.
649 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
650 handle mangled names starting with double underscores on darwin.
651 * src/c++11/Makefile.in: Regenerate.
653 2018-04-12 Jonathan Wakely <jwakely@redhat.com>
655 * src/c++11/Makefile.am: Fix comment.
656 * src/c++11/Makefile.in: Regenerate.
657 * src/c++11/cxx11-ios_failure.cc: Fix comment.
658 * src/c++98/ios_failure.cc: Likewise.
660 * src/c++11/ios.cc: Remove redundant macro definition.
662 2018-04-11 Jonathan Wakely <jwakely@redhat.com>
664 * doc/xml/manual/abi.xml: Document header locations in recent
666 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
667 * doc/xml/manual/spine.xml: Update copyright years.
668 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
670 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
671 * doc/html/*: Regenerate.
673 2018-04-10 Jonathan Wakely <jwakely@redhat.com>
675 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
676 * doc/xml/manual/backwards_compatibility.xml: Likewise.
677 * doc/xml/manual/containers.xml: Likewise.
678 * doc/xml/manual/debug_mode.xml: Likewise.
679 * doc/xml/manual/extensions.xml: Likewise.
680 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
681 * doc/xml/manual/using.xml: Likewise.
682 * doc/xml/manual/utilities.xml: Likewise.
685 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
686 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
687 * src/c++11/Makefile.in: Regenerate.
688 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
690 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
691 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
692 * src/c++98/ios_failure.cc (__construct_ios_failure)
693 (__destroy_ios_failure, is_ios_failure_handler): New functions.
694 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
695 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
696 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
697 handler types, to always catch std::ios_base::failure.
698 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
699 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
700 exceptions_failbit.cc: Likewise.
701 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
702 exceptions_failbit.cc: Likewise.
703 * testsuite/27_io/basic_istream/extractors_other/char/
704 exceptions_null.cc: Likewise.
705 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
706 exceptions_null.cc: Likewise.
707 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
708 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
709 * testsuite/27_io/basic_ostream/inserters_other/char/
710 exceptions_null.cc: Likewise.
711 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
712 exceptions_null.cc: Likewise.
713 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
715 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
717 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
718 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
720 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
723 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
725 * testsuite/20_util/variant/85183.cc: New.
727 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
729 * include/std/variant (__get): Qualify calls to avoid ADL.
730 (__select_index): Adjust whitespace.
731 (variant): Add using-declaration to workaround Clang bug.
733 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
736 * include/bits/stl_function.h (greater::__not_overloaded)
737 (less::__not_overloaded, greater_equal::__not_overloaded)
738 (less_equal::__not_overloaded): Fix ambiguous specializations.
739 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
740 tests for type with overloaded operators.
742 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
745 * testsuite/experimental/memory_resource/resource_adaptor.cc:
746 xfail execution on 32-bit Solaris/x86.
748 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
750 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
751 VERIFY instead of assert.
752 * testsuite/20_util/hash/84998.cc: New test.
753 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
754 copy of test adjusted for Debug Mode.
755 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
758 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
761 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
762 * include/std/bitset: Likewise.
763 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
765 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
766 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
767 * include/bits/stl_set.h (std::set<>): Likewise.
768 * include/bits/unordered_map.h (std::unordered_map<>): Fix
769 _Hash_merge_helper friend declaration.
770 (std::unordered_multimap<>): Likewise.
771 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
772 (std::unordered_multiset<>): Likewise.
774 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
776 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
777 trailing slash for domain level link.
778 * doc/xml/faq.xml: Ditto.
779 * doc/xml/manual/appendix_free.xml (software): Ditto.
780 * doc/xml/manual/intro.xml: Ditto.
781 * doc/xml/manual/spine.xml: Ditto.
782 * doc/xml/spine.xml: Ditto.
784 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
786 * doc/xml/manual/documentation_hacking.xml: Adjust link to
789 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
791 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
794 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
797 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
798 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
799 to ensure total order for pointers.
800 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
801 Add operator() overloads for pointer arguments and make generic
802 overloads dispatch to new _S_cmp functions when comparisons would
803 use built-in operators for pointers.
804 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
806 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
810 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
811 * configure: Regenerate.
812 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
813 (aligned_alloc): Add using-declaration.
814 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
816 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
818 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
819 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
822 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
825 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
826 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
828 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
829 src/filesystem/std-ops.cc (create_dir): Likewise.
831 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
833 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
834 (StdListIteratorPrinter): Inherit from latter.
835 (StdFwdListIteratorPrinter): New, inherit from latter.
836 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
837 when iterator has no associated container.
838 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
839 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
841 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
842 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
844 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
847 * include/std/optional (_Optional_payload): Split into multiple
848 specializations that can handle different cases of trivial or
849 non-trivial assignment operators.
850 * testsuite/20_util/optional/84601.cc: New.
851 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
853 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
856 * include/bits/parse_numbers.h (_Number_help): Add partial
857 specialization to handle digit separators. Adjust partial
858 specialization for recursion temrination to require _Pow == 1ULL.
859 * testsuite/20_util/duration/literals/84671.cc: New
861 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
863 Implement the missing bits of LWG 2769
864 * include/std/any (any_cast(const any&)): Add static_assert.
865 (any_cast(any&)): Likewise.
866 (any_cast(any&&)): Likewise, and remove the handling
867 for copyable-but-not-movable type.
868 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
869 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
872 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
875 * include/std/thread (thread::__make_invoker): Construct tuple
876 directly instead of using make_tuple.
877 * testsuite/30_threads/async/84532.cc: New.
878 * testsuite/30_threads/thread/84532.cc: New.
880 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
882 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
883 (template<> __aligned_buffer): Define as __aligned_membuf alias.
885 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
888 * configure: Regenerate.
890 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
893 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
894 * configure: Regenerate.
895 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
897 * include/Makefile.in: Regenerate.
899 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
902 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
903 Add -ffloat-store to options for m68k and ia32.
905 * doc/xml/faq.xml: Update copyright years.
906 * doc/html/*: Regenerate.
909 * include/std/any (any::__do_emplace): Only set _M_manager after
910 constructing the contained object.
911 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
912 * testsuite/20_util/any/modifiers/83658.cc: New test.
914 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
917 * include/c_global/cstddef (__byte_operand): Define primary template.
918 * testsuite/18_support/byte/81076.cc: New test.
920 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
922 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
923 dg-options and dg-add-options order.
924 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
925 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
927 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
928 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
930 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
932 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
933 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
935 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
937 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
939 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
941 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
943 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
945 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
947 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
949 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
950 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
951 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
952 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
953 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
954 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
955 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
956 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
957 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
959 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
961 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
963 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
966 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
968 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
969 include linux/types.h when checking linux/random.h header.
970 * config.h.in: Regenerate.
972 * src/c++11/random.cc: Conditionally include linux/types.h.
974 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
976 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
978 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
981 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
982 pattern with exact match for std::cerr.
984 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
987 * include/bits/random.h (chi_squared_distribution::param): Update
988 gamma distribution parameter.
989 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
993 * include/std/type_traits (has_unique_object_representations_v): Add
995 * testsuite/20_util/has_unique_object_representations/value.cc: Check
998 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1000 Make optional conditionally
1001 trivially_{copy,move}_{constructible,assignable}
1002 * include/std/optional (_Optional_payload): Fix the comment in
1003 the class head and turn into a primary and one specialization.
1004 (_Optional_payload::_M_engaged): Strike the NSDMI.
1005 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
1007 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
1009 (_Optional_payload<_Tp, false>::_M_get): Likewise.
1010 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
1011 (_Optional_base_impl): Likewise.
1012 (_Optional_base): Turn into a primary and three specializations.
1013 (optional(nullopt)): Change the base init.
1014 * testsuite/20_util/optional/assignment/8.cc: New.
1015 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
1016 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
1018 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
1021 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
1022 (get_template_arg_list): New.
1023 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
1025 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
1026 of strings and regular expressions.
1027 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
1028 (FilteringTypePrinter): Add docstring. Match using startswith. Use
1029 strip_inline_namespaces instead of strip_versioned_namespace.
1030 (add_one_type_printer): Prepend namespace to match argument.
1031 (register_type_printers): Add type printers for char16_t and char32_t
1032 string types and for types using cxx11 ABI. Update calls to
1033 add_one_template_type_printer to provide default argument dicts.
1034 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
1035 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
1036 basic_string<unsigned char> and basic_string<signed char>.
1037 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
1038 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
1040 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
1043 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1045 2018-01-13 Tim Shen <timshen@google.com>
1048 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
1049 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
1050 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
1052 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1055 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
1056 Remove dg-xfail-run-if.
1058 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
1060 * include/bits/forward_list.h
1061 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
1062 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
1063 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
1064 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
1065 (_Fwd_list_impl()): Add noexcept qualification.
1066 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
1067 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
1068 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
1069 (_Fwd_list_base()): Default.
1070 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
1071 (_Fwd_list_base(_Fwd_list_base&&)): Default.
1072 (forward_list<>()): Default.
1073 (forward_list<>(forward_list&&)): Default.
1074 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
1075 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
1076 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
1077 * include/bits/forward_list.tcc
1078 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
1079 _M_impl._M_head move assignment.
1080 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
1081 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
1083 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
1086 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
1087 (UniquePointerPrinter): Print correct template argument, not type of
1089 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
1091 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
1093 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
1094 weak_ptr of array types.
1096 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
1099 * include/bits/hashtable_policy.h
1100 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
1102 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
1103 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
1104 Add false_type parameter.
1105 (_Insert_base::insert): Adapt.
1106 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
1108 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
1109 Add __n_elt parameter, defaulted to 1.
1110 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
1111 policy _M_need_rehash.
1112 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
1113 produce only 1 rehash if necessary.
1114 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
1115 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
1117 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
1118 Jonathan Wakely <jwakely@redhat.com>
1120 PR libstdc++/59253 (partial)
1121 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
1122 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
1123 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
1125 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
1126 of unique_ptr printer.
1127 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
1128 output of shared_ptr printer.
1130 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
1133 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
1134 unnecessary symlink_status call.
1135 (remove_all(const path&, error_code&)): Use filesystem::remove.
1136 * src/filesystem/std-ops.cc: Likewise.
1139 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
1143 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
1144 report an error for ENOENT.
1145 (remove_all(const path&)): Fix type of result variable.
1146 (remove_all(const path&, error_code&)): Use non-throwing increment
1147 for directory iterator. Call POSIX remove directly to avoid redundant
1148 calls to symlink_status. Do not report errors for ENOENT.
1149 * src/filesystem/std-ops.cc: Likewise.
1150 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
1152 * testsuite/experimental/filesystem/operations/remove_all.cc:
1155 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
1158 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
1159 redundant call to ec.clear().
1160 (remove_all(const path&, error_code&))): Do not return an error for
1162 * src/filesystem/std-ops.cc: Likewise.
1163 * testsuite/27_io/filesystem/operations/remove.cc: New test.
1164 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
1165 results for non-existent paths.
1166 * testsuite/experimental/filesystem/operations/remove.cc: New test.
1167 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
1168 expected results for non-existent paths.
1170 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
1171 check status_known once.
1172 * include/experimental/bits/fs_ops.h: Likewise.
1175 * include/std/functional (__is_byte_like): New trait.
1176 (__is_std_equal_to): Remove.
1177 (__boyer_moore_base_t): Use __is_byte_like instead of
1179 * include/experimental/functional (__is_std_equal_to): Remove.
1180 (__boyer_moore_base_t): Use __is_byte_like instead of
1182 * testsuite/20_util/function_objects/83607.cc: New test.
1184 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
1186 Protect optional's deduction guide with the feature macro
1187 * include/std/optional: Use the feature macro.
1189 2018-01-03 Jakub Jelinek <jakub@redhat.com>
1191 Update copyright years.
1193 Copyright (C) 2018 Free Software Foundation, Inc.
1195 Copying and distribution of this file, with or without modification,
1196 are permitted in any medium without royalty provided the copyright
1197 notice and this notice are preserved.