1 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
3 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
4 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
6 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
9 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
11 * testsuite/20_util/variant/85183.cc: New.
13 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
15 * include/std/variant (__get): Qualify calls to avoid ADL.
16 (__select_index): Adjust whitespace.
17 (variant): Add using-declaration to workaround Clang bug.
19 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
22 * include/bits/stl_function.h (greater::__not_overloaded)
23 (less::__not_overloaded, greater_equal::__not_overloaded)
24 (less_equal::__not_overloaded): Fix ambiguous specializations.
25 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
26 tests for type with overloaded operators.
28 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
31 * testsuite/experimental/memory_resource/resource_adaptor.cc:
32 xfail execution on 32-bit Solaris/x86.
34 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
36 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
37 VERIFY instead of assert.
38 * testsuite/20_util/hash/84998.cc: New test.
39 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
40 copy of test adjusted for Debug Mode.
41 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
44 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
47 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
48 * include/std/bitset: Likewise.
49 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
51 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
52 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
53 * include/bits/stl_set.h (std::set<>): Likewise.
54 * include/bits/unordered_map.h (std::unordered_map<>): Fix
55 _Hash_merge_helper friend declaration.
56 (std::unordered_multimap<>): Likewise.
57 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
58 (std::unordered_multiset<>): Likewise.
60 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
62 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
63 trailing slash for domain level link.
64 * doc/xml/faq.xml: Ditto.
65 * doc/xml/manual/appendix_free.xml (software): Ditto.
66 * doc/xml/manual/intro.xml: Ditto.
67 * doc/xml/manual/spine.xml: Ditto.
68 * doc/xml/spine.xml: Ditto.
70 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
72 * doc/xml/manual/documentation_hacking.xml: Adjust link to
75 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
77 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
80 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
83 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
84 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
85 to ensure total order for pointers.
86 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
87 Add operator() overloads for pointer arguments and make generic
88 overloads dispatch to new _S_cmp functions when comparisons would
89 use built-in operators for pointers.
90 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
92 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
96 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
97 * configure: Regenerate.
98 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
99 (aligned_alloc): Add using-declaration.
100 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
102 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
104 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
105 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
108 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
111 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
112 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
114 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
115 src/filesystem/std-ops.cc (create_dir): Likewise.
117 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
119 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
120 (StdListIteratorPrinter): Inherit from latter.
121 (StdFwdListIteratorPrinter): New, inherit from latter.
122 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
123 when iterator has no associated container.
124 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
125 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
127 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
128 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
130 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
133 * include/std/optional (_Optional_payload): Split into multiple
134 specializations that can handle different cases of trivial or
135 non-trivial assignment operators.
136 * testsuite/20_util/optional/84601.cc: New.
137 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
139 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
142 * include/bits/parse_numbers.h (_Number_help): Add partial
143 specialization to handle digit separators. Adjust partial
144 specialization for recursion temrination to require _Pow == 1ULL.
145 * testsuite/20_util/duration/literals/84671.cc: New
147 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
149 Implement the missing bits of LWG 2769
150 * include/std/any (any_cast(const any&)): Add static_assert.
151 (any_cast(any&)): Likewise.
152 (any_cast(any&&)): Likewise, and remove the handling
153 for copyable-but-not-movable type.
154 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
155 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
158 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
161 * include/std/thread (thread::__make_invoker): Construct tuple
162 directly instead of using make_tuple.
163 * testsuite/30_threads/async/84532.cc: New.
164 * testsuite/30_threads/thread/84532.cc: New.
166 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
168 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
169 (template<> __aligned_buffer): Define as __aligned_membuf alias.
171 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
174 * configure: Regenerate.
176 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
179 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
180 * configure: Regenerate.
181 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
183 * include/Makefile.in: Regenerate.
185 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
188 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
189 Add -ffloat-store to options for m68k and ia32.
191 * doc/xml/faq.xml: Update copyright years.
192 * doc/html/*: Regenerate.
195 * include/std/any (any::__do_emplace): Only set _M_manager after
196 constructing the contained object.
197 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
198 * testsuite/20_util/any/modifiers/83658.cc: New test.
200 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
203 * include/c_global/cstddef (__byte_operand): Define primary template.
204 * testsuite/18_support/byte/81076.cc: New test.
206 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
208 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
209 dg-options and dg-add-options order.
210 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
211 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
213 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
214 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
216 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
218 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
219 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
221 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
223 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
225 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
227 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
229 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
231 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
233 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
235 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
236 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
237 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
238 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
239 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
240 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
241 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
242 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
243 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
245 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
247 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
249 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
252 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
254 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
255 include linux/types.h when checking linux/random.h header.
256 * config.h.in: Regenerate.
258 * src/c++11/random.cc: Conditionally include linux/types.h.
260 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
262 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
264 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
267 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
268 pattern with exact match for std::cerr.
270 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
273 * include/bits/random.h (chi_squared_distribution::param): Update
274 gamma distribution parameter.
275 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
279 * include/std/type_traits (has_unique_object_representations_v): Add
281 * testsuite/20_util/has_unique_object_representations/value.cc: Check
284 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
286 Make optional conditionally
287 trivially_{copy,move}_{constructible,assignable}
288 * include/std/optional (_Optional_payload): Fix the comment in
289 the class head and turn into a primary and one specialization.
290 (_Optional_payload::_M_engaged): Strike the NSDMI.
291 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
293 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
295 (_Optional_payload<_Tp, false>::_M_get): Likewise.
296 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
297 (_Optional_base_impl): Likewise.
298 (_Optional_base): Turn into a primary and three specializations.
299 (optional(nullopt)): Change the base init.
300 * testsuite/20_util/optional/assignment/8.cc: New.
301 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
302 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
304 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
307 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
308 (get_template_arg_list): New.
309 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
311 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
312 of strings and regular expressions.
313 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
314 (FilteringTypePrinter): Add docstring. Match using startswith. Use
315 strip_inline_namespaces instead of strip_versioned_namespace.
316 (add_one_type_printer): Prepend namespace to match argument.
317 (register_type_printers): Add type printers for char16_t and char32_t
318 string types and for types using cxx11 ABI. Update calls to
319 add_one_template_type_printer to provide default argument dicts.
320 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
321 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
322 basic_string<unsigned char> and basic_string<signed char>.
323 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
324 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
326 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
329 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
331 2018-01-13 Tim Shen <timshen@google.com>
334 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
335 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
336 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
338 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
341 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
342 Remove dg-xfail-run-if.
344 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
346 * include/bits/forward_list.h
347 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
348 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
349 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
350 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
351 (_Fwd_list_impl()): Add noexcept qualification.
352 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
353 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
354 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
355 (_Fwd_list_base()): Default.
356 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
357 (_Fwd_list_base(_Fwd_list_base&&)): Default.
358 (forward_list<>()): Default.
359 (forward_list<>(forward_list&&)): Default.
360 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
361 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
362 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
363 * include/bits/forward_list.tcc
364 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
365 _M_impl._M_head move assignment.
366 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
367 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
369 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
372 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
373 (UniquePointerPrinter): Print correct template argument, not type of
375 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
377 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
379 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
380 weak_ptr of array types.
382 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
385 * include/bits/hashtable_policy.h
386 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
388 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
389 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
390 Add false_type parameter.
391 (_Insert_base::insert): Adapt.
392 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
394 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
395 Add __n_elt parameter, defaulted to 1.
396 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
397 policy _M_need_rehash.
398 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
399 produce only 1 rehash if necessary.
400 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
401 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
403 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
404 Jonathan Wakely <jwakely@redhat.com>
406 PR libstdc++/59253 (partial)
407 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
408 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
409 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
411 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
412 of unique_ptr printer.
413 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
414 output of shared_ptr printer.
416 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
419 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
420 unnecessary symlink_status call.
421 (remove_all(const path&, error_code&)): Use filesystem::remove.
422 * src/filesystem/std-ops.cc: Likewise.
425 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
429 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
430 report an error for ENOENT.
431 (remove_all(const path&)): Fix type of result variable.
432 (remove_all(const path&, error_code&)): Use non-throwing increment
433 for directory iterator. Call POSIX remove directly to avoid redundant
434 calls to symlink_status. Do not report errors for ENOENT.
435 * src/filesystem/std-ops.cc: Likewise.
436 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
438 * testsuite/experimental/filesystem/operations/remove_all.cc:
441 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
444 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
445 redundant call to ec.clear().
446 (remove_all(const path&, error_code&))): Do not return an error for
448 * src/filesystem/std-ops.cc: Likewise.
449 * testsuite/27_io/filesystem/operations/remove.cc: New test.
450 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
451 results for non-existent paths.
452 * testsuite/experimental/filesystem/operations/remove.cc: New test.
453 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
454 expected results for non-existent paths.
456 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
457 check status_known once.
458 * include/experimental/bits/fs_ops.h: Likewise.
461 * include/std/functional (__is_byte_like): New trait.
462 (__is_std_equal_to): Remove.
463 (__boyer_moore_base_t): Use __is_byte_like instead of
465 * include/experimental/functional (__is_std_equal_to): Remove.
466 (__boyer_moore_base_t): Use __is_byte_like instead of
468 * testsuite/20_util/function_objects/83607.cc: New test.
470 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
472 Protect optional's deduction guide with the feature macro
473 * include/std/optional: Use the feature macro.
475 2018-01-03 Jakub Jelinek <jakub@redhat.com>
477 Update copyright years.
479 Copyright (C) 2018 Free Software Foundation, Inc.
481 Copying and distribution of this file, with or without modification,
482 are permitted in any medium without royalty provided the copyright
483 notice and this notice are preserved.