PR77528 add default constructors for container adaptors
[gcc.git] / libstdc++-v3 / ChangeLog
1 2017-01-10 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/77528
4 * include/bits/stl_queue.h (queue::c): Add default member initializer.
5 (queue::queue()): Add constructor and define as defaulted.
6 (queue::queue(_Sequence&&)): Remove default argument.
7 (priority_queue::c, priority_queue::comp): Add default member
8 initializers.
9 (priority_queue::priority_queue()): Add constructor and define as
10 defaulted.
11 (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
12 Remove default argument for first parameter.
13 * include/bits/stl_stack.h (stack::c): Add default member initializer.
14 (stack::stack()): Add constructor and define as defaulted.
15 (stack::stack(const _Sequence&)): Remove default argument.
16 * testsuite/23_containers/priority_queue/requirements/
17 explicit_instantiation/1.cc: Test explicit instantiation with
18 non-DefaultConstructible sequence.
19 * testsuite/23_containers/priority_queue/77528.cc: New test.
20 * testsuite/23_containers/priority_queue/requirements/
21 explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
22 * testsuite/23_containers/queue/77528.cc: New test.
23 * testsuite/23_containers/queue/requirements/explicit_instantiation/
24 1.cc: Test explicit instantiation with non-DefaultConstructible
25 sequence.
26 * testsuite/23_containers/queue/requirements/explicit_instantiation/
27 1_c++0x.cc: Replace with 1_c++98.cc.
28 * testsuite/23_containers/stack/77528.cc: New test.
29 * testsuite/23_containers/stack/requirements/explicit_instantiation/
30 1.cc: Test explicit instantiation with non-DefaultConstructible
31 sequence.
32 * testsuite/23_containers/stack/requirements/explicit_instantiation/
33 1_c++0x.cc: Replace with 1_c++98.cc.
34
35 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
36
37 * include/bits/locale_facets_nonio.tcc
38 (time_get::_M_extract_via_format): Avoid compilation errors with
39 non-standard struct tm.
40
41 2017-01-10 François Dumont <fdumont@gcc.gnu.org>
42 Jonathan Wakely <jwakely@redhat.com>
43
44 * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
45 (is_specialization, strip_versioned_namespace): New helpers functions
46 to work with symbols in the versioned namespace.
47 (Printer.add_version): Add second name using versioned namespace.
48 (add_one_template_type_printer, add_one_type_printer): Add second
49 type printers using versioned namespace.
50 (register_type_printers): Add template type printer for basic_string.
51 (build_libstdcxx_dictionary): Remove dead code.
52 * python/libstdcxx/v6/xmethods.py: Make all matchers look for
53 versioned namespace.
54 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
55 results.
56 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
57
58 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
59
60 PR libstdc++/79017
61 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
62 functions separately on darwin and if they're missing define
63 _GLIBCXX_NO_C99_ROUNDING_FUNCS.
64 * config.h.in: Regenerate.
65 * configure: Regenerate.
66 * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
67 (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
68
69 * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
70 to detect correct thread_local destructors.
71 * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
72 Define.
73
74 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
75 Aditya Kumar <hiraditya@msn.com>
76
77 PR libstdc++/66414
78 * include/bits/basic_string.tcc
79 (basic_string::find(const CharT*, size_type, size_type)): Optimize.
80
81 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
82
83 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
84 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
85
86 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
87 Include <cassert> header.
88
89 PR libstdc++/78968
90 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
91 * configure: Regenerate.
92
93 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
94 Jonathan Wakely <jwakely@redhat.com>
95
96 * include/std/variant (variant, swap): Replace __and_ usage with fold
97 expressions.
98
99 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
100
101 PR go/78978
102 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
103 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
104 GLIBCXX_CHECK_ASSEMBLER_HWCAP.
105 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
106 HWCAP_FLAGS.
107 * aclocal.m4: Regenerate.
108 * configure: Regenerate.
109 * Makefile.in, doc/Makefile.in, include/Makefile.in,
110 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
111 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
112 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
113
114 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
115
116 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
117
118 PR libstdc++/78991
119 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
120 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
121 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
122 move function objects.
123 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
124 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
125 * testsuite/25_algorithms/sort/78991.cc: New test.
126
127 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
128
129 * include/bits/std_function.h (function::_Signature_type): Remove.
130 (function::function(_Functor)): Adjust.
131
132 2017-01-05 Tim Shen <timshen@google.com>
133
134 PR libstdc++/78996
135 * include/std/variant (__gen_vtable_impl): rename __unused to
136 __dimensions to avoid naming conflict.
137
138 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
139
140 PR libstdc++/78968
141 * config.h.in: Regenerate.
142 * configure: Likewise.
143 * configure.ac: Check for __cxa_thread_atexit.
144 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
145 Don't define __cxa_thread_atexit if libc provides it.
146
147 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
148
149 Implement 2801, Default-constructibility of unique_ptr.
150 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
151 (unique_ptr::_DeleterConstraint): Likewise.
152 (unique_ptr()): Constrain.
153 (unique_ptr(pointer)): Likewise.
154 (unique_ptr(nullptr_t)): Likewise.
155 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
156 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
157 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
158 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
159 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
160 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
161 * testsuite/20_util/unique_ptr/cons/default.cc: New.
162 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
163
164 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
165 Jonathan Wakely <jwakely@redhat.com>
166
167 PR libstdc++/64735
168 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
169 * config.h.in: Regenerate.
170 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
171 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
172 exports for exception_ptr, nested_exception, and future conditional.
173 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
174 exports for exception_ptr, nested_exception, and future conditional.
175 * configure: Regenerate.
176 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
177 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
178 * libsupc++/eh_atomics.h: New file for internal use only.
179 (__eh_atomic_inc, __eh_atomic_dec): New.
180 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
181 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
182 (rethrow_exception): Use eh_atomics.h reference counting helpers.
183 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
184 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
185 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
186 * libsupc++/exception_ptr.h: Likewise.
187 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
188 * libsupc++/nested_exception.cc: Remove check for
189 ATOMIC_INT_LOCK_FREE.
190 * libsupc++/nested_exception.h: Likewise.
191 * src/c++11/future.cc: Likewise.
192 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
193 * testsuite/18_support/nested_exception/*: Likewise.
194 * testsuite/30_threads/async/*: Likewise.
195 * testsuite/30_threads/future/*: Likewise.
196 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
197 * testsuite/30_threads/packaged_task/*: Likewise.
198 * testsuite/30_threads/promise/*: Likewise.
199 * testsuite/30_threads/shared_future/*: Likewise.
200
201 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
202
203 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
204 defaults to https; adjust reference.
205
206 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
207
208 PR libstdc++/78956
209 * include/std/thread (thread(const thread&&)): Add deleted
210 constructor.
211 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
212
213 * doc/xml/manual/spine.xml: Update copyright years.
214 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
215 * doc/xml/manual/test.xml: Likewise.
216 * doc/html/*: Regenerate.
217
218 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
219
220 * doc/xml/faq.xml: Update address of C++ ABI link.
221 * doc/xml/manual/abi.xml: Ditto.
222
223 2017-01-01 Jakub Jelinek <jakub@redhat.com>
224
225 Update copyright years.
226 \f
227 Copyright (C) 2017 Free Software Foundation, Inc.
228
229 Copying and distribution of this file, with or without modification,
230 are permitted in any medium without royalty provided the copyright
231 notice and this notice are preserved.