PR rtl-optimization/83723
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobb2aa592cf7e5fd955a3c01cef7ce3481dbec7ea6
1 2018-02-15  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/81797
4         * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
5         * configure: Regenerate.
6         * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
7         defined.
8         * include/Makefile.in: Regenerate.
10 2018-01-29  Jonathan Wakely  <jwakely@redhat.com>
12         PR libstdc++/83833
13         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
14         Add -ffloat-store to options for m68k and ia32.
16         * doc/xml/faq.xml: Update copyright years.
17         * doc/html/*: Regenerate.
19         PR libstdc++/83658
20         * include/std/any (any::__do_emplace): Only set _M_manager after
21         constructing the contained object.
22         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
23         * testsuite/20_util/any/modifiers/83658.cc: New test.
25 2018-01-25  Jonathan Wakely  <jwakely@redhat.com>
27         PR libstdc++/81076
28         * include/c_global/cstddef (__byte_operand): Define primary template.
29         * testsuite/18_support/byte/81076.cc: New test.
31 2018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
33         * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
34         dg-options and dg-add-options order.
35         * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
36         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
37         Likewise.
38         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
39         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
40         Likewise.
41         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
42         Likewise.
43         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
44         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
45         Likewise.
46         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
47         Likewise.
48         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
49         Likewise.
50         * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
51         Likewise.
52         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
53         Likewise.
54         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
55         Likewise.
56         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
57         Likewise.
58         * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
59         Likewise.
60         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
61         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
62         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
63         * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
64         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
65         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
66         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
67         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
68         * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
69         Likewise.
70         * testsuite/special_functions/19_sph_bessel/check_nan.cc:
71         Likewise.
72         * testsuite/special_functions/20_sph_legendre/check_nan.cc:
73         Likewise.
74         * testsuite/special_functions/21_sph_neumann/check_nan.cc:
75         Likewise.
77 2018-01-18  Uros Bizjak  <ubizjak@gmail.com>
79         * configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
80         include linux/types.h when checking linux/random.h header.
81         * config.h.in: Regenerate.
82         * configure: Ditto.
83         * src/c++11/random.cc: Conditionally include linux/types.h.
85 2018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
87         * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
89 2018-01-16  Jonathan Wakely  <jwakely@redhat.com>
91         PR libstdc++/83834
92         * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
93         pattern with exact match for std::cerr.
95 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
97         PR libstdc++/83833
98         * include/bits/random.h (chi_squared_distribution::param): Update
99         gamma distribution parameter.
100         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
101         test.
103         PR libstdc++/83830
104         * include/std/type_traits (has_unique_object_representations_v): Add
105         variable template.
106         * testsuite/20_util/has_unique_object_representations/value.cc: Check
107         variable template.
109 2018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
111         Make optional conditionally
112         trivially_{copy,move}_{constructible,assignable}
113         * include/std/optional (_Optional_payload): Fix the comment in
114         the class head and turn into a primary and one specialization.
115         (_Optional_payload::_M_engaged): Strike the NSDMI.
116         (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
117         New.
118         (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
119         Likewise.
120         (_Optional_payload<_Tp, false>::_M_get): Likewise.
121         (_Optional_payload<_Tp, false>::_M_reset): Likewise.
122         (_Optional_base_impl): Likewise.
123         (_Optional_base): Turn into a primary and three specializations.
124         (optional(nullopt)): Change the base init.
125         * testsuite/20_util/optional/assignment/8.cc: New.
126         * testsuite/20_util/optional/cons/trivial.cc: Likewise.
127         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
129 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
131         PR libstdc++/80276
132         * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
133         (get_template_arg_list): New.
134         (StdVariantPrinter._template_args): Remove, use get_template_arg_list
135         instead.
136         (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
137         of strings and regular expressions.
138         (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
139         (FilteringTypePrinter): Add docstring. Match using startswith. Use
140         strip_inline_namespaces instead of strip_versioned_namespace.
141         (add_one_type_printer): Prepend namespace to match argument.
142         (register_type_printers): Add type printers for char16_t and char32_t
143         string types and for types using cxx11 ABI. Update calls to
144         add_one_template_type_printer to provide default argument dicts.
145         * testsuite/libstdc++-prettyprinters/80276.cc: New test.
146         * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
147         basic_string<unsigned char> and basic_string<signed char>.
148         * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
149         to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
151 2018-01-14  Andreas Schwab  <schwab@linux-m68k.org>
153         PR libstdc++/81092
154         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
156 2018-01-13  Tim Shen  <timshen@google.com>
158         PR libstdc++/83601
159         * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
160         * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
161         * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
163 2018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
165         PR libstdc++/64054
166         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
167         Remove dg-xfail-run-if.
169 2018-01-10  François Dumont  <fdumont@gcc.gnu.org>
171         * include/bits/forward_list.h
172         (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
173         (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
174         (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
175         (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
176         (_Fwd_list_impl()): Add noexcept qualification.
177         (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
178         (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
179         (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
180         (_Fwd_list_base()): Default.
181         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
182         (_Fwd_list_base(_Fwd_list_base&&)): Default.
183         (forward_list<>()): Default.
184         (forward_list<>(forward_list&&)): Default.
185         (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
186         (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
187         (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
188         * include/bits/forward_list.tcc
189         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
190         _M_impl._M_head move assignment.
191         (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
192         * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
194 2018-01-09  Jonathan Wakely  <jwakely@redhat.com>
196         PR libstdc++/80276
197         * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
198         (UniquePointerPrinter): Print correct template argument, not type of
199         the pointer.
200         (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
201         a type.
202         * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
203         array type.
204         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
205         weak_ptr of array types.
207 2018-01-09  François Dumont  <fdumont@gcc.gnu.org>
209         PR libstdc++/83709
210         * include/bits/hashtable_policy.h
211         (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
212         __first != __last.
213         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
214         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
215         Add false_type parameter.
216         (_Insert_base::insert): Adapt.
217         * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
218         Adapt.
219         (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
220          Add __n_elt parameter, defaulted to 1.
221         (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
222         policy _M_need_rehash.
223         (_Hashtable::_M_merge_unique): Pass target number of elements to add to
224         produce only 1 rehash if necessary.
225         * testsuite/23_containers/unordered_map/insert/83709.cc: New.
226         * testsuite/23_containers/unordered_set/insert/83709.cc: New.
228 2018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
229             Jonathan Wakely  <jwakely@redhat.com>
231         PR libstdc++/59253 (partial)
232         * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
233         type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
234         (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
235         children.
236         * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
237         of unique_ptr printer.
238         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
239         output of shared_ptr printer.
241 2018-01-05  Jonathan Wakely  <jwakely@redhat.com>
243         PR libstdc++/83626
244         * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
245         unnecessary symlink_status call.
246         (remove_all(const path&, error_code&)): Use filesystem::remove.
247         * src/filesystem/std-ops.cc: Likewise.
249         PR libstdc++/83279
250         * src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
251         sendfile.
253         PR libstdc++/83626
254         * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
255         report an error for ENOENT.
256         (remove_all(const path&)): Fix type of result variable.
257         (remove_all(const path&, error_code&)): Use non-throwing increment
258         for directory iterator. Call POSIX remove directly to avoid redundant
259         calls to symlink_status. Do not report errors for ENOENT.
260         * src/filesystem/std-ops.cc: Likewise.
261         * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
262         overload.
263         * testsuite/experimental/filesystem/operations/remove_all.cc:
264         Likewise.
266 2018-01-04  Jonathan Wakely  <jwakely@redhat.com>
268         PR libstdc++/83626
269         * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
270         redundant call to ec.clear().
271         (remove_all(const path&, error_code&))): Do not return an error for
272         non-existent paths.
273         * src/filesystem/std-ops.cc: Likewise.
274         * testsuite/27_io/filesystem/operations/remove.cc: New test.
275         * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
276         results for non-existent paths.
277         * testsuite/experimental/filesystem/operations/remove.cc: New test.
278         * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
279         expected results for non-existent paths.
281         * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
282         check status_known once.
283         * include/experimental/bits/fs_ops.h: Likewise.
285         PR libstdc++/83607
286         * include/std/functional (__is_byte_like): New trait.
287         (__is_std_equal_to): Remove.
288         (__boyer_moore_base_t): Use __is_byte_like instead of
289         __is_std_equal_to.
290         * include/experimental/functional (__is_std_equal_to): Remove.
291         (__boyer_moore_base_t): Use __is_byte_like instead of
292         __is_std_equal_to.
293         * testsuite/20_util/function_objects/83607.cc: New test.
295 2018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
297         Protect optional's deduction guide with the feature macro
298         * include/std/optional: Use the feature macro.
300 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
302         Update copyright years.
304 Copyright (C) 2018 Free Software Foundation, Inc.
306 Copying and distribution of this file, with or without modification,
307 are permitted in any medium without royalty provided the copyright
308 notice and this notice are preserved.