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