PR66414 optimize std::string::find
[gcc.git] / libstdc++-v3 / ChangeLog
1 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
2 Aditya Kumar <hiraditya@msn.com>
3
4 PR libstdc++/66414
5 * include/bits/basic_string.tcc
6 (basic_string::find(const CharT*, size_type, size_type)): Optimize.
7
8 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
9
10 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
11 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
12
13 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
14 Include <cassert> header.
15
16 PR libstdc++/78968
17 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
18 * configure: Regenerate.
19
20 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
21 Jonathan Wakely <jwakely@redhat.com>
22
23 * include/std/variant (variant, swap): Replace __and_ usage with fold
24 expressions.
25
26 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
27
28 PR go/78978
29 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
30 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
31 GLIBCXX_CHECK_ASSEMBLER_HWCAP.
32 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
33 HWCAP_FLAGS.
34 * aclocal.m4: Regenerate.
35 * configure: Regenerate.
36 * Makefile.in, doc/Makefile.in, include/Makefile.in,
37 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
38 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
39 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
40
41 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
42
43 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
44
45 PR libstdc++/78991
46 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
47 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
48 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
49 move function objects.
50 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
51 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
52 * testsuite/25_algorithms/sort/78991.cc: New test.
53
54 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
55
56 * include/bits/std_function.h (function::_Signature_type): Remove.
57 (function::function(_Functor)): Adjust.
58
59 2017-01-05 Tim Shen <timshen@google.com>
60
61 PR libstdc++/78996
62 * include/std/variant (__gen_vtable_impl): rename __unused to
63 __dimensions to avoid naming conflict.
64
65 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
66
67 PR libstdc++/78968
68 * config.h.in: Regenerate.
69 * configure: Likewise.
70 * configure.ac: Check for __cxa_thread_atexit.
71 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
72 Don't define __cxa_thread_atexit if libc provides it.
73
74 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
75
76 Implement 2801, Default-constructibility of unique_ptr.
77 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
78 (unique_ptr::_DeleterConstraint): Likewise.
79 (unique_ptr()): Constrain.
80 (unique_ptr(pointer)): Likewise.
81 (unique_ptr(nullptr_t)): Likewise.
82 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
83 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
84 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
85 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
86 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
87 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
88 * testsuite/20_util/unique_ptr/cons/default.cc: New.
89 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
90
91 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
92 Jonathan Wakely <jwakely@redhat.com>
93
94 PR libstdc++/64735
95 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
96 * config.h.in: Regenerate.
97 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
98 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
99 exports for exception_ptr, nested_exception, and future conditional.
100 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
101 exports for exception_ptr, nested_exception, and future conditional.
102 * configure: Regenerate.
103 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
104 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
105 * libsupc++/eh_atomics.h: New file for internal use only.
106 (__eh_atomic_inc, __eh_atomic_dec): New.
107 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
108 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
109 (rethrow_exception): Use eh_atomics.h reference counting helpers.
110 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
111 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
112 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
113 * libsupc++/exception_ptr.h: Likewise.
114 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
115 * libsupc++/nested_exception.cc: Remove check for
116 ATOMIC_INT_LOCK_FREE.
117 * libsupc++/nested_exception.h: Likewise.
118 * src/c++11/future.cc: Likewise.
119 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
120 * testsuite/18_support/nested_exception/*: Likewise.
121 * testsuite/30_threads/async/*: Likewise.
122 * testsuite/30_threads/future/*: Likewise.
123 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
124 * testsuite/30_threads/packaged_task/*: Likewise.
125 * testsuite/30_threads/promise/*: Likewise.
126 * testsuite/30_threads/shared_future/*: Likewise.
127
128 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
129
130 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
131 defaults to https; adjust reference.
132
133 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
134
135 PR libstdc++/78956
136 * include/std/thread (thread(const thread&&)): Add deleted
137 constructor.
138 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
139
140 * doc/xml/manual/spine.xml: Update copyright years.
141 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
142 * doc/xml/manual/test.xml: Likewise.
143 * doc/html/*: Regenerate.
144
145 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
146
147 * doc/xml/faq.xml: Update address of C++ ABI link.
148 * doc/xml/manual/abi.xml: Ditto.
149
150 2017-01-01 Jakub Jelinek <jakub@redhat.com>
151
152 Update copyright years.
153 \f
154 Copyright (C) 2017 Free Software Foundation, Inc.
155
156 Copying and distribution of this file, with or without modification,
157 are permitted in any medium without royalty provided the copyright
158 notice and this notice are preserved.