compiler: support go:noescape cross package
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob6c5a2741ba89a4a746387d51cd3f997977e41228
1 2018-01-09  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/80276
4         * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
5         (UniquePointerPrinter): Print correct template argument, not type of
6         the pointer.
7         (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
8         a type.
9         * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
10         array type.
11         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
12         weak_ptr of array types.
14 2018-01-09  François Dumont  <fdumont@gcc.gnu.org>
16         PR libstdc++/83709
17         * include/bits/hashtable_policy.h
18         (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
19         __first != __last.
20         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
21         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
22         Add false_type parameter.
23         (_Insert_base::insert): Adapt.
24         * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
25         Adapt.
26         (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
27          Add __n_elt parameter, defaulted to 1.
28         (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
29         policy _M_need_rehash.
30         (_Hashtable::_M_merge_unique): Pass target number of elements to add to
31         produce only 1 rehash if necessary.
32         * testsuite/23_containers/unordered_map/insert/83709.cc: New.
33         * testsuite/23_containers/unordered_set/insert/83709.cc: New.
35 2018-01-09  Jonathan Wakely  <jwakely@redhat.com>
37         PR libstdc++/59253 (partial)
38         * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
39         type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
40         (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
41         children.
42         * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
43         of unique_ptr printer.
44         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
45         output of shared_ptr printer.
47 2018-01-05  Jonathan Wakely  <jwakely@redhat.com>
49         PR libstdc++/83626
50         * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
51         unnecessary symlink_status call.
52         (remove_all(const path&, error_code&)): Use filesystem::remove.
53         * src/filesystem/std-ops.cc: Likewise.
55         PR libstdc++/83279
56         * src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
57         sendfile.
59         PR libstdc++/83626
60         * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
61         report an error for ENOENT.
62         (remove_all(const path&)): Fix type of result variable.
63         (remove_all(const path&, error_code&)): Use non-throwing increment
64         for directory iterator. Call POSIX remove directly to avoid redundant
65         calls to symlink_status. Do not report errors for ENOENT.
66         * src/filesystem/std-ops.cc: Likewise.
67         * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
68         overload.
69         * testsuite/experimental/filesystem/operations/remove_all.cc:
70         Likewise.
72 2018-01-04  Jonathan Wakely  <jwakely@redhat.com>
74         PR libstdc++/83626
75         * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
76         redundant call to ec.clear().
77         (remove_all(const path&, error_code&))): Do not return an error for
78         non-existent paths.
79         * src/filesystem/std-ops.cc: Likewise.
80         * testsuite/27_io/filesystem/operations/remove.cc: New test.
81         * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
82         results for non-existent paths.
83         * testsuite/experimental/filesystem/operations/remove.cc: New test.
84         * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
85         expected results for non-existent paths.
87         * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
88         check status_known once.
89         * include/experimental/bits/fs_ops.h: Likewise.
91         PR libstdc++/83607
92         * include/std/functional (__is_byte_like): New trait.
93         (__is_std_equal_to): Remove.
94         (__boyer_moore_base_t): Use __is_byte_like instead of
95         __is_std_equal_to.
96         * include/experimental/functional (__is_std_equal_to): Remove.
97         (__boyer_moore_base_t): Use __is_byte_like instead of
98         __is_std_equal_to.
99         * testsuite/20_util/function_objects/83607.cc: New test.
101 2018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
103         Protect optional's deduction guide with the feature macro
104         * include/std/optional: Use the feature macro.
106 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
108         Update copyright years.
110 Copyright (C) 2018 Free Software Foundation, Inc.
112 Copying and distribution of this file, with or without modification,
113 are permitted in any medium without royalty provided the copyright
114 notice and this notice are preserved.