1 2017-01-12 Jonathan Wakely <jwakely@redhat.com>
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
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>
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
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.
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
69 (priority_queue::priority_queue()): Add constructor and define as
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
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
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
114 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
116 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
118 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
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):
134 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
135 Aditya Kumar <hiraditya@msn.com>
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.
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
159 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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
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.
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>
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>
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>
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>
269 * include/std/thread (thread(const thread&&)): Add deleted
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.
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.