Add Cortex-A15 tuning to gcc.dg/uninit-pred-8_a.c
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob7a70e250bf7fcbc12e12a948cd0a61e639684034
1 2017-01-12  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/66284
4         * doc/xml/manual/intro.xml: Document LWG 2781 change.
5         * doc/html/*: Regenerate.
6         * include/std/functional (_Function_base::_Ref_manager): Remove.
7         (_Function_handler): Remove partial specializations for
8         reference_wrapper.
9         (function::target): Remove special case for const qualification.
10         * testsuite/20_util/function/6.cc: Adjust tests for target type.
11         * testsuite/20_util/function/7.cc: Likewise.
12         * testsuite/20_util/function/8.cc: Likewise.
14 2017-01-11  Jonathan Wakely  <jwakely@redhat.com>
16         PR libstdc++/78134
17         * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
18         (map::equal_range): Fix return type of heterogeneous overloads.
19         * include/bits/stl_multimap.h (multimap::lower_bound)
20         (multimap::upper_bound, multimap::equal_range): Likewise.
21         * include/bits/stl_multiset.h (multiset::lower_bound)
22         (multiset::upper_bound, multiset::equal_range): Likewise.
23         * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
24         (set::equal_range): Likewise.
25         * testsuite/23_containers/map/operations/2.cc
26         * testsuite/23_containers/multimap/operations/2.cc
27         * testsuite/23_containers/multiset/operations/2.cc
28         * testsuite/23_containers/set/operations/2.cc
30         PR libstdc++/78273
31         * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
32         the heterogeneous comparison can only find one match.
33         * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
34         * testsuite/23_containers/map/operations/2.cc: Test count works with
35         comparison function that just partitions rather than sorting.
36         * testsuite/23_containers/set/operations/2.cc: Likewise.
38 2017-01-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
40         Reduce the size of variant, it doesn't need an index of
41         type size_t internally.
42         * include/std/variant (parse_numbers.h): New include.
43         (__select_index): New.
44         (_Variant_storage<false, _Types...>::_M_reset_impl): Use
45         _index_type for comparison with variant_npos.
46         (_Variant_storage<false, _Types...>::__index_type): New.
47         (_Variant_storage<false, _Types...>::_M_index): Change the
48         type from size_t to __index_type.
49         (_Variant_storage<true, _Types...>::__index_type): New.
50         (_Variant_storage<true, _Types...>::_M_index): Change the
51         type from size_t to __index_type.
52         (_Variant_base::_M_valid): Use _Storage::__index_type
53         for comparison with variant_npos.
54         (variant::index): Use _Base::_Storage::__index_type
55         for comparison with variant_npos.
56         * testsuite/20_util/variant/index_type.cc: New.
58 2017-01-10  Jonathan Wakely  <jwakely@redhat.com>
60         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
61         effective target selector to prevent running in C++17 mode.
63         PR libstdc++/77528
64         * include/bits/stl_queue.h (queue::c): Add default member initializer.
65         (queue::queue()): Add constructor and define as defaulted.
66         (queue::queue(_Sequence&&)): Remove default argument.
67         (priority_queue::c, priority_queue::comp): Add default member
68         initializers.
69         (priority_queue::priority_queue()): Add constructor and define as
70         defaulted.
71         (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
72         Remove default argument for first parameter.
73         * include/bits/stl_stack.h (stack::c): Add default member initializer.
74         (stack::stack()): Add constructor and define as defaulted.
75         (stack::stack(const _Sequence&)): Remove default argument.
76         * testsuite/23_containers/priority_queue/requirements/
77         explicit_instantiation/1.cc: Test explicit instantiation with
78         non-DefaultConstructible sequence.
79         * testsuite/23_containers/priority_queue/77528.cc: New test.
80         * testsuite/23_containers/priority_queue/requirements/
81         explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
82         * testsuite/23_containers/queue/77528.cc: New test.
83         * testsuite/23_containers/queue/requirements/explicit_instantiation/
84         1.cc: Test explicit instantiation with non-DefaultConstructible
85         sequence.
86         * testsuite/23_containers/queue/requirements/explicit_instantiation/
87         1_c++0x.cc: Replace with 1_c++98.cc.
88         * testsuite/23_containers/stack/77528.cc: New test.
89         * testsuite/23_containers/stack/requirements/explicit_instantiation/
90         1.cc: Test explicit instantiation with non-DefaultConstructible
91         sequence.
92         * testsuite/23_containers/stack/requirements/explicit_instantiation/
93         1_c++0x.cc: Replace with 1_c++98.cc.
95 2017-01-10  Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
97         * include/bits/locale_facets_nonio.tcc
98         (time_get::_M_extract_via_format): Avoid compilation errors with
99         non-standard struct tm.
101 2017-01-10  François Dumont  <fdumont@gcc.gnu.org>
102             Jonathan Wakely  <jwakely@redhat.com>
104         * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
105         (is_specialization, strip_versioned_namespace): New helpers functions
106         to work with symbols in the versioned namespace.
107         (Printer.add_version): Add second name using versioned namespace.
108         (add_one_template_type_printer, add_one_type_printer): Add second
109         type printers using versioned namespace.
110         (register_type_printers): Add template type printer for basic_string.
111         (build_libstdcxx_dictionary): Remove dead code.
112         * python/libstdcxx/v6/xmethods.py: Make all matchers look for
113         versioned namespace.
114         * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
115         results.
116         * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
118 2017-01-09  Jonathan Wakely  <jwakely@redhat.com>
120         PR libstdc++/79017
121         * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
122         functions separately on darwin and if they're missing define
123         _GLIBCXX_NO_C99_ROUNDING_FUNCS.
124         * config.h.in: Regenerate.
125         * configure: Regenerate.
126         * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
127         (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
129         * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
130         to detect correct thread_local destructors.
131         * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
132         Define.
134 2017-01-09  Jonathan Wakely  <jwakely@redhat.com>
135             Aditya Kumar  <hiraditya@msn.com>
137         PR libstdc++/66414
138         * include/bits/basic_string.tcc
139         (basic_string::find(const CharT*, size_type, size_type)): Optimize.
141 2017-01-06  Jonathan Wakely  <jwakely@redhat.com>
143         * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
144         * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
146         * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
147         Include <cassert> header.
149         PR libstdc++/78968
150         * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
151         * configure: Regenerate.
153 2017-01-06  Barrett Adair  <barrettellisadair@gmail.com>
154             Jonathan Wakely  <jwakely@redhat.com>
156         * include/std/variant (variant, swap): Replace __and_ usage with fold
157         expressions.
159 2017-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
161         PR go/78978
162         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
163         * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
164         GLIBCXX_CHECK_ASSEMBLER_HWCAP.
165         * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
166         HWCAP_FLAGS.
167         * aclocal.m4: Regenerate.
168         * configure: Regenerate.
169         * Makefile.in, doc/Makefile.in, include/Makefile.in,
170         libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
171         src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
172         src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
174 2017-01-06  Jonathan Wakely  <jwakely@redhat.com>
176         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
178         PR libstdc++/78991
179         * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
180         (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
181         (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
182         move function objects.
183         (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
184         (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
185         * testsuite/25_algorithms/sort/78991.cc: New test.
187 2017-01-05  Jonathan Wakely  <jwakely@redhat.com>
189         * include/bits/std_function.h (function::_Signature_type): Remove.
190         (function::function(_Functor)): Adjust.
192 2017-01-05  Tim Shen  <timshen@google.com>
194         PR libstdc++/78996
195         * include/std/variant (__gen_vtable_impl): rename __unused to
196         __dimensions to avoid naming conflict.
198 2017-01-04  Jonathan Wakely  <jwakely@redhat.com>
200         PR libstdc++/78968
201         * config.h.in: Regenerate.
202         * configure: Likewise.
203         * configure.ac: Check for __cxa_thread_atexit.
204         * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
205         Don't define __cxa_thread_atexit if libc provides it.
207 2017-01-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
209         Implement 2801, Default-constructibility of unique_ptr.
210         * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
211         (unique_ptr::_DeleterConstraint): Likewise.
212         (unique_ptr()): Constrain.
213         (unique_ptr(pointer)): Likewise.
214         (unique_ptr(nullptr_t)): Likewise.
215         (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
216         (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
217         (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
218         (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
219         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
220         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
221         * testsuite/20_util/unique_ptr/cons/default.cc: New.
222         * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
224 2017-01-04  Pauli Nieminen  <suokkos@gmail.com>
225             Jonathan Wakely  <jwakely@redhat.com>
227         PR libstdc++/64735
228         * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
229         * config.h.in: Regenerate.
230         * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
231         (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
232         exports for exception_ptr, nested_exception, and future conditional.
233         [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
234         exports for exception_ptr, nested_exception, and future conditional.
235         * configure: Regenerate.
236         * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
237         * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
238         * libsupc++/eh_atomics.h: New file for internal use only.
239         (__eh_atomic_inc, __eh_atomic_dec): New.
240         * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
241         (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
242         (rethrow_exception): Use eh_atomics.h reference counting helpers.
243         * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
244         * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
245         * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
246         * libsupc++/exception_ptr.h: Likewise.
247         * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
248         * libsupc++/nested_exception.cc: Remove check for
249         ATOMIC_INT_LOCK_FREE.
250         * libsupc++/nested_exception.h: Likewise.
251         * src/c++11/future.cc: Likewise.
252         * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
253         * testsuite/18_support/nested_exception/*: Likewise.
254         * testsuite/30_threads/async/*: Likewise.
255         * testsuite/30_threads/future/*: Likewise.
256         * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
257         * testsuite/30_threads/packaged_task/*: Likewise.
258         * testsuite/30_threads/promise/*: Likewise.
259         * testsuite/30_threads/shared_future/*: Likewise.
261 2017-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
263         * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
264         defaults to https; adjust reference.
266 2017-01-03  Jonathan Wakely  <jwakely@redhat.com>
268         PR libstdc++/78956
269         * include/std/thread (thread(const thread&&)): Add deleted
270         constructor.
271         * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
273         * doc/xml/manual/spine.xml: Update copyright years.
274         * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
275         * doc/xml/manual/test.xml: Likewise.
276         * doc/html/*: Regenerate.
278 2017-01-01  Gerald Pfeifer  <gerald@pfeifer.com>
280         * doc/xml/faq.xml: Update address of C++ ABI link.
281         * doc/xml/manual/abi.xml: Ditto.
282         
283 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
285         Update copyright years.
287 Copyright (C) 2017 Free Software Foundation, Inc.
289 Copying and distribution of this file, with or without modification,
290 are permitted in any medium without royalty provided the copyright
291 notice and this notice are preserved.