* gcc.dg/ipa/inlinehint-4.c: Also pass --param inline-unit-growth=20.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobe5614460b8e008f2db78d42ea1d08a7bfbcf1c4a
1 2018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
3         * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
5 2018-01-16  Jonathan Wakely  <jwakely@redhat.com>
7         PR libstdc++/83834
8         * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
9         pattern with exact match for std::cerr.
11 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
13         PR libstdc++/83833
14         * include/bits/random.h (chi_squared_distribution::param): Update
15         gamma distribution parameter.
16         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
17         test.
19         PR libstdc++/83830
20         * include/std/type_traits (has_unique_object_representations_v): Add
21         variable template.
22         * testsuite/20_util/has_unique_object_representations/value.cc: Check
23         variable template.
25 2018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
27         Make optional conditionally
28         trivially_{copy,move}_{constructible,assignable}
29         * include/std/optional (_Optional_payload): Fix the comment in
30         the class head and turn into a primary and one specialization.
31         (_Optional_payload::_M_engaged): Strike the NSDMI.
32         (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
33         New.
34         (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
35         Likewise.
36         (_Optional_payload<_Tp, false>::_M_get): Likewise.
37         (_Optional_payload<_Tp, false>::_M_reset): Likewise.
38         (_Optional_base_impl): Likewise.
39         (_Optional_base): Turn into a primary and three specializations.
40         (optional(nullopt)): Change the base init.
41         * testsuite/20_util/optional/assignment/8.cc: New.
42         * testsuite/20_util/optional/cons/trivial.cc: Likewise.
43         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
45 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
47         PR libstdc++/80276
48         * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
49         (get_template_arg_list): New.
50         (StdVariantPrinter._template_args): Remove, use get_template_arg_list
51         instead.
52         (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
53         of strings and regular expressions.
54         (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
55         (FilteringTypePrinter): Add docstring. Match using startswith. Use
56         strip_inline_namespaces instead of strip_versioned_namespace.
57         (add_one_type_printer): Prepend namespace to match argument.
58         (register_type_printers): Add type printers for char16_t and char32_t
59         string types and for types using cxx11 ABI. Update calls to
60         add_one_template_type_printer to provide default argument dicts.
61         * testsuite/libstdc++-prettyprinters/80276.cc: New test.
62         * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
63         basic_string<unsigned char> and basic_string<signed char>.
64         * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
65         to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
67 2018-01-14  Andreas Schwab  <schwab@linux-m68k.org>
69         PR libstdc++/81092
70         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
72 2018-01-13  Tim Shen  <timshen@google.com>
74         PR libstdc++/83601
75         * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
76         * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
77         * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
79 2018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
81         PR libstdc++/64054
82         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
83         Remove dg-xfail-run-if.
85 2018-01-10  François Dumont  <fdumont@gcc.gnu.org>
87         * include/bits/forward_list.h
88         (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
89         (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
90         (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
91         (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
92         (_Fwd_list_impl()): Add noexcept qualification.
93         (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
94         (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
95         (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
96         (_Fwd_list_base()): Default.
97         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
98         (_Fwd_list_base(_Fwd_list_base&&)): Default.
99         (forward_list<>()): Default.
100         (forward_list<>(forward_list&&)): Default.
101         (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
102         (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
103         (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
104         * include/bits/forward_list.tcc
105         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
106         _M_impl._M_head move assignment.
107         (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
108         * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
110 2018-01-09  Jonathan Wakely  <jwakely@redhat.com>
112         PR libstdc++/80276
113         * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
114         (UniquePointerPrinter): Print correct template argument, not type of
115         the pointer.
116         (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
117         a type.
118         * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
119         array type.
120         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
121         weak_ptr of array types.
123 2018-01-09  François Dumont  <fdumont@gcc.gnu.org>
125         PR libstdc++/83709
126         * include/bits/hashtable_policy.h
127         (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
128         __first != __last.
129         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
130         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
131         Add false_type parameter.
132         (_Insert_base::insert): Adapt.
133         * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
134         Adapt.
135         (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
136          Add __n_elt parameter, defaulted to 1.
137         (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
138         policy _M_need_rehash.
139         (_Hashtable::_M_merge_unique): Pass target number of elements to add to
140         produce only 1 rehash if necessary.
141         * testsuite/23_containers/unordered_map/insert/83709.cc: New.
142         * testsuite/23_containers/unordered_set/insert/83709.cc: New.
144 2018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
145             Jonathan Wakely  <jwakely@redhat.com>
147         PR libstdc++/59253 (partial)
148         * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
149         type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
150         (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
151         children.
152         * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
153         of unique_ptr printer.
154         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
155         output of shared_ptr printer.
157 2018-01-05  Jonathan Wakely  <jwakely@redhat.com>
159         PR libstdc++/83626
160         * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
161         unnecessary symlink_status call.
162         (remove_all(const path&, error_code&)): Use filesystem::remove.
163         * src/filesystem/std-ops.cc: Likewise.
165         PR libstdc++/83279
166         * src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
167         sendfile.
169         PR libstdc++/83626
170         * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
171         report an error for ENOENT.
172         (remove_all(const path&)): Fix type of result variable.
173         (remove_all(const path&, error_code&)): Use non-throwing increment
174         for directory iterator. Call POSIX remove directly to avoid redundant
175         calls to symlink_status. Do not report errors for ENOENT.
176         * src/filesystem/std-ops.cc: Likewise.
177         * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
178         overload.
179         * testsuite/experimental/filesystem/operations/remove_all.cc:
180         Likewise.
182 2018-01-04  Jonathan Wakely  <jwakely@redhat.com>
184         PR libstdc++/83626
185         * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
186         redundant call to ec.clear().
187         (remove_all(const path&, error_code&))): Do not return an error for
188         non-existent paths.
189         * src/filesystem/std-ops.cc: Likewise.
190         * testsuite/27_io/filesystem/operations/remove.cc: New test.
191         * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
192         results for non-existent paths.
193         * testsuite/experimental/filesystem/operations/remove.cc: New test.
194         * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
195         expected results for non-existent paths.
197         * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
198         check status_known once.
199         * include/experimental/bits/fs_ops.h: Likewise.
201         PR libstdc++/83607
202         * include/std/functional (__is_byte_like): New trait.
203         (__is_std_equal_to): Remove.
204         (__boyer_moore_base_t): Use __is_byte_like instead of
205         __is_std_equal_to.
206         * include/experimental/functional (__is_std_equal_to): Remove.
207         (__boyer_moore_base_t): Use __is_byte_like instead of
208         __is_std_equal_to.
209         * testsuite/20_util/function_objects/83607.cc: New test.
211 2018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
213         Protect optional's deduction guide with the feature macro
214         * include/std/optional: Use the feature macro.
216 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
218         Update copyright years.
220 Copyright (C) 2018 Free Software Foundation, Inc.
222 Copying and distribution of this file, with or without modification,
223 are permitted in any medium without royalty provided the copyright
224 notice and this notice are preserved.