1 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
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
9 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
10 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
12 * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
14 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
15 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
17 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
19 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
20 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
22 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
24 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
26 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
28 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
30 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
32 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
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.
38 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
49 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
51 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
52 XFAIL for C++17 until node reinsertion supports fancy pointers.
55 * testsuite/20_util/add_pointer/value.cc: Test forming function
58 2017-01-13 Michael Brune <lucdanton@free.fr>
61 * include/std/type_traits (__is_referenceable): Handle noexcept
64 2017-01-12 Jonathan Wakely <jwakely@redhat.com>
67 * include/bits/stl_queue.h (queue, priority_queue): Remove default
68 member-initializers and define default constructors as templates with
70 * include/bits/stl_stack.h (stack): Likewise.
71 * testsuite/23_containers/priority_queue/requirements/constructible.cc:
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.
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
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.
91 2017-01-11 Jonathan Wakely <jwakely@redhat.com>
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
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.
115 2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
135 2017-01-10 Jonathan Wakely <jwakely@redhat.com>
137 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
138 effective target selector to prevent running in C++17 mode.
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
146 (priority_queue::priority_queue()): Add constructor and define as
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
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
169 * testsuite/23_containers/stack/requirements/explicit_instantiation/
170 1_c++0x.cc: Replace with 1_c++98.cc.
172 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
174 * include/bits/locale_facets_nonio.tcc
175 (time_get::_M_extract_via_format): Avoid compilation errors with
176 non-standard struct tm.
178 2017-01-10 François Dumont <fdumont@gcc.gnu.org>
179 Jonathan Wakely <jwakely@redhat.com>
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
191 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
193 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
195 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
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.
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):
211 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
212 Aditya Kumar <hiraditya@msn.com>
215 * include/bits/basic_string.tcc
216 (basic_string::find(const CharT*, size_type, size_type)): Optimize.
218 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
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.
223 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
224 Include <cassert> header.
227 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
228 * configure: Regenerate.
230 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
231 Jonathan Wakely <jwakely@redhat.com>
233 * include/std/variant (variant, swap): Replace __and_ usage with fold
236 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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
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.
251 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
253 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
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.
264 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
266 * include/bits/std_function.h (function::_Signature_type): Remove.
267 (function::function(_Functor)): Adjust.
269 2017-01-05 Tim Shen <timshen@google.com>
272 * include/std/variant (__gen_vtable_impl): rename __unused to
273 __dimensions to avoid naming conflict.
275 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
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.
284 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
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.
301 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
302 Jonathan Wakely <jwakely@redhat.com>
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.
338 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
340 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
341 defaults to https; adjust reference.
343 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
346 * include/std/thread (thread(const thread&&)): Add deleted
348 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
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.
355 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
357 * doc/xml/faq.xml: Update address of C++ ABI link.
358 * doc/xml/manual/abi.xml: Ditto.
360 2017-01-01 Jakub Jelinek <jakub@redhat.com>
362 Update copyright years.
364 Copyright (C) 2017 Free Software Foundation, Inc.
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.