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