]>
Commit | Line | Data |
---|---|---|
2af96386 JW |
1 | 2017-09-13 Jonathan Wakely <jwakely@redhat.com> |
2 | ||
d0dda804 JW |
3 | PR libstdc++/81468 |
4 | * include/std/chrono (__enable_if_is_duration) | |
5 | (__disable_if_is_duration): New alias templates to simplify SFINAE. | |
6 | (duration_cast, floor, ceil): Use __enable_if_is_duration. | |
7 | (duration::__is_float, duration::__is_harmonic): New alias templates | |
8 | to simplify SFINAE. | |
9 | (duration::duration(const _Rep2&)): Use _Require, __is_float and | |
10 | __is_harmonic. | |
11 | (duration::duration(const duration<_Rep2, _Period2>&)): Likewise. | |
12 | (__common_rep_type): Remove, replace with ... | |
13 | (__common_rep_t): New alias template. | |
14 | (operator*, operator/, operator%): Use __common_rep_t and | |
15 | __disable_if_is_duration. | |
16 | (time_point::time_point(const time_point<clock, _Dur2>&)): Add missing | |
17 | constraint from LWG DR 1177. | |
18 | * testsuite/20_util/duration/cons/dr1177.cc: New. | |
19 | * testsuite/20_util/duration/literals/range.cc: Update dg-error line. | |
20 | * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. | |
21 | * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. | |
22 | * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. | |
23 | * testsuite/20_util/time_point/cons/81468.cc: New. | |
24 | ||
c29730ec JW |
25 | * doc/doxygen/mainpage.html: Fix broken URLs. |
26 | ||
ff7e6f06 JW |
27 | PR libstdc++/81835 |
28 | * doc/xml/manual/extensions.xml: Replace unstable URL. | |
29 | * doc/html/manual/ext_demangling.html: Regenerate. | |
30 | * libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL. | |
31 | ||
2af96386 JW |
32 | * include/bits/allocated_ptr.h (__allocated_ptr::get): Use |
33 | __to_address. | |
34 | (__allocated_ptr::_S_raw_ptr): Remove. | |
35 | * include/bits/forward_list.h (_Fwd_list_base::_M_get_node): Use | |
36 | __to_address. | |
37 | * include/bits/hashtable_policy.h (_Hashtable_alloc): Likewise. | |
38 | * include/bits/ptr_traits.h (__to_address): Define new function | |
39 | template. | |
40 | * include/bits/shared_ptr_base.h (__shared_ptr): Use __to_address. | |
41 | (__shared_ptr::_S_raw_ptr): Remove. | |
42 | * include/bits/stl_vector.h [__cplusplus >= 201103L] | |
43 | (vector::_M_data_ptr): Use __to_address. | |
44 | [__cplusplus < 201103L] (vector::_M_data_ptr): Don't dereference | |
45 | possibly invalid pointers. | |
46 | * include/ext/alloc_traits.h (__alloc_traits::construct) | |
47 | (__alloc_traits::destroy): Use __to_address. | |
48 | ||
2be7a166 JW |
49 | 2017-09-12 Jonathan Wakely <jwakely@redhat.com> |
50 | ||
d681026d JW |
51 | PR libstdc++/79433 |
52 | * include/Makefile.am: Remove <bits/c++14_warning.h>. | |
53 | * include/Makefile.in: Regenerate. | |
54 | * include/bits/c++14_warning.h: Remove. | |
55 | * include/experimental/algorithm: Do not include <c++14_warning.h>. | |
56 | * include/experimental/any: Likewise. | |
57 | * include/experimental/array: Likewise. | |
58 | * include/experimental/bits/erase_if.h: Likewise. | |
59 | * include/experimental/bits/lfts_config.h: Likewise. | |
60 | * include/experimental/bits/shared_ptr.h: Likewise. | |
61 | * include/experimental/bits/string_view.tcc: Likewise. | |
62 | * include/experimental/chrono: Likewise. | |
63 | * include/experimental/deque: Likewise. | |
64 | * include/experimental/filesystem: Do not include <c++0x_warning.h>. | |
65 | * include/experimental/forward_list: Do not include <c++14_warning.h>. | |
66 | * include/experimental/functional: Likewise. | |
67 | * include/experimental/iterator: Likewise. | |
68 | * include/experimental/list: Likewise. | |
69 | * include/experimental/map: Likewise. | |
70 | * include/experimental/memory: Likewise. | |
71 | * include/experimental/numeric: Likewise. | |
72 | * include/experimental/optional: Likewise. | |
73 | * include/experimental/propagate_const: Likewise. | |
74 | * include/experimental/ratio: Likewise. | |
75 | * include/experimental/regex: Likewise. | |
76 | * include/experimental/set: Likewise. | |
77 | * include/experimental/string: Likewise. | |
78 | * include/experimental/string_view: Likewise. | |
79 | * include/experimental/system_error: Likewise. | |
80 | * include/experimental/tuple: Likewise. | |
81 | * include/experimental/type_traits: Likewise. | |
82 | * include/experimental/unordered_map: Likewise. | |
83 | * include/experimental/unordered_set: Likewise. | |
84 | * include/experimental/vector: Likewise. | |
85 | * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error | |
86 | line number. | |
87 | * testsuite/experimental/array/neg.cc: Likewise. | |
88 | * testsuite/experimental/propagate_const/assignment/move_neg.cc: | |
89 | Likewise. | |
90 | * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. | |
91 | * testsuite/experimental/propagate_const/requirements2.cc: Likewise. | |
92 | * testsuite/experimental/propagate_const/requirements3.cc: Likewise. | |
93 | * testsuite/experimental/propagate_const/requirements4.cc: Likewise. | |
94 | * testsuite/experimental/propagate_const/requirements5.cc: Likewise. | |
95 | ||
c6888c62 JW |
96 | PR libstdc++/79433 |
97 | * doc/xml/manual/status_cxx2017.xml: Update feature-test macros. | |
98 | * doc/html/*: Regenerate. | |
99 | * include/Makefile.am: Remove <bits/c++17_warning.h>. | |
100 | * include/Makefile.in: Regenerate. | |
101 | * include/bits/c++17_warning.h: Remove. | |
102 | * include/bits/string_view.tcc: Do not include <bits/c++17_warning.h> | |
103 | for pre-C++17 modes. | |
104 | * include/std/any: Likewise. | |
105 | (__cpp_lib_any): Define. | |
106 | * include/std/mutex (__cpp_lib_scoped_lock): Adjust value as per new | |
107 | SD-6 draft. | |
108 | * include/std/numeric (__cpp_lib_gcd_lcm): Define as per new SD-6 | |
109 | draft. | |
110 | * include/std/optional: Do not include <bits/c++17_warning.h>. | |
111 | (__cpp_lib_optional): Define. | |
112 | * include/std/shared_mutex: Do not include <bits/c++14_warning.h>. | |
113 | * include/std/string_view: Do not include <bits/c++17_warning.h>. | |
114 | (__cpp_lib_string_view): Define. | |
115 | * include/std/variant: Do not include <bits/c++17_warning.h>. | |
116 | (__cpp_lib_variant): Define. | |
117 | * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error line | |
118 | numbers. | |
119 | * testsuite/26_numerics/gcd/1.cc: Test for __cpp_lib_gcd_lcm. | |
120 | * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line | |
121 | numbers. | |
122 | * testsuite/26_numerics/lcm/1.cc: Test for __cpp_lib_gcd_lcm. | |
123 | * testsuite/26_numerics/lcm/lcm_neg.cc: Adjust dg-error line | |
124 | numbers. | |
125 | * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Adjust | |
126 | expected value of __cpp_lib_scoped_lock. | |
127 | ||
2be7a166 JW |
128 | PR libstdc++/70483 |
129 | * include/experimental/bits/string_view.tcc (basic_string_view::find) | |
130 | (basic_string_view::rfind, basic_string_view::find_first_of) | |
131 | (basic_string_view::find_last_of, basic_string_view::find_first_not_of) | |
132 | (basic_string_view::find_last_not_of): Add constexpr specifier. | |
133 | * include/experimental/string_view (basic_string_view::remove_prefix) | |
134 | (basic_string_view::remove_suffix, basic_string_view::swap) | |
135 | (basic_string_view::compare, basic_string_view::find) | |
136 | (basic_string_view::rfind, basic_string_view::find_first_of) | |
137 | (basic_string_view::find_last_of, basic_string_view::find_first_not_of) | |
138 | (basic_string_view::find_last_not_of, operator==, operator!=) | |
139 | (operator<, operator>, operator<=, operator>=): Likewise. | |
140 | * testsuite/experimental/string_view/operations/compare/char/70483.cc: | |
141 | New. | |
142 | ||
c5ae1a27 JW |
143 | 2017-09-11 Jonathan Wakely <jwakely@redhat.com> |
144 | ||
145 | PR libstdc++/70483 | |
146 | * include/bits/string_view.tcc (basic_string_view::find) | |
147 | (basic_string_view::rfind, basic_string_view::find_first_of) | |
148 | (basic_string_view::find_last_of, basic_string_view::find_first_not_of) | |
149 | (basic_string_view::find_last_not_of): Add constexpr specifier. | |
150 | * include/std/string_view (basic_string_view::operator=) | |
151 | (basic_string_view::rbegin, basic_string_view::rend) | |
152 | (basic_string_view::crbegin, basic_string_view::crend) | |
153 | (basic_string_view::remove_prefix, basic_string_view::remove_suffix) | |
154 | (basic_string_view::swap, basic_string_view::compare) | |
155 | (basic_string_view::find, basic_string_view::rfind) | |
156 | (basic_string_view::find_first_of, basic_string_view::find_last_of) | |
157 | (basic_string_view::find_first_not_of) | |
158 | (basic_string_view::find_last_not_of, basic_string_view::_M_check) | |
159 | (basic_string_view::_M_limit, operator==, operator!=, operator<) | |
160 | (operator>, operator<=, operator>=): Likewise. | |
161 | * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ | |
162 | char/1.cc: Repeat tests in constexpr context. | |
163 | * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ | |
164 | wchar_t/1.cc: Likewise. | |
165 | * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ | |
166 | char/1.cc: Likewise. | |
167 | * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ | |
168 | wchar_t/1.cc: Likewise. | |
169 | * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: | |
170 | Likewise. | |
171 | * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: | |
172 | Likewise. | |
173 | * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: | |
174 | Likewise. | |
175 | * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: | |
176 | Likewise. | |
177 | * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: | |
178 | Likewise. | |
179 | * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: | |
180 | Likewise. | |
181 | * testsuite/21_strings/basic_string_view/operators/char/2.cc: | |
182 | Likewise. | |
183 | * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: | |
184 | Likewise. | |
185 | * testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test | |
186 | cbegin, cend, rbegin, rend, crbegin and crend. | |
187 | * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: | |
188 | Likewise. | |
189 | * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: | |
190 | Remove trailing whitespace. | |
191 | * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ | |
192 | 1.cc: Likewise. | |
193 | * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: | |
194 | New. | |
195 | * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: | |
196 | New. | |
197 | * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: | |
198 | New. | |
199 | * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ | |
200 | 2.cc: New. | |
201 | ||
3366a474 TS |
202 | 2017-09-11 Tim Shen <timshen@google.com> |
203 | ||
204 | PR libstdc++/71500 | |
205 | * include/bits/regex_executor.tcc: Support icase in regex_tratis<...> | |
206 | for back reference matches. | |
207 | * testsuite/28_regex/regression.cc: Test case. | |
208 | ||
47d7966a JW |
209 | 2017-09-11 Jonathan Wakely <jwakely@redhat.com> |
210 | ||
211 | * testsuite/21_strings/basic_string/lwg2946.cc: Adjust for | |
212 | compatibility with old COW std::string. | |
213 | ||
630e912e GP |
214 | 2017-09-09 Gerald Pfeifer <gerald@pfeifer.com> |
215 | ||
216 | * doc/xml/manual/allocator.xml: Adjust link for Hoard. | |
217 | * doc/html/manual/memory.html: Regenerate. | |
218 | ||
df66af3b DK |
219 | 2017-09-04 Daniel Kruegler <daniel.kruegler@gmail.com> |
220 | ||
221 | PR libstdc++/79162 | |
222 | Implement LWG 2946, LWG 2758's resolution missed further corrections | |
223 | * include/bits/basic_string.h (basic_string::compare): Add missing | |
224 | required noexcept specifications. | |
225 | (basic_string): Introduce internal _S_to_string_view and __sv_wrapper | |
226 | for implicit string_view conversion. | |
227 | (basic_string::basic_string): Fix explicit string_view conversion by | |
228 | implicit conversion using _S_to_string_view and __sv_wrapper. | |
229 | (basic_string): Introduce internal basic_string(__sv_wrapper, Alloc) | |
230 | constructor. | |
231 | (basic_string): Fix operator=(T) template by operator=(const T&) | |
232 | template for uncopyable types (PR 79162). | |
233 | (basic_string::operator+=, basic_string::append, basic_string::assign) | |
234 | (basic_string::insert, basic_string::replace, basic_string::find) | |
235 | (basic_string::rfind, basic_string::find_first_of) | |
236 | (basic_string::find_last_of, basic_string::find_first_not_of) | |
237 | (basic_string::find_last_not_of, basic_string::compare): Replace | |
238 | __sv_type argument by template const T& (LWG 2946) and correct | |
239 | documentation describing __sv_type argument. | |
240 | (basic_string::find, basic_string::rfind, basic_string::find_first_of) | |
241 | (basic_string::find_last_of, basic_string::find_first_not_of) | |
242 | (basic_string::find_last_not_of, basic_string::compare): Replace | |
243 | unconditional noexcept specification by conditional noexcept | |
244 | specification to partially balance the removal of noexcept by LWG 2946. | |
245 | * testsuite/21_strings/basic_string/79162.cc: New. | |
246 | * testsuite/21_strings/basic_string/lwg2946.cc: New. | |
247 | ||
89c6ecfa JW |
248 | 2017-08-31 Jonathan Wakely <jwakely@redhat.com> |
249 | ||
250 | PR c++/82039 | |
251 | * include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate): | |
252 | Adjust null pointer constant to avoid warning. | |
253 | ||
55500f5d FD |
254 | 2017-08-24 François Dumont <fdumont@gcc.gnu.org> |
255 | ||
256 | * include/bits/stl_list.h | |
257 | [!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove. | |
258 | (_List_impl(_Node_alloc_type&&, _List_impl&&)): New. | |
259 | (_List_base(_Node_alloc_type&&, _List_base&&)): New, use latter. | |
260 | [!_GLIBCXX_INLINE_VERSION](_List_base(_Node_alloc_type&&,_List_base&&)): | |
261 | Remove. | |
262 | (_List_base(_Node_alloc_type&&)): New. | |
263 | [!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_distance): Remove. | |
264 | [!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_node_count): Remove. | |
265 | (list<>::_M_node_count): New. | |
266 | (list<>::size()): Adapt to call latter. | |
267 | (list<>::_S_distance(const_iterator, const_iterator)): New. | |
268 | (list<>::splice(iterator, list&, const_iterator, const_iterator)): | |
269 | Adapt to call latter. | |
270 | (list(list&&, const allocator_type&, true_type)): New. | |
271 | (list(list&&, const allocator_type&, false_type)): New. | |
272 | (list(list&&, const allocator_type&)): Adapt to call latters. | |
273 | ||
2c0378f4 JW |
274 | 2017-08-21 Jonathan Wakely <jwakely@redhat.com> |
275 | ||
276 | PR libstdc++/81912 | |
277 | * include/bits/stl_iterator_base_types.h (__iterator_category): Add | |
278 | constexpr for C++11 and later. | |
279 | * testsuite/24_iterators/container_access.cc: Add target selector. | |
280 | * testsuite/24_iterators/range_access.cc: Fix clause number in | |
281 | comment. | |
282 | * testsuite/24_iterators/range_access_cpp14.cc: Likewise. | |
283 | * testsuite/24_iterators/range_access_cpp17.cc: New. | |
284 | ||
1ea85365 RB |
285 | 2017-08-21 Richard Biener <rguenther@suse.de> |
286 | ||
287 | * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Run all | |
288 | tests with -flto as well if supported. | |
289 | ||
be56159c MS |
290 | 2017-08-20 Martin Sebor <msebor@redhat.com> |
291 | ||
292 | PR c/81854 | |
293 | * src/c++98/compatibility.cc (_GLIBCXX_3_4_SYMVER): Declare alias | |
294 | target as a C++ function with no prototype. | |
295 | (_GLIBCXX_3_4_5_SYMVER): Ditto. | |
296 | ||
ab7fc02e JDA |
297 | 2017-08-20 John David Anglin <danglin@gcc.gnu.org> |
298 | ||
299 | PR testsuite/81056 | |
1104d918 | 300 | * testsuite/17_intro/names.cc: Undef 'd' and 'r' on __hpux__. |
ab7fc02e | 301 | |
676c4146 JW |
302 | 2017-08-18 Jonathan Wakely <jwakely@redhat.com> |
303 | ||
b74f0db1 JW |
304 | * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Remove |
305 | __value_alloc_type and __value_alloc_traits typedefs. | |
306 | (_ReuseOrAllocNode::operator()): Call construct and destroy on the | |
307 | node allocator. | |
308 | (_Hashtable_alloc): Simplify __value_alloc_traits typedef. | |
309 | (_Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&...)): Call | |
310 | construct on the node allocator. | |
311 | (_Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_type*)): Call | |
312 | destroy on the node allocator. | |
313 | ||
676c4146 JW |
314 | PR libstdc++/81891 |
315 | * include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator, | |
316 | size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, | |
317 | const _ExtractKey&, const allocator_type&)): Let destructor do clean | |
318 | up if an exception is thrown. | |
319 | * testsuite/23_containers/unordered_map/cons/81891.cc: New. | |
320 | ||
1ea93d89 JW |
321 | 2017-08-11 Jonathan Wakely <jwakely@redhat.com> |
322 | ||
323 | PR libstdc++/81808 | |
324 | * testsuite/27_io/basic_fstream/53984.cc: Adjust test for targets | |
325 | that allow opening a directory as a FILE and reading from it. | |
326 | ||
2d763763 JW |
327 | 2017-08-09 Jonathan Wakely <jwakely@redhat.com> |
328 | ||
329 | * include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP): | |
330 | Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use | |
331 | __is_identifier to set it. | |
332 | ||
2ae804bf KN |
333 | 2017-08-09 Katsuhiko Nishimra <ktns.87@gmail.com> |
334 | ||
335 | * include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use | |
336 | __is_identifier instead of __has_builtin. | |
337 | ||
04d07b61 JW |
338 | 2017-08-09 Jonathan Wakely <jwakely@redhat.com> |
339 | ||
340 | PR libstdc++/79820 | |
341 | PR libstdc++/81751 | |
342 | * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)): | |
343 | Call fflush on the stream instead of calling sync() while _M_cfile is | |
344 | null. Restore original value of errno. | |
345 | * testsuite/ext/stdio_filebuf/char/79820.cc: New. | |
346 | * testsuite/ext/stdio_filebuf/char/81751.cc: New. | |
347 | ||
4ab033db MP |
348 | 2017-07-31 Marek Polacek <polacek@redhat.com> |
349 | ||
350 | PR libstdc++/81599 | |
351 | * include/bits/stl_stack.h: Fix typo. | |
352 | ||
958dc0c2 JW |
353 | 2017-07-26 Jonathan Wakely <jwakely@redhat.com> |
354 | ||
355 | * testsuite/27_io/basic_fstream/53984.cc: Fix test. | |
356 | ||
3b1aa533 PC |
357 | 2017-07-26 Paolo Carlini <paolo.carlini@oracle.com> |
358 | ||
359 | * testsuite/27_io/basic_fstream/53984.cc: Fix typo in dg-require | |
360 | directive. | |
361 | ||
a74bc411 JW |
362 | 2017-07-25 Jonathan Wakely <jwakely@redhat.com> |
363 | ||
c2830789 JW |
364 | PR libstdc++/53984 |
365 | * include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment. | |
366 | * include/bits/istream.tcc (basic_istream::sentry): Handle exceptions | |
367 | during construction. | |
368 | * include/std/istream: Adjust comments for formatted input functions | |
369 | and unformatted input functions. | |
370 | * testsuite/27_io/basic_fstream/53984.cc: New. | |
371 | * testsuite/27_io/basic_istream/sentry/char/53984.cc: New. | |
372 | ||
a74bc411 JW |
373 | * include/bits/ios_base.h (ios_base::io_state, ios_base::open_mode) |
374 | (ios_base::seek_dir): Remove for C++17. | |
375 | * include/std/streambuf (basic_streambuf::stossc): Remove for C++17. | |
376 | Add deprecated attribute for C++11 and C++14. | |
377 | * testsuite/27_io/types/1.cc: Don't run for C++17 and later. | |
378 | * testsuite/27_io/types/4.cc: New. | |
379 | ||
5bbf7664 MC |
380 | 2017-07-23 Michael Collison <michael.collison@arm.com> |
381 | ||
382 | Add optimized implementation of mersenne twister for aarch64 | |
383 | * config/cpu/aarch64/opt/ext/opt_random.h: New file. | |
384 | (__arch64_recursion): New function. | |
385 | (__aarch64_lsr_128): New function. | |
386 | (__aarch64_lsl_128): New function. | |
387 | (operator==): New function. | |
388 | (simd_fast_mersenne_twister_engine): Implement | |
389 | method _M_gen_rand. | |
390 | * config/cpu/aarch64/opt/bits/opt_random.h: New file. | |
391 | * include/ext/random: (simd_fast_mersenne_twister_engine): | |
392 | add _M_state private array. | |
393 | ||
4a15d842 FD |
394 | 2017-07-23 François Dumont <fdumont@gcc.gnu.org> |
395 | ||
396 | PR libstdc++/81064 | |
397 | * include/bits/algorithmfwd.h: Reorganize versioned namespace. | |
398 | * include/bits/basic_string.h: Likewise. | |
399 | * include/bits/c++config: Likewise. | |
400 | * include/bits/deque.tcc: Likewise. | |
401 | * include/bits/forward_list.h: Likewise. | |
402 | * include/bits/forward_list.tcc: Likewise. | |
403 | * include/bits/hashtable_policy.h: Likewise. | |
404 | * include/bits/list.tcc: Likewise. | |
405 | * include/bits/move.h: Likewise. | |
406 | * include/bits/quoted_string.h: Likewise. | |
407 | * include/bits/random.h: Likewise. | |
408 | * include/bits/random.tcc: Likewise. | |
409 | * include/bits/regex.h: Likewise. | |
410 | * include/bits/regex.tcc: Likewise. | |
411 | * include/bits/regex_automaton.h: Likewise. | |
412 | * include/bits/regex_automaton.tcc: Likewise. | |
413 | * include/bits/regex_compiler.h: Likewise. | |
414 | * include/bits/regex_compiler.tcc: Likewise. | |
415 | * include/bits/regex_constants.h: Likewise. | |
416 | * include/bits/regex_error.h: Likewise. | |
417 | * include/bits/regex_executor.h: Likewise. | |
418 | * include/bits/regex_executor.tcc: Likewise. | |
419 | * include/bits/regex_scanner.h: Likewise. | |
420 | * include/bits/regex_scanner.tcc: Likewise. | |
421 | * include/bits/specfun.h: Likewise. | |
422 | * include/bits/stl_algo.h: Likewise. | |
423 | * include/bits/stl_algobase.h: Likewise. | |
424 | * include/bits/stl_bvector.h: Likewise. | |
425 | * include/bits/stl_deque.h: Likewise. | |
426 | * include/bits/stl_iterator.h: Likewise. | |
427 | * include/bits/stl_iterator_base_funcs.h: Likewise. | |
428 | * include/bits/stl_list.h: Likewise. | |
429 | * include/bits/stl_map.h: Likewise. | |
430 | * include/bits/stl_multimap.h: Likewise. | |
431 | * include/bits/stl_multiset.h: Likewise. | |
432 | * include/bits/stl_relops.h: Likewise. | |
433 | * include/bits/stl_set.h: Likewise. | |
434 | * include/bits/stl_vector.h: Likewise. | |
435 | * include/bits/uniform_int_dist.h: Likewise. | |
436 | * include/bits/unordered_map.h: Likewise. | |
437 | * include/bits/unordered_set.h: Likewise. | |
438 | * include/bits/vector.tcc: Likewise. | |
439 | * include/c_global/cmath: Likewise. | |
440 | * include/c_std/cmath: Likewise. | |
441 | * include/decimal/decimal: Likewise. | |
442 | * include/decimal/decimal.h: Likewise. | |
443 | * include/experimental/algorithm: Likewise. | |
444 | * include/experimental/any: Likewise. | |
445 | * include/experimental/array: Likewise. | |
446 | * include/experimental/bits/erase_if.h: Likewise. | |
447 | * include/experimental/bits/fs_dir.h: Likewise. | |
448 | * include/experimental/bits/fs_fwd.h: Likewise. | |
449 | * include/experimental/bits/fs_ops.h: Likewise. | |
450 | * include/experimental/bits/fs_path.h: Likewise. | |
451 | * include/experimental/bits/lfts_config.h: Likewise. | |
452 | * include/experimental/bits/shared_ptr.h: Likewise. | |
453 | * include/experimental/bits/string_view.tcc: Likewise. | |
454 | * include/experimental/chrono: Likewise. | |
455 | * include/experimental/deque: Likewise. | |
456 | * include/experimental/filesystem: Likewise. | |
457 | * include/experimental/forward_list: Likewise. | |
458 | * include/experimental/functional: Likewise. | |
459 | * include/experimental/iterator: Likewise. | |
460 | * include/experimental/list: Likewise. | |
461 | * include/experimental/map: Likewise. | |
462 | * include/experimental/memory: Likewise. | |
463 | * include/experimental/memory_resource: Likewise. | |
464 | * include/experimental/numeric: Likewise. | |
465 | * include/experimental/optional: Likewise. | |
466 | * include/experimental/propagate_const: Likewise. | |
467 | * include/experimental/random: Likewise. | |
468 | * include/experimental/ratio: Likewise. | |
469 | * include/experimental/regex: Likewise. | |
470 | * include/experimental/set: Likewise. | |
471 | * include/experimental/source_location: Likewise. | |
472 | * include/experimental/string: Likewise. | |
473 | * include/experimental/string_view: Likewise. | |
474 | * include/experimental/system_error: Likewise. | |
475 | * include/experimental/tuple: Likewise. | |
476 | * include/experimental/type_traits: Likewise. | |
477 | * include/experimental/unordered_map: Likewise. | |
478 | * include/experimental/unordered_set: Likewise. | |
479 | * include/experimental/utility: Likewise. | |
480 | * include/experimental/vector: Likewise. | |
481 | * include/ext/bitmap_allocator.h: Likewise. | |
482 | * include/ext/codecvt_specializations.h: Likewise. | |
483 | * include/ext/rope: Likewise. | |
484 | * include/ext/typelist.h: Likewise. | |
485 | * include/std/chrono: Likewise. | |
486 | * include/std/complex: Likewise. | |
487 | * include/std/functional: Likewise. | |
488 | * include/std/numeric: Likewise. | |
489 | * include/std/string_view: Likewise. | |
490 | * include/std/thread: Likewise. | |
491 | * include/std/variant: Likewise. | |
492 | * include/tr1/array: Likewise. | |
493 | * include/tr1/bessel_function.tcc: Likewise. | |
494 | * include/tr1/beta_function.tcc: Likewise. | |
495 | * include/tr1/cmath: Likewise. | |
496 | * include/tr1/complex: Likewise. | |
497 | * include/tr1/ell_integral.tcc: Likewise. | |
498 | * include/tr1/exp_integral.tcc: Likewise. | |
499 | * include/tr1/functional: Likewise. | |
500 | * include/tr1/functional_hash.h: Likewise. | |
501 | * include/tr1/gamma.tcc: Likewise. | |
502 | * include/tr1/hashtable.h: Likewise. | |
503 | * include/tr1/hashtable_policy.h: Likewise. | |
504 | * include/tr1/hypergeometric.tcc: Likewise. | |
505 | * include/tr1/legendre_function.tcc: Likewise. | |
506 | * include/tr1/modified_bessel_func.tcc: Likewise. | |
507 | * include/tr1/poly_hermite.tcc: Likewise. | |
508 | * include/tr1/poly_laguerre.tcc: Likewise. | |
509 | * include/tr1/random.h: Likewise. | |
510 | * include/tr1/random.tcc: Likewise. | |
511 | * include/tr1/regex: Likewise. | |
512 | * include/tr1/riemann_zeta.tcc: Likewise. | |
513 | * include/tr1/shared_ptr.h: Likewise. | |
514 | * include/tr1/special_function_util.h: Likewise. | |
515 | * include/tr1/tuple: Likewise. | |
516 | * include/tr1/type_traits: Likewise. | |
517 | * include/tr1/unordered_map.h: Likewise. | |
518 | * include/tr1/unordered_set.h: Likewise. | |
519 | * include/tr1/utility: Likewise. | |
520 | * include/tr2/bool_set: Likewise. | |
521 | * include/tr2/bool_set.tcc: Likewise. | |
522 | * include/tr2/dynamic_bitset: Likewise. | |
523 | * include/tr2/dynamic_bitset.tcc: Likewise. | |
524 | * include/tr2/ratio: Likewise. | |
525 | * include/tr2/type_traits: Likewise. | |
526 | * src/c++11/chrono.cc: Likewise. | |
527 | * src/c++11/compatibility-c++0x.cc: Likewise. | |
528 | * src/c++11/compatibility-chrono.cc: Likewise. | |
529 | * src/c++11/cxx11-shim_facets.cc: Likewise. | |
530 | * src/c++11/hashtable_c++0x.cc: Likewise. | |
531 | * src/c++11/placeholders.cc: Likewise. | |
532 | * src/c++11/thread.cc: Likewise. | |
533 | * src/c++98/bitmap_allocator.cc: Likewise. | |
534 | * src/c++98/hashtable_tr1.cc: Likewise. | |
535 | * src/c++98/list.cc: Likewise. | |
536 | * src/shared/hashtable-aux.cc: Likewise. | |
537 | * testsuite/20_util/duration/literals/range.cc: Adapt line number. | |
538 | * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. | |
539 | * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. | |
540 | * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. | |
541 | * testsuite/20_util/forward/c_neg.cc: Likewise. | |
542 | * testsuite/20_util/forward/f_neg.cc: Likewise. | |
543 | * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. | |
544 | * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. | |
545 | * testsuite/26_numerics/random/pr60037-neg.cc: Likewise. | |
546 | * python/libstdcxx/v6/printers.py: Adapt. | |
547 | ||
8c7331c5 JW |
548 | 2017-07-20 Jonathan Wakely <jwakely@redhat.com> |
549 | ||
550 | * config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__] | |
551 | (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define. | |
552 | * config/allocator/new_allocator_base.h [__SANITIZE_ADDRESS__] | |
553 | (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define. | |
554 | * doc/xml/manual/using.xml (_GLIBCXX_SANITIZE_VECTOR): Document macro. | |
555 | * include/bits/stl_vector.h [_GLIBCXX_SANITIZE_VECTOR] | |
556 | (_Vector_impl::_Asan, _Vector_impl::_Asan::_Reinit) | |
557 | (_Vector_impl::_Asan::_Grow, _GLIBCXX_ASAN_ANNOTATE_REINIT) | |
558 | (_GLIBCXX_ASAN_ANNOTATE_GROW, _GLIBCXX_ASAN_ANNOTATE_GREW) | |
559 | (_GLIBCXX_ASAN_ANNOTATE_SHRINK, _GLIBCXX_ASAN_ANNOTATE_BEFORE_DEALLOC): | |
560 | Define annotation helper types and macros. | |
561 | (vector::~vector, vector::push_back, vector::pop_back) | |
562 | (vector::_M_erase_at_end): Add annotations. | |
563 | * include/bits/vector.tcc (vector::reserve, vector::emplace_back) | |
564 | (vector::insert, vector::_M_erase, vector::operator=) | |
565 | (vector::_M_fill_assign, vector::_M_assign_aux) | |
566 | (vector::_M_insert_rval, vector::_M_emplace_aux) | |
567 | (vector::_M_insert_aux, vector::_M_realloc_insert) | |
568 | (vector::_M_fill_insert, vector::_M_default_append) | |
569 | (vector::_M_shrink_to_fit, vector::_M_range_insert): Annotate. | |
570 | ||
304a15ec JW |
571 | 2017-07-19 Jonathan Wakely <jwakely@redhat.com> |
572 | ||
573 | PR libstdc++/81476 | |
574 | * include/bits/vector.tcc (vector::_M_range_insert<_InputIterator>): | |
575 | Only insert elements one-by-one when inserting at the end. | |
576 | * testsuite/performance/23_containers/insert/81476.cc: New. | |
577 | ||
57c51668 VR |
578 | 2017-07-19 Volker Reichelt <v.reichelt@netcologne.de> |
579 | ||
580 | * libsupc++/new (bad_array_new_length): Remove redundant | |
581 | semicolon after in-class member function definition. | |
582 | * include/bits/locale_facets.h (ctype_byname, num_put): Likewise. | |
583 | * include/bits/locale_facets_nonio.h (time_put_byname): Likewise. | |
584 | * include/bits/random.h (mersenne_twister_engine): Likewise. | |
585 | * include/tr1/random.h (mersenne_twister): Likewise | |
586 | * include/ext/random (simd_fast_mersenne_twister_engine): Likewise. | |
587 | * include/ext/rope (char_producer, _Rope_char_consumer, | |
588 | _Rope_self_destruct_ptr, _Rope_const_iterator, _Rope_iterator): | |
589 | Likewise. | |
590 | * include/ext/ropeimpl.h (_Rope_flatten_char_consumer, | |
591 | _Rope_insert_char_consumer): Likewise. | |
592 | ||
1f78c47b JW |
593 | 2017-07-19 Jonathan Wakely <jwakely@redhat.com> |
594 | ||
e020783c JW |
595 | * include/bits/fstream.tcc (basic_filebuf::xsgetn) |
596 | (basic_filebuf::xsputn, basic_filebuf::seekoff): Fix indentation. | |
597 | ||
4e66b02b JW |
598 | * testsuite/util/testsuite_iterators.h: Fix indentation. |
599 | ||
1f78c47b JW |
600 | * testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: Add dg-require. |
601 | ||
fddcd19a JW |
602 | 2017-07-18 Jonathan Wakely <jwakely@redhat.com> |
603 | ||
604 | PR libstdc++/81395 | |
605 | * include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer | |
606 | pointers for write mode after reading. | |
607 | * testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New. | |
608 | ||
4f9e1f4d FD |
609 | 2017-07-18 François Dumont <fdumont@gcc.gnu.org> |
610 | ||
611 | * include/bits/stl_list.h | |
612 | (struct _List_node_header): New. | |
613 | (_List_impl()): Fix noexcept qualification. | |
614 | (_List_impl(_List_impl&&)): New, default. | |
615 | (_List_base()): Default. | |
616 | (_List_base(_List_base&&)): Default. | |
617 | (_List_base::_M_move_nodes): Adapt to use | |
618 | _List_node_header._M_move_nodes. | |
619 | (_List_base::_M_init): Likewise. | |
620 | (list<>()): Default. | |
621 | (list<>(list&&)): Default. | |
622 | (list<>::_M_move_assign(list&&, true_type)): Use _M_move_nodes. | |
623 | (__distance(_List_const_iterator<>, _List_const_iterator<>, | |
624 | input_iterator_tag)): Adapt. | |
625 | * testsuite/23_containers/list/allocator/default_init.cc: New. | |
626 | ||
e12d3780 JW |
627 | 2017-07-15 Jonathan Wakely <jwakely@redhat.com> |
628 | ||
629 | * include/std/mutex (scoped_lock): Reorder std::adopt_lock_t parameter | |
630 | as per P0739R0. | |
631 | * testsuite/30_threads/scoped_lock/cons/1.cc: Reorder arguments. | |
632 | * testsuite/30_threads/scoped_lock/cons/deduction.cc: Test deduction | |
633 | with std::adopt_lock_t. | |
634 | * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Check | |
635 | feature-test macro. | |
636 | ||
20316b9b JM |
637 | 2017-07-14 Jason Merrill <jason@redhat.com> |
638 | Jonathan Wakely <jwakely@redhat.com> | |
639 | ||
640 | * include/std/variant (variant::variant(_Tp&&)): Constrain to remove | |
641 | the constructor for empty variants from the candidate functions | |
642 | during class template argument deduction. | |
643 | * testsuite/20_util/variant/deduction.cc: New. | |
644 | ||
6a28a753 JW |
645 | 2017-07-11 Jonathan Wakely <jwakely@redhat.com> |
646 | ||
647 | * doc/xml/faq.xml: Update several old entries. Improve | |
648 | cross-references. | |
649 | * doc/xml/manual/intro.xml: Add anchors to each DR. | |
650 | * doc/html/*: Regenerate. | |
651 | ||
93ef155b JW |
652 | 2017-07-10 Jonathan Wakely <jwakely@redhat.com> |
653 | ||
b0e90d2a JW |
654 | * testsuite/abi/pr42230.cc: Add header for std::free. |
655 | ||
387c17d3 JW |
656 | PR libstdc++/81381 |
657 | * include/bits/sstream.tcc (basic_stringbuf::overflow) | |
658 | (basic_stringbuf::basic_stringbuf(const __string_type&, ios::mode)) | |
659 | (basic_stringbuf::str()): Construct new strings with an allocator. | |
660 | * testsuite/27_io/basic_stringbuf/cons/81381.cc: New. | |
661 | ||
93ef155b JW |
662 | PR libstdc++/81338 |
663 | * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): | |
664 | Declare basic_stringbuf to be a friend. | |
665 | * include/bits/sstream.tcc (basic_stringbuf::overflow) | |
666 | [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating. | |
667 | * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string | |
668 | length to buffer length. | |
669 | * testsuite/27_io/basic_stringstream/assign/81338.cc: New. | |
670 | ||
318c48e3 JW |
671 | 2017-07-06 Jonathan Wakely <jwakely@redhat.com> |
672 | ||
32aaf6ef JW |
673 | * testsuite/20_util/specialized_algorithms/memory_management_tools/ |
674 | 1.cc: Free memory. | |
675 | * testsuite/22_locale/locale/cons/5.cc: Remove redundant restoration | |
676 | of original environment and free memory. | |
677 | ||
4f7c2c7f JW |
678 | * testsuite/abi/pr42230.cc: Free memory. |
679 | * testsuite/util/testsuite_abi.cc (demangle): Return std::string | |
680 | instead of pointer that might need freeing. | |
681 | * testsuite/util/testsuite_abi.h (demangle): Likewise. | |
682 | * testsuite/util/testsuite_hooks.cc (verify_demangle): Free memory. | |
683 | ||
318c48e3 JW |
684 | * include/bits/uses_allocator.h (__use_alloc(const _Alloc&&)): Add |
685 | deleted overload to prevent dangling references to rvalues. | |
686 | * include/experimental/memory_resource | |
687 | (polymorphic_allocator::construct): Do not call __use_alloc with | |
688 | rvalue arguments. | |
689 | ||
70503724 TS |
690 | 2017-06-27 Tim Shen <timshen@google.com> |
691 | ||
692 | PR libstdc++/80187 | |
693 | * include/std/variant (variant::variant, variant::~variant, | |
694 | variant::operator=): Implement triviality forwarding for four | |
695 | special member functions. | |
696 | * testsuite/20_util/variant/compile.cc: Tests. | |
697 | ||
e708b94b JW |
698 | 2017-06-27 Jonathan Wakely <jwakely@redhat.com> |
699 | ||
68fe5f44 JW |
700 | PR libstdc++/81221 |
701 | * testsuite/25_algorithms/sample/81221.cc: Disable except for | |
702 | check-parallel. | |
703 | ||
e708b94b JW |
704 | PR libstdc++/81221 |
705 | * include/bits/stl_algo.h (sample): Qualify with _GLIBCXX_STD_A not | |
706 | std. | |
707 | * testsuite/25_algorithms/sample/81221.cc: New. | |
708 | ||
b6d03af0 JW |
709 | 2017-06-22 Jonathan Wakely <jwakely@redhat.com> |
710 | ||
711 | PR libstdc++/81173 | |
712 | * include/bits/stl_bvector.h (vector<bool>::_M_initialize_value): | |
713 | Do not pass null pointer to memset. | |
714 | ||
5e88d2d0 VV |
715 | 2017-06-21 Ville Voutilainen <ville.voutilainen@gmail.com> |
716 | ||
717 | PR libstdc++/80675 | |
718 | PR libstdc++/80940 | |
719 | * include/std/istream: | |
720 | (__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New. | |
721 | (__do_is_convertible_to_basic_istream_impl): Likewise. | |
722 | (__is_convertible_to_basic_istream_impl): Likewise. | |
723 | (__is_convertible_to_basic_istream): Use the new base. | |
724 | (__rvalue_istream_type): New. | |
725 | (operator>>(_Istream&&, _Tp&&)): Use the new helper alias | |
726 | for the SFINAE check, convert to the helper alias type before | |
727 | doing the actual extraction. | |
728 | * include/std/ostream: | |
729 | (__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New. | |
730 | (__do_is_convertible_to_basic_ostream_impl): Likewise. | |
731 | (__is_convertible_to_basic_ostream_impl): Likewise. | |
732 | (__is_convertible_to_basic_ostream): Use the new base. | |
733 | (__rvalue_ostream_type): New. | |
734 | (operator<<(_Ostream&&, const _Tp&)): Use the new helper alias | |
735 | for the SFINAE check, convert to the helper alias type before | |
736 | doing the actual insertion. | |
737 | * testsuite/27_io/rvalue_streams-2.cc: Add new tests. | |
738 | ||
6bea305b RR |
739 | 2017-06-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
740 | ||
741 | * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. | |
742 | ||
ed39d22d JW |
743 | 2017-06-21 Jonathan Wakely <jwakely@redhat.com> |
744 | ||
745 | PR libstdc++/81092 | |
746 | * configure: Regenerate. | |
747 | ||
32639794 UB |
748 | 2017-06-20 Uros Bizjak <ubizjak@gmail.com> |
749 | ||
750 | * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. | |
751 | ||
67ea3f4e RO |
752 | 2017-06-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
753 | ||
754 | * testsuite/20_util/variant/index_type.cc: Allow for all ilp32 and | |
755 | lp64 targets. | |
756 | ||
a06a5385 RO |
757 | 2017-06-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
758 | ||
759 | * config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate. | |
760 | * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise. | |
761 | * config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise. | |
762 | * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise. | |
763 | * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise. | |
764 | * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: | |
765 | Likewise. | |
766 | * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise. | |
767 | * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: | |
768 | Likewise. | |
769 | ||
82aa64e5 L |
770 | 2017-06-18 H.J. Lu <hongjiu.lu@intel.com> |
771 | ||
772 | PR libstdc++/81092 | |
773 | * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. | |
774 | ||
60a51885 AS |
775 | 2017-06-18 Andreas Schwab <schwab@linux-m68k.org> |
776 | ||
777 | PR libstdc++/81092 | |
778 | * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. | |
779 | ||
4f4b0ab8 RO |
780 | 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
781 | ||
782 | * testsuite: Remove dg-skip-if, dg-xfail-if, dg-xfail-run-if | |
783 | default args. | |
784 | ||
14d8a912 JW |
785 | 2017-06-17 Jonathan Wakely <jwakely@redhat.com> |
786 | ||
787 | PR libstdc++/80893 | |
788 | * testsuite/23_containers/vector/bool/80893.cc: Add { target c++11 }. | |
789 | ||
78a8b676 JW |
790 | 2017-06-16 Jonathan Wakely <jwakely@redhat.com> |
791 | ||
792 | * include/bits/shared_ptr.h (get_deleter): Add overload matching | |
793 | standard signature. | |
794 | * include/bits/shared_ptr_base.h (__shared_ptr): Declare new | |
795 | get_deleter overload as a friend. | |
796 | * testsuite/20_util/shared_ptr/misc/get_deleter.cc: New. | |
797 | ||
fb7a1633 JJ |
798 | 2017-06-16 Jakub Jelinek <jakub@redhat.com> |
799 | ||
800 | PR libstdc++/81092 | |
801 | * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. | |
802 | * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. | |
803 | * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. | |
804 | ||
6ec3c9c8 JW |
805 | 2017-06-16 Jonathan Wakely <jwakely@redhat.com> |
806 | ||
bfe8a528 JW |
807 | * include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition. |
808 | * testsuite/22_locale/conversions/buffer/2.cc: New. | |
809 | ||
4317778a JW |
810 | PR libstdc++/81092 |
811 | * acinclude.m4: Bump libtool_VERSION. | |
812 | * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. | |
813 | * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. | |
814 | * config/abi/pre/gnu.ver: Add wstring constructor symbols to | |
815 | GLIBCXX_3.4.24 version and move random_device::_M_get_entropy() symbol | |
816 | to new GLIBCXX_3.4.25 version. | |
817 | * doc/xml/manual/abi.xml: Document new versions. | |
818 | * doc/html/*: Regenerate. | |
819 | * testsuite/21_strings/basic_string/cons/char/8.cc: Use base object | |
820 | constructors to ensure required symbols are exported. | |
821 | * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. | |
822 | * testsuite/util/testsuite_abi.cc: Add new version. | |
823 | ||
6ec3c9c8 JW |
824 | * include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing |
825 | return statement. | |
826 | * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: | |
827 | Return void. | |
828 | * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: | |
829 | Likewise. | |
830 | * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add | |
831 | missing return statements. | |
832 | * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: | |
833 | Likewise. | |
834 | * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: | |
835 | Return void. | |
836 | * testsuite/special_functions/14_expint/pr68397.cc: Likewise. | |
837 | ||
7d594224 FD |
838 | 2017-06-16 François Dumont <fdumont@gcc.gnu.org> |
839 | ||
840 | * include/bits/stl_bvector.h | |
841 | (__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)): | |
842 | Change signature. | |
843 | (std::fill(_Bit_iterator, _Bit_iterator, bool)): Adapt. | |
844 | (_Bvector_impl_data): New. | |
845 | (_Bvector_impl): Inherits from latter. | |
846 | (_Bvector_impl(_Bit_alloc_type&&)): Delete. | |
847 | (_Bvector_impl(_Bvector_impl&&)): New, default. | |
848 | (_Bvector_base()): Default. | |
849 | (_Bvector_base(_Bvector_base&&)): Default. | |
850 | (_Bvector_base::_M_move_data(_Bvector_base&&)): New. | |
851 | (vector(vector&&, const allocator_type&)): Use latter. | |
852 | (vector<bool>::operator=(vector&&)): Likewise. | |
853 | (vector<bool>::vector()): Default. | |
854 | (vector<bool>::vector(vector&&)): Default. | |
855 | (vector<bool>::assign(_InputIterator, _InputIterator)): Use | |
856 | _M_assign_aux. | |
857 | (vector<bool>::assign(initializer_list<bool>)): Likewise. | |
858 | (vector<bool>::_M_initialize_value(bool)): New. | |
859 | (vector<bool>(size_type, const bool&, const allocator_type&)): Use | |
860 | latter. | |
861 | (vector<bool>::_M_initialize_dispatch(_Integer, _Integer, __true_type)): | |
862 | Likewise. | |
863 | (vector<bool>::_M_fill_assign(size_t, bool)): Likewise. | |
864 | ||
0356a074 FD |
865 | 2017-06-15 François Dumont <fdumont@gcc.gnu.org> |
866 | ||
867 | * src/c++98/tree.cc [!_GLIBCXX_INLINE_VERSION] | |
868 | (_Rb_tree_rotate_left, _Rb_tree_rotate_right): Delete. | |
869 | ||
d1236680 RO |
870 | 2017-06-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
871 | ||
872 | * testsuite: Add dg-require-effective-target pthread to -pthread | |
873 | tests. | |
874 | Remove explicit target lists from dg-do and dg-options. | |
875 | ||
876 | * testsuite/30_threads/async/forced_unwind.cc: Remove explit | |
877 | target list from dg-options. | |
878 | * testsuite/30_threads/packaged_task/forced_unwind.cc: Likewise. | |
879 | ||
880 | * 30_threads/shared_mutex/cons/1.cc: Likewise. | |
881 | Pass -pthread for all targets. | |
882 | * 30_threads/shared_mutex/try_lock/1.cc: Likewise. | |
883 | * 30_threads/shared_mutex/try_lock/2.cc: Likewise. | |
884 | * 30_threads/shared_mutex/unlock/1.cc: Likewise. | |
885 | ||
886 | * testsuite/30_threads/this_thread/57060.cc: Require c++11 via | |
887 | dg-require-effective-target. | |
888 | ||
cdd17d6e JW |
889 | 2017-06-14 Jonathan Wakely <jwakely@redhat.com> |
890 | ||
891 | * doc/xml/manual/test.xml: Correct instructions on running tests. | |
892 | * testsuite/21_strings/basic_string/cons/char/deduction.cc: Adjust to | |
893 | pass when -D_GLIBCXX_USE_CXX11_ABI=0 added to RUNTESTFLAGS. | |
894 | * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: | |
895 | Likewise. | |
896 | * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise. | |
897 | * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. | |
898 | * testsuite/27_io/basic_istream/extractors_arithmetic/char/ | |
899 | exceptions_failbit.cc: Likewise. | |
900 | * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ | |
901 | exceptions_failbit.cc: Likewise. | |
902 | * testsuite/27_io/basic_istream/extractors_other/char/ | |
903 | exceptions_null.cc: Likewise. | |
904 | * testsuite/27_io/basic_istream/extractors_other/wchar_t/ | |
905 | exceptions_null.cc: Likewise. | |
906 | * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. | |
907 | * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. | |
908 | * testsuite/27_io/basic_ostream/inserters_other/char/ | |
909 | exceptions_null.cc: Likewise. | |
910 | * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ | |
911 | exceptions_null.cc: Likewise. | |
912 | * testsuite/27_io/ios_base/storage/2.cc: Likewise. | |
913 | ||
b51483f4 PA |
914 | 2017-06-12 Pedro Alves <palves@redhat.com> |
915 | ||
916 | * doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr | |
917 | char_traits status. | |
918 | * doc/html/*: Regenerate. | |
919 | ||
920 | * include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if | |
921 | not already defined. | |
922 | (__cpp_lib_constexpr_char_traits): Uncomment. | |
923 | (__constant_string_p, __constant_char_array_p): New. | |
924 | (std::char_traits<char>, std::char_traits<wchar_t>): Add | |
925 | _GLIBCXX17_CONSTEXPR on compare, length and find and use | |
926 | __constant_string_p, __constant_char_array_p and | |
927 | __builtin_constant_p to defer to __gnu_cxx::char_traits at compile | |
928 | time. | |
929 | ||
930 | * testsuite/21_strings/char_traits/requirements/ | |
931 | constexpr_functions_c++17.cc: Uncomment | |
932 | __cpp_lib_constexpr_char_traits tests. Uncomment | |
933 | test_compare<char>, test_length<char>, test_find<char>, | |
934 | test_compare<wchar_t>, test_length<wchar_t> and test_find<wchar_t> | |
935 | static_assert tests. | |
936 | ||
07cfc2d7 FD |
937 | 2017-06-12 François Dumont <fdumont@gcc.gnu.org> |
938 | ||
939 | * include/bits/stl_tree.h (_Rb_tree_impl()): Restore _Node_allocator | |
940 | default init. | |
941 | * testsuite/util/testsuite_allocator.h | |
942 | (__gnu_test::default_init_allocator<>) New. | |
943 | * testsuite/23_containers/set/allocator/default_init.cc: New. | |
944 | * testsuite/23_containers/map/allocator/default_init.cc: New. | |
945 | ||
754d67d5 JW |
946 | 2017-06-12 Jonathan Wakely <jwakely@redhat.com> |
947 | ||
948 | PR libstdc++/55917 | |
949 | * src/c++11/thread.cc (execute_native_thread_routine): Remove | |
950 | try-block so that exceptions propagate out of the thread and terminate | |
951 | is called by the exception-handling runtime. | |
952 | (execute_native_thread_routine_compat): Likewise. | |
953 | * testsuite/30_threads/thread/cons/terminate.cc: New. | |
954 | ||
225ab2b0 JW |
955 | 2017-06-09 Jonathan Wakely <jwakely@redhat.com> |
956 | ||
53d01fd9 JW |
957 | * doc/xml/manual/intro.xml: Document LWG 2802, 2873 and 2942 changes. |
958 | * include/bits/shared_ptr.h (shared_ptr): Use rvalues for deleters | |
959 | (LWG 2802). | |
960 | * include/bits/shared_ptr_base.h (_Sp_ebo_helper, _Sp_counted_deleter | |
961 | (_Sp_counted_deleter::_Impl, __shared_count, __shared_ptr): Likewise. | |
962 | * testsuite/20_util/shared_ptr/cons/lwg2802.cc: New. | |
963 | ||
225ab2b0 JW |
964 | * include/bits/forward_list.h (forward_list): Add deduction guide. |
965 | * include/bits/stl_deque.h (deque): Likewise. | |
966 | * include/bits/stl_list.h (list): Likewise. | |
967 | * include/bits/stl_vector.h (vector): Likewise. | |
968 | * testsuite/23_containers/deque/cons/deduction.cc: New. | |
969 | * testsuite/23_containers/forward_list/cons/deduction.cc: New. | |
970 | * testsuite/23_containers/list/cons/deduction.cc: New. | |
971 | * testsuite/23_containers/vector/cons/deduction.cc: New. | |
972 | ||
853ed6bc JW |
973 | 2017-06-08 Jonathan Wakely <jwakely@redhat.com> |
974 | ||
975 | PR libstdc++/81017 | |
976 | * include/bits/std_function.h (function::function(function&&)) | |
977 | (function::operator=(funtion&&)): Add noexcept. | |
978 | * testsuite/20_util/function/assign/move.cc: Check for noexcept. | |
979 | * testsuite/20_util/function/cons/move.cc: Likewise. | |
980 | ||
6d82c562 JW |
981 | 2017-06-07 Jonathan Wakely <jwakely@redhat.com> |
982 | ||
bfd88d1d JW |
983 | * include/bits/regex.h (basic_regex): Add deduction guide from P0433. |
984 | * testsuite/28_regex/basic_regex/ctors/deduction.cc: New. | |
985 | ||
d840779f JW |
986 | PR libstdc++/81002 |
987 | * include/bits/regex.h (basic_regex): Adjust call to __compile_nfa | |
988 | so iterator type is deduced. | |
989 | * include/bits/regex_compiler.h (__compile_nfa): Reorder template | |
990 | parameters to allow iterator type to be deduced. | |
991 | * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New. | |
992 | ||
6d82c562 JW |
993 | * include/bits/alloc_traits.h (__is_allocator, _RequireAllocator): |
994 | New trait and alias for detecting Allocator-like types. | |
995 | * include/bits/basic_string.h (basic_string): Add deduction guide | |
996 | from P0433. | |
997 | * include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): Add template | |
998 | parameter with default template argument that causes substitution | |
999 | failures for types that cannot be allocators. | |
1000 | * testsuite/21_strings/basic_string/cons/char/deduction.cc: New. | |
1001 | * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: New. | |
1002 | ||
94895bd9 JW |
1003 | 2017-06-02 Jonathan Wakely <jwakely@redhat.com> |
1004 | ||
1005 | PR libstdc++/80939 | |
1006 | * include/std/variant (__erased_ctor, __erased_assign, __erased_swap) | |
1007 | (__erased_hash): Remove constexpr specifier and qualify calls to | |
1008 | __ref_cast. | |
1009 | (__erased_dtor): Remove constexpr specifier and use _Destroy. | |
1010 | ||
d08606ce JW |
1011 | 2017-06-05 Jonathan Wakely <jwakely@redhat.com> |
1012 | ||
6c241778 JW |
1013 | * include/bits/stl_iterator_base_funcs.h |
1014 | (__advance<_RandomAccessIterator, _Distance>): Optimize for next/prev | |
1015 | cases where incrementing or decrementing a single step. | |
1016 | ||
d08606ce JW |
1017 | * include/bits/shared_ptr_base.h (__shared_ptr::owner_before) |
1018 | (__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept | |
1019 | specifiers as per LWG 2873 and LWG 2942. | |
1020 | * testsuite/20_util/owner_less/noexcept.cc: New. | |
1021 | * testsuite/20_util/shared_ptr/observers/owner_before.cc: Test | |
1022 | noexcept guarantees. | |
1023 | * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. | |
1024 | ||
d9850c48 AS |
1025 | 2017-06-03 Andreas Schwab <schwab@linux-m68k.org> |
1026 | ||
1027 | * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. | |
1028 | ||
76052545 EB |
1029 | 2017-06-03 Eric Botcazou <ebotcazou@adacore.com> |
1030 | ||
1031 | * src/filesystem/dir.cc (fs::_Dir::advance): Use std::exchange. | |
1032 | ||
ef3985db JW |
1033 | 2017-06-02 Jonathan Wakely <jwakely@redhat.com> |
1034 | ||
4c19e432 JW |
1035 | PR libstdc++/80624 |
1036 | * doc/xml/manual/status_cxx2011.xml: Document to_int_type behaviour. | |
1037 | * include/bits/char_traits.h (char_traits<char16_t>::to_int_type): | |
1038 | Transform eof value to U+FFFD. | |
1039 | * testsuite/21_strings/char_traits/requirements/char16_t/eof.cc: New. | |
1040 | * testsuite/27_io/basic_streambuf/sgetc/char16_t/80624.cc: New. | |
1041 | * testsuite/27_io/basic_streambuf/sputc/char16_t/80624.cc: New. | |
1042 | ||
ef3985db JW |
1043 | * libsupc++/Makefile.am: Remove custom targets for files that need to |
1044 | be compiled as C++11 or C++14. | |
1045 | * libsupc++/Makefile.in: Regenerate. | |
1046 | * libsupc++/del_ops.cc: Use pragma to disable -Wsized-deallocation | |
1047 | warnings. | |
1048 | * libsupc++/del_opvs.cc: Likewise. | |
1049 | ||
1c26adb7 RB |
1050 | 2017-06-02 Richard Biener <rguenther@suse.de> |
1051 | Markus Eisenmann <meisenmann.lba@fh-salzburg.ac.at> | |
1052 | ||
1053 | PR libstdc++/80721 | |
1054 | * libsupc++/eh_alloc.cc (pool::free): Keep list properly | |
1055 | sorted and add missing freelist item merging cases. | |
1056 | ||
e34fd4dc RO |
1057 | 2017-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
1058 | ||
1059 | (GLIBCXX_CROSSCONFIG): Handle *-solaris* like *-linux* etc. | |
1060 | Remove *-solaris* section. | |
1061 | * configure: Regenerate. | |
1062 | ||
046a8476 JW |
1063 | 2017-05-31 Jonathan Wakely <jwakely@redhat.com> |
1064 | ||
1065 | PR libstdc++/80893 | |
1066 | * include/bits/stl_bvector.h (vector<bool>::_M_initialize): Avoid | |
1067 | null pointer dereference when size is zero. | |
1068 | * testsuite/23_containers/vector/bool/80893.cc: New. | |
1069 | * testsuite/util/testsuite_allocator.h (PointerBase::PointerBase): | |
1070 | Add non-explicit constructor from nullptr. | |
1071 | (PointerBase::derived() const): Add const-qualified overload. | |
1072 | ||
a8127c0c TS |
1073 | 2017-05-20 Tim Shen <timshen@google.com> |
1074 | ||
1075 | PR libstdc++/80737 | |
1076 | * include/std/variant(variant::variant): SFINAE on is_same first. | |
1077 | * testsuite/20_util/variant/any.cc: test case. | |
1078 | ||
b6784361 JW |
1079 | 2017-05-24 Jonathan Wakely <jwakely@redhat.com> |
1080 | ||
1081 | * src/c++11/random.cc (random_device::_M_getentropy): Use __CHAR_BIT__ | |
1082 | instead of fixed number of bits. | |
1083 | ||
e1b67495 AS |
1084 | 2017-05-24 Andreas Schwab <schwab@suse.de> |
1085 | ||
1086 | * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. | |
1087 | * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise. | |
1088 | ||
78aa76df XR |
1089 | 2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn> |
1090 | Jonathan Wakely <jwakely@redhat.com> | |
1091 | ||
1092 | PR libstdc++/67578 | |
1093 | * acinclude.m4: Bump libtool_VERSION. | |
1094 | * config/abi/pre/gnu.ver: Create GLIBCXX_3.4.24 with new symbol. | |
1095 | * config.h.in: Regenerate. | |
1096 | * configure: Regenerate. | |
1097 | * configure.ac: Add test for <linux/random.h>. | |
1098 | * doc/xml/manual/abi.xml: Document new library version. | |
1099 | * include/bits/random.h (random_device::entropy) | |
1100 | [_GLIBCXX_USE_RANDOM_TR1]: Add call to new _M_getentropy member. | |
1101 | (random_device::_M_getentropy): Declare. | |
1102 | * src/c++11/random.cc (random_device::_M_getentropy): Define. | |
1103 | * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.24 to known | |
1104 | versions, and make it the latest version. | |
1105 | ||
5383998a XR |
1106 | 2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn> |
1107 | ||
1108 | PR libstdc++/67214 | |
1109 | * include/bits/locale_facets.tcc (num_get::_M_extract_int): Add | |
1110 | explicit conversion to avoid signed overflow. | |
1111 | ||
f710ca61 JW |
1112 | 2017-05-19 Jonathan Wakely <jwakely@redhat.com> |
1113 | ||
1114 | PR libstdc++/80796 | |
1115 | * include/bits/stl_algo.h (search): Add new overload for C++17. | |
1116 | * testsuite/25_algorithms/search/searcher.cc: New. | |
1117 | ||
747217d1 JW |
1118 | 2017-05-18 Jonathan Wakely <jwakely@redhat.com> |
1119 | ||
1120 | PR libstdc++/80478 | |
1121 | * include/std/functional (_Mem_fn_traits_base): Add specializations | |
1122 | for noexcept member function types. | |
1123 | * testsuite/20_util/function_objects/mem_fn/80478.cc: New test. | |
1124 | ||
8268fc60 JW |
1125 | 2017-05-18 Jonathan Wakely <jwakely@redhat.com> |
1126 | ||
8985968c JW |
1127 | * doc/xml/manual/policy_data_structures.xml: Fix typo. |
1128 | * doc/xml/manual/test_policy_data_structures.xml: Likewise. | |
1129 | * doc/html/*: Regenerate. | |
1130 | ||
8268fc60 JW |
1131 | * doc/xml/manual/abi.xml: Document latest library versions. |
1132 | * doc/xml/manual/build_hacking.xml: Document requirement to update | |
1133 | abi.xml when bumping library versions. | |
1134 | * doc/html/*: Regenerate. | |
1135 | ||
26bddba3 JW |
1136 | 2017-05-17 Jonathan Wakely <jwakely@redhat.com> |
1137 | ||
1138 | * include/bits/refwrap.h: Fix Doxygen warning. | |
1139 | * include/bits/specfun.h: Likewise. | |
1140 | * include/bits/std_function.h: Likewise. | |
1141 | * include/bits/stl_algo.h (set_union, set_intersection) | |
1142 | (set_difference, set_symmetric_difference): Add Doxygen @param tags | |
1143 | for output iterator parameters. | |
1144 | * include/bits/stl_iterator.h (inserter): Add Doxygen @param tag for | |
1145 | iterator parameter. | |
1146 | * include/std/mutex (try_lock, lock): Change Mutex to Lockable in | |
1147 | Doxygen comments. | |
1148 | ||
b42cc3ca VV |
1149 | 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com> |
1150 | ||
1151 | Implement new C++ intrinsics __is_assignable and __is_constructible. | |
1152 | * include/std/type_traits (__do_is_static_castable_impl): Remove. | |
1153 | (__is_static_castable_impl, __is_static_castable_safe): Likewise. | |
1154 | (__is_static_castable, __do_is_direct_constructible_impl): Likewise. | |
1155 | (__is_direct_constructible_impl): Likewise. | |
1156 | (__is_direct_constructible_new_safe): Likewise. | |
1157 | (__is_base_to_derived_ref, __is_lvalue_to_rvalue_ref): Likewise. | |
1158 | (__is_direct_constructible_ref_cast): Likewise. | |
1159 | (__is_direct_constructible_new, __is_direct_constructible): Likewise. | |
1160 | (__do_is_nary_constructible_impl): Likewise. | |
1161 | (__is_nary_constructible_impl, __is_nary_constructible): Likewise. | |
1162 | (__is_constructible_impl): Likewise. | |
1163 | (is_constructible): Call the intrinsic. | |
1164 | (__is_assignable_helper): Remove. | |
1165 | (is_assignable): Call the intrinsic. | |
1166 | (is_trivially_constructible): Likewise. | |
1167 | (__is_trivially_copy_constructible_impl): New. | |
1168 | (is_trivially_copy_constructible): Use it. | |
1169 | (__is_trivially_move_constructible_impl): New. | |
1170 | (is_trivially_move_constructible): Use it. | |
1171 | (is_trivially_assignable): Call the intrinsic. | |
1172 | (__is_trivially_copy_assignable_impl): New. | |
1173 | (is_trivially_copy_assignable): Use it. | |
1174 | (__is_trivially_move_assignable_impl): New. | |
1175 | (is_trivially_move_assignable): Use it. | |
1176 | (testsuite/20_util/declval/requirements/1_neg.cc): Adjust. | |
1177 | (testsuite/20_util/is_trivially_copy_assignable/value.cc): | |
1178 | Add test for void. | |
1179 | (testsuite/20_util/is_trivially_copy_constructible/value.cc): Likewise. | |
1180 | (testsuite/20_util/is_trivially_move_assignable/value.cc): Likewise. | |
1181 | (testsuite/20_util/is_trivially_move_constructible/value.cc): Likewise. | |
1182 | (testsuite/20_util/make_signed/requirements/typedefs_neg.cc): Adjust. | |
1183 | (testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc): | |
1184 | Likewise. | |
1185 | ||
ba1a6907 JW |
1186 | 2017-05-16 Jonathan Wakely <jwakely@redhat.com> |
1187 | ||
058c7854 JW |
1188 | * testsuite/experimental/source_location/1.cc: Change expected result |
1189 | for source_location::current() used in default member initializer. | |
1190 | ||
2673bae9 JW |
1191 | * doc/xml/manual/status_cxx2017.xml: Update status table. |
1192 | * doc/html/*: Regenerate. | |
1193 | * include/Makefile.am: Add new header. | |
1194 | * include/Makefile.in: Regenerate. | |
1195 | * include/experimental/source_location: New header implementing N4519. | |
1196 | * testsuite/experimental/source_location/1.cc: New test. | |
1197 | ||
42362497 JW |
1198 | PR libstdc++/80285 |
1199 | * include/bits/shared_ptr_base.h [!__cpp_rtti] (type_info): Declare | |
1200 | outside versioned namespace. | |
1201 | ||
ba1a6907 JW |
1202 | * configure: Regenerate. |
1203 | ||
2c27a627 MG |
1204 | 2017-05-16 Marc Glisse <marc.glisse@inria.fr> |
1205 | ||
1206 | * include/std/optional (_Optional_base::_M_get): Check precondition. | |
1207 | * testsuite/20_util/optional/cons/value_neg.cc: Update line numbers. | |
1208 | ||
ad2b8b37 JW |
1209 | 2017-05-16 Jonathan Wakely <jwakely@redhat.com> |
1210 | ||
5f54ae00 JW |
1211 | * doc/xml/manual/appendix_contributing.xml: Link to test docs and |
1212 | note higher DejaGnu version requirement. | |
1213 | * doc/html/*: Regenerate. | |
1214 | ||
ad2b8b37 JW |
1215 | * doc/xml/manual/appendix_contributing.xml: Link to the list of bad |
1216 | identifiers. | |
1217 | * doc/html/*: Regenerate. | |
1218 | ||
85c05b5e JW |
1219 | 2017-05-15 Jonathan Wakely <jwakely@redhat.com> |
1220 | ||
1221 | PR libstdc++/80761 | |
1222 | * include/bits/node_handle.h (_Node_insert_return): Reorder members. | |
1223 | (tuple_size, tuple_element): Remove partial specializations. | |
1224 | * include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use | |
1225 | const_iterator for std::set. | |
1226 | * testsuite/23_containers/map/modifiers/extract.cc: New. | |
1227 | * testsuite/23_containers/set/modifiers/extract.cc: New. | |
1228 | * testsuite/23_containers/unordered_map/modifiers/extract.cc: New. | |
1229 | * testsuite/23_containers/unordered_set/modifiers/extract.cc: New. | |
1230 | ||
f859f912 JW |
1231 | 2017-05-12 Jonathan Wakely <jwakely@redhat.com> |
1232 | ||
1233 | PR libstdc++/78939 | |
1234 | * include/std/utility (tuple_size<cv T>): Only define partial | |
1235 | specializations when tuple_size<T>::value is valid. | |
1236 | * testsuite/20_util/tuple/78939.cc: New. | |
1237 | * testsuite/20_util/tuple/cv_tuple_size_neg.cc: New. | |
1238 | ||
dc4dd7f6 FD |
1239 | 2017-05-11 François Dumont <fdumont@gcc.gnu.org> |
1240 | ||
fee84d55 FD |
1241 | * include/bits/stl_tree.h [_GLIBCXX_INLINE_VERSION] |
1242 | (_Rb_tree_impl<>): Remove _Is_pod_comparator | |
1243 | template parameter. | |
1244 | ||
dc4dd7f6 FD |
1245 | * include/debug/formatter.h [_GLIBCXX_INLINE_VERSION] |
1246 | (__gnu_debug::_Error_formatter::_Parameter::_M_print_field): Remove. | |
1247 | (__gnu_debug::_Error_formatter::_Parameter::_M_print_description): | |
1248 | Remove. | |
1249 | (__gnu_debug::_Error_formatter::_M_format_word): Remove. | |
1250 | (__gnu_debug::_Error_formatter::_M_print_word): Remove. | |
1251 | (__gnu_debug::_Error_formatter::_M_print_string): Remove. | |
1252 | (__gnu_debug::_Error_formatter::_M_get_max_length): Remove. | |
1253 | * src/c++11/debug.cc: Adapt. | |
1254 | * config/abi/pre/gnu-versioned-namespace.ver: Adapt. | |
1255 | ||
f8cba3aa JW |
1256 | 2017-05-11 Jonathan Wakely <jwakely@redhat.com> |
1257 | ||
395ec8f3 JW |
1258 | * doc/xml/manual/allocator.xml: Fix ViewCVS URLs. |
1259 | * doc/xml/manual/mt_allocator.xml: Likewise. | |
1260 | * doc/html/*: Regenerate. | |
1261 | ||
f8cba3aa JW |
1262 | PR libstdc++/80285 |
1263 | * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Define | |
1264 | function to get unique fake std::type_info reference. | |
1265 | (_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Compare to | |
1266 | _S_ti() fake reference. | |
1267 | (__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Share | |
1268 | single implementation with or without RTTI enable. | |
1269 | [!__cpp_rtti]: Pass fake reference to _M_get_deleter. | |
1270 | * testsuite/20_util/shared_ptr/creation/alloc.cc: Change expected | |
1271 | allocation and deallocation counts. | |
1272 | * testsuite/20_util/shared_ptr/creation/single_allocation.cc: New. | |
1273 | * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc: | |
1274 | New. | |
1275 | ||
e5795ce4 FD |
1276 | 2017-05-10 François Dumont <fdumont@gcc.gnu.org> |
1277 | ||
87c7063d FD |
1278 | Bump version namespace. |
1279 | * config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace | |
1280 | from __7 to __8. Bump GLIBCXX_7.0 to GLIBCXX_8.0. | |
1281 | * acinclude.m4 (libtool_VERSION): Bump to 8:0:0. | |
1282 | * include/bits/c++config: Adapt. | |
1283 | * include/bits/regex.h: Adapt. | |
1284 | * include/experimental/bits/fs_fwd.h: Adapt. | |
1285 | * include/experimental/bits/lfts_config.h: Adapt. | |
1286 | * include/std/variant: Adapt. | |
1287 | * python/libstdcxx/v6/printers.py: Adapt. | |
1288 | * testsuite/libstdc++-prettyprinters/48362.cc: Adapt. | |
87c7063d | 1289 | |
e5795ce4 FD |
1290 | * include/bits/stl_algobase.h (std::__iter_swap<false>): Remove |
1291 | _GLIBCXX_MOVE usage. | |
1292 | ||
e91c2cac JM |
1293 | 2017-05-09 Jason Merrill <jason@redhat.com> |
1294 | ||
1295 | * testsuite/24_iterators/container_access.cc (test03): Make il3 static. | |
1296 | ||
6d430cbd JW |
1297 | 2017-05-08 Jonathan Wakely <jwakely@redhat.com> |
1298 | ||
9057edd3 JW |
1299 | * include/std/optional: Use a separate static_assert per condition. |
1300 | * testsuite/20_util/optional/cons/value_neg.cc: Update dg-error line | |
1301 | numbers. | |
1302 | ||
6d430cbd JW |
1303 | * doc/xml/manual/mt_allocator.xml: Clarify deallocation behaviour. |
1304 | * doc/html/*: Regenerate. | |
1305 | ||
8a20a3c7 HBL |
1306 | 2017-05-02 Hugo Beauzée-Luyssen <hugo@beauzee.fr> |
1307 | ||
1308 | PR libstdc++/69506 | |
1309 | * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. | |
1310 | ||
30fc569c FD |
1311 | 2017-04-29 François Dumont <fdumont@gcc.gnu.org> |
1312 | ||
1313 | * testsuite/libstdc++-prettyprinters/48362.cc: Replace a regexp-test | |
1314 | by a note-test. | |
1315 | ||
38233afd JW |
1316 | 2017-04-28 Jonathan Wakely <jwakely@redhat.com> |
1317 | ||
b26f45f0 JW |
1318 | PR libstdc++/80553 |
1319 | * include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static | |
1320 | assertions to ensure type is destructible. | |
1321 | (destroy_at, destroy, destroy_n): Move from stl_uninitialized.h. | |
1322 | * include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n): | |
1323 | Move to stl_construct.h. | |
1324 | * testsuite/20_util/specialized_algorithms/memory_management_tools/ | |
1325 | destroy_neg.cc: New test. | |
1326 | * testsuite/23_containers/vector/cons/destructible_neg.cc: New test. | |
1327 | ||
38233afd JW |
1328 | * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove |
1329 | superfluous "" in dg-error. | |
1330 | ||
f166beaf TV |
1331 | 2017-04-28 Tom de Vries <tom@codesourcery.com> |
1332 | ||
1333 | * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove | |
1334 | superfluous '{ target *-*-* }' in dg-(error|warning|message|bogus). | |
1335 | ||
4ca4927a JW |
1336 | 2017-04-27 Jonathan Wakely <jwakely@redhat.com> |
1337 | ||
1338 | * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp | |
1339 | (PB_DS_CLASS_C_DEC::end()): Remove redundant const in cast type. | |
1340 | * testsuite/util/testsuite_rng.h (twister_rand_gen::get_prob()): | |
1341 | Likewise. | |
1342 | ||
9425300b JW |
1343 | 2017-04-26 Jonathan Wakely <jwakely@redhat.com> |
1344 | ||
1345 | * testsuite/23_containers/deque/allocator/move_assign-2.cc: Improve | |
1346 | comment. Ensure first test works because allocator type propagates and | |
1347 | not because is_always_equal is true. | |
1348 | * testsuite/23_containers/vector/52591.cc: Likewise. Restore original | |
1349 | testcase that instantiates the move-assignment operator. | |
1350 | ||
71f257f7 JW |
1351 | 2017-04-24 Jonathan Wakely <jwakely@redhat.com> |
1352 | ||
957221f5 JW |
1353 | PR libstdc++/80506 |
1354 | * include/bits/random.tcc (gamma_distribution::operator()): Fix magic | |
1355 | number used in loop condition. | |
1356 | ||
6e2e575a JW |
1357 | PR libstdc++/80504 |
1358 | * include/bits/refwrap.h (ref, cref): Qualify calls. | |
1359 | * testsuite/20_util/reference_wrapper/80504.cc: New test. | |
1360 | ||
71f257f7 JW |
1361 | PR libstdc++/80493 |
1362 | * include/experimental/optional (optional::swap): Fix exception | |
1363 | specification. | |
1364 | ||
a2c0a194 JW |
1365 | 2017-04-21 Jonathan Wakely <jwakely@redhat.com> |
1366 | ||
946ecd6a JW |
1367 | PR libstdc++/80316 |
1368 | * include/std/future (_State_baseV2::_Setter::operator()): Remove | |
1369 | _S_check calls that are done after the pointer to the shared state is | |
1370 | already dereferenced. | |
1371 | (_State_baseV2::_Setter<_Res, void>): Define specialization for void | |
1372 | as partial specialization so it can be defined within the definition | |
1373 | of _State_baseV2. | |
1374 | (_State_baseV2::__setter): Call _S_check. | |
1375 | (_State_baseV2::__setter(promise<void>*)): Add overload for use by | |
1376 | promise<void>::set_value and promise<void>::set_value_at_thread_exit. | |
1377 | (promise<T>, promise<T&>, promise<void>): Make _State a friend. | |
1378 | (_State_baseV2::_Setter<void, void>): Remove explicit specialization. | |
1379 | (promise<void>::set_value, promise<void>::set_value_at_thread_exit): | |
1380 | Use new __setter overload. | |
1381 | * testsuite/30_threads/promise/members/at_thread_exit2.cc: New test. | |
1382 | * testsuite/30_threads/promise/members/set_exception.cc: Test | |
1383 | promise<T&> and promise<void> specializations. | |
1384 | * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. | |
1385 | Test for no_state error condition. | |
1386 | * testsuite/30_threads/promise/members/set_value2.cc: Likewise. | |
1387 | ||
a2c0a194 JW |
1388 | * include/backward/auto_ptr.h: Ignore deprecated warnings from use |
1389 | of auto_ptr. | |
1390 | * include/bits/shared_ptr.h: Likewise. | |
1391 | * include/bits/shared_ptr_base.h: Likewise. | |
1392 | * include/bits/unique_ptr.h: Likewise. | |
1393 | * libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc: Adjust | |
1394 | dg-error lineno. | |
1395 | * libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc: Likewise. | |
1396 | * libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc: | |
1397 | Likewise. | |
1398 | * libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: | |
1399 | Likewise. | |
1400 | ||
4ba07ed4 ESR |
1401 | 2017-04-20 Edward Smith-Rowland <3dw4rd@verizon.net> |
1402 | ||
1403 | PR libstdc++/68397 std::tr1::expint fails ... long double arguments. | |
1404 | * include/tr1/exp_integral.tcc: Increase iteration limits. | |
1405 | * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ | |
1406 | pr68397.cc: New test. | |
1407 | * testsuite/special_functions/14_expint/pr68397.cc: New test. | |
1408 | ||
1b36f603 JW |
1409 | 2017-04-20 Jonathan Wakely <jwakely@redhat.com> |
1410 | ||
1411 | PR libstdc++/79862 | |
1412 | * include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t) | |
1413 | (atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t, | |
1414 | (atomic_uint32_t, atomic_int64_t, atomic_uint64_t) | |
1415 | (atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t) | |
1416 | (atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t) | |
1417 | (atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t) | |
1418 | (atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t) | |
1419 | (atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t) | |
1420 | (atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't | |
1421 | define. | |
1422 | ||
afa56c17 JW |
1423 | 2017-04-19 Jonathan Wakely <jwakely@redhat.com> |
1424 | ||
db7ab54f JW |
1425 | * doc/xml/manual/abi.xml: Rephrase one of the references to the |
1426 | Itanium C++ ABI. | |
1427 | * doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement. | |
1428 | * doc/html/*: Regenerate. | |
1429 | ||
6a8446fa JW |
1430 | * libsupc++/new: Update comment on #endif directive. |
1431 | ||
6cff9199 JW |
1432 | PR libstdc++/80448 |
1433 | * include/experimental/bits/fs_dir.h (directory_iterator) | |
1434 | (recursive_directory_iterator): Remove noexcept from defaulted | |
1435 | constructors. | |
1436 | ||
afa56c17 JW |
1437 | PR libstdc++/80446 |
1438 | * include/std/type_traits (is_aggregate): Change __has_builtin checks. | |
1439 | * libsupc++/new (launder): Likewise. | |
1440 | ||
38d68cf0 JW |
1441 | 2017-04-18 Jonathan Wakely <jwakely@redhat.com> |
1442 | ||
1443 | * include/std/functional (default_searcher, __boyer_moore_array_base) | |
1444 | (__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher) | |
1445 | (boyer_moore_horspool_searcher): Remove redundant namespace | |
1446 | qualification. | |
1447 | (default_searcher::operator()): Construct return value early and | |
1448 | advance second member in-place. | |
1449 | (boyer_moore_horspool_searcher::operator()): Increment random access | |
1450 | iterator directly instead of using std::next. | |
1451 | (boyer_moore_searcher::operator()): Fix return value. | |
1452 | * testsuite/20_util/function_objects/searchers.cc: Check both parts | |
1453 | of return values. | |
1454 | ||
5ee26fce GP |
1455 | 2017-04-12 Gerald Pfeifer <gerald@pfeifer.com> |
1456 | ||
1457 | * doc/xml/faq.xml: Update reference link to C++ ABI for Itanium. | |
1458 | * doc/xml/manual/abi.xml. Ditto (thrice). | |
1459 | ||
8c3b5c71 JW |
1460 | 2017-04-03 Jonathan Wakely <jwakely@redhat.com> |
1461 | ||
b0dfb235 JW |
1462 | * doc/xml/manual/status_cxx2017.xml: Remove duplicate table entry. |
1463 | * doc/html/*: Regenerate. | |
1464 | ||
b1e282ca JW |
1465 | * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests |
1466 | that no longer fail. | |
1467 | ||
59c06f4d JW |
1468 | * include/bits/ios_base.h: Correct comment. |
1469 | * testsuite/util/testsuite_hooks.h: Likewise. | |
1470 | ||
9d83c64b JW |
1471 | * doc/xml/manual/status_cxx2017.xml: Update C++17 status table. |
1472 | * doc/xml/manual/appendix_contributing.xml (contrib.organization): Add | |
1473 | directories for debug, parallel and profile headers. | |
1474 | * doc/html/*: Regenerate. | |
1475 | ||
8c3b5c71 JW |
1476 | * include/bits/char_traits.h (__gnu_cxx::char_traits): Add |
1477 | _GLIBCXX14_CONSTEXPR on assign, compare, find, and length. | |
1478 | (std::char_traits<char>, std::char_traits<wchar_t>): Add | |
1479 | _GLIBCXX17_CONSTEXPR on assign. | |
1480 | (std::char_traits<char16_t>, std::char_traits<char32_t>): Add | |
1481 | _GLIBCXX17_CONSTEXPR on assign, compare, find, and length. | |
1482 | * testsuite/21_strings/char_traits/requirements/ | |
1483 | constexpr_functions_c++17.cc: New test. | |
1484 | ||
c1e2889a VV |
1485 | 2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com> |
1486 | ||
1487 | PR libstdc++/79141 | |
1488 | * include/bits/stl_pair.h (__nonesuch_no_braces): New. | |
1489 | (operator=(typename conditional< | |
1490 | __and_<is_copy_assignable<_T1>, | |
1491 | is_copy_assignable<_T2>>::value, | |
1492 | const pair&, const __nonesuch&>::type)): Change __nonesuch | |
1493 | to __nonesuch_no_braces. | |
1494 | (operator=(typename conditional< | |
1495 | __not_<__and_<is_copy_assignable<_T1>, | |
1496 | is_copy_assignable<_T2>>>::value, | |
1497 | const pair&, const __nonesuch&>::type)): Likewise. | |
1498 | (operator=(typename conditional< | |
1499 | __and_<is_move_assignable<_T1>, | |
1500 | is_move_assignable<_T2>>::value, | |
1501 | pair&&, __nonesuch&&>::type)): Likewise. | |
1502 | * testsuite/20_util/pair/79141.cc: New. | |
1503 | ||
e2ac6765 VV |
1504 | 2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com> |
1505 | ||
1506 | Implement std::is_aggregate. | |
1507 | * include/std/type_traits (is_aggregate, is_aggregate_v): New. | |
1508 | * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: | |
1509 | New. | |
1510 | * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. | |
1511 | * testsuite/20_util/is_aggregate/value.cc: Likewise. | |
1512 | ||
0000fd8c VV |
1513 | 2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com> |
1514 | ||
1515 | Adjust optional's pretty printer for LWG 2900. | |
1516 | * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter.__init__): | |
1517 | Look at the nested payload in case of non-experimental optional. | |
1518 | ||
250f5b6c VV |
1519 | 2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com> |
1520 | ||
1521 | Implement LWG 2900, The copy and move constructors | |
1522 | of optional are not constexpr. | |
1523 | * include/std/optional (_Optional_payload): New. | |
1524 | (_Optional_base): Remove the bool parameter. | |
1525 | (_Optional_base<_Tp, false>): Remove. | |
1526 | (_Optional_base()): Adjust. | |
1527 | (_Optional_base(nullopt_t)): Likewise. | |
1528 | (_Optional_base(in_place_t, _Args&&...)): Likewise. | |
1529 | (_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)): | |
1530 | Likewise. | |
1531 | (_Optional_base(const _Optional_base&)): Likewise. | |
1532 | (_Optional_base(_Optional_base&&)): Likewise. | |
1533 | (operator=(const _Optional_base&)): Likewise. | |
1534 | (operator=(_Optional_base&&)): Likewise. | |
1535 | (~_Optional_base()): Remove. | |
1536 | (_M_is_engaged()): Adjust. | |
1537 | (_M_get()): Likewise. | |
1538 | (_M_construct(_Args&&...)): Likewise. | |
1539 | (_M_destruct()): Likewise. | |
1540 | (_M_reset()): Likewise. | |
1541 | (_Optional_base::_Empty_byte): Remove. | |
1542 | (_Optional_base::_M_empty): Remove. | |
1543 | (_Optional_base::_M_payload): Adjust. | |
1544 | * testsuite/20_util/optional/cons/value_neg.cc: Adjust. | |
1545 | * testsuite/20_util/optional/constexpr/cons/value.cc: Add tests. | |
1546 | ||
b1bd9158 JW |
1547 | 2017-03-28 Jonathan Wakely <jwakely@redhat.com> |
1548 | ||
92d85953 JW |
1549 | PR libstdc++/80137 |
1550 | * include/bits/random.tcc (generate_canonical): Use std::nextafter | |
1551 | or numeric_limits::epsilon() to reduce out-of-range values. | |
1552 | * testsuite/26_numerics/random/uniform_real_distribution/operators/ | |
1553 | 64351.cc: Verify complexity requirement is met. | |
1554 | ||
a138d52a JW |
1555 | * doc/xml/manual/abi.xml: Add xml:id anchor. |
1556 | * doc/xml/manual/using.xml (manual.intro.using.macros): Document | |
1557 | _GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes. | |
1558 | (concurrency.io.structure): Add markup. | |
1559 | * doc/html/*: Regenerate. | |
1560 | ||
b1bd9158 JW |
1561 | PR libstdc++/80229 |
1562 | * include/bits/shared_ptr_base.h | |
1563 | (__shared_ptr::_M_enable_shared_from_this_with): Change parameters to | |
1564 | non-const and then use remove_cv to get unqualified type. | |
1565 | * testsuite/20_util/enable_shared_from_this/members/const.cc: Don't | |
1566 | cast away constness on object created const. | |
1567 | * testsuite/20_util/shared_ptr/cons/80229.cc: New test. | |
1568 | ||
4f28d159 MT |
1569 | 2017-03-26 Markus Trippelsdorf <markus@trippelsdorf.de> |
1570 | ||
1571 | PR libstdc++/80183 | |
1572 | * include/bits/stl_tree.h: | |
1573 | (_Rb_tree_header::_M_move_data(_Rb_tree_header&)): Also save _M_color. | |
1574 | ||
393ed575 JW |
1575 | 2017-03-23 Jonathan Wakely <jwakely@redhat.com> |
1576 | ||
01e3c229 JW |
1577 | * testsuite/23_containers/array/tuple_interface/ |
1578 | tuple_element_debug_neg.cc: Adjust dg-error. | |
1579 | * testsuite/23_containers/list/operations/78389.cc: Fix less-than to | |
1580 | define a valid strict weak ordering. | |
1581 | * testsuite/23_containers/priority_queue/67085.cc: Disable test for | |
1582 | Debug Mode, due to debug checks making extra copies of predicate. | |
1583 | * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: | |
1584 | Likewise. | |
1585 | ||
393ed575 JW |
1586 | * doc/xml/faq.xml: Add link. |
1587 | * doc/xml/manual/backwards_compatibility.xml: Remove outdated | |
1588 | information on pre-ISO headers. Replace broken link to C++ FAQ Lite. | |
1589 | * doc/xml/manual/io.xml: Update broken link. | |
1590 | * doc/html/*: Regenerate. | |
1591 | ||
288695f7 DK |
1592 | 2017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com> |
1593 | ||
7f359d19 DK |
1594 | Implement LWG 2686, Why is std::hash specialized for error_code, |
1595 | but not error_condition? | |
1596 | * include/std/system_error (hash<error_condition>): Define for C++17. | |
1597 | * testsuite/20_util/hash/operators/size_t.cc (hash<error_condition>): | |
1598 | Instantiate test for error_condition. | |
1599 | * testsuite/20_util/hash/requirements/explicit_instantiation.cc | |
1600 | (hash<error_condition>): Instantiate hash<error_condition>. | |
1601 | ||
288695f7 DK |
1602 | * include/bits/c++config (_GLIBCXX17_INLINE): Define. |
1603 | * include/bits/regex_constants.h (All std::regex_constants constants): | |
1604 | Add _GLIBCXX17_INLINE as per P0607R0. | |
1605 | * include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock): | |
1606 | Likewise. | |
1607 | * include/bits/stl_pair.h (piecewise_construct): Likewise. | |
1608 | * include/bits/uses_allocator.h (allocator_arg, uses_allocator_v) | |
1609 | (__is_uses_allocator_constructible_v) | |
1610 | (__is_nothrow_uses_allocator_constructible_v): Likewise. | |
1611 | * include/std/chrono (treat_as_floating_point_v): Likewise. | |
1612 | * include/std/functional (is_bind_expression_v, is_placeholder_v): | |
1613 | Likewise. | |
1614 | * include/std/optional (nullopt): Likewise. | |
1615 | * include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v) | |
1616 | ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise. | |
1617 | * include/std/system_error (is_error_code_enum_v) | |
1618 | (is_error_condition_enum_v): Likewise. | |
1619 | * include/std/tuple (tuple_size_v, ignore): Likewise. | |
1620 | (ignore): Declare ignore constexpr as per LWG 2773, declare assignment | |
1621 | constexpr as per LWG 2933. | |
1622 | * include/std/type_traits (All variable templates): Add | |
1623 | _GLIBCXX17_INLINE as per P0607R0. | |
1624 | * include/std/variant (variant_size_v, variant_npos, __index_of_v) | |
1625 | (__tuple_count_v, __exactly_once): Likewise. | |
1626 | * testsuite/18_support/headers/new/synopsis.cc | |
1627 | (hardware_destructive_interference_size) | |
1628 | (hardware_constructive_interference_size): Likewise for commented-out | |
1629 | variables. | |
1630 | * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new | |
1631 | test function for constexpr std::ignore (LWG 2773). | |
1632 | * testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New | |
1633 | test for LWG 2933. | |
1634 | ||
af181c91 JW |
1635 | 2017-03-22 Jonathan Wakely <jwakely@redhat.com> |
1636 | ||
1637 | * include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction | |
1638 | guides for C++17. | |
1639 | * include/bits/std_function.h (function): Likewise. | |
1640 | * include/bits/stl_pair.h (pair): Likewise. | |
1641 | * include/debug/array (__gnu_debug::array): Likewise. | |
1642 | * include/std/array (array): Likewise. | |
1643 | * include/std/functional (make_default_searcher) | |
1644 | (make_boyer_moore_searcher, make_boyer_moore_horspool_searcher): | |
1645 | Remove generator functions. | |
1646 | * include/std/tuple (tuple): Add deduction guides. | |
1647 | * include/std/valarray (valarray): Likewise. | |
1648 | * testsuite/20_util/function_objects/searchers.cc: Adjust to use | |
1649 | class template argument deduction instead of generator functions. | |
1650 | * testsuite/20_util/function/cons/deduction.cc: New test. | |
1651 | * testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ... | |
1652 | * testsuite/20_util/optional/cons/deduction.cc: ... here. | |
1653 | * testsuite/20_util/pair/cons/deduction.cc: New test. | |
1654 | * testsuite/20_util/shared_ptr/cons/deduction.cc: New test. | |
1655 | * testsuite/20_util/tuple/cons/deduction.cc: New test. | |
1656 | * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error. | |
1657 | * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test. | |
1658 | * testsuite/20_util/weak_ptr/cons/deduction.cc: New test. | |
1659 | * testsuite/23_containers/array/cons/deduction.cc: New test. | |
1660 | * testsuite/23_containers/array/cons/deduction_neg.cc: New test. | |
1661 | * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: | |
1662 | Adjust dg-error. | |
1663 | * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. | |
1664 | * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: | |
1665 | Likewise. | |
1666 | * testsuite/26_numerics/valarray/deduction.cc: New test. | |
1667 | * testsuite/30_threads/lock_guard/cons/deduction.cc: New test. | |
1668 | * testsuite/30_threads/scoped_lock/cons/deduction.cc: New test. | |
1669 | * testsuite/30_threads/unique_lock/cons/deduction.cc: New test. | |
1670 | ||
fe62dd04 FD |
1671 | 2017-03-20 François Dumont <fdumont@gcc.gnu.org> |
1672 | ||
1673 | * include/bits/stl_deque.h (deque): Access allocator value_type only if | |
1674 | concept checks are enabled. | |
1675 | * include/bits/stl_stack.h (stack): Likewise. | |
1676 | * include/bits/stl_vector.h (vector): Likewise. | |
1677 | * include/bits/stl_list.h (list): Likewise and check | |
1678 | _SGIAssignableConcept only in C++03. | |
1679 | * include/bits/stl_map.h (map): Likewise. | |
1680 | * include/bits/stl_set.h (set): Likewise. | |
1681 | * include/bits/stl_multimap.h (multimap): Likewise. | |
1682 | * include/bits/stl_multiset.h (multiset): Likewise. | |
1683 | * include/bits/stl_queue.h (queue, priority_queue): Likewise. | |
1684 | ||
e76659d1 GP |
1685 | 2017-03-18 Gerald Pfeifer <gerald@pfeifer.com> |
1686 | ||
1687 | * doc/xml/manual/appendix_contributing.xml: Convert link to | |
1688 | ansi.org to https. | |
1689 | Update link to the C++ standard at ansi.org. | |
1690 | ||
1691 | * doc/xml/faq.xml: Remove information redundant with the above; | |
1692 | instead add a reference. | |
1693 | ||
d951e75d JW |
1694 | 2017-03-17 Jonathan Wakely <jwakely@redhat.com> |
1695 | ||
1696 | * src/c++11/codecvt.cc (range): Add non-type template parameter and | |
1697 | define oerloaded operators for reading and writing code units. | |
1698 | (range<Elem, false>): Define partial specialization for accessing | |
1699 | wide characters in potentially unaligned byte ranges. | |
1700 | (ucs2_span(const char16_t*, const char16_t*, ...)) | |
1701 | (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters | |
1702 | to range<const char16_t, false> in order to avoid unaligned reads. | |
1703 | (__codecvt_utf16_base<char16_t>::do_out) | |
1704 | (__codecvt_utf16_base<char32_t>::do_out) | |
1705 | (__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for | |
1706 | unaligned data to avoid unaligned writes. | |
1707 | (__codecvt_utf16_base<char16_t>::do_in) | |
1708 | (__codecvt_utf16_base<char32_t>::do_in) | |
1709 | (__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return | |
1710 | error if there are unprocessable trailing bytes. | |
1711 | (__codecvt_utf16_base<char16_t>::do_length) | |
1712 | (__codecvt_utf16_base<char32_t>::do_length) | |
1713 | (__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type | |
1714 | range<const char16_t, false> to span functions. | |
1715 | * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. | |
1716 | ||
7acc5349 JW |
1717 | 2017-03-16 Jonathan Wakely <jwakely@redhat.com> |
1718 | ||
e363c939 JW |
1719 | PR libstdc++/79980 |
1720 | * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. | |
1721 | ||
a4c687d6 JW |
1722 | PR libstdc++/80041 |
1723 | * src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out) | |
1724 | (__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to | |
1725 | char16_t to work with UTF-16 instead of UTF-8. | |
1726 | * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. | |
1727 | ||
516231de JW |
1728 | * src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>) |
1729 | (codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>) | |
1730 | (__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>) | |
1731 | (__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>) | |
1732 | (__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>) | |
1733 | (__codecvt_utf8_utf16_base<char32_t>) | |
1734 | (__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and | |
1735 | do_max_length() return values. | |
1736 | * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. | |
1737 | * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. | |
1738 | * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. | |
1739 | ||
bcd682e1 JW |
1740 | PR libstdc++/79980 |
1741 | * include/bits/locale_conv.h (__do_str_codecvt): Set __count on | |
1742 | error path. | |
1743 | * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads | |
1744 | for manipulating codecvt_mode values. | |
1745 | (read_utf16_bom): Compare input to BOM constants instead of integral | |
1746 | constants that depend on endianness. Take mode parameter by | |
1747 | reference and adjust it, to distinguish between no BOM present and | |
1748 | UTF-16BE BOM present. | |
1749 | (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. | |
1750 | (surrogates): New enumeration type. | |
1751 | (utf16_in, utf16_out): Add surrogates parameter to choose between | |
1752 | UTF-16 and UCS2 behaviour. | |
1753 | (utf16_span, ucs2_span): Use std::min not std::max. | |
1754 | (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. | |
1755 | (ucs2_in): Likewise. Adjust calls to read_utf16_bom. | |
1756 | * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. | |
1757 | * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. | |
1758 | ||
02e12bda JW |
1759 | PR libstdc++/79511 |
1760 | * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff | |
1761 | as a surrogate pair. | |
1762 | (__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness | |
1763 | for internal representation. | |
1764 | (__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise. | |
1765 | * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. | |
1766 | ||
8d85abab JW |
1767 | PR libstdc++/80064 |
1768 | * include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap) | |
1769 | (pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with | |
1770 | invalid instantiations using function types for _Compare argument. | |
1771 | * testsuite/25_algorithms/make_heap/80064.cc: New test. | |
1772 | ||
7acc5349 JW |
1773 | PR libstdc++/67440 |
1774 | * python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name | |
1775 | for GDB 7.6 compatibility, use gdb.Type.unqualified instead. | |
1776 | ||
df990182 VV |
1777 | 2017-03-15 Ville Voutilainen <ville.voutilainen@gmail.com> |
1778 | ||
1779 | Implement LWG 2857, {variant,optional,any}::emplace should | |
1780 | return the constructed value. | |
1781 | * include/std/any (emplace(_Args&&...)): Change the return type and | |
1782 | return a reference to the constructed value. | |
1783 | (emplace(initializer_list<_Up>, _Args&&...)): Likewise. | |
1784 | * include/std/optional (emplace(_Args&&...)): Likewise. | |
1785 | (emplace(initializer_list<_Up>, _Args&&...)): Likewise. | |
1786 | * include/std/variant (emplace<_Tp>(_Args&&...)): Likewise. | |
1787 | (emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise. | |
1788 | (emplace<_Np>(_Args&&...)): Likewise. | |
1789 | (emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise. | |
1790 | * testsuite/20_util/any/assign/emplace.cc: Add tests for | |
1791 | checking the return value of emplace. | |
1792 | * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. | |
1793 | * testsuite/20_util/optional/assignment/6.cc: Add tests for | |
1794 | checking the return value of emplace. | |
1795 | * testsuite/20_util/variant/run.cc: Likewise. | |
1796 | ||
1c4df66b | 1797 | 2017-03-15 Xi Ruoyao <ryxi@stu.xidian.edu.cn> |
75d359f7 JW |
1798 | |
1799 | PR libstdc++/62045 | |
1800 | * include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp | |
1801 | (is_heap): Remove. | |
1802 | (push_heap): Remove the wrong checking using is_heap. | |
1803 | (make_heap): Remove the assertion using is_heap. | |
1804 | * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp | |
1805 | (modify): Ditto. | |
1806 | (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after | |
1807 | calling make_heap. | |
1808 | ||
1809 | 2017-03-15 Jonathan Wakely <jwakely@redhat.com> | |
1810 | ||
1811 | PR libstdc++/62045 | |
1812 | * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: | |
1813 | New test. | |
1814 | * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste | |
1815 | error in comment. | |
1816 | ||
64e1a55d JW |
1817 | 2017-03-15 Jonathan Wakely <jwakely@redhat.com> |
1818 | ||
1819 | * acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in | |
1820 | comment. | |
1821 | * config.h.in: Regenerate. | |
1822 | * configure: Regenerate. | |
1823 | * doc/Makefile.in: Regenerate. | |
1824 | ||
4f83482f JW |
1825 | 2017-03-14 Jonathan Wakely <jwakely@redhat.com> |
1826 | ||
1827 | PR libstdc++/79162 | |
1828 | * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] | |
1829 | (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace | |
1830 | with a constrained template. | |
1831 | [!_GLIBCXX_USE_CXX11_ABI] | |
1832 | (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise. | |
1833 | * testsuite/21_strings/basic_string/cons/char/79162.cc: New test. | |
1834 | * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test. | |
1835 | ||
648c9894 VV |
1836 | 2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com> |
1837 | ||
1838 | PR libstdc++/80034 | |
1839 | * include/bits/list.tcc (merge(list&&)): Use const for the size_t | |
1840 | in the catch-block. | |
1841 | (merge(list&&, _StrictWeakOrdering)): Likewise. | |
1842 | * testsuite/23_containers/list/operations/80034.cc: New. | |
1843 | ||
fd231ad7 VV |
1844 | 2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com> |
1845 | ||
1846 | Implement LWG 2806, Base class of bad_optional_access. | |
1847 | * include/std/optional (bad_optional_access): | |
1848 | Derive from std::exception. | |
1849 | (bad_optional_access::bad_optional_access): Adjust. | |
1850 | (bad_optional_access::what): New. | |
1851 | (__throw_bad_optional_access(const char*)): | |
1852 | Remove the parameter and adjust calls. | |
1853 | * testsuite/20_util/optional/cons/value_neg.cc: Adjust. | |
1854 | * testsuite/20_util/optional/typedefs.cc: Likewise. | |
1855 | ||
06272afb VV |
1856 | 2017-03-12 Ville Voutilainen <ville.voutilainen@gmail.com> |
1857 | ||
1858 | Implement LWG 2934, optional<const T> doesn't compare with T. | |
1859 | * include/std/optional | |
1860 | (operator==(const optional<_Tp>&, const optional<_Tp>&)): | |
1861 | Turn into operator==(const optional<_Tp>&, const optional<_Up>&). | |
1862 | (operator!=(const optional<_Tp>&, const optional<_Tp>&)): | |
1863 | Turn into operator!=(const optional<_Tp>&, const optional<_Up>&). | |
1864 | (operator<(const optional<_Tp>&, const optional<_Tp>&)): | |
1865 | Turn into operator<(const optional<_Tp>&, const optional<_Up>&. | |
1866 | (operator>(const optional<_Tp>&, const optional<_Tp>&)): | |
1867 | Turn into operator>(const optional<_Tp>&, const optional<_Up>&. | |
1868 | (operator<=(const optional<_Tp>&, const optional<_Tp>&)): | |
1869 | Turn into operator<=(const optional<_Tp>&, const optional<_Up>&). | |
1870 | (operator>=(const optional<_Tp>&, const optional<_Tp>&)): | |
1871 | Turn into operator>=(const optional<_Tp>&, const optional<_Up>&). | |
1872 | (operator==(const optional<_Tp>&, const _Tp&)): | |
1873 | Turn into operator==(const optional<_Tp>&, const _Up&). | |
1874 | (operator==(const _Tp&, const optional<_Tp>&)): | |
1875 | Turn into operator==(const _Up&, const optional<_Tp>&). | |
1876 | (operator!=(const optional<_Tp>&, const _Tp&)): | |
1877 | Turn into operator!=(const optional<_Tp>&, const _Up&). | |
1878 | (operator!=(const _Tp&, const optional<_Tp>&)): | |
1879 | Turn into operator!=(const _Up&, const optional<_Tp>&). | |
1880 | (operator<(const optional<_Tp>&, const _Tp&)): | |
1881 | Turn into operator<(const optional<_Tp>&, const _Up&). | |
1882 | (operator<(const _Tp&, const optional<_Tp>&)): | |
1883 | Turn into operator<(const _Up&, const optional<_Tp>&). | |
1884 | (operator>(const optional<_Tp>&, const _Tp&)): | |
1885 | Turn into operator>(const optional<_Tp>&, const _Up&). | |
1886 | (operator>(const _Tp&, const optional<_Tp>&)): | |
1887 | Turn into operator>(const _Up&, const optional<_Tp>&). | |
1888 | (operator<=(const optional<_Tp>&, const _Tp&)): | |
1889 | Turn into operator<=(const optional<_Tp>&, const _Up&). | |
1890 | (operator<=(const _Tp&, const optional<_Tp>&)): | |
1891 | Turn into operator<=(const _Up&, const optional<_Tp>&). | |
1892 | (operator>=(const optional<_Tp>&, const _Tp&)): | |
1893 | Turn into operator>=(const optional<_Tp>&, const _Up&). | |
1894 | (operator>=(const _Tp&, const optional<_Tp>&)): | |
1895 | Turn into operator>=(const _Up&, const optional<_Tp>&). | |
1896 | * testsuite/20_util/optional/relops/7.cc: New. | |
1897 | ||
7dcc645c JW |
1898 | 2017-03-10 Jonathan Wakely <jwakely@redhat.com> |
1899 | ||
da0ced6e JW |
1900 | * testsuite/17_intro/names.cc: Undefine macros that clash with |
1901 | identifiers in AIX system headers. | |
1902 | ||
7dcc645c JW |
1903 | * include/bits/invoke.h (__invoke): Use __invoke_result instead of |
1904 | result_of, and __is_nothrow_invocable instead of | |
1905 | __is_nothrow_callable. | |
1906 | * include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable | |
1907 | instead of __is_callable. | |
1908 | * include/std/functional (invoke): use invoke_result_t instead of | |
1909 | result_of_t and is_nothrow_invocable instead of is_nothrow_callable. | |
1910 | (_Not_fn): Use __invoke_result instead of result_of. | |
1911 | * include/std/type_traits (__result_of_memobj, __result_of_memfun): | |
1912 | Remove partial specializations for reference_wrapper types. | |
1913 | (__result_of_impl): Use __inv_unwrap to strip reference_wrapper. | |
1914 | (__invoke_result): Define replacement for result_of and then use it to | |
1915 | define result_of. | |
1916 | (__is_callable_impl, __is_callable, __is_nothrow_callable): Replace | |
1917 | with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable | |
1918 | respectively. | |
1919 | (invoke_result, invoke_result_t): Define for C++17. | |
1920 | (is_callable, is_nothrow_callable): Replace with is_invocable, | |
1921 | is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r. | |
1922 | (is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v, | |
1923 | is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v. | |
1924 | * include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v | |
1925 | instead of is_nothrow_callable_v. | |
1926 | * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused | |
1927 | main function. | |
1928 | * testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable | |
1929 | instead of is_callable. | |
1930 | * testsuite/20_util/is_callable/*: Rename directory and adjust tests | |
1931 | to use new traits. | |
1c4df66b | 1932 | * testsuite/20_util/is_nothrow_callable/*: Likewise. |
7dcc645c JW |
1933 | * testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of |
1934 | is_callable. | |
1935 | * testsuite/20_util/variant/hash.cc: Likewise. | |
1936 | ||
74106ead GL |
1937 | 2017-03-10 George Lander <george.lander@arm.com> |
1938 | ||
1939 | * acinclude.m4 (glibcxx_cv_obsolete_isnan): Define | |
1940 | _GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h. | |
1941 | * configure: Regenerate. | |
1942 | ||
e0472d7e JW |
1943 | 2017-03-09 Jonathan Wakely <jwakely@redhat.com> |
1944 | ||
d57409cb JW |
1945 | * include/std/functional (_Not_fn): Define macro to simplify |
1946 | repetitive function definitions. | |
1947 | ||
e0472d7e JW |
1948 | * doc/xml/manual/status_cxx2017.xml: Document std::byte support. |
1949 | * include/c_global/cstddef (std::byte): Define for C++17. | |
1950 | * testsuite/18_support/byte/global_neg.cc: New test. | |
1951 | * testsuite/18_support/byte/ops.cc: New test. | |
1952 | * testsuite/18_support/byte/requirements.cc: New test. | |
1953 | ||
f620e1d5 JW |
1954 | 2017-03-05 Jonathan Wakely <jwakely@redhat.com> |
1955 | ||
1956 | * doc/xml/manual/status_cxx2017.xml: Document P0156R2 status. | |
1957 | * doc/html/*: Regenerate. | |
1958 | * include/std/mutex (scoped_lock): Implement new C++17 template. | |
1959 | * testsuite/30_threads/scoped_lock/cons/1.cc: New test. | |
1960 | * testsuite/30_threads/scoped_lock/requirements/ | |
1961 | explicit_instantiation.cc: New test. | |
1962 | * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test. | |
1963 | ||
1a5a334e GP |
1964 | 2017-03-02 Gerald Pfeifer <gerald@pfeifer.com> |
1965 | François Dumont <frs.dumont@gmail.com> | |
1966 | Jonathan Wakely <jwakely@redhat.com> | |
1967 | ||
1968 | * doc/xml/manual/debug_mode.xml: Update and simplify note | |
1969 | on link- and run-time coexistence. | |
1970 | ||
5782e309 JW |
1971 | 2017-03-02 Jonathan Wakely <jwakely@redhat.com> |
1972 | ||
17b0b37f JW |
1973 | * testsuite/17_intro/headers/names.cc: Rename to ... |
1974 | * testsuite/17_intro/names.cc: ... here. | |
1975 | ||
d34d36ef JW |
1976 | PR libstdc++/79789 |
1977 | * include/bits/hashtable_policy.h (__clp2): Use reserved names for | |
1978 | parameters and local variables. | |
1979 | * include/bits/ios_base.h (make_error_code, make_error_condition): | |
1980 | Likewise. | |
1981 | * include/bits/list.tcc (list::sort): Likewise. | |
1982 | * include/bits/mask_array.h (mask_array): Likewise. | |
1983 | * include/bits/regex.h (regex_token_iterator): Likewise. | |
1984 | * include/bits/slice_array.h (slice_array): Likewise. | |
1985 | * include/bits/stl_algo.h (__sample): Likewise. | |
1986 | * include/std/memory (undeclare_no_pointers): Likewise. | |
1987 | * include/std/type_traits (is_callable_v, is_nothrow_callable_v): | |
1988 | Likewise. | |
1989 | * libsupc++/exception_ptr.h (__dest_thunk): Likewise. | |
1990 | * testsuite/17_intro/headers/names.cc: New test. | |
1991 | ||
5782e309 JW |
1992 | PR libstdc++/79798 |
1993 | * include/std/functional (bind::_Res_type_impl): Fix incorrect use of | |
1994 | result_of that loses top-level cv-qualifiers. | |
1995 | * testsuite/20_util/bind/79798.cc: New test. | |
1996 | ||
00133e16 GP |
1997 | 2017-03-01 Gerald Pfeifer <gerald@pfeifer.com> |
1998 | ||
1999 | * doc/xml/manual/documentation_hacking.xml: Tweak link to | |
2000 | doxygen.org. | |
2001 | ||
cb701078 JW |
2002 | 2017-02-23 Jonathan Wakely <jwakely@redhat.com> |
2003 | ||
2004 | * include/experimental/iterator: Include <iterator>. | |
2005 | * testsuite/experimental/iterator/requirements.cc: Check for contents | |
2006 | of <iterator>. | |
2007 | ||
1dee318a DR |
2008 | 2017-02-19 Dinka Ranns <dinka.ranns@googlemail.com> |
2009 | ||
2010 | C++17 GB50 resolution | |
2011 | * include/std/chrono (duration::operator++()): Add | |
2012 | _GLIBCXX17_CONSTEXPR. | |
2013 | (duration::operator++(int)): Likewise. | |
2014 | (duration::operator--()): Likewise. | |
2015 | (duration::operator--(int)): Likewise. | |
2016 | (duration::operator+=(const duration&)): Likewise. | |
2017 | (duration::operator-=(const duration&)): Likewise. | |
2018 | (duration::operator*=(const rep&)): Likewise. | |
2019 | (duration::operator/=(const rep&)): Likewise. | |
2020 | (duration::operator%=(const rep&)): Likewise. | |
2021 | (duration::operator%=(const duration&)): Likewise. | |
2022 | (time_point::operator+=(const duration&)): Likewise. | |
2023 | (time_point::operator-=(const duration&)): Likewise. | |
2024 | * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test. | |
2025 | * testsuite/20_util/duration/literals/range.cc: Adjust dg-error. | |
2026 | * testsuite/20_util/time_point/arithmetic/constexpr.cc: New test. | |
2027 | ||
ff7da2b6 GP |
2028 | 2017-02-19 Gerald Pfeifer <gerald@pfeifer.com> |
2029 | ||
2030 | * doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer. | |
2031 | ||
dc15bc7a GP |
2032 | 2017-02-18 Gerald Pfeifer <gerald@pfeifer.com> |
2033 | ||
3fad5342 GP |
2034 | * doc/xml/manual/io.xml: Update link to groups.google.com. |
2035 | Tweak link description. | |
2036 | ||
2037 | 2017-02-18 Gerald Pfeifer <gerald@pfeifer.com> | |
fe62dd04 | 2038 | |
dc15bc7a GP |
2039 | * doc/xml/manual/profile_mode.xml: Fix link. |
2040 | ||
60e53331 GP |
2041 | 2017-02-16 Gerald Pfeifer <gerald@pfeifer.com> |
2042 | ||
2043 | * doc/xml/manual/policy_data_structures.xml: Simplify and | |
2044 | standardize references to boost.org. | |
2045 | * doc/xml/manual/policy_data_structures_biblio.xml: Ditto. | |
2046 | * doc/xml/manual/shared_ptr.xml: Ditto. | |
2047 | ||
728e81e3 JW |
2048 | 2017-02-16 Jonathan Wakely <jwakely@redhat.com> |
2049 | ||
2050 | PR libstdc++/60936 | |
2051 | * src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length | |
2052 | written to buffer, not length remaining in buffer. | |
2053 | ||
d255829b TS |
2054 | 2017-02-15 Tim Shen <timshen@google.com> |
2055 | ||
2056 | PR libstdc++/78723 | |
2057 | * include/std/variant (operator<(), operator>(), operator<=(), | |
2058 | operator>=(), operator==(), operator!=()): Implement P0393R3. | |
2059 | * testsuite/20_util/variant/compile.cc: Adjust tests. | |
2060 | * testsuite/20_util/variant/run.cc: Adjust tests. | |
2061 | ||
7d5abe42 TS |
2062 | 2017-02-15 Tim Shen <timshen@google.com> |
2063 | ||
2064 | PR libstdc++/79513 | |
2065 | * include/std/variant (visit()): Forward variant types to the return | |
2066 | type detection code. | |
2067 | * testsuite/20_util/variant/compile.cc: Add test cases. | |
2068 | ||
30956ccc L |
2069 | 2017-02-13 H.J. Lu <hongjiu.lu@intel.com> |
2070 | ||
2071 | PR libstdc++/79348 | |
2072 | * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. | |
2073 | ||
2d3bc14c JJ |
2074 | 2017-02-13 Jakub Jelinek <jakub@redhat.com> |
2075 | ||
2076 | PR libstdc++/79348 | |
2077 | * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. | |
2078 | * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. | |
2079 | * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise. | |
2080 | * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. | |
2081 | * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise. | |
2082 | * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. | |
2083 | * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise. | |
2084 | * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. | |
2085 | * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. | |
2086 | ||
def227f1 JW |
2087 | 2017-02-13 Jonathan Wakely <jwakely@redhat.com> |
2088 | ||
2089 | PR libstdc++/79486 | |
2090 | * include/std/future (__future_base::_Task_state::_M_run) | |
2091 | (__future_base::_Task_state::_M_run_delayed): Use lvalue types in | |
2092 | result_of expressions. | |
2093 | * testsuite/30_threads/packaged_task/79486.cc: New. | |
2094 | ||
fe701c77 JW |
2095 | 2017-02-11 Jonathan Wakely <jwakely@redhat.com> |
2096 | ||
99ebfe90 JW |
2097 | PR libstdc++/79467 |
2098 | * include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter)) | |
2099 | (__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in | |
2100 | __is_callable check. | |
2101 | * testsuite/20_util/shared_ptr/cons/79467.cc: New. | |
2102 | ||
fe701c77 JW |
2103 | * include/bits/atomic_base.h: Re-indent. |
2104 | ||
fe62dd04 | 2105 | 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com> |
42f8e766 | 2106 | |
fe62dd04 | 2107 | * doc/xml/manual/profile_mode.xml: Update a paper reference. |
42f8e766 | 2108 | |
a8fc7e07 GP |
2109 | 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> |
2110 | ||
2111 | * src/c++11/snprintf_lite.cc (__err): Use https for bug reporting. | |
2112 | ||
96189df3 JW |
2113 | 2017-02-08 Jonathan Wakely <jwakely@redhat.com> |
2114 | ||
2115 | * doc/xml/manual/policy_data_structures.xml: Fix spelling of author's | |
2116 | name. | |
2117 | * doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove | |
2118 | broken links to texts that are no longer online. | |
2119 | * doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and | |
2120 | LCPC 2006 paper. | |
2121 | * doc/xml/manual/using.xml: Update links to memory model information. | |
2122 | * doc/xml/manual/using_exceptions.xml: Update link to "Appendix E: | |
2123 | Standard-Library Exception Safety". | |
2124 | * doc/html/*: Regenerate. | |
2125 | ||
a68354c8 | 2126 | 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> |
fe62dd04 | 2127 | |
41cf3f3e GP |
2128 | * doc/xml/manual/profile_mode.xml: Unbreak link to |
2129 | "Optimizing Sorting with Machine Learning Algorithms". | |
2130 | ||
2131 | 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> | |
fe62dd04 | 2132 | |
97355ece GP |
2133 | * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL. |
2134 | ||
2135 | 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> | |
fe62dd04 | 2136 | |
a68354c8 GP |
2137 | * doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++ |
2138 | Migration Guide". | |
2139 | ||
ca314fbd GP |
2140 | 2017-02-07 Gerald Pfeifer <gerald@pfeifer.com> |
2141 | ||
2142 | * doc/html/ext/lwg-active.html: Remove. | |
2143 | * doc/html/ext/lwg-closed.html: Ditto. | |
2144 | * doc/html/ext/lwg-defects.html: Ditto. | |
2145 | ||
2146 | * doc/Makefile.am (xml_extradir): Remove. | |
2147 | (xml_extra): Ditto. | |
2148 | (stamp-html-docbook-lwg): Remove recipe... | |
2149 | (stamp-html-docbook-data): ...and its use here. | |
2150 | * doc/Makefile.in: Regenerate. | |
2151 | ||
2152 | * doc/xml/manual/intro.xml: Shorten two paragraphs explaining | |
2153 | the relationship to the upstream working group. | |
2154 | Replace a local link to ../ext/lwg-active.html by the upstream one. | |
2155 | Replace all reference to ../ext/lwg-defects.html by a new entity | |
2156 | &DR; which refers to the upstream address. | |
2157 | ||
7c18cb70 GP |
2158 | 2017-02-07 Gerald Pfeifer <gerald@pfeifer.com> |
2159 | ||
2160 | * doc/xml/manual/status_cxx2017.xml: Fix link to N4284. | |
2161 | ||
3e4fd831 JW |
2162 | 2017-02-06 Jonathan Wakely <jwakely@redhat.com> |
2163 | ||
2164 | PR libstdc++/79323 | |
2165 | * testsuite/20_util/duration/literals/range.cc: Prune extra output | |
2166 | at -O0. | |
2167 | ||
ef7df153 GP |
2168 | 2017-02-06 Gerald Pfeifer <gerald@pfeifer.com> |
2169 | ||
2170 | * doc/xml/manual/documentation_hacking.xml: Update URL of the | |
2171 | DocBook Element Reference. Use that term as link description | |
2172 | instead of "online". | |
2173 | epubcheck has moved to GitHub. | |
2174 | Remove obsolete link to DocBook Publishing Tools. | |
2175 | ||
b333e8eb JW |
2176 | 2017-02-03 Jonathan Wakely <jwakely@redhat.com> |
2177 | ||
10613537 JW |
2178 | PR libstdc++/66145 |
2179 | * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override | |
2180 | so new ios::failure can be caught even when old ABI is the default. | |
2181 | * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. | |
2182 | * testsuite/27_io/basic_istream/extractors_arithmetic/char/ | |
2183 | exceptions_failbit.cc: Likewise. | |
2184 | * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ | |
2185 | exceptions_failbit.cc: Likewise. | |
2186 | * testsuite/27_io/basic_istream/extractors_other/char/ | |
2187 | exceptions_null.cc: Likewise. | |
2188 | * testsuite/27_io/basic_istream/extractors_other/wchar_t/ | |
2189 | exceptions_null.cc: Likewise. | |
2190 | * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. | |
2191 | * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. | |
2192 | * testsuite/27_io/basic_ostream/inserters_other/char/ | |
2193 | exceptions_null.cc: Likewise. | |
2194 | * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ | |
2195 | exceptions_null.cc: Likewise. | |
2196 | * testsuite/27_io/ios_base/storage/2.cc: Likewise. | |
2197 | ||
b333e8eb JW |
2198 | PR libstdc++/60936 |
2199 | * src/c++11/Makefile.am: Add new files. | |
2200 | * src/c++11/Makefile.in: Regenerate. | |
2201 | * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI] | |
2202 | (operator<<, operator>>, getline): Move explicit instantiations to ... | |
2203 | * src/c++11/cow-string-io-inst.cc: ... new file. | |
2204 | * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI] | |
2205 | (operator<<, operator>>, getline): Move explicit instantiations to ... | |
2206 | * src/c++11/cow-wstring-io-inst.cc: ... new file. | |
2207 | * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error) | |
2208 | (__throw_future_error, __throw_bad_function_call): | |
2209 | (__throw_regex_error): Move functions for C++11 exceptions to the | |
2210 | files that define the exception types. | |
2211 | * src/c++11/functional.cc (__throw_bad_function_call): Move here. | |
2212 | * src/c++11/future.cc (__throw_future_error): Likewise. | |
2213 | * src/c++11/ios.cc (__throw_ios_failure): Likewise. | |
2214 | * src/c++11/regex.cc (__throw_regex_error): Likewise. | |
2215 | * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal | |
2216 | representation directly instead of calling __int_to_char. | |
2217 | * src/c++11/sso_string.cc (__sso_string): New file for definition | |
2218 | of __sso_string type. | |
2219 | * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for | |
2220 | explicit instantiations of narrow string I/O functions. | |
2221 | * src/c++11/system_error.cc (__throw_system_error): Move here. | |
2222 | (__sso_string): Move to new file. | |
2223 | * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for | |
2224 | explicit instantiations of wide string I/O functions. | |
2225 | * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<) | |
2226 | (operator>>, getline): Remove explicit instantiations from here. | |
2227 | ||
b47507fe L |
2228 | 2017-02-02 H.J. Lu <hongjiu.lu@intel.com> |
2229 | ||
2230 | * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. | |
2231 | ||
f0272b99 RO |
2232 | 2017-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
2233 | ||
a76745e6 RO |
2234 | * configure.host: Separate Solaris/SPARC and x86 baselines. |
2235 | * config/abi/post/solaris2.10/baseline_symbols.txt: Move ... | |
2236 | * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here. | |
2237 | * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ... | |
2238 | * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: | |
2239 | ... here. | |
2240 | * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ... | |
2241 | * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here. | |
2242 | * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file. | |
2243 | * config/abi/post/solaris2.11/baseline_symbols.txt: Move ... | |
2244 | * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here. | |
2245 | * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ... | |
2246 | * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: | |
2247 | ... here. | |
2248 | * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ... | |
2249 | * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here. | |
2250 | * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file. | |
2251 | ||
f0272b99 RO |
2252 | * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. |
2253 | * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. | |
2254 | * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. | |
2255 | * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise. | |
2256 | * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise. | |
2257 | * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise. | |
2258 | ||
11d10beb JW |
2259 | 2017-02-01 Jonathan Wakely <jwakely@redhat.com> |
2260 | ||
2cf9276b JW |
2261 | PR libstdc++/78346 |
2262 | * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator | |
2263 | not its referent. | |
2264 | (_Iter_comp_to_iter): Likewise. | |
2265 | * testsuite/25_algorithms/search/78346.cc: New test. | |
2266 | ||
11d10beb JW |
2267 | PR libstdc++/79254 |
2268 | * config/abi/pre/gnu.ver: Remove recently added symbols. | |
2269 | * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] | |
2270 | (basic_string::_M_copy_assign): Remove. | |
2271 | (basic_string::operator=(const basic_string&)): Don't dispatch to | |
2272 | _M_copy_assign. If source object is small just deallocate, otherwise | |
2273 | perform new allocation before making any changes. | |
2274 | * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] | |
2275 | (basic_string::_M_copy_assign(const basic_string&, true_type)): | |
2276 | Remove. | |
2277 | * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: | |
2278 | Test cases where the allocators are equal or the string is small. | |
2279 | * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: | |
2280 | Likewise. | |
2281 | ||
1dd95239 VV |
2282 | 2017-01-30 Ville Voutilainen <ville.voutilainen@gmail.com> |
2283 | ||
2284 | Implement LWG 2825, LWG 2756 breaks class template argument | |
2285 | deduction for optional. | |
2286 | * include/std/optional: Add a deduction guide. | |
2287 | * testsuite/20_util/optional/cons/deduction_guide.cc: New. | |
2288 | ||
a7d47f35 JW |
2289 | 2017-01-27 Jonathan Wakely <jwakely@redhat.com> |
2290 | ||
2291 | PR libstdc++/79254 | |
2292 | * config/abi/pre/gnu.ver: Add new symbols. | |
2293 | * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] | |
2294 | (basic_string::_M_copy_assign): New overloaded functions to perform | |
2295 | copy assignment. | |
2296 | (basic_string::operator=(const basic_string&)): Dispatch to | |
2297 | _M_copy_assign. | |
2298 | * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] | |
2299 | (basic_string::_M_copy_assign(const basic_string&, true_type)): | |
2300 | Define, performing rollback on exception. | |
2301 | * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: | |
2302 | Test exception-safety guarantee. | |
2303 | * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: | |
2304 | Likewise. | |
2305 | * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make | |
2306 | std::swap visible. | |
2307 | ||
bc9efeab JW |
2308 | 2017-01-26 Jonathan Wakely <jwakely@redhat.com> |
2309 | ||
c8699672 JW |
2310 | PR libstdc++/70607 |
2311 | * include/tr1/complex (conj): Remove using-declaration and restore | |
2312 | overloads, reverting previous change. | |
2313 | ||
881191e8 JW |
2314 | * testsuite/23_containers/list/operations/78389.cc: Fix for C++11 |
2315 | mode. | |
2316 | * testsuite/23_containers/priority_queue/requirements/constructible.cc: | |
2317 | Mark as unsupported in C++98 mode. | |
2318 | * testsuite/23_containers/queue/requirements/constructible.cc: | |
2319 | Likewise. | |
2320 | * testsuite/23_containers/stack/requirements/constructible.cc: | |
2321 | Likewise. | |
2322 | * testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode. | |
2323 | ||
3e5fb20f JW |
2324 | PR libstdc++/79243 |
2325 | * include/bits/c++config (literals::string_view_literals::__7): Add. | |
2326 | Only declare versioned namespaces for the relevant C++ dialects. | |
2327 | * include/experimental/bits/erase_if.h (fundamentals_v2::__detail): | |
2328 | Add versioning macros. | |
2329 | * include/experimental/bits/lfts_config.h: | |
2330 | (fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add. | |
2331 | * include/experimental/string_view (fundamentals_v2::__detail): | |
2332 | Add versioning macros. | |
2333 | (fundamentals_v2::__detail::__identity): Remove. | |
2334 | (fundamentals_v2::__detail::__idt): Use common_type instead of | |
2335 | __detail::__identity. | |
2336 | * include/std/string_view (__detail::__identity, __detail::__idt): | |
2337 | Likewise. | |
2338 | (literals::string_view_literals): Fix nesting of versioning macros. | |
2339 | ||
bc9efeab JW |
2340 | PR libstdc++/79190 |
2341 | * libsupc++/del_opa.cc (operator delete(void*, std::align_val_t)) | |
2342 | [!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN | |
2343 | && !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]: | |
2344 | Retrieve original pointer value allocated by malloc. | |
2345 | * libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC | |
2346 | && !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN | |
2347 | && !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)): | |
2348 | Define, adjusting pointer value allocated by malloc and storing for | |
2349 | retrieval by operator delete. | |
2350 | ||
e6d55103 JJ |
2351 | 2017-01-26 Jakub Jelinek <jakub@redhat.com> |
2352 | ||
2353 | * libsupc++/eh_atomics.h: Update copyright years. | |
2354 | * testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years. | |
2355 | ||
536c221d JW |
2356 | 2017-01-25 Jonathan Wakely <jwakely@redhat.com> |
2357 | ||
2358 | PR libstdc++/61791 | |
2359 | PR libstdc++/70607 | |
2360 | * include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR. | |
2361 | (proj(T), conj(T)): Change return types per DR 1522. | |
2362 | * include/tr1/complex (conj): Remove overloads and use std::conj. | |
2363 | * testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to... | |
2364 | * testsuite/26_numerics/complex/dr781.cc: ... this, and update. | |
2365 | * testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test | |
2366 | real(T) and imag(T). Allow testing for C++11 too. | |
2367 | ||
8cb7179d JW |
2368 | 2017-01-24 Jonathan Wakely <jwakely@redhat.com> |
2369 | ||
2370 | PR libstdc++/79206 | |
2371 | * include/experimental/string_view (operator==): Check sizes first. | |
2372 | * include/std/string_view (operator==): Likewise. | |
2373 | ||
11948d83 JW |
2374 | 2017-01-23 Jonathan Wakely <jwakely@redhat.com> |
2375 | ||
2376 | * testsuite/experimental/array/make_array.cc: Restore <functional> | |
2377 | inclusion. | |
2378 | ||
a750159e TP |
2379 | 2017-01-23 Thomas Preud'homme <thomas.preudhomme@arm.com> |
2380 | ||
2381 | * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins. | |
2382 | ||
61ad58f3 JW |
2383 | 2017-01-23 Jonathan Wakely <jwakely@redhat.com> |
2384 | ||
2385 | PR libstdc++/79195 | |
2386 | * include/experimental/array (__make_array_elem): New class template | |
2387 | and partial specialization. | |
2388 | (__is_reference_wrapper): Move into __make_array_elem specialization. | |
2389 | (make_array): Use __make_array_elem to determine element type and move | |
2390 | static assertion into specialization. Qualify std::forward call. | |
2391 | (to_array): Add exception specifiation. | |
2392 | * testsuite/experimental/array/make_array.cc: Test argument types | |
2393 | without a common type. | |
2394 | * testsuite/experimental/array/neg.cc: Adjust expected error message. | |
2395 | ||
630f9893 GP |
2396 | 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com> |
2397 | ||
cd308313 GP |
2398 | * doc/xml/manual/debug.xml: code.google.com uses https now. |
2399 | ||
2400 | 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com> | |
fe62dd04 | 2401 | |
630f9893 GP |
2402 | * doc/xml/manual/test.xml: Fix link into gccint online manual. |
2403 | ||
509912a6 VV |
2404 | 2017-01-21 Ville Voutilainen <ville.voutilainen@gmail.com> |
2405 | ||
2406 | Make poisoned hashes SFINAE away the call operator of the hash. | |
2407 | * include/bits/functional_hash.h | |
2408 | (__poison_hash::__enable_hash_call): New. | |
2409 | * include/std/optional (__optional_hash_call_base): New. | |
2410 | (hash<optional<_Tp>>): Derive from the new base, | |
2411 | move the hash function into that base. | |
2412 | * include/std/variant (__variant_hash_call_base_impl): New. | |
2413 | (__variant_hash_call_base): Likewise. | |
2414 | (hash<variant<_Types...>>): Derive from the new base, | |
2415 | move the hash function into that base. | |
2416 | * testsuite/20_util/optional/hash.cc: Add tests for is_callable. | |
2417 | * testsuite/20_util/variant/hash.cc: Likewise. | |
2418 | ||
f14d2c52 JS |
2419 | 2017-01-20 Joe Seymour <joe.s@somniumtech.com> |
2420 | ||
2421 | * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t. | |
2422 | * configure: Regenerate. | |
2423 | ||
5b4ca306 JW |
2424 | 2017-01-20 Jonathan Wakely <jwakely@redhat.com> |
2425 | ||
12905f10 JW |
2426 | PR libstdc++/69240 |
2427 | * include/bits/random.h (uniform_real_distribution::param_type) | |
2428 | (normal_distribution::param_type, lognormal_distribution::param_type) | |
2429 | (gamma_distribution::param_type, chi_squared_distribution::param_type) | |
2430 | (cauchy_distribution::param_type, fisher_f_distribution::param_type) | |
2431 | (student_t_distribution::param_type) | |
2432 | (bernoulli_distribution::param_type, binomial_distribution::param_type) | |
2433 | (geometric_distribution::param_type) | |
2434 | (negative_binomial_distribution::param_type) | |
2435 | (poisson_distribution::param_type) | |
2436 | (exponential_distribution::param_type) | |
2437 | (weibull_distribution::param_type) | |
2438 | (extreme_value_distribution::param_type) | |
2439 | (discrete_distribution::param_type) | |
2440 | (piecewise_constant_distribution::param_type) | |
2441 | (piecewise_linear_distribution::param_type): Define operator!=. | |
2442 | * include/bits/uniform_int_dist.h | |
2443 | (uniform_int_distribution::param_type): Likewise. | |
2444 | * include/ext/random (beta_distribution::param_type) | |
2445 | (rice_distribution::param_type, nakagami_distribution::param_type) | |
2446 | (pareto_distribution::param_type, k_distribution::param_type) | |
2447 | (arcsine_distribution::param_type, hoyt_distribution::param_type) | |
2448 | (triangular_distribution::param_type) | |
2449 | (von_mises_distribution::param_type) | |
2450 | (hypergeometric_distribution::param_type) | |
2451 | (logistic_distribution::param_type) | |
2452 | (uniform_on_sphere_distribution::param_type) | |
2453 | (uniform_inside_sphere_distribution::param_type): Likewise. | |
2454 | * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc: | |
2455 | Test construction with param_type. | |
2456 | * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc: | |
2457 | Likewise. | |
2458 | * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: | |
2459 | Likewise. | |
2460 | * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc: | |
2461 | Likewise. | |
2462 | * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: | |
2463 | Likewise. | |
2464 | * testsuite/26_numerics/random/extreme_value_distribution/cons/ | |
2465 | parms.cc: Likewise. | |
2466 | * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc: | |
2467 | Likewise. | |
2468 | * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc: | |
2469 | Likewise. | |
2470 | * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc: | |
2471 | Likewise. | |
2472 | * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc: | |
2473 | Likewise. | |
2474 | * testsuite/26_numerics/random/negative_binomial_distribution/cons/ | |
2475 | parms.cc: Likewise. | |
2476 | * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: | |
2477 | Likewise. | |
2478 | * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc: | |
2479 | Likewise. | |
2480 | * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: | |
2481 | Likewise. | |
2482 | * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc: | |
2483 | Likewise. | |
2484 | * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc: | |
2485 | Likewise. | |
2486 | * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc: | |
2487 | Likewise. | |
2488 | * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise. | |
2489 | * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise. | |
2490 | * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. | |
2491 | * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: | |
2492 | Likewise. | |
2493 | * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise. | |
2494 | * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise. | |
2495 | * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise. | |
2496 | * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. | |
2497 | * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise. | |
2498 | * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise. | |
2499 | * testsuite/ext/random/triangular_distribution/cons/parms.cc: | |
2500 | Likewise. | |
2501 | * testsuite/ext/random/uniform_inside_sphere_distribution/cons/ | |
2502 | parms.cc: Likewise. | |
2503 | * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise. | |
2504 | ||
4dfdda10 JW |
2505 | PR libstdc++/72792 |
2506 | * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type) | |
2507 | (__allocator_traits_base::__size_type): Remove. | |
2508 | (allocator_traits::_Ptr): New class template to detect const and void | |
2509 | pointer types without instantiating pointer_traits::rebind | |
2510 | unnecessarily. | |
2511 | (allocator_traits::_Diff): Likewise for detecting difference_type. | |
2512 | (allocator_traits::_Size): New class template to detect size_type | |
2513 | without instantiating make_unsigned unnecessarily. | |
2514 | * include/bits/ptr_traits.h (pointer_traits::element_type): Use | |
2515 | __detected_or_t instead of __detected_or_t_. | |
2516 | * include/std/type_traits (__detected_or_t_): Remove. | |
2517 | * testsuite/20_util/allocator_traits/members/pointers.cc: New test. | |
2518 | ||
a3a1620b JW |
2519 | PR libstdc++/72792 |
2520 | PR libstdc++/72793 | |
2521 | * include/bits/alloc_traits.h (__allocator_traits_base::__rebind): | |
2522 | Replace with class template using void_t. | |
2523 | (__alloc_rebind): Define in terms of | |
2524 | __allocator_traits_base::__rebind. | |
2525 | (allocator_traits): Remove unconditional static_assert for | |
2526 | rebind_alloc. | |
2527 | * include/bits/ptr_traits.h (__replace_first_arg): Remove type member. | |
2528 | (pointer_traits::__rebind): Replace with class template using void_t. | |
2529 | (pointer_traits::rebind): Define in terms of __rebind. | |
2530 | (pointer_traits): Remove unconditional static_assert for rebind. | |
2531 | * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test. | |
2532 | * testsuite/20_util/pointer_traits/rebind.cc: New test. | |
2533 | ||
38a9e5a6 JW |
2534 | PR libstdc++/69321 |
2535 | * include/experimental/any (__any_caster): Avoid instantiating | |
2536 | manager function for types that can't be stored in any. | |
2537 | * include/std/any (__any_caster): Likewise. | |
2538 | * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type. | |
2539 | * testsuite/experimental/any/misc/any_cast.cc: Likewise. | |
2540 | ||
5b4ca306 JW |
2541 | PR libstdc++/64903 |
2542 | * include/bits/stl_algo.h (is_partitioned): Use increment instead of | |
2543 | std::advance. | |
2544 | ||
8c05647c JW |
2545 | 2017-01-19 Jonathan Wakely <jwakely@redhat.com> |
2546 | ||
115ac9ff JW |
2547 | PR libstdc++/79156 |
2548 | * include/bits/shared_ptr_base.h (__enable_shared_from_this_base): | |
2549 | Fix return type. | |
2550 | (__enable_shared_from_this): Declare __shared_ptr as a friend. | |
2551 | * testsuite/ext/shared_ptr/1.cc: New test. | |
2552 | ||
c4e5baa6 | 2553 | PR libstdc++/64903 |
5b4ca306 | 2554 | * include/bits/stl_algo.h (is_partitioned): Don't retest the partition |
c4e5baa6 JW |
2555 | point. |
2556 | * testsuite/25_algorithms/is_partitioned/2.cc: New test. | |
2557 | ||
8e416011 JW |
2558 | * doc/xml/manual/abi.xml: Fix typo. |
2559 | * doc/html/manual/abi.html: Likewise. | |
2560 | ||
437f43cc JW |
2561 | PR libstdc++/67085 |
2562 | * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add | |
2563 | converting constructors from _Iter_less_iter. | |
2564 | (_Iter_comp_val, _Val_comp_iter): Add converting constructors from | |
2565 | _Iter_comp_iter. | |
2566 | (__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor. | |
2567 | (__val_comp_iter(_Iter_comp_iter<C>): Likewise. | |
2568 | * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap) | |
2569 | (__make_heap, __sort_heap): Change _Compare parameters to references. | |
2570 | (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap) | |
2571 | (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison | |
2572 | functions as lvalues. | |
2573 | (is_heap): Call __is_heap_until directly to avoid copying __comp. | |
2574 | * testsuite/23_containers/priority_queue/67085.cc: Adjust test to | |
2575 | count copies during construction with empty sequence. | |
2576 | ||
9ade9945 JW |
2577 | PR libstdc++/67085 |
2578 | * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE. | |
2579 | (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops. | |
2580 | * testsuite/23_containers/priority_queue/67085.cc: Adjust expected | |
2581 | number of copies. | |
2582 | * testsuite/25_algorithms/make_heap/movable.cc: New test. | |
2583 | ||
45b48129 JW |
2584 | PR libstdc++/67085 |
2585 | * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap) | |
2586 | (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use | |
2587 | _GLIBCXX_MOVE when passing comparison function to other functions. | |
2588 | (is_heap_until, is_heap): Use std::move when passing comparison | |
2589 | function. | |
2590 | * testsuite/23_containers/priority_queue/67085.cc: New test. | |
2591 | ||
8c05647c JW |
2592 | PR libstdc++/78905 |
2593 | * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to | |
2594 | macro names, filenames, and literal values. Document _GLIBCXX_RELEASE. | |
2595 | Document that the deprecated _GLIBCXX_VERSION macro was removed for | |
2596 | the 4.0.0 release. | |
2597 | * doc/html/*: Regenerate. | |
2598 | * include/Makefile.am (_GLIBCXX_RELEASE): Set value. | |
2599 | * include/Makefile.in: Regenerate. | |
2600 | * include/bits/c++config (_GLIBCXX_RELEASE): Add #define. | |
2601 | * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in | |
2602 | dg-error. | |
2603 | ||
b08fdbb8 JW |
2604 | 2017-01-18 Jonathan Wakely <jwakely@redhat.com> |
2605 | ||
2ae27b70 JW |
2606 | PR libstdc++/69301 |
2607 | * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use | |
2608 | aligned buffer instead of default-initialized variable. | |
2609 | * testsuite/29_atomics/atomic/69301.cc: New test. | |
2610 | * include/experimental/memory (observer_ptr::release): Use reserved | |
2611 | name. | |
2612 | * include/ext/pointer.h (_Pointer_adapter::operator++(int)) | |
2613 | (_Pointer_adapter::operator--(int)): Likewise. | |
2614 | ||
b08fdbb8 JW |
2615 | PR libstdc++/68925 |
2616 | * include/experimental/random (randint): Use temporary instead of | |
2617 | thread_local static. | |
2618 | ||
93f90f7b JC |
2619 | 2017-01-17 Joshua Conner <joshconner@google.com> |
2620 | ||
2621 | * crossconfig.m4: Add fuchsia OS. | |
fe62dd04 | 2622 | * configure: Regenerate. |
93f90f7b | 2623 | |
04c872aa JW |
2624 | 2017-01-17 Jonathan Wakely <jwakely@redhat.com> |
2625 | ||
c6b8b5e4 JW |
2626 | PR libstdc++/69699 |
2627 | * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the | |
8c05647c | 2628 | __GLIBCXX__ macro is not useful. Remove redundant date information |
c6b8b5e4 JW |
2629 | and link to the GCC release timeline. |
2630 | (abi.versioning.active): Move partial sentence into the previous | |
2631 | paragraph. | |
2632 | * doc/html/*: Regenerate. | |
2633 | ||
04c872aa JW |
2634 | PR libstdc++/79114 |
2635 | * libsupc++/nested_exception.h (throw_with_nested): Use decay instead | |
2636 | of remove_reference. | |
2637 | * testsuite/18_support/nested_exception/79114.cc: New test. | |
2638 | ||
3c36aa6b JJ |
2639 | 2017-01-17 Jakub Jelinek <jakub@redhat.com> |
2640 | ||
2641 | PR other/79046 | |
2642 | * configure.ac: Add GCC_BASE_VER. | |
2643 | * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to | |
2644 | get version from BASE-VER file. | |
2645 | * po/Makefile.in: Regenerated. | |
2646 | * libsupc++/Makefile.in: Regenerated. | |
2647 | * testsuite/Makefile.in: Regenerated. | |
2648 | * src/Makefile.in: Regenerated. | |
2649 | * configure: Regenerated. | |
2650 | * Makefile.in: Regenerated. | |
2651 | * include/Makefile.in: Regenerated. | |
2652 | * doc/Makefile.in: Regenerated. | |
2653 | * python/Makefile.in: Regenerated. | |
2654 | * src/c++11/Makefile.in: Regenerated. | |
2655 | * src/c++98/Makefile.in: Regenerated. | |
2656 | * src/filesystem/Makefile.in: Regenerated. | |
2657 | ||
b497fbc1 JW |
2658 | 2017-01-16 Jonathan Wakely <jwakely@redhat.com> |
2659 | ||
83291b8b JW |
2660 | PR libstdc++/66145 |
2661 | * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure | |
2662 | exceptions. | |
2663 | * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI | |
2664 | for test, so new ios::failure can be caught. | |
2665 | * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. | |
2666 | * testsuite/27_io/basic_istream/extractors_arithmetic/char/ | |
2667 | exceptions_failbit.cc: Likewise. | |
2668 | * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ | |
2669 | exceptions_failbit.cc: Likewise. | |
2670 | * testsuite/27_io/basic_istream/extractors_other/char/ | |
2671 | exceptions_null.cc: Likewise. | |
2672 | * testsuite/27_io/basic_istream/extractors_other/wchar_t/ | |
2673 | exceptions_null.cc: Likewise. | |
2674 | * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. | |
2675 | * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. | |
2676 | * testsuite/27_io/basic_ostream/inserters_other/char/ | |
2677 | exceptions_null.cc: Likewise. | |
2678 | * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ | |
2679 | exceptions_null.cc: Likewise. | |
2680 | * testsuite/27_io/ios_base/storage/2.cc: Likewise. | |
2681 | ||
b497fbc1 JW |
2682 | PR libstdc++/78702 |
2683 | * include/bits/locale_classes.h (locale::facet::__shim): Change from | |
2684 | private to protected. | |
2685 | * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to | |
2686 | make locale::facet::__shim accessible. | |
2687 | ||
53426b63 VV |
2688 | 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com> |
2689 | ||
2690 | PR libstdc++/78389 | |
2691 | * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments. | |
2692 | (merge(list&&, _StrictWeakOrdering)): Likewise. | |
2693 | * testsuite/23_containers/list/operations/78389.cc: Add | |
2694 | better test for the sizes. | |
2695 | ||
ac4664f9 JW |
2696 | 2017-01-14 Jonathan Wakely <jwakely@redhat.com> |
2697 | ||
2698 | * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: | |
2699 | Skip test when -D_GLIBCXX_PROFILE mode is included in options. | |
2700 | * testsuite/23_containers/map/modifiers/extract.cc: Likewise. | |
2701 | * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: | |
2702 | Likewise. | |
2703 | * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. | |
2704 | * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise. | |
2705 | * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise. | |
2706 | * testsuite/23_containers/set/modifiers/extract.cc: Likewise. | |
2707 | * testsuite/23_containers/unordered_map/modifiers/extract.cc: | |
2708 | Likewise. | |
2709 | * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:: | |
2710 | Likewise. | |
2711 | * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:: | |
2712 | Likewise. | |
2713 | * testsuite/23_containers/unordered_set/modifiers/extract.cc: | |
2714 | Likewise. | |
2715 | * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: | |
2716 | Likewise. | |
2717 | * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise. | |
2718 | * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise. | |
2719 | * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise. | |
2720 | * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise. | |
2721 | * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise. | |
2722 | * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise. | |
2723 | * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. | |
2724 | * testsuite/libstdc++-prettyprinters/debug.cc: Likewise. | |
2725 | * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise. | |
2726 | * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. | |
2727 | * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. | |
2728 | * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. | |
2729 | * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. | |
2730 | ||
90aa7330 JW |
2731 | 2017-01-13 Jonathan Wakely <jwakely@redhat.com> |
2732 | ||
0fdba3a8 JW |
2733 | PR libstdc++/65411 |
2734 | * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't | |
2735 | retry fclose on EINTR. | |
2736 | ||
aa1ba96b JW |
2737 | * include/profile/base.h: Remove unused header that leads to header |
2738 | cycle in C++17 mode. | |
2739 | ||
92daf2de JW |
2740 | PR libstdc++/79075 |
2741 | * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): | |
2742 | Make _If_sv private. | |
2743 | [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking | |
2744 | basic_string_view arguments. | |
2745 | ||
90aa7330 JW |
2746 | PR libstdc++/79075 |
2747 | * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove | |
2748 | redundant option from cxxflags. | |
2749 | (check_effective_target_cxx11-abi): Define. | |
2750 | * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi | |
2751 | effective target. | |
2752 | * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise. | |
2753 | * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: | |
2754 | Likewise. | |
2755 | * testsuite/21_strings/basic_string/allocator/char/minimal.cc: | |
2756 | Likewise. | |
2757 | * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise. | |
2758 | * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: | |
2759 | Likewise. | |
2760 | * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: | |
2761 | Likewise. | |
2762 | * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise. | |
2763 | * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: | |
2764 | Likewise. | |
2765 | * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: | |
2766 | Likewise. | |
2767 | * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: | |
2768 | Likewise. | |
2769 | * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: | |
2770 | Likewise. | |
2771 | * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: | |
2772 | Likewise. | |
2773 | * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: | |
2774 | Likewise. | |
2775 | * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: | |
2776 | Likewise. | |
2777 | * testsuite/23_containers/list/61347.cc: Likewise. | |
2778 | * testsuite/27_io/basic_fstream/cons/base.cc: Likewise. | |
2779 | * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise. | |
2780 | ||
e5dcfacf VV |
2781 | 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com> |
2782 | ||
2783 | PR libstdc++/78389 | |
2784 | * include/bits/list.tcc (merge(list&&)): | |
2785 | Adjust list sizes if the comparator throws. | |
2786 | (merge(list&&, _StrictWeakOrdering)): Likewise. | |
2787 | (sort()): Splice elements back from the scratch buffers | |
2788 | if the comparator throws. | |
2789 | (sort(_StrictWeakOrdering)): Likewise. | |
2790 | * testsuite/23_containers/list/operations/78389.cc: New. | |
2791 | ||
c6ab9061 JW |
2792 | 2017-01-13 Jonathan Wakely <jwakely@redhat.com> |
2793 | ||
45cac8ba JW |
2794 | * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark |
2795 | XFAIL for C++17 until node reinsertion supports fancy pointers. | |
2796 | ||
c6ab9061 JW |
2797 | PR libstdc++/78361 |
2798 | * testsuite/20_util/add_pointer/value.cc: Test forming function | |
2799 | pointers. | |
2800 | ||
2801 | 2017-01-13 Michael Brune <lucdanton@free.fr> | |
2802 | ||
2803 | PR libstdc++/78361 | |
2804 | * include/std/type_traits (__is_referenceable): Handle noexcept | |
2805 | function types. | |
2806 | ||
4704f28e JW |
2807 | 2017-01-12 Jonathan Wakely <jwakely@redhat.com> |
2808 | ||
a1f009a6 JW |
2809 | PR libstdc++/77528 |
2810 | * include/bits/stl_queue.h (queue, priority_queue): Remove default | |
2811 | member-initializers and define default constructors as templates with | |
2812 | constraints. | |
2813 | * include/bits/stl_stack.h (stack): Likewise. | |
2814 | * testsuite/23_containers/priority_queue/requirements/constructible.cc: | |
2815 | New. | |
2816 | * testsuite/23_containers/priority_queue/requirements/ | |
2817 | explicit_instantiation/1.cc: Test more instantiations. | |
2818 | * testsuite/23_containers/priority_queue/requirements/ | |
2819 | explicit_instantiation/1_c++98.cc: Likewise. | |
2820 | * testsuite/23_containers/queue/requirements/constructible.cc: New. | |
2821 | * testsuite/23_containers/stack/requirements/constructible.cc: New. | |
2822 | ||
4704f28e JW |
2823 | PR libstdc++/66284 |
2824 | * doc/xml/manual/intro.xml: Document LWG 2781 change. | |
2825 | * doc/html/*: Regenerate. | |
2826 | * include/std/functional (_Function_base::_Ref_manager): Remove. | |
2827 | (_Function_handler): Remove partial specializations for | |
2828 | reference_wrapper. | |
2829 | (function::target): Remove special case for const qualification. | |
2830 | * testsuite/20_util/function/6.cc: Adjust tests for target type. | |
2831 | * testsuite/20_util/function/7.cc: Likewise. | |
2832 | * testsuite/20_util/function/8.cc: Likewise. | |
2833 | ||
b091b8dc JW |
2834 | 2017-01-11 Jonathan Wakely <jwakely@redhat.com> |
2835 | ||
b744bf4e JW |
2836 | PR libstdc++/78134 |
2837 | * include/bits/stl_map.h (map::lower_bound, map::upper_bound) | |
2838 | (map::equal_range): Fix return type of heterogeneous overloads. | |
2839 | * include/bits/stl_multimap.h (multimap::lower_bound) | |
2840 | (multimap::upper_bound, multimap::equal_range): Likewise. | |
2841 | * include/bits/stl_multiset.h (multiset::lower_bound) | |
2842 | (multiset::upper_bound, multiset::equal_range): Likewise. | |
2843 | * include/bits/stl_set.h (set::lower_bound, set::upper_bound) | |
2844 | (set::equal_range): Likewise. | |
2845 | * testsuite/23_containers/map/operations/2.cc | |
2846 | * testsuite/23_containers/multimap/operations/2.cc | |
2847 | * testsuite/23_containers/multiset/operations/2.cc | |
2848 | * testsuite/23_containers/set/operations/2.cc | |
2849 | ||
b091b8dc JW |
2850 | PR libstdc++/78273 |
2851 | * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume | |
2852 | the heterogeneous comparison can only find one match. | |
2853 | * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise. | |
2854 | * testsuite/23_containers/map/operations/2.cc: Test count works with | |
2855 | comparison function that just partitions rather than sorting. | |
2856 | * testsuite/23_containers/set/operations/2.cc: Likewise. | |
2857 | ||
f3df0b3c VV |
2858 | 2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com> |
2859 | ||
2860 | Reduce the size of variant, it doesn't need an index of | |
2861 | type size_t internally. | |
2862 | * include/std/variant (parse_numbers.h): New include. | |
2863 | (__select_index): New. | |
2864 | (_Variant_storage<false, _Types...>::_M_reset_impl): Use | |
2865 | _index_type for comparison with variant_npos. | |
2866 | (_Variant_storage<false, _Types...>::__index_type): New. | |
2867 | (_Variant_storage<false, _Types...>::_M_index): Change the | |
2868 | type from size_t to __index_type. | |
2869 | (_Variant_storage<true, _Types...>::__index_type): New. | |
2870 | (_Variant_storage<true, _Types...>::_M_index): Change the | |
2871 | type from size_t to __index_type. | |
2872 | (_Variant_base::_M_valid): Use _Storage::__index_type | |
2873 | for comparison with variant_npos. | |
2874 | (variant::index): Use _Base::_Storage::__index_type | |
2875 | for comparison with variant_npos. | |
2876 | * testsuite/20_util/variant/index_type.cc: New. | |
2877 | ||
d2e1d4b7 JW |
2878 | 2017-01-10 Jonathan Wakely <jwakely@redhat.com> |
2879 | ||
904112f6 JW |
2880 | * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust |
2881 | effective target selector to prevent running in C++17 mode. | |
2882 | ||
d2e1d4b7 JW |
2883 | PR libstdc++/77528 |
2884 | * include/bits/stl_queue.h (queue::c): Add default member initializer. | |
2885 | (queue::queue()): Add constructor and define as defaulted. | |
2886 | (queue::queue(_Sequence&&)): Remove default argument. | |
2887 | (priority_queue::c, priority_queue::comp): Add default member | |
2888 | initializers. | |
2889 | (priority_queue::priority_queue()): Add constructor and define as | |
2890 | defaulted. | |
2891 | (priority_queue::priority_queue(const _Compare&, _Sequence&&)): | |
2892 | Remove default argument for first parameter. | |
2893 | * include/bits/stl_stack.h (stack::c): Add default member initializer. | |
2894 | (stack::stack()): Add constructor and define as defaulted. | |
2895 | (stack::stack(const _Sequence&)): Remove default argument. | |
2896 | * testsuite/23_containers/priority_queue/requirements/ | |
2897 | explicit_instantiation/1.cc: Test explicit instantiation with | |
2898 | non-DefaultConstructible sequence. | |
2899 | * testsuite/23_containers/priority_queue/77528.cc: New test. | |
2900 | * testsuite/23_containers/priority_queue/requirements/ | |
2901 | explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc. | |
2902 | * testsuite/23_containers/queue/77528.cc: New test. | |
2903 | * testsuite/23_containers/queue/requirements/explicit_instantiation/ | |
2904 | 1.cc: Test explicit instantiation with non-DefaultConstructible | |
2905 | sequence. | |
2906 | * testsuite/23_containers/queue/requirements/explicit_instantiation/ | |
2907 | 1_c++0x.cc: Replace with 1_c++98.cc. | |
2908 | * testsuite/23_containers/stack/77528.cc: New test. | |
2909 | * testsuite/23_containers/stack/requirements/explicit_instantiation/ | |
2910 | 1.cc: Test explicit instantiation with non-DefaultConstructible | |
2911 | sequence. | |
2912 | * testsuite/23_containers/stack/requirements/explicit_instantiation/ | |
2913 | 1_c++0x.cc: Replace with 1_c++98.cc. | |
2914 | ||
26b67e38 FMA |
2915 | 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br> |
2916 | ||
2917 | * include/bits/locale_facets_nonio.tcc | |
2918 | (time_get::_M_extract_via_format): Avoid compilation errors with | |
2919 | non-standard struct tm. | |
2920 | ||
f9a27859 FD |
2921 | 2017-01-10 François Dumont <fdumont@gcc.gnu.org> |
2922 | Jonathan Wakely <jwakely@redhat.com> | |
2923 | ||
2924 | * python/libstdcxx/v6/printers.py (_versioned_namespace): Define. | |
2925 | (is_specialization, strip_versioned_namespace): New helpers functions | |
2926 | to work with symbols in the versioned namespace. | |
2927 | (Printer.add_version): Add second name using versioned namespace. | |
2928 | (add_one_template_type_printer, add_one_type_printer): Add second | |
2929 | type printers using versioned namespace. | |
2930 | (register_type_printers): Add template type printer for basic_string. | |
2931 | (build_libstdcxx_dictionary): Remove dead code. | |
2932 | * python/libstdcxx/v6/xmethods.py: Make all matchers look for | |
2933 | versioned namespace. | |
2934 | * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected | |
2935 | results. | |
2936 | * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. | |
2937 | ||
dc8bc65b JW |
2938 | 2017-01-09 Jonathan Wakely <jwakely@redhat.com> |
2939 | ||
a7765de8 JW |
2940 | PR libstdc++/79017 |
2941 | * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround | |
2942 | functions separately on darwin and if they're missing define | |
2943 | _GLIBCXX_NO_C99_ROUNDING_FUNCS. | |
2944 | * config.h.in: Regenerate. | |
2945 | * configure: Regenerate. | |
2946 | * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint) | |
2947 | (llrintf, llrintl, llround, llroundf, llroundl): Do not define. | |
2948 | ||
dc8bc65b JW |
2949 | * testsuite/30_threads/condition_variable/members/3.cc: Use new macro |
2950 | to detect correct thread_local destructors. | |
2951 | * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS): | |
2952 | Define. | |
2953 | ||
cb627cdf JW |
2954 | 2017-01-09 Jonathan Wakely <jwakely@redhat.com> |
2955 | Aditya Kumar <hiraditya@msn.com> | |
2956 | ||
2957 | PR libstdc++/66414 | |
2958 | * include/bits/basic_string.tcc | |
2959 | (basic_string::find(const CharT*, size_type, size_type)): Optimize. | |
2960 | ||
ea4ad78e JW |
2961 | 2017-01-06 Jonathan Wakely <jwakely@redhat.com> |
2962 | ||
3330ac38 JW |
2963 | * testsuite/21_strings/basic_string/operations/find/char/6.cc: New. |
2964 | * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New. | |
2965 | ||
3907f9e5 JW |
2966 | * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp: |
2967 | Include <cassert> header. | |
2968 | ||
ea4ad78e JW |
2969 | PR libstdc++/78968 |
2970 | * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*. | |
2971 | * configure: Regenerate. | |
2972 | ||
258ee761 BA |
2973 | 2017-01-06 Barrett Adair <barrettellisadair@gmail.com> |
2974 | Jonathan Wakely <jwakely@redhat.com> | |
2975 | ||
2976 | * include/std/variant (variant, swap): Replace __and_ usage with fold | |
2977 | expressions. | |
2978 | ||
1ec62aa9 RO |
2979 | 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
2980 | ||
2981 | PR go/78978 | |
2982 | * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove. | |
2983 | * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of | |
2984 | GLIBCXX_CHECK_ASSEMBLER_HWCAP. | |
2985 | * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of | |
2986 | HWCAP_FLAGS. | |
2987 | * aclocal.m4: Regenerate. | |
2988 | * configure: Regenerate. | |
2989 | * Makefile.in, doc/Makefile.in, include/Makefile.in, | |
2990 | libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in, | |
2991 | src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in, | |
2992 | src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate. | |
2993 | ||
6807f086 JW |
2994 | 2017-01-06 Jonathan Wakely <jwakely@redhat.com> |
2995 | ||
8b790281 JW |
2996 | * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition. |
2997 | ||
6807f086 JW |
2998 | PR libstdc++/78991 |
2999 | * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val) | |
3000 | (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val) | |
3001 | (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and | |
3002 | move function objects. | |
3003 | (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter) | |
3004 | (__iter_comp_val, __iter_comp_iter, __negate): Move function objects. | |
3005 | * testsuite/25_algorithms/sort/78991.cc: New test. | |
3006 | ||
295ce2e5 JW |
3007 | 2017-01-05 Jonathan Wakely <jwakely@redhat.com> |
3008 | ||
3009 | * include/bits/std_function.h (function::_Signature_type): Remove. | |
3010 | (function::function(_Functor)): Adjust. | |
3011 | ||
0f9cf7ff TS |
3012 | 2017-01-05 Tim Shen <timshen@google.com> |
3013 | ||
3014 | PR libstdc++/78996 | |
3015 | * include/std/variant (__gen_vtable_impl): rename __unused to | |
3016 | __dimensions to avoid naming conflict. | |
3017 | ||
2a792efe JW |
3018 | 2017-01-04 Jonathan Wakely <jwakely@redhat.com> |
3019 | ||
3020 | PR libstdc++/78968 | |
3021 | * config.h.in: Regenerate. | |
3022 | * configure: Likewise. | |
3023 | * configure.ac: Check for __cxa_thread_atexit. | |
3024 | * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]: | |
3025 | Don't define __cxa_thread_atexit if libc provides it. | |
3026 | ||
13086769 VV |
3027 | 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com> |
3028 | ||
3029 | Implement 2801, Default-constructibility of unique_ptr. | |
3030 | * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New. | |
3031 | (unique_ptr::_DeleterConstraint): Likewise. | |
3032 | (unique_ptr()): Constrain. | |
3033 | (unique_ptr(pointer)): Likewise. | |
3034 | (unique_ptr(nullptr_t)): Likewise. | |
3035 | (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New. | |
3036 | (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain. | |
3037 | (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise. | |
3038 | (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise. | |
3039 | * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust. | |
3040 | * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise. | |
3041 | * testsuite/20_util/unique_ptr/cons/default.cc: New. | |
3042 | * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust. | |
3043 | ||
ed3cb497 PN |
3044 | 2017-01-04 Pauli Nieminen <suokkos@gmail.com> |
3045 | Jonathan Wakely <jwakely@redhat.com> | |
3046 | ||
3047 | PR libstdc++/64735 | |
3048 | * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define. | |
3049 | * config.h.in: Regenerate. | |
3050 | * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46] | |
3051 | (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make | |
3052 | exports for exception_ptr, nested_exception, and future conditional. | |
3053 | [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add | |
3054 | exports for exception_ptr, nested_exception, and future conditional. | |
3055 | * configure: Regenerate. | |
3056 | * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER. | |
3057 | * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE | |
3058 | * libsupc++/eh_atomics.h: New file for internal use only. | |
3059 | (__eh_atomic_inc, __eh_atomic_dec): New. | |
3060 | * libsupc++/eh_ptr.cc (exception_ptr::_M_addref) | |
3061 | (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup) | |
3062 | (rethrow_exception): Use eh_atomics.h reference counting helpers. | |
3063 | * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise. | |
3064 | * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise. | |
3065 | * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE. | |
3066 | * libsupc++/exception_ptr.h: Likewise. | |
3067 | * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro. | |
3068 | * libsupc++/nested_exception.cc: Remove check for | |
3069 | ATOMIC_INT_LOCK_FREE. | |
3070 | * libsupc++/nested_exception.h: Likewise. | |
3071 | * src/c++11/future.cc: Likewise. | |
3072 | * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks. | |
3073 | * testsuite/18_support/nested_exception/*: Likewise. | |
3074 | * testsuite/30_threads/async/*: Likewise. | |
3075 | * testsuite/30_threads/future/*: Likewise. | |
3076 | * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise. | |
3077 | * testsuite/30_threads/packaged_task/*: Likewise. | |
3078 | * testsuite/30_threads/promise/*: Likewise. | |
3079 | * testsuite/30_threads/shared_future/*: Likewise. | |
3080 | ||
c671a0d6 GP |
3081 | 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com> |
3082 | ||
3083 | * doc/xml/manual/documentation_hacking.xml: sourceforge.net now | |
3084 | defaults to https; adjust reference. | |
3085 | ||
f61581f7 JW |
3086 | 2017-01-03 Jonathan Wakely <jwakely@redhat.com> |
3087 | ||
80efc507 JW |
3088 | PR libstdc++/78956 |
3089 | * include/std/thread (thread(const thread&&)): Add deleted | |
3090 | constructor. | |
3091 | * testsuite/30_threads/thread/cons/lwg2097.cc: New test. | |
3092 | ||
f61581f7 JW |
3093 | * doc/xml/manual/spine.xml: Update copyright years. |
3094 | * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir. | |
3095 | * doc/xml/manual/test.xml: Likewise. | |
3096 | * doc/html/*: Regenerate. | |
3097 | ||
337160b8 GP |
3098 | 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com> |
3099 | ||
3100 | * doc/xml/faq.xml: Update address of C++ ABI link. | |
3101 | * doc/xml/manual/abi.xml: Ditto. | |
fe62dd04 | 3102 | |
cbe34bb5 | 3103 | 2017-01-01 Jakub Jelinek <jakub@redhat.com> |
5624e564 JJ |
3104 | |
3105 | Update copyright years. | |
b4df5e92 | 3106 | \f |
cbe34bb5 | 3107 | Copyright (C) 2017 Free Software Foundation, Inc. |
b4df5e92 JW |
3108 | |
3109 | Copying and distribution of this file, with or without modification, | |
3110 | are permitted in any medium without royalty provided the copyright | |
3111 | notice and this notice are preserved. |