1 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
3 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
4 trailing slash for domain level link.
5 * doc/xml/faq.xml: Ditto.
6 * doc/xml/manual/appendix_free.xml (software): Ditto.
7 * doc/xml/manual/intro.xml: Ditto.
8 * doc/xml/manual/spine.xml: Ditto.
9 * doc/xml/spine.xml: Ditto.
11 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
12 * doc/xml/manual/documentation_hacking.xml: Adjust link to
15 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
17 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
20 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
23 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
24 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
25 to ensure total order for pointers.
26 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
27 Add operator() overloads for pointer arguments and make generic
28 overloads dispatch to new _S_cmp functions when comparisons would
29 use built-in operators for pointers.
30 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
32 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
36 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
37 * configure: Regenerate.
38 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
39 (aligned_alloc): Add using-declaration.
40 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
42 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
44 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
45 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
48 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
51 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
52 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
54 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
55 src/filesystem/std-ops.cc (create_dir): Likewise.
57 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
59 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
60 (StdListIteratorPrinter): Inherit from latter.
61 (StdFwdListIteratorPrinter): New, inherit from latter.
62 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
63 when iterator has no associated container.
64 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
65 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
67 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
68 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
70 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
73 * include/std/optional (_Optional_payload): Split into multiple
74 specializations that can handle different cases of trivial or
75 non-trivial assignment operators.
76 * testsuite/20_util/optional/84601.cc: New.
77 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
79 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
82 * include/bits/parse_numbers.h (_Number_help): Add partial
83 specialization to handle digit separators. Adjust partial
84 specialization for recursion temrination to require _Pow == 1ULL.
85 * testsuite/20_util/duration/literals/84671.cc: New
87 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
89 Implement the missing bits of LWG 2769
90 * include/std/any (any_cast(const any&)): Add static_assert.
91 (any_cast(any&)): Likewise.
92 (any_cast(any&&)): Likewise, and remove the handling
93 for copyable-but-not-movable type.
94 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
95 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
98 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
101 * include/std/thread (thread::__make_invoker): Construct tuple
102 directly instead of using make_tuple.
103 * testsuite/30_threads/async/84532.cc: New.
104 * testsuite/30_threads/thread/84532.cc: New.
106 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
108 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
109 (template<> __aligned_buffer): Define as __aligned_membuf alias.
111 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
114 * configure: Regenerate.
116 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
119 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
120 * configure: Regenerate.
121 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
123 * include/Makefile.in: Regenerate.
125 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
128 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
129 Add -ffloat-store to options for m68k and ia32.
131 * doc/xml/faq.xml: Update copyright years.
132 * doc/html/*: Regenerate.
135 * include/std/any (any::__do_emplace): Only set _M_manager after
136 constructing the contained object.
137 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
138 * testsuite/20_util/any/modifiers/83658.cc: New test.
140 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
143 * include/c_global/cstddef (__byte_operand): Define primary template.
144 * testsuite/18_support/byte/81076.cc: New test.
146 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
148 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
149 dg-options and dg-add-options order.
150 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
151 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
153 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
154 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
156 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
158 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
159 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
161 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
163 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
165 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
167 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
169 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
171 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
173 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
175 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
176 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
177 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
178 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
179 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
180 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
181 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
182 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
183 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
185 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
187 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
189 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
192 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
194 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
195 include linux/types.h when checking linux/random.h header.
196 * config.h.in: Regenerate.
198 * src/c++11/random.cc: Conditionally include linux/types.h.
200 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
202 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
204 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
207 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
208 pattern with exact match for std::cerr.
210 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
213 * include/bits/random.h (chi_squared_distribution::param): Update
214 gamma distribution parameter.
215 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
219 * include/std/type_traits (has_unique_object_representations_v): Add
221 * testsuite/20_util/has_unique_object_representations/value.cc: Check
224 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
226 Make optional conditionally
227 trivially_{copy,move}_{constructible,assignable}
228 * include/std/optional (_Optional_payload): Fix the comment in
229 the class head and turn into a primary and one specialization.
230 (_Optional_payload::_M_engaged): Strike the NSDMI.
231 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
233 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
235 (_Optional_payload<_Tp, false>::_M_get): Likewise.
236 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
237 (_Optional_base_impl): Likewise.
238 (_Optional_base): Turn into a primary and three specializations.
239 (optional(nullopt)): Change the base init.
240 * testsuite/20_util/optional/assignment/8.cc: New.
241 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
242 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
244 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
247 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
248 (get_template_arg_list): New.
249 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
251 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
252 of strings and regular expressions.
253 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
254 (FilteringTypePrinter): Add docstring. Match using startswith. Use
255 strip_inline_namespaces instead of strip_versioned_namespace.
256 (add_one_type_printer): Prepend namespace to match argument.
257 (register_type_printers): Add type printers for char16_t and char32_t
258 string types and for types using cxx11 ABI. Update calls to
259 add_one_template_type_printer to provide default argument dicts.
260 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
261 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
262 basic_string<unsigned char> and basic_string<signed char>.
263 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
264 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
266 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
269 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
271 2018-01-13 Tim Shen <timshen@google.com>
274 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
275 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
276 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
278 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
281 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
282 Remove dg-xfail-run-if.
284 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
286 * include/bits/forward_list.h
287 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
288 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
289 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
290 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
291 (_Fwd_list_impl()): Add noexcept qualification.
292 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
293 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
294 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
295 (_Fwd_list_base()): Default.
296 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
297 (_Fwd_list_base(_Fwd_list_base&&)): Default.
298 (forward_list<>()): Default.
299 (forward_list<>(forward_list&&)): Default.
300 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
301 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
302 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
303 * include/bits/forward_list.tcc
304 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
305 _M_impl._M_head move assignment.
306 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
307 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
309 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
312 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
313 (UniquePointerPrinter): Print correct template argument, not type of
315 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
317 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
319 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
320 weak_ptr of array types.
322 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
325 * include/bits/hashtable_policy.h
326 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
328 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
329 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
330 Add false_type parameter.
331 (_Insert_base::insert): Adapt.
332 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
334 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
335 Add __n_elt parameter, defaulted to 1.
336 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
337 policy _M_need_rehash.
338 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
339 produce only 1 rehash if necessary.
340 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
341 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
343 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
344 Jonathan Wakely <jwakely@redhat.com>
346 PR libstdc++/59253 (partial)
347 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
348 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
349 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
351 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
352 of unique_ptr printer.
353 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
354 output of shared_ptr printer.
356 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
359 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
360 unnecessary symlink_status call.
361 (remove_all(const path&, error_code&)): Use filesystem::remove.
362 * src/filesystem/std-ops.cc: Likewise.
365 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
369 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
370 report an error for ENOENT.
371 (remove_all(const path&)): Fix type of result variable.
372 (remove_all(const path&, error_code&)): Use non-throwing increment
373 for directory iterator. Call POSIX remove directly to avoid redundant
374 calls to symlink_status. Do not report errors for ENOENT.
375 * src/filesystem/std-ops.cc: Likewise.
376 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
378 * testsuite/experimental/filesystem/operations/remove_all.cc:
381 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
384 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
385 redundant call to ec.clear().
386 (remove_all(const path&, error_code&))): Do not return an error for
388 * src/filesystem/std-ops.cc: Likewise.
389 * testsuite/27_io/filesystem/operations/remove.cc: New test.
390 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
391 results for non-existent paths.
392 * testsuite/experimental/filesystem/operations/remove.cc: New test.
393 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
394 expected results for non-existent paths.
396 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
397 check status_known once.
398 * include/experimental/bits/fs_ops.h: Likewise.
401 * include/std/functional (__is_byte_like): New trait.
402 (__is_std_equal_to): Remove.
403 (__boyer_moore_base_t): Use __is_byte_like instead of
405 * include/experimental/functional (__is_std_equal_to): Remove.
406 (__boyer_moore_base_t): Use __is_byte_like instead of
408 * testsuite/20_util/function_objects/83607.cc: New test.
410 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
412 Protect optional's deduction guide with the feature macro
413 * include/std/optional: Use the feature macro.
415 2018-01-03 Jakub Jelinek <jakub@redhat.com>
417 Update copyright years.
419 Copyright (C) 2018 Free Software Foundation, Inc.
421 Copying and distribution of this file, with or without modification,
422 are permitted in any medium without royalty provided the copyright
423 notice and this notice are preserved.