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