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