1 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
3 PR libstdc++/85632 use uintmax_t for arithmetic
4 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
5 arithmetic in result type.
6 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
7 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
8 is greater than free space.
9 * testsuite/experimental/filesystem/operations/space.cc: New.
11 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
12 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
14 * testsuite/20_util/remove_cvref/value.cc: New.
15 * testsuite/20_util/remove_cvref/value_ext.cc: New.
17 PR libstdc++/84087 LWG DR 2268 basic_string default arguments
18 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
19 (append(const basic_string&, size_type, size_type)
20 (assign(const basic_string&, size_type, size_type)
21 (insert(size_type, const basic_string&, size_type, size_type)
22 (replace(size_type,size_type,const basic_string&,size_type,size_type)
23 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
24 Add default arguments (LWG 2268).
25 [_GLIBCXX_USE_CXX11_ABI=0]
26 (append(const basic_string&, size_type, size_type)
27 (assign(const basic_string&, size_type, size_type)
28 (insert(size_type, const basic_string&, size_type, size_type)
29 (replace(size_type,size_type,const basic_string&,size_type,size_type)
30 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
32 * testsuite/21_strings/basic_string/dr2268.cc: New test.
35 * include/std/thread (thread::__not_same): New SFINAE helper.
36 (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
37 first argument is not a std::thread. Add static assertion to check
38 INVOKE expression is valid.
39 (thread::thread(thread&), thread::thread(const thread&&)): Remove.
40 (thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
41 __invoke_result for return types and remove exception specifications.
42 * testsuite/30_threads/thread/cons/84535.cc: New.
44 * include/std/future (__async_result_of): Use __invoke_result instead
47 * include/std/any (any_cast): Use __remove_cvref_t.
48 * include/std/tuple (__make_tuple): Likewise.
49 * include/std/type_traits (__remove_cvref_t): Define.
50 (__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
51 [__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
52 * include/std/variant (__erased_hash): Use __remove_cvref_t.
54 2018-05-02 François Dumont <fdumont@gcc.gnu.org>
56 * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
57 ensure overloaded comma not used.
58 * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
59 * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
60 * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
61 * testsuite/23_containers/deque/modifiers/assign/1.cc: New.
62 * testsuite/23_containers/list/modifiers/assign/1.cc: New.
63 * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
64 * testsuite/23_containers/vector/modifiers/assign/1.cc: New.
66 2018-05-02 Jonathan Wakely <jwakely@redhat.com>
69 * include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
71 * src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
72 as failure. Refactor error handling.
73 * testsuite/27_io/ios_base/storage/68197.cc: New.
77 * include/bits/gslice_array.h (gslice_array): Define default
78 constructor as deleted, as per C++11 standard.
79 * include/bits/mask_array.h (mask_array): Likewise.
80 * include/bits/slice_array.h (slice_array): Likewise.
81 * include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
82 to namespace __detail.
83 (_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
85 * include/bits/valarray_before.h (_ValArrayRef): New helper for type
86 of data members in closure objects.
87 (_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
88 (_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
90 (_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
91 (_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
92 (_SBase::_M_expr): Use _ValArrayRef for type of data members.
93 * include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
94 (_ValFunClos, _RefFunClos): Move to namespace __detail and add
95 using-declarations to namespace std.
96 * testsuite/26_numerics/valarray/83860.cc: New.
98 * testsuite/backward/strstream_move.cc: Remove duplicate function
102 * include/backward/strstream (strstreambuf): Define move constructor
103 and move assignment operator.
104 (istrstream, ostrstream, strstream): Likewise.
105 * testsuite/backward/strstream_move.cc: New.
107 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
110 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
111 * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
112 * configure: Regenerate.
113 * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
114 based on ENABLE_FLOAT128.
115 * include/Makefile.in: Regenerate.
116 * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
117 [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
118 _GLIBCXX_USE_FLOAT128.
120 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
122 * configure: Regenerated.
124 2018-04-19 Jakub Jelinek <jakub@redhat.com>
126 * configure: Regenerated.
128 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
129 Jakub Jelinek <jakub@redhat.com>
132 * src/c++11/Makefile.am: Don't generate debuginfo again for
133 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
134 * src/c++11/Makefile.in: Regenerate.
136 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
139 * testsuite/30_threads/thread/cons/terminate.cc
140 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
142 2018-04-18 David Malcolm <dmalcolm@redhat.com>
145 * configure: Regenerate.
147 2018-04-16 Jonathan Wakely <jwakely@redhat.com>
149 * testsuite/experimental/filesystem/file_status/1.cc: Add
150 -DUSE_FILESYSTEM_TS to dg-options.
151 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
153 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
154 * testsuite/experimental/filesystem/iterators/
155 recursive_directory_iterator.cc: Likewise.
156 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
157 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
158 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
159 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
160 * testsuite/experimental/filesystem/operations/create_directories.cc:
162 * testsuite/experimental/filesystem/operations/create_directory.cc:
164 * testsuite/experimental/filesystem/operations/create_symlink.cc:
166 * testsuite/experimental/filesystem/operations/current_path.cc:
168 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
169 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
170 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
171 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
172 * testsuite/experimental/filesystem/operations/last_write_time.cc:
174 * testsuite/experimental/filesystem/operations/permissions.cc:
176 * testsuite/experimental/filesystem/operations/read_symlink.cc:
178 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
179 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
180 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
181 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
183 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
184 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
185 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
186 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
187 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
188 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
189 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
190 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
191 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
192 * testsuite/experimental/filesystem/path/construct/default.cc:
194 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
195 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
196 * testsuite/experimental/filesystem/path/construct/string_view.cc:
198 * testsuite/experimental/filesystem/path/decompose/extension.cc:
200 * testsuite/experimental/filesystem/path/decompose/filename.cc:
202 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
204 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
206 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
208 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
210 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
212 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
213 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
215 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
216 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
217 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
219 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
221 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
223 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
225 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
226 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
227 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
229 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
230 * testsuite/experimental/filesystem/path/query/has_extension.cc:
232 * testsuite/experimental/filesystem/path/query/has_filename.cc:
234 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
236 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
238 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
240 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
242 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
244 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
245 * testsuite/experimental/filesystem/path/query/is_relative.cc:
248 2018-04-13 Jonathan Wakely <jwakely@redhat.com>
250 * src/c++11/Makefile.am: Fix sed command.
251 * src/c++11/Makefile.in: Regenerate.
253 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
254 handle mangled names starting with double underscores on darwin.
255 * src/c++11/Makefile.in: Regenerate.
257 2018-04-12 Jonathan Wakely <jwakely@redhat.com>
259 * src/c++11/Makefile.am: Fix comment.
260 * src/c++11/Makefile.in: Regenerate.
261 * src/c++11/cxx11-ios_failure.cc: Fix comment.
262 * src/c++98/ios_failure.cc: Likewise.
264 * src/c++11/ios.cc: Remove redundant macro definition.
266 2018-04-11 Jonathan Wakely <jwakely@redhat.com>
268 * doc/xml/manual/abi.xml: Document header locations in recent
270 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
271 * doc/xml/manual/spine.xml: Update copyright years.
272 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
274 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
275 * doc/html/*: Regenerate.
277 2018-04-10 Jonathan Wakely <jwakely@redhat.com>
279 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
280 * doc/xml/manual/backwards_compatibility.xml: Likewise.
281 * doc/xml/manual/containers.xml: Likewise.
282 * doc/xml/manual/debug_mode.xml: Likewise.
283 * doc/xml/manual/extensions.xml: Likewise.
284 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
285 * doc/xml/manual/using.xml: Likewise.
286 * doc/xml/manual/utilities.xml: Likewise.
289 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
290 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
291 * src/c++11/Makefile.in: Regenerate.
292 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
294 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
295 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
296 * src/c++98/ios_failure.cc (__construct_ios_failure)
297 (__destroy_ios_failure, is_ios_failure_handler): New functions.
298 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
299 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
300 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
301 handler types, to always catch std::ios_base::failure.
302 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
303 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
304 exceptions_failbit.cc: Likewise.
305 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
306 exceptions_failbit.cc: Likewise.
307 * testsuite/27_io/basic_istream/extractors_other/char/
308 exceptions_null.cc: Likewise.
309 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
310 exceptions_null.cc: Likewise.
311 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
312 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
313 * testsuite/27_io/basic_ostream/inserters_other/char/
314 exceptions_null.cc: Likewise.
315 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
316 exceptions_null.cc: Likewise.
317 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
319 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
321 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
322 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
324 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
327 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
329 * testsuite/20_util/variant/85183.cc: New.
331 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
333 * include/std/variant (__get): Qualify calls to avoid ADL.
334 (__select_index): Adjust whitespace.
335 (variant): Add using-declaration to workaround Clang bug.
337 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
340 * include/bits/stl_function.h (greater::__not_overloaded)
341 (less::__not_overloaded, greater_equal::__not_overloaded)
342 (less_equal::__not_overloaded): Fix ambiguous specializations.
343 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
344 tests for type with overloaded operators.
346 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
349 * testsuite/experimental/memory_resource/resource_adaptor.cc:
350 xfail execution on 32-bit Solaris/x86.
352 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
354 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
355 VERIFY instead of assert.
356 * testsuite/20_util/hash/84998.cc: New test.
357 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
358 copy of test adjusted for Debug Mode.
359 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
362 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
365 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
366 * include/std/bitset: Likewise.
367 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
369 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
370 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
371 * include/bits/stl_set.h (std::set<>): Likewise.
372 * include/bits/unordered_map.h (std::unordered_map<>): Fix
373 _Hash_merge_helper friend declaration.
374 (std::unordered_multimap<>): Likewise.
375 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
376 (std::unordered_multiset<>): Likewise.
378 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
380 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
381 trailing slash for domain level link.
382 * doc/xml/faq.xml: Ditto.
383 * doc/xml/manual/appendix_free.xml (software): Ditto.
384 * doc/xml/manual/intro.xml: Ditto.
385 * doc/xml/manual/spine.xml: Ditto.
386 * doc/xml/spine.xml: Ditto.
388 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
390 * doc/xml/manual/documentation_hacking.xml: Adjust link to
393 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
395 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
398 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
401 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
402 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
403 to ensure total order for pointers.
404 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
405 Add operator() overloads for pointer arguments and make generic
406 overloads dispatch to new _S_cmp functions when comparisons would
407 use built-in operators for pointers.
408 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
410 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
414 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
415 * configure: Regenerate.
416 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
417 (aligned_alloc): Add using-declaration.
418 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
420 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
422 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
423 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
426 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
429 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
430 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
432 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
433 src/filesystem/std-ops.cc (create_dir): Likewise.
435 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
437 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
438 (StdListIteratorPrinter): Inherit from latter.
439 (StdFwdListIteratorPrinter): New, inherit from latter.
440 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
441 when iterator has no associated container.
442 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
443 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
445 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
446 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
448 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
451 * include/std/optional (_Optional_payload): Split into multiple
452 specializations that can handle different cases of trivial or
453 non-trivial assignment operators.
454 * testsuite/20_util/optional/84601.cc: New.
455 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
457 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
460 * include/bits/parse_numbers.h (_Number_help): Add partial
461 specialization to handle digit separators. Adjust partial
462 specialization for recursion temrination to require _Pow == 1ULL.
463 * testsuite/20_util/duration/literals/84671.cc: New
465 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
467 Implement the missing bits of LWG 2769
468 * include/std/any (any_cast(const any&)): Add static_assert.
469 (any_cast(any&)): Likewise.
470 (any_cast(any&&)): Likewise, and remove the handling
471 for copyable-but-not-movable type.
472 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
473 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
476 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
479 * include/std/thread (thread::__make_invoker): Construct tuple
480 directly instead of using make_tuple.
481 * testsuite/30_threads/async/84532.cc: New.
482 * testsuite/30_threads/thread/84532.cc: New.
484 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
486 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
487 (template<> __aligned_buffer): Define as __aligned_membuf alias.
489 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
492 * configure: Regenerate.
494 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
497 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
498 * configure: Regenerate.
499 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
501 * include/Makefile.in: Regenerate.
503 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
506 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
507 Add -ffloat-store to options for m68k and ia32.
509 * doc/xml/faq.xml: Update copyright years.
510 * doc/html/*: Regenerate.
513 * include/std/any (any::__do_emplace): Only set _M_manager after
514 constructing the contained object.
515 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
516 * testsuite/20_util/any/modifiers/83658.cc: New test.
518 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
521 * include/c_global/cstddef (__byte_operand): Define primary template.
522 * testsuite/18_support/byte/81076.cc: New test.
524 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
526 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
527 dg-options and dg-add-options order.
528 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
529 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
531 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
532 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
534 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
536 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
537 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
539 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
541 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
543 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
545 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
547 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
549 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
551 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
553 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
554 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
555 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
556 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
557 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
558 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
559 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
560 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
561 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
563 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
565 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
567 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
570 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
572 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
573 include linux/types.h when checking linux/random.h header.
574 * config.h.in: Regenerate.
576 * src/c++11/random.cc: Conditionally include linux/types.h.
578 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
580 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
582 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
585 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
586 pattern with exact match for std::cerr.
588 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
591 * include/bits/random.h (chi_squared_distribution::param): Update
592 gamma distribution parameter.
593 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
597 * include/std/type_traits (has_unique_object_representations_v): Add
599 * testsuite/20_util/has_unique_object_representations/value.cc: Check
602 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
604 Make optional conditionally
605 trivially_{copy,move}_{constructible,assignable}
606 * include/std/optional (_Optional_payload): Fix the comment in
607 the class head and turn into a primary and one specialization.
608 (_Optional_payload::_M_engaged): Strike the NSDMI.
609 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
611 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
613 (_Optional_payload<_Tp, false>::_M_get): Likewise.
614 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
615 (_Optional_base_impl): Likewise.
616 (_Optional_base): Turn into a primary and three specializations.
617 (optional(nullopt)): Change the base init.
618 * testsuite/20_util/optional/assignment/8.cc: New.
619 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
620 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
622 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
625 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
626 (get_template_arg_list): New.
627 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
629 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
630 of strings and regular expressions.
631 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
632 (FilteringTypePrinter): Add docstring. Match using startswith. Use
633 strip_inline_namespaces instead of strip_versioned_namespace.
634 (add_one_type_printer): Prepend namespace to match argument.
635 (register_type_printers): Add type printers for char16_t and char32_t
636 string types and for types using cxx11 ABI. Update calls to
637 add_one_template_type_printer to provide default argument dicts.
638 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
639 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
640 basic_string<unsigned char> and basic_string<signed char>.
641 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
642 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
644 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
647 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
649 2018-01-13 Tim Shen <timshen@google.com>
652 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
653 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
654 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
656 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
659 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
660 Remove dg-xfail-run-if.
662 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
664 * include/bits/forward_list.h
665 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
666 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
667 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
668 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
669 (_Fwd_list_impl()): Add noexcept qualification.
670 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
671 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
672 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
673 (_Fwd_list_base()): Default.
674 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
675 (_Fwd_list_base(_Fwd_list_base&&)): Default.
676 (forward_list<>()): Default.
677 (forward_list<>(forward_list&&)): Default.
678 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
679 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
680 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
681 * include/bits/forward_list.tcc
682 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
683 _M_impl._M_head move assignment.
684 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
685 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
687 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
690 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
691 (UniquePointerPrinter): Print correct template argument, not type of
693 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
695 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
697 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
698 weak_ptr of array types.
700 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
703 * include/bits/hashtable_policy.h
704 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
706 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
707 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
708 Add false_type parameter.
709 (_Insert_base::insert): Adapt.
710 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
712 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
713 Add __n_elt parameter, defaulted to 1.
714 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
715 policy _M_need_rehash.
716 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
717 produce only 1 rehash if necessary.
718 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
719 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
721 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
722 Jonathan Wakely <jwakely@redhat.com>
724 PR libstdc++/59253 (partial)
725 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
726 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
727 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
729 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
730 of unique_ptr printer.
731 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
732 output of shared_ptr printer.
734 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
737 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
738 unnecessary symlink_status call.
739 (remove_all(const path&, error_code&)): Use filesystem::remove.
740 * src/filesystem/std-ops.cc: Likewise.
743 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
747 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
748 report an error for ENOENT.
749 (remove_all(const path&)): Fix type of result variable.
750 (remove_all(const path&, error_code&)): Use non-throwing increment
751 for directory iterator. Call POSIX remove directly to avoid redundant
752 calls to symlink_status. Do not report errors for ENOENT.
753 * src/filesystem/std-ops.cc: Likewise.
754 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
756 * testsuite/experimental/filesystem/operations/remove_all.cc:
759 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
762 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
763 redundant call to ec.clear().
764 (remove_all(const path&, error_code&))): Do not return an error for
766 * src/filesystem/std-ops.cc: Likewise.
767 * testsuite/27_io/filesystem/operations/remove.cc: New test.
768 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
769 results for non-existent paths.
770 * testsuite/experimental/filesystem/operations/remove.cc: New test.
771 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
772 expected results for non-existent paths.
774 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
775 check status_known once.
776 * include/experimental/bits/fs_ops.h: Likewise.
779 * include/std/functional (__is_byte_like): New trait.
780 (__is_std_equal_to): Remove.
781 (__boyer_moore_base_t): Use __is_byte_like instead of
783 * include/experimental/functional (__is_std_equal_to): Remove.
784 (__boyer_moore_base_t): Use __is_byte_like instead of
786 * testsuite/20_util/function_objects/83607.cc: New test.
788 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
790 Protect optional's deduction guide with the feature macro
791 * include/std/optional: Use the feature macro.
793 2018-01-03 Jakub Jelinek <jakub@redhat.com>
795 Update copyright years.
797 Copyright (C) 2018 Free Software Foundation, Inc.
799 Copying and distribution of this file, with or without modification,
800 are permitted in any medium without royalty provided the copyright
801 notice and this notice are preserved.