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