Define cxx11-abi effective target for libstdc++ tests
[gcc.git] / libstdc++-v3 / ChangeLog
1 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/79075
4 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
5 redundant option from cxxflags.
6 (check_effective_target_cxx11-abi): Define.
7 * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
8 effective target.
9 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
10 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
11 Likewise.
12 * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
13 Likewise.
14 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
15 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
16 Likewise.
17 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
18 Likewise.
19 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
20 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
21 Likewise.
22 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
23 Likewise.
24 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
25 Likewise.
26 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
27 Likewise.
28 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
29 Likewise.
30 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
31 Likewise.
32 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
33 Likewise.
34 * testsuite/23_containers/list/61347.cc: Likewise.
35 * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
36 * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
37
38 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com>
39
40 PR libstdc++/78389
41 * include/bits/list.tcc (merge(list&&)):
42 Adjust list sizes if the comparator throws.
43 (merge(list&&, _StrictWeakOrdering)): Likewise.
44 (sort()): Splice elements back from the scratch buffers
45 if the comparator throws.
46 (sort(_StrictWeakOrdering)): Likewise.
47 * testsuite/23_containers/list/operations/78389.cc: New.
48
49 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
50
51 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
52 XFAIL for C++17 until node reinsertion supports fancy pointers.
53
54 PR libstdc++/78361
55 * testsuite/20_util/add_pointer/value.cc: Test forming function
56 pointers.
57
58 2017-01-13 Michael Brune <lucdanton@free.fr>
59
60 PR libstdc++/78361
61 * include/std/type_traits (__is_referenceable): Handle noexcept
62 function types.
63
64 2017-01-12 Jonathan Wakely <jwakely@redhat.com>
65
66 PR libstdc++/77528
67 * include/bits/stl_queue.h (queue, priority_queue): Remove default
68 member-initializers and define default constructors as templates with
69 constraints.
70 * include/bits/stl_stack.h (stack): Likewise.
71 * testsuite/23_containers/priority_queue/requirements/constructible.cc:
72 New.
73 * testsuite/23_containers/priority_queue/requirements/
74 explicit_instantiation/1.cc: Test more instantiations.
75 * testsuite/23_containers/priority_queue/requirements/
76 explicit_instantiation/1_c++98.cc: Likewise.
77 * testsuite/23_containers/queue/requirements/constructible.cc: New.
78 * testsuite/23_containers/stack/requirements/constructible.cc: New.
79
80 PR libstdc++/66284
81 * doc/xml/manual/intro.xml: Document LWG 2781 change.
82 * doc/html/*: Regenerate.
83 * include/std/functional (_Function_base::_Ref_manager): Remove.
84 (_Function_handler): Remove partial specializations for
85 reference_wrapper.
86 (function::target): Remove special case for const qualification.
87 * testsuite/20_util/function/6.cc: Adjust tests for target type.
88 * testsuite/20_util/function/7.cc: Likewise.
89 * testsuite/20_util/function/8.cc: Likewise.
90
91 2017-01-11 Jonathan Wakely <jwakely@redhat.com>
92
93 PR libstdc++/78134
94 * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
95 (map::equal_range): Fix return type of heterogeneous overloads.
96 * include/bits/stl_multimap.h (multimap::lower_bound)
97 (multimap::upper_bound, multimap::equal_range): Likewise.
98 * include/bits/stl_multiset.h (multiset::lower_bound)
99 (multiset::upper_bound, multiset::equal_range): Likewise.
100 * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
101 (set::equal_range): Likewise.
102 * testsuite/23_containers/map/operations/2.cc
103 * testsuite/23_containers/multimap/operations/2.cc
104 * testsuite/23_containers/multiset/operations/2.cc
105 * testsuite/23_containers/set/operations/2.cc
106
107 PR libstdc++/78273
108 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
109 the heterogeneous comparison can only find one match.
110 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
111 * testsuite/23_containers/map/operations/2.cc: Test count works with
112 comparison function that just partitions rather than sorting.
113 * testsuite/23_containers/set/operations/2.cc: Likewise.
114
115 2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com>
116
117 Reduce the size of variant, it doesn't need an index of
118 type size_t internally.
119 * include/std/variant (parse_numbers.h): New include.
120 (__select_index): New.
121 (_Variant_storage<false, _Types...>::_M_reset_impl): Use
122 _index_type for comparison with variant_npos.
123 (_Variant_storage<false, _Types...>::__index_type): New.
124 (_Variant_storage<false, _Types...>::_M_index): Change the
125 type from size_t to __index_type.
126 (_Variant_storage<true, _Types...>::__index_type): New.
127 (_Variant_storage<true, _Types...>::_M_index): Change the
128 type from size_t to __index_type.
129 (_Variant_base::_M_valid): Use _Storage::__index_type
130 for comparison with variant_npos.
131 (variant::index): Use _Base::_Storage::__index_type
132 for comparison with variant_npos.
133 * testsuite/20_util/variant/index_type.cc: New.
134
135 2017-01-10 Jonathan Wakely <jwakely@redhat.com>
136
137 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
138 effective target selector to prevent running in C++17 mode.
139
140 PR libstdc++/77528
141 * include/bits/stl_queue.h (queue::c): Add default member initializer.
142 (queue::queue()): Add constructor and define as defaulted.
143 (queue::queue(_Sequence&&)): Remove default argument.
144 (priority_queue::c, priority_queue::comp): Add default member
145 initializers.
146 (priority_queue::priority_queue()): Add constructor and define as
147 defaulted.
148 (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
149 Remove default argument for first parameter.
150 * include/bits/stl_stack.h (stack::c): Add default member initializer.
151 (stack::stack()): Add constructor and define as defaulted.
152 (stack::stack(const _Sequence&)): Remove default argument.
153 * testsuite/23_containers/priority_queue/requirements/
154 explicit_instantiation/1.cc: Test explicit instantiation with
155 non-DefaultConstructible sequence.
156 * testsuite/23_containers/priority_queue/77528.cc: New test.
157 * testsuite/23_containers/priority_queue/requirements/
158 explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
159 * testsuite/23_containers/queue/77528.cc: New test.
160 * testsuite/23_containers/queue/requirements/explicit_instantiation/
161 1.cc: Test explicit instantiation with non-DefaultConstructible
162 sequence.
163 * testsuite/23_containers/queue/requirements/explicit_instantiation/
164 1_c++0x.cc: Replace with 1_c++98.cc.
165 * testsuite/23_containers/stack/77528.cc: New test.
166 * testsuite/23_containers/stack/requirements/explicit_instantiation/
167 1.cc: Test explicit instantiation with non-DefaultConstructible
168 sequence.
169 * testsuite/23_containers/stack/requirements/explicit_instantiation/
170 1_c++0x.cc: Replace with 1_c++98.cc.
171
172 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
173
174 * include/bits/locale_facets_nonio.tcc
175 (time_get::_M_extract_via_format): Avoid compilation errors with
176 non-standard struct tm.
177
178 2017-01-10 François Dumont <fdumont@gcc.gnu.org>
179 Jonathan Wakely <jwakely@redhat.com>
180
181 * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
182 (is_specialization, strip_versioned_namespace): New helpers functions
183 to work with symbols in the versioned namespace.
184 (Printer.add_version): Add second name using versioned namespace.
185 (add_one_template_type_printer, add_one_type_printer): Add second
186 type printers using versioned namespace.
187 (register_type_printers): Add template type printer for basic_string.
188 (build_libstdcxx_dictionary): Remove dead code.
189 * python/libstdcxx/v6/xmethods.py: Make all matchers look for
190 versioned namespace.
191 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
192 results.
193 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
194
195 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
196
197 PR libstdc++/79017
198 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
199 functions separately on darwin and if they're missing define
200 _GLIBCXX_NO_C99_ROUNDING_FUNCS.
201 * config.h.in: Regenerate.
202 * configure: Regenerate.
203 * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
204 (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
205
206 * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
207 to detect correct thread_local destructors.
208 * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
209 Define.
210
211 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
212 Aditya Kumar <hiraditya@msn.com>
213
214 PR libstdc++/66414
215 * include/bits/basic_string.tcc
216 (basic_string::find(const CharT*, size_type, size_type)): Optimize.
217
218 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
219
220 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
221 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
222
223 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
224 Include <cassert> header.
225
226 PR libstdc++/78968
227 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
228 * configure: Regenerate.
229
230 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
231 Jonathan Wakely <jwakely@redhat.com>
232
233 * include/std/variant (variant, swap): Replace __and_ usage with fold
234 expressions.
235
236 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
237
238 PR go/78978
239 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
240 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
241 GLIBCXX_CHECK_ASSEMBLER_HWCAP.
242 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
243 HWCAP_FLAGS.
244 * aclocal.m4: Regenerate.
245 * configure: Regenerate.
246 * Makefile.in, doc/Makefile.in, include/Makefile.in,
247 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
248 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
249 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
250
251 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
252
253 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
254
255 PR libstdc++/78991
256 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
257 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
258 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
259 move function objects.
260 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
261 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
262 * testsuite/25_algorithms/sort/78991.cc: New test.
263
264 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
265
266 * include/bits/std_function.h (function::_Signature_type): Remove.
267 (function::function(_Functor)): Adjust.
268
269 2017-01-05 Tim Shen <timshen@google.com>
270
271 PR libstdc++/78996
272 * include/std/variant (__gen_vtable_impl): rename __unused to
273 __dimensions to avoid naming conflict.
274
275 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
276
277 PR libstdc++/78968
278 * config.h.in: Regenerate.
279 * configure: Likewise.
280 * configure.ac: Check for __cxa_thread_atexit.
281 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
282 Don't define __cxa_thread_atexit if libc provides it.
283
284 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
285
286 Implement 2801, Default-constructibility of unique_ptr.
287 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
288 (unique_ptr::_DeleterConstraint): Likewise.
289 (unique_ptr()): Constrain.
290 (unique_ptr(pointer)): Likewise.
291 (unique_ptr(nullptr_t)): Likewise.
292 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
293 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
294 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
295 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
296 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
297 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
298 * testsuite/20_util/unique_ptr/cons/default.cc: New.
299 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
300
301 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
302 Jonathan Wakely <jwakely@redhat.com>
303
304 PR libstdc++/64735
305 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
306 * config.h.in: Regenerate.
307 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
308 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
309 exports for exception_ptr, nested_exception, and future conditional.
310 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
311 exports for exception_ptr, nested_exception, and future conditional.
312 * configure: Regenerate.
313 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
314 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
315 * libsupc++/eh_atomics.h: New file for internal use only.
316 (__eh_atomic_inc, __eh_atomic_dec): New.
317 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
318 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
319 (rethrow_exception): Use eh_atomics.h reference counting helpers.
320 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
321 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
322 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
323 * libsupc++/exception_ptr.h: Likewise.
324 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
325 * libsupc++/nested_exception.cc: Remove check for
326 ATOMIC_INT_LOCK_FREE.
327 * libsupc++/nested_exception.h: Likewise.
328 * src/c++11/future.cc: Likewise.
329 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
330 * testsuite/18_support/nested_exception/*: Likewise.
331 * testsuite/30_threads/async/*: Likewise.
332 * testsuite/30_threads/future/*: Likewise.
333 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
334 * testsuite/30_threads/packaged_task/*: Likewise.
335 * testsuite/30_threads/promise/*: Likewise.
336 * testsuite/30_threads/shared_future/*: Likewise.
337
338 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
339
340 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
341 defaults to https; adjust reference.
342
343 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
344
345 PR libstdc++/78956
346 * include/std/thread (thread(const thread&&)): Add deleted
347 constructor.
348 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
349
350 * doc/xml/manual/spine.xml: Update copyright years.
351 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
352 * doc/xml/manual/test.xml: Likewise.
353 * doc/html/*: Regenerate.
354
355 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
356
357 * doc/xml/faq.xml: Update address of C++ ABI link.
358 * doc/xml/manual/abi.xml: Ditto.
359
360 2017-01-01 Jakub Jelinek <jakub@redhat.com>
361
362 Update copyright years.
363 \f
364 Copyright (C) 2017 Free Software Foundation, Inc.
365
366 Copying and distribution of this file, with or without modification,
367 are permitted in any medium without royalty provided the copyright
368 notice and this notice are preserved.