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