Remove UBSAN in dwarf2out.c (PR tree-optimization/82491).
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobbdd4c6b4f83421afb04e372ee1167c5ef8cb381b
1 2018-03-26  Jonathan Wakely  <jwakely@redhat.com>
3         * include/std/variant (__get): Qualify calls to avoid ADL.
4         (__select_index): Adjust whitespace.
5         (variant): Add using-declaration to workaround Clang bug.
7 2018-03-22  Jonathan Wakely  <jwakely@redhat.com>
9         PR libstdc++/85040
10         * include/bits/stl_function.h (greater::__not_overloaded)
11         (less::__not_overloaded, greater_equal::__not_overloaded)
12         (less_equal::__not_overloaded): Fix ambiguous specializations.
13         * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
14         tests for type with overlaoded operators.
16 2018-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18         PR libstdc++/77691
19         * testsuite/experimental/memory_resource/resource_adaptor.cc:
20         xfail execution on 32-bit Solaris/x86.
22 2018-03-21  Jonathan Wakely  <jwakely@redhat.com>
24         * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
25         VERIFY instead of assert.
26         * testsuite/20_util/hash/84998.cc: New test.
27         * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
28         copy of test adjusted for Debug Mode.
29         * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
30         test in Debug Mode.
32 2018-03-20  François Dumont  <fdumont@gcc.gnu.org>
34         PR libstdc++/84998
35         * include/bits/stl_bvector.h: Fix std::hash friend declaration.
36         * include/std/bitset: Likewise.
37         * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
38         declaration.
39         * include/bits/stl_multimap.h (std::multimap<>): Likewise.
40         * include/bits/stl_multiset.h (std::multiset<>): Likewise.
41         * include/bits/stl_set.h (std::set<>): Likewise.
42         * include/bits/unordered_map.h (std::unordered_map<>): Fix
43         _Hash_merge_helper friend declaration.
44         (std::unordered_multimap<>): Likewise.
45         * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
46         (std::unordered_multiset<>): Likewise.
48 2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
50         * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
51         trailing slash for domain level link.
52         * doc/xml/faq.xml: Ditto.
53         * doc/xml/manual/appendix_free.xml (software): Ditto.
54         * doc/xml/manual/intro.xml: Ditto.
55         * doc/xml/manual/spine.xml: Ditto.
56         * doc/xml/spine.xml: Ditto.
58 2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
60         * doc/xml/manual/documentation_hacking.xml: Adjust link to
61         docbook.org.
63 2018-03-17  Jonathan Wakely  <jwakely@redhat.com>
65         * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
66         to compile as C++98.
68 2018-03-14  Jonathan Wakely  <jwakely@redhat.com>
70         PR libstdc++/78420
71         * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
72         (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
73         to ensure total order for pointers.
74         (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
75         Add operator() overloads for pointer arguments and make generic
76         overloads dispatch to new _S_cmp functions when comparisons would
77         use built-in operators for pointers.
78         * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
80 2018-03-12  Jonathan Wakely  <jwakely@redhat.com>
82         PR libstdc++/84773
83         PR libstdc++/83662
84         * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
85         * configure: Regenerate.
86         * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
87         (aligned_alloc): Add using-declaration.
88         * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
90 2018-03-09  François Dumont  <fdumont@gcc.gnu.org>
92         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
93         Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
94         registration.
96 2018-03-09  Jonathan Wakely  <jwakely@redhat.com>
98         PR libstdc++/84769
99         * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
100         Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
102         src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
103         src/filesystem/std-ops.cc (create_dir): Likewise.
105 2018-03-08  François Dumont  <fdumont@gcc.gnu.org>
107         * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
108         (StdListIteratorPrinter): Inherit from latter.
109         (StdFwdListIteratorPrinter): New, inherit from latter.
110         (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
111         when iterator has no associated container.
112         (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
113         __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
114         registrations.
115         * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
116         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
118 2018-03-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
120         PR libstdc++/84601
121         * include/std/optional (_Optional_payload): Split into multiple
122         specializations that can handle different cases of trivial or
123         non-trivial assignment operators.
124         * testsuite/20_util/optional/84601.cc: New.
125         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
127 2018-03-02  Jonathan Wakely  <jwakely@redhat.com>
129         PR libstdc++/84671
130         * include/bits/parse_numbers.h (_Number_help): Add partial
131         specialization to handle digit separators. Adjust partial
132         specialization for recursion temrination to require _Pow == 1ULL.
133         * testsuite/20_util/duration/literals/84671.cc: New
135 2018-02-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
137         Implement the missing bits of LWG 2769
138         * include/std/any (any_cast(const any&)): Add static_assert.
139         (any_cast(any&)): Likewise.
140         (any_cast(any&&)): Likewise, and remove the handling
141         for copyable-but-not-movable type.
142         * testsuite/20_util/any/misc/any_cast.cc: Adjust.
143         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
144         add new tests.
146 2018-02-23  Jonathan Wakely  <jwakely@redhat.com>
148         PR libstdc++/84532
149         * include/std/thread (thread::__make_invoker): Construct tuple
150         directly instead of using make_tuple.
151         * testsuite/30_threads/async/84532.cc: New.
152         * testsuite/30_threads/thread/84532.cc: New.
154 2018-02-20  François Dumont  <fdumont@gcc.gnu.org>
156         * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
157         (template<> __aligned_buffer): Define as __aligned_membuf alias.
159 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
161         PR target/84148
162         * configure: Regenerate.
164 2018-02-15  Jonathan Wakely  <jwakely@redhat.com>
166         PR libstdc++/81797
167         * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
168         * configure: Regenerate.
169         * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
170         defined.
171         * include/Makefile.in: Regenerate.
173 2018-01-29  Jonathan Wakely  <jwakely@redhat.com>
175         PR libstdc++/83833
176         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
177         Add -ffloat-store to options for m68k and ia32.
179         * doc/xml/faq.xml: Update copyright years.
180         * doc/html/*: Regenerate.
182         PR libstdc++/83658
183         * include/std/any (any::__do_emplace): Only set _M_manager after
184         constructing the contained object.
185         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
186         * testsuite/20_util/any/modifiers/83658.cc: New test.
188 2018-01-25  Jonathan Wakely  <jwakely@redhat.com>
190         PR libstdc++/81076
191         * include/c_global/cstddef (__byte_operand): Define primary template.
192         * testsuite/18_support/byte/81076.cc: New test.
194 2018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
196         * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
197         dg-options and dg-add-options order.
198         * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
199         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
200         Likewise.
201         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
202         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
203         Likewise.
204         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
205         Likewise.
206         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
207         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
208         Likewise.
209         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
210         Likewise.
211         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
212         Likewise.
213         * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
214         Likewise.
215         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
216         Likewise.
217         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
218         Likewise.
219         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
220         Likewise.
221         * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
222         Likewise.
223         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
224         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
225         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
226         * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
227         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
228         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
229         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
230         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
231         * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
232         Likewise.
233         * testsuite/special_functions/19_sph_bessel/check_nan.cc:
234         Likewise.
235         * testsuite/special_functions/20_sph_legendre/check_nan.cc:
236         Likewise.
237         * testsuite/special_functions/21_sph_neumann/check_nan.cc:
238         Likewise.
240 2018-01-18  Uros Bizjak  <ubizjak@gmail.com>
242         * configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
243         include linux/types.h when checking linux/random.h header.
244         * config.h.in: Regenerate.
245         * configure: Ditto.
246         * src/c++11/random.cc: Conditionally include linux/types.h.
248 2018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
250         * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
252 2018-01-16  Jonathan Wakely  <jwakely@redhat.com>
254         PR libstdc++/83834
255         * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
256         pattern with exact match for std::cerr.
258 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
260         PR libstdc++/83833
261         * include/bits/random.h (chi_squared_distribution::param): Update
262         gamma distribution parameter.
263         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
264         test.
266         PR libstdc++/83830
267         * include/std/type_traits (has_unique_object_representations_v): Add
268         variable template.
269         * testsuite/20_util/has_unique_object_representations/value.cc: Check
270         variable template.
272 2018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
274         Make optional conditionally
275         trivially_{copy,move}_{constructible,assignable}
276         * include/std/optional (_Optional_payload): Fix the comment in
277         the class head and turn into a primary and one specialization.
278         (_Optional_payload::_M_engaged): Strike the NSDMI.
279         (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
280         New.
281         (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
282         Likewise.
283         (_Optional_payload<_Tp, false>::_M_get): Likewise.
284         (_Optional_payload<_Tp, false>::_M_reset): Likewise.
285         (_Optional_base_impl): Likewise.
286         (_Optional_base): Turn into a primary and three specializations.
287         (optional(nullopt)): Change the base init.
288         * testsuite/20_util/optional/assignment/8.cc: New.
289         * testsuite/20_util/optional/cons/trivial.cc: Likewise.
290         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
292 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
294         PR libstdc++/80276
295         * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
296         (get_template_arg_list): New.
297         (StdVariantPrinter._template_args): Remove, use get_template_arg_list
298         instead.
299         (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
300         of strings and regular expressions.
301         (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
302         (FilteringTypePrinter): Add docstring. Match using startswith. Use
303         strip_inline_namespaces instead of strip_versioned_namespace.
304         (add_one_type_printer): Prepend namespace to match argument.
305         (register_type_printers): Add type printers for char16_t and char32_t
306         string types and for types using cxx11 ABI. Update calls to
307         add_one_template_type_printer to provide default argument dicts.
308         * testsuite/libstdc++-prettyprinters/80276.cc: New test.
309         * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
310         basic_string<unsigned char> and basic_string<signed char>.
311         * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
312         to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
314 2018-01-14  Andreas Schwab  <schwab@linux-m68k.org>
316         PR libstdc++/81092
317         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
319 2018-01-13  Tim Shen  <timshen@google.com>
321         PR libstdc++/83601
322         * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
323         * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
324         * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
326 2018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
328         PR libstdc++/64054
329         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
330         Remove dg-xfail-run-if.
332 2018-01-10  François Dumont  <fdumont@gcc.gnu.org>
334         * include/bits/forward_list.h
335         (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
336         (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
337         (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
338         (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
339         (_Fwd_list_impl()): Add noexcept qualification.
340         (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
341         (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
342         (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
343         (_Fwd_list_base()): Default.
344         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
345         (_Fwd_list_base(_Fwd_list_base&&)): Default.
346         (forward_list<>()): Default.
347         (forward_list<>(forward_list&&)): Default.
348         (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
349         (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
350         (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
351         * include/bits/forward_list.tcc
352         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
353         _M_impl._M_head move assignment.
354         (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
355         * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
357 2018-01-09  Jonathan Wakely  <jwakely@redhat.com>
359         PR libstdc++/80276
360         * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
361         (UniquePointerPrinter): Print correct template argument, not type of
362         the pointer.
363         (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
364         a type.
365         * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
366         array type.
367         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
368         weak_ptr of array types.
370 2018-01-09  François Dumont  <fdumont@gcc.gnu.org>
372         PR libstdc++/83709
373         * include/bits/hashtable_policy.h
374         (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
375         __first != __last.
376         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
377         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
378         Add false_type parameter.
379         (_Insert_base::insert): Adapt.
380         * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
381         Adapt.
382         (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
383          Add __n_elt parameter, defaulted to 1.
384         (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
385         policy _M_need_rehash.
386         (_Hashtable::_M_merge_unique): Pass target number of elements to add to
387         produce only 1 rehash if necessary.
388         * testsuite/23_containers/unordered_map/insert/83709.cc: New.
389         * testsuite/23_containers/unordered_set/insert/83709.cc: New.
391 2018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
392             Jonathan Wakely  <jwakely@redhat.com>
394         PR libstdc++/59253 (partial)
395         * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
396         type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
397         (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
398         children.
399         * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
400         of unique_ptr printer.
401         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
402         output of shared_ptr printer.
404 2018-01-05  Jonathan Wakely  <jwakely@redhat.com>
406         PR libstdc++/83626
407         * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
408         unnecessary symlink_status call.
409         (remove_all(const path&, error_code&)): Use filesystem::remove.
410         * src/filesystem/std-ops.cc: Likewise.
412         PR libstdc++/83279
413         * src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
414         sendfile.
416         PR libstdc++/83626
417         * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
418         report an error for ENOENT.
419         (remove_all(const path&)): Fix type of result variable.
420         (remove_all(const path&, error_code&)): Use non-throwing increment
421         for directory iterator. Call POSIX remove directly to avoid redundant
422         calls to symlink_status. Do not report errors for ENOENT.
423         * src/filesystem/std-ops.cc: Likewise.
424         * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
425         overload.
426         * testsuite/experimental/filesystem/operations/remove_all.cc:
427         Likewise.
429 2018-01-04  Jonathan Wakely  <jwakely@redhat.com>
431         PR libstdc++/83626
432         * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
433         redundant call to ec.clear().
434         (remove_all(const path&, error_code&))): Do not return an error for
435         non-existent paths.
436         * src/filesystem/std-ops.cc: Likewise.
437         * testsuite/27_io/filesystem/operations/remove.cc: New test.
438         * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
439         results for non-existent paths.
440         * testsuite/experimental/filesystem/operations/remove.cc: New test.
441         * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
442         expected results for non-existent paths.
444         * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
445         check status_known once.
446         * include/experimental/bits/fs_ops.h: Likewise.
448         PR libstdc++/83607
449         * include/std/functional (__is_byte_like): New trait.
450         (__is_std_equal_to): Remove.
451         (__boyer_moore_base_t): Use __is_byte_like instead of
452         __is_std_equal_to.
453         * include/experimental/functional (__is_std_equal_to): Remove.
454         (__boyer_moore_base_t): Use __is_byte_like instead of
455         __is_std_equal_to.
456         * testsuite/20_util/function_objects/83607.cc: New test.
458 2018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
460         Protect optional's deduction guide with the feature macro
461         * include/std/optional: Use the feature macro.
463 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
465         Update copyright years.
467 Copyright (C) 2018 Free Software Foundation, Inc.
469 Copying and distribution of this file, with or without modification,
470 are permitted in any medium without royalty provided the copyright
471 notice and this notice are preserved.