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