Link with correct values-*.o files on Solaris (PR target/40411)
[gcc.git] / libstdc++-v3 / ChangeLog
1 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2
3 PR libstdc++/64054
4 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
5 Remove dg-xfail-run-if.
6
7 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
8
9 * include/bits/forward_list.h
10 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
11 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
12 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
13 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
14 (_Fwd_list_impl()): Add noexcept qualification.
15 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
16 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
17 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
18 (_Fwd_list_base()): Default.
19 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
20 (_Fwd_list_base(_Fwd_list_base&&)): Default.
21 (forward_list<>()): Default.
22 (forward_list<>(forward_list&&)): Default.
23 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
24 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
25 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
26 * include/bits/forward_list.tcc
27 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
28 _M_impl._M_head move assignment.
29 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
30 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
31
32 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
33
34 PR libstdc++/80276
35 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
36 (UniquePointerPrinter): Print correct template argument, not type of
37 the pointer.
38 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
39 a type.
40 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
41 array type.
42 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
43 weak_ptr of array types.
44
45 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
46
47 PR libstdc++/83709
48 * include/bits/hashtable_policy.h
49 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
50 __first != __last.
51 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
52 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
53 Add false_type parameter.
54 (_Insert_base::insert): Adapt.
55 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
56 Adapt.
57 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
58 Add __n_elt parameter, defaulted to 1.
59 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
60 policy _M_need_rehash.
61 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
62 produce only 1 rehash if necessary.
63 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
64 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
65
66 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
67
68 PR libstdc++/59253 (partial)
69 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
70 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
71 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
72 children.
73 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
74 of unique_ptr printer.
75 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
76 output of shared_ptr printer.
77
78 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
79
80 PR libstdc++/83626
81 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
82 unnecessary symlink_status call.
83 (remove_all(const path&, error_code&)): Use filesystem::remove.
84 * src/filesystem/std-ops.cc: Likewise.
85
86 PR libstdc++/83279
87 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
88 sendfile.
89
90 PR libstdc++/83626
91 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
92 report an error for ENOENT.
93 (remove_all(const path&)): Fix type of result variable.
94 (remove_all(const path&, error_code&)): Use non-throwing increment
95 for directory iterator. Call POSIX remove directly to avoid redundant
96 calls to symlink_status. Do not report errors for ENOENT.
97 * src/filesystem/std-ops.cc: Likewise.
98 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
99 overload.
100 * testsuite/experimental/filesystem/operations/remove_all.cc:
101 Likewise.
102
103 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
104
105 PR libstdc++/83626
106 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
107 redundant call to ec.clear().
108 (remove_all(const path&, error_code&))): Do not return an error for
109 non-existent paths.
110 * src/filesystem/std-ops.cc: Likewise.
111 * testsuite/27_io/filesystem/operations/remove.cc: New test.
112 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
113 results for non-existent paths.
114 * testsuite/experimental/filesystem/operations/remove.cc: New test.
115 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
116 expected results for non-existent paths.
117
118 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
119 check status_known once.
120 * include/experimental/bits/fs_ops.h: Likewise.
121
122 PR libstdc++/83607
123 * include/std/functional (__is_byte_like): New trait.
124 (__is_std_equal_to): Remove.
125 (__boyer_moore_base_t): Use __is_byte_like instead of
126 __is_std_equal_to.
127 * include/experimental/functional (__is_std_equal_to): Remove.
128 (__boyer_moore_base_t): Use __is_byte_like instead of
129 __is_std_equal_to.
130 * testsuite/20_util/function_objects/83607.cc: New test.
131
132 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
133
134 Protect optional's deduction guide with the feature macro
135 * include/std/optional: Use the feature macro.
136
137 2018-01-03 Jakub Jelinek <jakub@redhat.com>
138
139 Update copyright years.
140 \f
141 Copyright (C) 2018 Free Software Foundation, Inc.
142
143 Copying and distribution of this file, with or without modification,
144 are permitted in any medium without royalty provided the copyright
145 notice and this notice are preserved.