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