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