Mercurial > hg > CbC > CbC_gcc
comparison libstdc++-v3/ChangeLog-2017 @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 2017-12-27 Jonathan Wakely <jwakely@redhat.com> | |
2 | |
3 PR libstdc++/83600 | |
4 * include/bits/regex.h (match_results::end()): Return valid iterator | |
5 when not ready. | |
6 * testsuite/28_regex/match_results/ctors/char/default.cc: Check that | |
7 unready objects are empty and have equal begin and end iterators. | |
8 * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise. | |
9 | |
10 PR libstdc++/83598 | |
11 * include/bits/regex.h (basic_regex): Don't modify flags passed to | |
12 constructors. | |
13 * testsuite/28_regex/basic_regex/ctors/83598.cc: New test. | |
14 | |
15 PR libstdc++/83538 | |
16 * doc/xml/manual/intro.xml: Document LWG 2306 change. | |
17 * include/bits/regex.h (match_results::reference): Change to | |
18 non-const reference. | |
19 * testsuite/28_regex/match_results/typedefs.cc: Check types are | |
20 correct. | |
21 | |
22 2017-12-24 Michele Pezzutti <mpezz@tiscali.it> | |
23 | |
24 PR libstdc++/83237 | |
25 * include/bits/random.tcc (poisson_distribution<>::operator()): | |
26 Fix __x = 1 case - see updated Errata of Devroye's treatise. | |
27 * testsuite/26_numerics/random/poisson_distribution/operators/ | |
28 values.cc: Add test. | |
29 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error | |
30 line number. | |
31 | |
32 2017-12-24 Jonathan Wakely <jwakely@redhat.com> | |
33 | |
34 PR libstdc++/83450 | |
35 * testsuite/21_strings/basic_string/pthread18185.cc: Add return | |
36 statement. | |
37 | |
38 2017-12-20 François Dumont <fdumont@gcc.gnu.org> | |
39 | |
40 PR libstdc++/82522 | |
41 * include/debug/map.h (map::insert(value_type&&)) | |
42 (map::insert(const_iterator, value_type&&)): Add overload for rvalues. | |
43 * include/debug/multimap.h (multimap::insert(value_type&&)) | |
44 (multimap::insert(const_iterator, value_type&&)): Likewise. | |
45 * include/debug/unordered_map (unordered_map::insert(value_type&&)) | |
46 (unordered_map::insert(const_iterator, value_type&&)) | |
47 (unordered_multimap::insert(value_type&&)) | |
48 (unordered_multimap::insert(const_iterator, value_type&&)): Likewise. | |
49 * testsuite/23_containers/map/modifiers/insert/dr2354.cc (test02): New. | |
50 * testsuite/23_containers/multimap/modifiers/insert/dr2354.cc (test02): | |
51 New. | |
52 * testsuite/23_containers/unordered_map/insert/dr2354.cc (test02): New. | |
53 * testsuite/23_containers/unordered_multimap/insert/dr2354.cc (test02): | |
54 New. | |
55 | |
56 2017-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
57 | |
58 * config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Check | |
59 __ARM_BIG_ENDIAN instead of __AARCH64EB__. | |
60 | |
61 2017-12-18 François Dumont <fdumont@gcc.gnu.org> | |
62 | |
63 PR libstdc++/80761 | |
64 * include/debug/map.h | |
65 (std::__debug::map<>::insert_return_type): Define using | |
66 _Node_insert_return. | |
67 * include/debug/set.h (std::__debug::set<>::insert_return_type): | |
68 Likewise. | |
69 * include/debug/unordered_map: | |
70 (std::__debug::unordered_map<>::insert_return_type): Likewise. | |
71 * include/debug/unordered_set: | |
72 (std::__debug::unordered_set<>::insert_return_type): Likewise. | |
73 | |
74 2017-12-18 Ville Voutilainen <ville.voutilainen@gmail.com> | |
75 | |
76 PR libstdc++/68430 | |
77 * testsuite/20_util/is_constructible/68430.cc: New. | |
78 | |
79 2017-12-16 Martin Sebor <msebor@redhat.com> | |
80 | |
81 PR tree-optimization/83239 | |
82 * include/bits/vector.tcc (vector::_M_default_append): Assert | |
83 invariant to generate better code. | |
84 | |
85 2017-12-14 Jonathan Wakely <jwakely@redhat.com> | |
86 | |
87 PR libstdc++/83279 | |
88 * src/filesystem/std-ops.cc (do_copy_file): Handle sendfile not | |
89 copying entire file. | |
90 | |
91 PR libstdc++/68519 | |
92 * include/std/condition_variable (condition_variable::wait_for): | |
93 Convert duration to native clock's duration before addition. | |
94 * testsuite/30_threads/condition_variable/members/68519.cc: New test. | |
95 | |
96 PR libstdc++/83427 | |
97 * include/bits/refwrap.h (_Maybe_unary_or_binary_function): Move here | |
98 from <bits/std_function.h>. | |
99 (_Mem_fn_traits_base, _Mem_fn_traits): Move here, from <functional>. | |
100 (_Weak_result_type_impl, _Reference_wrapper_base): Deduce noexcept | |
101 for function types. Remove partial specializations for member | |
102 functions. | |
103 (_Weak_result_type_impl): Remove unused partial specializations for | |
104 non-referenceable function types and for references to functions. | |
105 (_Weak_result_type_memfun, _Reference_wrapper_base_memfun): New | |
106 helpers to handle member functions via _Mem_fn_traits. | |
107 (_Weak_result_type, reference_wrapper): Derive from new helpers. | |
108 * include/bits/std_function.h (_Maybe_unary_or_binary_function): Move | |
109 to <bits/refwrap.h>. | |
110 * include/std/functional (_Pack, _AllConvertible, _NotSame): Remove. | |
111 (_Mem_fn_traits_base, _Mem_fn_traits): Move to <bits/refwrap.h>. | |
112 * testsuite/20_util/bind/83427.cc: New test. | |
113 * testsuite/20_util/bind/refqual.cc: Add noexcept to functions and | |
114 check for weak result types. | |
115 * testsuite/20_util/reference_wrapper/83427.cc: New test. | |
116 | |
117 * testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc: | |
118 Add tests using noskipws. | |
119 | |
120 * testsuite/26_numerics/complex/dr2714.cc: Move to ... | |
121 * testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc: | |
122 ... Here. Remove duplicate header and dg-options. Check first invalid | |
123 character gets putback. Remove wchar_t test. | |
124 | |
125 2017-12-13 Jonathan Wakely <jwakely@redhat.com> | |
126 | |
127 PR libstdc++/59568 | |
128 * include/std/complex (operator>>): Implement proposed resolution to | |
129 LWG 2714. Use putback if and only if a character has been successfully | |
130 extracted but isn't a delimiter. Use ctype::widen and traits::eq when | |
131 testing if extracted characters match delimiters. | |
132 * testsuite/26_numerics/complex/dr2714.cc: New test. | |
133 | |
134 2017-12-12 Jonathan Wakely <jwakely@redhat.com> | |
135 | |
136 PR libstdc++/83395 | |
137 * include/std/type_traits (__is_invocable_impl): Remove partial | |
138 specialization for INVOKE<void> and restore is_void<R> check in | |
139 primary template. | |
140 (__is_nt_invocable_impl): Likewise. | |
141 * testsuite/20_util/is_invocable/83395.cc: New test. | |
142 * testsuite/20_util/is_nothrow_invocable/83395.cc: New test. | |
143 | |
144 2017-12-07 David Edelsohn <dje.gcc@gmail.com> | |
145 | |
146 PR libstdc++/83120 | |
147 * testsuite/ext/special_functions/hyperg/check_value.cc: Add | |
148 -ffp-contract=off. Add -ffloat-store for m68* and ia32. | |
149 * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc: Same. | |
150 | |
151 2017-12-07 Martin Sebor <msebor@redhat.com> | |
152 | |
153 PR c/81544 | |
154 * include/ext/mt_allocator.h (_M_destroy_thread_key): Remove | |
155 attribute const. | |
156 | |
157 2017-12-05 Jason Merrill <jason@redhat.com> | |
158 Jonathan Wakely <jwakely@redhat.com> | |
159 | |
160 * include/bits/fs_fwd.h (copy, copy_file): Remove noexcept. | |
161 (permissions): Add noexcept. | |
162 * include/bits/fs_ops.h (permissions): Add noexcept. | |
163 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Add | |
164 _GLIBCXX_NOTHROW. | |
165 | |
166 2017-12-04 Jonathan Wakely <jwakely@redhat.com> | |
167 | |
168 * include/bits/regex_compiler.tcc: Use C-style comment to work around | |
169 PR preprocessor/61638. | |
170 (__INSERT_REGEX_MATCHER): Replace GNU extension with __VA_ARGS__. | |
171 | |
172 * config/io/basic_file_stdio.h (__basic_file): Remove name of unused | |
173 parameter. | |
174 * include/bits/boost_concept_check.h: Add pragmas to disable | |
175 -Wunused-local-typedef warnings. | |
176 * include/bits/codecvt.h (codecvt_byname<char16_t, char, mbstate_t>) | |
177 (codecvt_byname<char32_t, char, mbstate_t>): Remove name of unused | |
178 parameter. | |
179 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday) | |
180 (time_get::do_get_monthname, time_get::do_get_year): Remove unused | |
181 variables. | |
182 * include/std/bitset (_Base_bitset<0>::_M_getword): Remove name of | |
183 unused parameter. | |
184 * include/std/streambuf (_IsUnused): Define. | |
185 (basic_streambuf::imbue, basic_streambuf::pbackfail) | |
186 (basic_streambuf::overflow): Add macro to unused parameters. | |
187 * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error. | |
188 | |
189 2017-12-01 Jonathan Wakely <jwakely@redhat.com> | |
190 | |
191 * include/experimental/string_view (basic_string_view::_S_compare): | |
192 Use value-init so narrowing conversions are not ill-formed. | |
193 * include/std/string_view (basic_string_view::_S_compare): Likewise. | |
194 | |
195 * include/bits/basic_string.h (operator""s): Add pragmas to disable | |
196 -Wliteral-suffix warnings. | |
197 * include/experimental/string_view (operator""sv): Likewise. | |
198 * include/std/chrono (operator""h, operator""min, operator""s) | |
199 (operator""ms, operator""us, operator""ns): Likewise. | |
200 * include/std/complex (operator""if, operator""i, operator""il): | |
201 Likewise. | |
202 * include/std/string_view (operator""sv): Likewise. | |
203 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error. | |
204 | |
205 * include/bits/locale_facets_nonio.tcc (money_get::_M_extract): Add | |
206 fallthrough comment. | |
207 | |
208 * include/bits/node_handle.h (_Node_handle_common::operator=) | |
209 (_Node_handle_common::_M_swap): Add braces around debug assertions. | |
210 | |
211 * include/ext/ropeimpl.h (rope::_S_dump): Use const char*. | |
212 | |
213 * libsupc++/nested_exception.h (__throw_with_nested_impl): Add | |
214 noreturn attribute. | |
215 | |
216 * include/bits/regex_executor.tcc (_Executor::_M_rep_once_more): | |
217 Remove semi-colon after function body. | |
218 * include/bits/uniform_int_dist.h (_Power_of_2): Likewise. | |
219 | |
220 * include/tr1/modified_bessel_func.tcc (__airy): Use value-init not | |
221 list-init. | |
222 | |
223 * include/std/type_traits (integral_constant): Make member functions | |
224 noexcept (LWG 2346). | |
225 * include/std/utility (integer_sequence): Likewise. | |
226 | |
227 2017-11-30 Jonathan Wakely <jwakely@redhat.com> | |
228 | |
229 PR libstdc++/65927 | |
230 * include/bits/locale_facets_nonio.h (__timepunct::_M_am_pm_format): | |
231 Remove statement with no effect. | |
232 | |
233 2017-11-30 Glen Joseph Fernandes <glenjofe@gmail.com> | |
234 | |
235 * include/bits/ptr_traits.h (__to_address, to_address): Move static | |
236 assertion. | |
237 * testsuite/20_util/to_address/1_neg.cc: New test. | |
238 | |
239 2017-11-30 Jonathan Wakely <jwakely@redhat.com> | |
240 | |
241 PR libstdc++/83226 | |
242 * include/bits/node_handle.h (_Node_handle::__pointer): Avoid forming | |
243 pointer-to-reference types. | |
244 * testsuite/23_containers/map/modifiers/insert/83226.cc: New test. | |
245 | |
246 2017-11-29 John David Anglin <danglin@gcc.gnu.org> | |
247 | |
248 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. | |
249 | |
250 2017-11-29 David Malcolm <dmalcolm@redhat.com> | |
251 | |
252 * testsuite/20_util/duration/literals/range.cc: Update expected | |
253 line of a static_assert failure. | |
254 | |
255 2017-11-28 Glen Joseph Fernandes <glenjofe@gmail.com> | |
256 | |
257 * include/bits/ptr_traits.h (to_address): Implement to_address. | |
258 * testsuite/20_util/to_address/1.cc: New test. | |
259 | |
260 2017-11-27 Stephan Bergmann <sbergman@redhat.com> | |
261 | |
262 * include/std/string_view (basic_string_view::find_first_of): Add | |
263 missing noexcept. | |
264 | |
265 * include/bits/unordered_map.h (unordered_map): Fix deduction guide. | |
266 * include/debug/unordered_map (unordered_map): Likewise. | |
267 | |
268 2017-11-23 Jonathan Wakely <jwakely@redhat.com> | |
269 | |
270 * libsupc++/new (launder): Add nodiscard attribute. | |
271 * testsuite/18_support/launder/nodiscard.cc: New test. | |
272 | |
273 * include/bits/fs_path.h (path::empty): Add nodiscard attribute. | |
274 * include/bits/range_access.h (empty): Likewise. | |
275 * include/std/string_view (basic_string_view::empty): Likewise. | |
276 * testsuite/21_strings/basic_string_view/capacity/empty_neg.cc: New | |
277 test. | |
278 * testsuite/24_iterators/range_access_cpp17_neg.cc: New test. | |
279 * testsuite/27_io/filesystem/path/query/empty_neg.cc: New test. | |
280 | |
281 PR libstdc++/83134 | |
282 * include/std/type_traits (__not_): Explicitly convert to bool. | |
283 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. | |
284 * testsuite/20_util/logical_traits/83134.cc: New test. | |
285 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust | |
286 dg-error. | |
287 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: | |
288 Likewise. | |
289 | |
290 2017-11-22 Jonathan Wakely <jwakely@redhat.com> | |
291 | |
292 PR go/83102 | |
293 * include/bits/stl_tree.h (_Rb_tree): Relax invocable checks for | |
294 comparison object pre-C++17. | |
295 | |
296 2017-11-21 Jonathan Wakely <jwakely@redhat.com> | |
297 | |
298 PR libstdc++/48101 | |
299 * include/bits/allocator.h (allocator<const _Tp>) | |
300 (allocator<volatile _Tp>, allocator<const volatile _Tp>): Add partial | |
301 specializations. | |
302 * include/bits/forward_list.h (forward_list): Add static assertions. | |
303 * include/bits/hashtable.h (__cache_default): Use | |
304 __is_nothrow_invocable instead of __is_noexcept_hash. | |
305 (_Hashtable): Add static assertions. | |
306 * include/bits/hashtable_policy.h (__is_noexcept_hash): Remove. | |
307 * include/bits/stl_deque.h (deque): Add static assertions. | |
308 * include/bits/stl_function.h (_Identity<const _Tp>): Add partial | |
309 specialization. | |
310 * include/bits/stl_list.h (list): Add static assertions. | |
311 * include/bits/stl_map.h (map): Likewise. | |
312 * include/bits/stl_multimap.h (multimap): Likewise. | |
313 * include/bits/stl_multiset.h (multiset): Likewise. | |
314 * include/bits/stl_set.h (set): Likewise. | |
315 * include/bits/stl_tree.h (_Rb_tree): Likewise. | |
316 * include/bits/stl_vector.h (vector): Likewise. | |
317 * include/bits/unordered_map.h (unordered_map, unordered_multimap): | |
318 Use typename instead of class in template-parameter-list and remove | |
319 spaces. | |
320 * include/bits/unordered_set.h (unordered_set, unordered_multiset): | |
321 Likewise. | |
322 * testsuite/23_containers/deque/48101-2_neg.cc: New test. | |
323 * testsuite/23_containers/deque/48101_neg.cc: New test. | |
324 * testsuite/23_containers/forward_list/48101-2_neg.cc: New test. | |
325 * testsuite/23_containers/forward_list/48101_neg.cc: New test. | |
326 * testsuite/23_containers/list/48101-2_neg.cc: New test. | |
327 * testsuite/23_containers/list/48101_neg.cc: New test. | |
328 * testsuite/23_containers/map/48101-2_neg.cc: New test. | |
329 * testsuite/23_containers/map/48101_neg.cc: New test. | |
330 * testsuite/23_containers/map/operations/31440.cc: Fix comparison | |
331 object to have const-qualified call operator. | |
332 * testsuite/23_containers/multimap/48101-2_neg.cc: New test. | |
333 * testsuite/23_containers/multimap/48101_neg.cc: New test. | |
334 * testsuite/23_containers/multiset/48101-2_neg.cc: New test. | |
335 * testsuite/23_containers/multiset/48101_neg.cc: New test. | |
336 * testsuite/23_containers/set/48101-2_neg.cc: New test. | |
337 * testsuite/23_containers/set/48101_neg.cc: New test. | |
338 * testsuite/23_containers/unordered_map/48101-2_neg.cc: New test. | |
339 * testsuite/23_containers/unordered_map/48101_neg.cc: New test. | |
340 * testsuite/23_containers/unordered_multimap/48101-2_neg.cc: New test. | |
341 * testsuite/23_containers/unordered_multimap/48101_neg.cc: New test. | |
342 * testsuite/23_containers/unordered_multiset/48101-2_neg.cc: New test. | |
343 * testsuite/23_containers/unordered_multiset/48101_neg.cc: New test. | |
344 * testsuite/23_containers/unordered_set/48101-2_neg.cc: New test. | |
345 * testsuite/23_containers/unordered_set/48101_neg.cc: New test. | |
346 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust | |
347 dg-error line number. | |
348 * testsuite/23_containers/vector/48101-2_neg.cc: New test. | |
349 * testsuite/23_containers/vector/48101_neg.cc: New test. | |
350 | |
351 2017-11-21 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> | |
352 | |
353 * doc/xml/manual/using.xml (manual.intro.using.macros): Move | |
354 variablelist element at the end of its list. | |
355 | |
356 2017-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de> | |
357 | |
358 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add rtems*. | |
359 (GLIBCXX_ENABLE_FILESYSTEM_TS): Likewise. | |
360 * configure: Regenerate. | |
361 | |
362 2017-11-20 François Dumont <fdumont@gcc.gnu.org> | |
363 | |
364 * include/bits/streambuf_iterator.h (istreambuf_iterator<>): Declare | |
365 std::advance for istreambuf_iterator of char types to be friend. | |
366 (std::advance(istreambuf_iterator&, _Distance)): New overload. | |
367 * include/std/streambuf (basic_streambuf<>): Declare std::advance for | |
368 istreambuf_iterator of char types to be friend. | |
369 * testsuite/22_locale/money_get/get/char/9.cc: Have | |
370 istreambuf_iterator created on the fly when calling money_get<>::get. | |
371 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise. | |
372 * testsuite/24_iterators/istreambuf_iterator/debug/1_neg.cc: New. | |
373 * testsuite/24_iterators/istreambuf_iterator/debug/2_neg.cc: New. | |
374 * testsuite/25_algorithms/advance/istreambuf_iterators/char/1.cc: New. | |
375 * testsuite/25_algorithms/advance/istreambuf_iterators/char/1_neg.cc: | |
376 New. | |
377 * testsuite/25_algorithms/advance/istreambuf_iterators/char/2.cc: New. | |
378 * testsuite/25_algorithms/advance/istreambuf_iterators/char/2_neg.cc: | |
379 New. | |
380 * testsuite/25_algorithms/advance/istreambuf_iterators/char/3_neg.cc: | |
381 New. | |
382 * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/1.cc: | |
383 New. | |
384 * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/1_neg.cc: | |
385 New. | |
386 * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2.cc: | |
387 New. | |
388 * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2_neg.cc: | |
389 New. | |
390 * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/3_neg.cc: | |
391 New. | |
392 * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Leverage | |
393 on std::advance overload. | |
394 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: | |
395 Likewise. | |
396 | |
397 2017-11-20 Jonathan Wakely <jwakely@redhat.com> | |
398 | |
399 * testsuite/special_functions/18_riemann_zeta/check_value.cc: Fix | |
400 duplicate dg-options directive. | |
401 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
402 20_riemann_zeta/check_value_neg.cc: Likewise. | |
403 | |
404 2017-11-20 Ville Voutilainen <ville.voutilainen@gmail.com> | |
405 | |
406 Implement LWG 2353 | |
407 * include/bits/stl_iterator_base_funcs.h (next): | |
408 Use InputIterator instead of ForwardIterator. | |
409 * testsuite/24_iterators/operations/lwg2353.cc: New. | |
410 * testsuite/24_iterators/operations/next_neg.cc: Remove. | |
411 | |
412 2017-11-18 Edward Smith-Rowland <3dw4rd@verizon.net> | |
413 | |
414 PR libstdc++/pr66689 - comp_ellint_3 and ellint_3 return garbage values | |
415 * include/tr1/ell_integral.tcc: Correct the nu sign convention | |
416 in ellint_3 and comp_ellint_3. | |
417 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
418 06_comp_ellint_3/check_value.cc: Regen with correct values. | |
419 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
420 14_ellint_3/check_value.cc: Ditto. | |
421 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Ditto. | |
422 * testsuite/special_functions/13_ellint_3/check_value.cc: Ditto. | |
423 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
424 01_assoc_laguerre/check_value.cc: Regen. | |
425 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
426 02_assoc_legendre/check_value.cc: Regen. | |
427 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
428 03_beta/check_value.cc: Regen. | |
429 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
430 04_comp_ellint_1/check_value.cc: Regen. | |
431 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
432 05_comp_ellint_2/check_value.cc: Regen. | |
433 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
434 07_conf_hyperg/check_value.cc: Regen. | |
435 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
436 08_cyl_bessel_i/check_value.cc: Regen. | |
437 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
438 09_cyl_bessel_j/check_value.cc: Regen. | |
439 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
440 10_cyl_bessel_k/check_value.cc: Regen. | |
441 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
442 11_cyl_neumann/check_value.cc: Regen. | |
443 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
444 12_ellint_1/check_value.cc: Regen. | |
445 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
446 13_ellint_2/check_value.cc: Regen. | |
447 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
448 15_expint/check_value_neg.cc: Regen. | |
449 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
450 16_hermite/check_value.cc: Regen. | |
451 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
452 17_hyperg/check_value.cc: Regen. | |
453 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
454 18_laguerre/check_value.cc: Regen. | |
455 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
456 19_legendre/check_value.cc: Regen. | |
457 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
458 20_riemann_zeta/check_value_neg.cc: Regen. | |
459 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
460 21_sph_bessel/check_value.cc: Regen. | |
461 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
462 22_sph_legendre/check_value.cc: Regen. | |
463 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
464 23_sph_neumann/check_value.cc: Regen. | |
465 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Regen. | |
466 * testsuite/ext/special_functions/hyperg/check_value.cc: Regen. | |
467 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: Regen. | |
468 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Regen. | |
469 * testsuite/special_functions/03_beta/check_value.cc: Regen. | |
470 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Regen. | |
471 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Regen. | |
472 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Regen. | |
473 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Regen. | |
474 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Regen. | |
475 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Regen. | |
476 * testsuite/special_functions/11_ellint_1/check_value.cc: Regen. | |
477 * testsuite/special_functions/12_ellint_2/check_value.cc: Regen. | |
478 * testsuite/special_functions/14_expint/check_value.cc: Regen. | |
479 * testsuite/special_functions/15_hermite/check_value.cc: Regen. | |
480 * testsuite/special_functions/16_laguerre/check_value.cc: Regen. | |
481 * testsuite/special_functions/17_legendre/check_value.cc: Regen. | |
482 * testsuite/special_functions/18_riemann_zeta/check_value.cc: Regen. | |
483 * testsuite/special_functions/19_sph_bessel/check_value.cc: Regen. | |
484 * testsuite/special_functions/20_sph_legendre/check_value.cc: Regen. | |
485 * testsuite/special_functions/21_sph_neumann/check_value.cc: Regen. | |
486 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
487 06_comp_ellint_3/pr66689.cc: New. | |
488 * testsuite/tr1/5_numerical_facilities/special_functions/ | |
489 14_ellint_3/pr66689.cc: New. | |
490 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc: New. | |
491 * testsuite/special_functions/13_ellint_3/pr66689.cc: New. | |
492 | |
493 2017-11-18 Edward Smith-Rowland <3dw4rd@verizon.net> | |
494 Expose Airy functions as an extenaion. | |
495 * include/bits/specfun.h: Expose airy_ai and airy_bi. | |
496 * include/tr1/modified_bessel_func.tcc: Treat NaN and inf arg, return. | |
497 * testsuite/ext/special_functions/airy_ai/check_nan.cc: New. | |
498 * testsuite/ext/special_functions/airy_ai/check_value.cc: New. | |
499 * testsuite/ext/special_functions/airy_ai/compile.cc: New. | |
500 * testsuite/ext/special_functions/airy_bi/check_nan.cc: New. | |
501 * testsuite/ext/special_functions/airy_bi/check_value.cc: New. | |
502 * testsuite/ext/special_functions/airy_bi/compile.cc: New. | |
503 | |
504 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> | |
505 | |
506 * acinclude.m4: Add cet.m4. | |
507 * configure.ac: Set CET_FLAGS. Update EXTRA_CFLAGS, | |
508 EXTRA_CXX_FLAGS. | |
509 * libsupc++/Makefile.am: Use Add EXTRA_CFLAGS. | |
510 * Makefile.in: Regenerate. | |
511 * configure: Likewise. | |
512 * doc/Makefile.in: Likewise. | |
513 * include/Makefile.in: Likewise. | |
514 * libsupc++/Makefile.in: Likewise. | |
515 * po/Makefile.in: Likewise. | |
516 * python/Makefile.in: Likewise. | |
517 * src/Makefile.in: Likewise. | |
518 * src/c++11/Makefile.in: Likewise. | |
519 * src/c++98/Makefile.in: Likewise. | |
520 * src/filesystem/Makefile.in: Likewise. | |
521 * testsuite/Makefile.in: Likewise. | |
522 | |
523 2017-11-17 Jonathan Wakely <jwakely@redhat.com> | |
524 | |
525 PR libstdc++/83025 | |
526 * include/std/fstream (basic_filebuf::_If_path): Move to | |
527 namespace-scope and rename to _If_fs_path. | |
528 (basic_filebuf::open): Use new name. | |
529 (basic_ifstream(_Path, ios::openmode)) | |
530 (basic_ifstream::open(_Path, ios::openmode)) | |
531 (basic_ofstream(_Path, ios::openmode)) | |
532 (basic_ofstream::open(_Path, ios::openmode)) | |
533 (basic_fstream(_Path, ios::openmode)) | |
534 (basic_fstream::open(_Path, ios::openmode)): Use _If_fs_path. | |
535 * testsuite/27_io/basic_filebuf/open/char/path.cc: Test with filename | |
536 as non-const char*. | |
537 * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise. | |
538 * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise. | |
539 * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise. | |
540 * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise. | |
541 * testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise. | |
542 * testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise. | |
543 | |
544 | |
545 2017-11-17 Marc Glisse <marc.glisse@inria.fr> | |
546 | |
547 * include/bits/vector.tcc (vector::_M_realloc_insert): Cache old | |
548 values before the allocation. | |
549 | |
550 2017-11-16 Jonathan Wakely <jwakely@redhat.com> | |
551 | |
552 * include/std/future (shared_future): Add noexcept to copy constructor | |
553 and copy-assignment operator (LWG 2799). | |
554 | |
555 2017-11-15 Ville Voutilainen <ville.voutilainen@gmail.com> | |
556 | |
557 Fix gcd breakage. | |
558 * include/std/numeric (gcd): Use remove_cv_t, not remove_cv. | |
559 | |
560 2017-11-15 Jonathan Wakely <jwakely@redhat.com> | |
561 | |
562 * testsuite/27_io/filesystem/iterators/directory_iterator.cc: Leave | |
563 error_code unset. | |
564 * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: | |
565 Check for past-the-end before dereferencing. | |
566 * testsuite/experimental/filesystem/iterators/ | |
567 recursive_directory_iterator.cc: Likewise. | |
568 | |
569 * include/bits/range_access.h (size, empty, data): Add conditional | |
570 noexcept to generic overloads. | |
571 | |
572 2017-11-14 Ville Voutilainen <ville.voutilainen@gmail.com> | |
573 | |
574 Implement LWG 2733 and LWG 2759 | |
575 * include/experimental/numeric (gcd): Reject cv-qualified bool. | |
576 (lcm): Likewise. | |
577 * include/std/numeric (gcd): Likewise. | |
578 (lcm): Likewise. | |
579 * testsuite/26_numerics/gcd/gcd_neg.cc: Add tests and adjust. | |
580 * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. | |
581 | |
582 2017-11-14 Jonathan Wakely <jwakely@redhat.com> | |
583 | |
584 * include/bits/locale_conv.h (wbuffer_convert::_M_conv_get): Fix typo. | |
585 * testsuite/22_locale/conversions/buffer/3.cc: New test. | |
586 | |
587 2017-11-10 Jonathan Wakely <jwakely@redhat.com> | |
588 | |
589 * testsuite/util/testsuite_tr1.h (ThrowMoveConsClass): Use noexcept. | |
590 | |
591 PR libstdc++/82917 | |
592 * include/std/fstream (basic_ifstream::open, basic_ofstream::open) | |
593 (basic_fstream::open): Fix missing return. | |
594 | |
595 2017-11-07 Jonathan Wakely <jwakely@redhat.com> | |
596 | |
597 * src/filesystem/ops-common.h (make_file_type) [S_ISSOCK]: Only use | |
598 S_ISSOCK when defined. | |
599 | |
600 2017-11-06 François Dumont <fdumont@gcc.gnu.org> | |
601 | |
602 * testsuite/libstdc++-prettyprinters/tr1.cc: Compile with -O0. | |
603 | |
604 2017-11-06 Martin Liska <mliska@suse.cz> | |
605 | |
606 * testsuite/27_io/basic_fstream/cons/char/path.cc (main): | |
607 Return a value for functions with non-void return type, | |
608 or change type to void, or add -Wno-return-type for test. | |
609 * testsuite/27_io/basic_ifstream/cons/char/path.cc (main): | |
610 Likewise. | |
611 * testsuite/27_io/basic_ofstream/open/char/path.cc (main): | |
612 Likewise. | |
613 | |
614 2017-11-06 Paolo Carlini <paolo.carlini@oracle.com> | |
615 | |
616 * testsuite/20_util/optional/cons/deduction.cc: Avoid -Wreturn-type | |
617 warnings. | |
618 * testsuite/20_util/pair/cons/deduction.cc: Likewise. | |
619 * testsuite/20_util/pair/traits.cc: Likewise. | |
620 * testsuite/20_util/tuple/cons/deduction.cc: Likewise. | |
621 * testsuite/20_util/variant/compile.cc: Likewise. | |
622 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. | |
623 * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: | |
624 Likewise. | |
625 | |
626 2017-11-05 Gerald Pfeifer <gerald@pfeifer.com> | |
627 | |
628 * doc/xml/manual/abi.xml: Move docs.oracle.com references to https. | |
629 | |
630 2017-11-03 Jonathan Wakely <jwakely@redhat.com> | |
631 | |
632 * include/std/type_traits (endian): Define new enumeration type. | |
633 * testsuite/20_util/endian/1.cc: New test. | |
634 | |
635 * include/bits/node_handle.h (_Node_insert_return::get): Remove, as | |
636 per P0508R0. | |
637 | |
638 2017-11-01 François Dumont <fdumont@gcc.gnu.org> | |
639 | |
640 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter.__init__): Strip | |
641 typename versioned namespace before the substitution. | |
642 (StdExpOptionalPrinter.__init__): Likewise. | |
643 (StdVariantPrinter.__init__): Likewise. | |
644 (Printer.add_version): Inject versioned namespace after std or | |
645 __gnu_cxx. | |
646 (build_libstdcxx_dictionary): Adapt add_version usages, always pass | |
647 namespace first and symbol second. | |
648 | |
649 2017-11-01 Jonathan Wakely <jwakely@redhat.com> | |
650 | |
651 PR libstdc++/82777 | |
652 * src/filesystem/std-path.cc (path::lexically_normal): Remove dot-dot | |
653 elements correctly. | |
654 * testsuite/27_io/filesystem/path/generation/normal.cc: Add testcase. | |
655 * testsuite/util/testsuite_fs.h (compare_paths): Improve exception | |
656 text. | |
657 | |
658 2017-10-30 Jonathan Wakely <jwakely@redhat.com> | |
659 | |
660 * include/Makefile.am (stamp-bits-sup): Do not create broken symlink | |
661 to stamp-bits. | |
662 * include/Makefile.in: Regenerate. | |
663 | |
664 * include/std/fstream (basic_ifstream, basic_ofstream, basic_fstream): | |
665 Remove outdated comments about calling c_str() to create a file stream | |
666 from a std::string. | |
667 (basic_ofstream::basic_ofstream, basic_ofstream::open): Remove | |
668 redundant ios_mode::trunc bits from default arguments and comments. | |
669 | |
670 * doc/xml/faq.xml: Adjust "What is libstdc++?" answer slightly. | |
671 | |
672 * include/bits/hashtable_policy.h: Include <tuple>. | |
673 * include/std/unordered_map: Only include <bits/stl_pair.h> instead | |
674 of <utility> and <tuple>. | |
675 * include/std/unordered_set: Likewise. | |
676 | |
677 2017-10-30 Ville Voutilainen <ville.voutilainen@gmail.com> | |
678 | |
679 Implement LWG 2485 | |
680 * include/debug/array (get(const array<_Tp, _Nm>&&)): New. | |
681 * include/std/array (get(const array<_Tp, _Nm>&&)): Likewise. | |
682 * include/std/tuple (get(const tuple<_Elements...>&&)): Likewise. | |
683 (get(const tuple<_Types...>&&)): Likewise. | |
684 * include/std/utility | |
685 (__pair_get::__const_move_get(const std::pair<_Tp1, _Tp2>&&)): | |
686 Likewise. | |
687 (get(const std::pair<_Tp1, _Tp2>&&)): Likewise. | |
688 (get(const pair<_Tp, _Up>&&)): Likewise. | |
689 (get(const pair<_Up, _Tp>&&)): Likewise. | |
690 * testsuite/20_util/pair/astuple/get.cc: Add tests for | |
691 new overloads. | |
692 * testsuite/20_util/pair/astuple/get_by_type.cc: Likewise. | |
693 * testsuite/20_util/tuple/element_access/get2.cc: Likewise. | |
694 * testsuite/20_util/tuple/element_access/get2_by_type.cc: Likewise. | |
695 * testsuite/23_containers/array/tuple_interface/get.cc: Likewise. | |
696 * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc: | |
697 Adjust. | |
698 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: | |
699 Likewise. | |
700 | |
701 2017-10-27 Jonathan Wakely <jwakely@redhat.com> | |
702 | |
703 * include/bits/node_handle.h (_Node_insert_return::get): Avoid | |
704 use of std::tie and std::get. | |
705 | |
706 * include/Makefile.am: Put headers in alphabetical order. | |
707 * include/Makefile.in: Regenerate. | |
708 | |
709 * include/bits/fs_dir.h (directory_iterator): Remove noexcept from | |
710 constructors and increment member (LWG 3013). | |
711 (recursive_directory_iterator): Likewise. | |
712 * include/bits/fs_ops.h (copy, copy_file, create_directories) | |
713 (is_empty, remove_all): Remove noexcept (LWG 3013 and LWG 3014). | |
714 * src/filesystem/std-dir.cc (directory_iterator::increment) | |
715 (recursive_directory_iterator::increment): Remove noexcept. | |
716 * src/filesystem/std-ops.cc (copy, copy_file, create_directories) | |
717 (is_empty, remove_all): Remove noexcept | |
718 | |
719 * include/bits/fs_dir.h (file_status): Make default constructor | |
720 non-explicit (LWG 2787). | |
721 * testsuite/27_io/filesystem/file_status/1.cc: New test. | |
722 * testsuite/experimental/filesystem/file_status/1.cc: New test. | |
723 | |
724 * include/std/fstream (basic_filebuf::_If_path): New SFINAE helper. | |
725 (basic_filebuf::open<Path>(const Path&, const ios_base::openmode&)) | |
726 (basic_ifstream<Path>(const Path&, const ios_base::openmode&)) | |
727 (basic_ifstream::open<Path>(const Path&, const ios_base::openmode&)) | |
728 (basic_ofstream<Path>(const Path&, const ios_base::openmode&)) | |
729 (basic_ofstream::open<Path>(const Path&, const ios_base::openmode&)) | |
730 (basic_fstream<Path>(const Path&, const ios_base::openmode&)) | |
731 (basic_fstream::open<Path>(const Path&, const ios_base::openmode&)): | |
732 New constructors and member functions. | |
733 * testsuite/27_io/basic_filebuf/open/char/path.cc: New test. | |
734 * testsuite/27_io/basic_fstream/cons/char/path.cc: New test. | |
735 * testsuite/27_io/basic_fstream/open/char/path.cc: New test. | |
736 * testsuite/27_io/basic_ifstream/cons/char/path.cc: New test. | |
737 * testsuite/27_io/basic_ifstream/open/char/path.cc: New test. | |
738 * testsuite/27_io/basic_ofstream/cons/char/path.cc: New test. | |
739 * testsuite/27_io/basic_ofstream/open/char/path.cc: New test. | |
740 | |
741 * include/bits/fs_path.h (path::format): Define new enumeration type. | |
742 (path(string_type&&), path<Source>(const Source&)) | |
743 (path<InputIterator>(InputIterator, InputIterator)) | |
744 (path<Source>(const Source&, const locale&)) | |
745 (path<InputIterator>(InputIterator, InputIterator, const locale&)): | |
746 Add format parameter. | |
747 * testsuite/27_io/filesystem/path/construct/format.cc: New test. | |
748 | |
749 * include/bits/stl_algo.h (__find_if_not_n, generate_n): Cast to void | |
750 to ensure overloaded comma not used. | |
751 * include/bits/stl_algobase.h (__fill_n_a, equal): Likewise. | |
752 * include/bits/stl_uninitialized.h (__uninitialized_fill_n) | |
753 (__uninitialized_fill_n_a, __uninitialized_default_n_1) | |
754 (__uninitialized_default_n_a, __uninitialized_copy_n) | |
755 (__uninitialized_copy_n_pair): Likewise | |
756 * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc: | |
757 Use test iterator wrappers with overloaded comma operator. | |
758 * testsuite/25_algorithms/fill_n/1.cc: Likewise. | |
759 * testsuite/25_algorithms/generate_n/1.cc: New test. | |
760 * testsuite/25_algorithms/stable_partition/1.cc: New test. | |
761 * testsuite/util/testsuite_iterators.h (operator,): Add deleted | |
762 non-member comma operator with iterator wrappers as right operand. | |
763 | |
764 2017-10-26 Ville Voutilainen <ville.voutilainen@gmail.com> | |
765 | |
766 Deduction guides for associative containers, debug mode deduction | |
767 guide fixes. | |
768 * include/bits/stl_iterator.h (__iter_key_t) | |
769 (__iter_val_t, __iter_to_alloc_t): New. | |
770 * include/bits/stl_map.h: Add deduction guides. | |
771 * include/bits/stl_multimap.h: Likewise. | |
772 * include/bits/stl_multiset.h: Likewise. | |
773 * include/bits/stl_set.h: Likewise. | |
774 * include/bits/unordered_map.h: Likewise. | |
775 * include/bits/unordered_set.h: Likewise. | |
776 * include/debug/deque: Likewise. | |
777 * include/debug/forward_list: Likewise. | |
778 * include/debug/list: Likewise. | |
779 * include/debug/map.h: Likewise. | |
780 * include/debug/multimap.h: Likewise. | |
781 * include/debug/multiset.h: Likewise. | |
782 * include/debug/set.h: Likewise. | |
783 * include/debug/unordered_map: Likewise. | |
784 * include/debug/unordered_set: Likewise. | |
785 * include/debug/vector: Likewise. | |
786 * testsuite/23_containers/map/cons/deduction.cc: New. | |
787 * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. | |
788 * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. | |
789 * testsuite/23_containers/set/cons/deduction.cc: Likewise. | |
790 * testsuite/23_containers/unordered_map/cons/deduction.cc: Likewise. | |
791 * testsuite/23_containers/unordered_multimap/cons/deduction.cc: | |
792 Likewise. | |
793 * testsuite/23_containers/unordered_multiset/cons/deduction.cc: | |
794 Likewise. | |
795 * testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise. | |
796 | |
797 2017-10-25 Jonathan Wakely <jwakely@redhat.com> | |
798 | |
799 * doc/xml/manual/status_cxx2017.xml: Update C++17 status, and | |
800 information on feature-test macros. | |
801 * doc/html/*: Regenerate. | |
802 | |
803 PR libstdc++/82716 | |
804 * include/std/array (tuple_size, tuple_element): Change class-key | |
805 from class to struct, to avoid annoying Clang warnings. | |
806 | |
807 PR libstdc++/79283 | |
808 * src/filesystem/ops.cc (read_symlink): Handle st_size being zero. | |
809 * src/filesystem/std-ops.cc (read_symlink): Likewise. | |
810 (do_copy_file) [!NEED_DO_COPY_FILE]: Avoid multiple definitions. | |
811 | |
812 * src/filesystem/std-path.cc (path::lexically_normal): Add missing | |
813 step to algorithm, for removing dot-dot elements after root-directory. | |
814 * testsuite/27_io/filesystem/operations/canonical.cc: Use | |
815 compare_paths for more exhaustive checks. | |
816 * testsuite/27_io/filesystem/operations/proximate.cc: Likewise. | |
817 * testsuite/27_io/filesystem/path/append/path.cc: Likewise. | |
818 * testsuite/27_io/filesystem/path/concat/path.cc: Likewise. | |
819 * testsuite/27_io/filesystem/path/concat/strings.cc: Fix comment. | |
820 * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise. | |
821 * testsuite/27_io/filesystem/path/decompose/root_directory.cc: | |
822 Likewise. | |
823 * testsuite/27_io/filesystem/path/generation/normal.cc: Use | |
824 compare_paths for more exhaustive checks. Add extra testcases. | |
825 * testsuite/27_io/filesystem/path/generation/proximate.cc: Use | |
826 compare_paths for more exhaustive checks. | |
827 * testsuite/27_io/filesystem/path/generation/relative.cc: Likewise. | |
828 * testsuite/27_io/filesystem/path/generic/generic_string.cc: Remove | |
829 unused header. | |
830 * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: Fix | |
831 comment. | |
832 * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: Use | |
833 compare_paths for more exhaustive checks. | |
834 * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: | |
835 Likewise. | |
836 * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: | |
837 Likewise. | |
838 * testsuite/util/testsuite_fs.h (compare_paths): Also compare native | |
839 strings. | |
840 | |
841 PR libstdc++/82706 | |
842 * testsuite/27_io/filesystem/operations/permissions.cc: Fix test. | |
843 | |
844 2017-10-24 François Dumont <fdumont@gcc.gnu.org> | |
845 | |
846 * testsuite/lib/libstdc++.exp (check_v3_target_normal_mode): Add | |
847 c++config.h include. | |
848 (check_v3_target_normal_namespace): New. | |
849 * testsuite/lib/dg-options.exp (dg-require-normal-namespace): New. | |
850 * testsuite/18_support/headers/limits/synopsis.cc: Add latter. | |
851 * testsuite/20_util/from_chars/requirements.cc: Likewise. | |
852 * testsuite/20_util/headers/functional/synopsis.cc: Likewise. | |
853 * testsuite/20_util/headers/memory/synopsis.cc: Likewise. | |
854 * testsuite/20_util/headers/utility/synopsis.cc: Likewise. | |
855 * testsuite/20_util/to_chars/requirements.cc: Likewise. | |
856 * testsuite/21_strings/headers/string/synopsis.cc: Likewise. | |
857 * testsuite/22_locale/headers/locale/synopsis.cc: Likewise. | |
858 * testsuite/23_containers/headers/bitset/synopsis.cc: Likewise. | |
859 * testsuite/23_containers/headers/deque/synopsis.cc: Likewise. | |
860 * testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise. | |
861 * testsuite/23_containers/headers/list/synopsis.cc: Likewise. | |
862 * testsuite/23_containers/headers/map/synopsis.cc: Likewise. | |
863 * testsuite/23_containers/headers/queue/synopsis.cc: Likewise. | |
864 * testsuite/23_containers/headers/set/synopsis.cc: Likewise. | |
865 * testsuite/23_containers/headers/stack/synopsis.cc: Likewise. | |
866 * testsuite/23_containers/headers/vector/synopsis.cc: Likewise. | |
867 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Likewise. | |
868 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: Likewise. | |
869 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: Likewise. | |
870 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise. | |
871 * testsuite/24_iterators/headers/iterator/synopsis.cc: Likewise. | |
872 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: Likewise. | |
873 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: Likewise. | |
874 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Likewise. | |
875 * testsuite/26_numerics/complex/abi_tag.cc: Likewise. | |
876 * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise. | |
877 * testsuite/26_numerics/headers/valarray/synopsis.cc: Likewise. | |
878 * testsuite/27_io/headers/fstream/synopsis.cc: Likewise. | |
879 * testsuite/27_io/headers/ios/synopsis.cc: Likewise. | |
880 * testsuite/27_io/headers/istream/synopsis.cc: Likewise. | |
881 * testsuite/27_io/headers/ostream/synopsis.cc: Likewise. | |
882 * testsuite/27_io/headers/sstream/synopsis.cc: Likewise. | |
883 * testsuite/27_io/headers/streambuf/synopsis.cc: Likewise. | |
884 | |
885 2017-10-24 Jonathan Wakely <jwakely@redhat.com> | |
886 | |
887 * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Ignore | |
888 -Wattribute-alias warnings. | |
889 * src/c++11/istream-inst.cc: Likewise. | |
890 * src/c++11/locale-inst.cc: Likewise. | |
891 * src/c++11/ostream-inst.cc: Likewise. | |
892 * src/c++11/wlocale-inst.cc: Likewise. | |
893 * src/c++98/hash-long-double-tr1-aux.cc: Likewise. | |
894 | |
895 * include/bits/string_view.tcc (find_first_of, find_last_of) | |
896 (find_first_not_of, find_last_not_of): Add noexcept. | |
897 * include/std/string_view (basic_string_view(const _CharT*)) | |
898 (basic_string_view(const _CharT*, size_type)) | |
899 (front, back, remove_prefix, remove_suffix, find, rfind) | |
900 (find_first_of, find_first_not_of): Add noexcept. | |
901 (at(size_type), _S_compare(size_type, size_type)): Replace conditional | |
902 expressions with if statements. | |
903 (copy(_CharT*, size_type, size_type), substr(size_type, size_type)): | |
904 Use _M_check for length checks. | |
905 (compare(basic_string_view)): Reformat. | |
906 (_M_check(size_type, const char)): Add noexcept(false). | |
907 (_M_limit(size_type, size_type)): Use noexcept not _GLIBCXX_NOEXCEPT. | |
908 | |
909 PR libstdc++/82685 | |
910 * include/experimental/string_view (operator""sv): Add noexcept. | |
911 * include/std/string_view (operator""sv): Likewise. | |
912 | |
913 2017-10-23 Jonathan Wakely <jwakely@redhat.com> | |
914 | |
915 * include/Makefile.am: Add new headers for C++17 filesystem library. | |
916 * include/Makefile.in: Regenerate. | |
917 * include/bits/fs_dir.h: New header, based on Filesystem TS code in | |
918 include/experimental/bits directory. | |
919 * include/bits/fs_fwd.h: Likewise. | |
920 * include/bits/fs_ops.h: Likewise. | |
921 * include/bits/fs_path.h: Likewise. | |
922 * include/experimental/bits/fs_dir.h: Rename Doxygen group. | |
923 * include/experimental/bits/fs_fwd.h: Likewise. | |
924 * include/experimental/bits/fs_ops.h: Likewise. | |
925 * include/experimental/bits/fs_path.h: Likewise. | |
926 * include/experimental/filesystem (filesystem_error::_M_gen_what): | |
927 Remove inline definition. | |
928 * include/precompiled/stdc++.h: Add <filesystem> to precompiled | |
929 header. | |
930 * include/std/filesystem: New header. | |
931 * python/libstdcxx/v6/printers.py: Enable printer for std::filesystem | |
932 paths. | |
933 * src/filesystem/Makefile.am: Add new files. Compile as C++17. | |
934 * src/filesystem/Makefile.in: Regenerate. | |
935 * src/filesystem/cow-dir.cc: Update comment. | |
936 * src/filesystem/cow-ops.cc: Likewise. | |
937 * src/filesystem/cow-path.cc: Likewise. | |
938 * src/filesystem/cow-std-dir.cc: New file. | |
939 * src/filesystem/cow-std-ops.cc: New file. | |
940 * src/filesystem/cow-std-path.cc: New file. | |
941 * src/filesystem/dir-common.h (_Dir_base, get_file_type): New header | |
942 for common code. | |
943 * src/filesystem/dir.cc (_Dir): Derive from _Dir_base. | |
944 (open_dir): Move to _Dir_base constructor. | |
945 (get_file_type): Move to dir-common.h. | |
946 (recurse): Move to _Dir_base::should_recurse. | |
947 * src/filesystem/ops-common.h: New header for common code. | |
948 * src/filesystem/ops.cc (is_set, make_file_type, make_file_status) | |
949 (is_not_found_errno, file_time, do_copy_file): Move to ops-common.h. | |
950 * src/filesystem/path.cc (filesystem_error::_M_gen_what): Define. | |
951 * src/filesystem/std-dir.cc: New file, based on Filesystem TS code. | |
952 * src/filesystem/std-ops.cc: Likewise. | |
953 * src/filesystem/std-dir.cc: Likewise. | |
954 * testsuite/27_io/filesystem/iterators/directory_iterator.cc: New | |
955 test. | |
956 * testsuite/27_io/filesystem/iterators/pop.cc: New test. | |
957 * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: | |
958 New test. | |
959 * testsuite/27_io/filesystem/operations/absolute.cc: New test. | |
960 * testsuite/27_io/filesystem/operations/canonical.cc: New test. | |
961 * testsuite/27_io/filesystem/operations/copy.cc: New test. | |
962 * testsuite/27_io/filesystem/operations/copy_file.cc: New test. | |
963 * testsuite/27_io/filesystem/operations/create_directories.cc: New | |
964 test. | |
965 * testsuite/27_io/filesystem/operations/create_directory.cc: New test. | |
966 * testsuite/27_io/filesystem/operations/create_symlink.cc: New test. | |
967 * testsuite/27_io/filesystem/operations/current_path.cc: New test. | |
968 * testsuite/27_io/filesystem/operations/equivalent.cc: New test. | |
969 * testsuite/27_io/filesystem/operations/exists.cc: New test. | |
970 * testsuite/27_io/filesystem/operations/file_size.cc: New test. | |
971 * testsuite/27_io/filesystem/operations/is_empty.cc: New test. | |
972 * testsuite/27_io/filesystem/operations/last_write_time.cc: New test. | |
973 * testsuite/27_io/filesystem/operations/permissions.cc: New test. | |
974 * testsuite/27_io/filesystem/operations/proximate.cc: New test. | |
975 * testsuite/27_io/filesystem/operations/read_symlink.cc: New test. | |
976 * testsuite/27_io/filesystem/operations/relative.cc: New test. | |
977 * testsuite/27_io/filesystem/operations/remove_all.cc: New test. | |
978 * testsuite/27_io/filesystem/operations/space.cc: New test. | |
979 * testsuite/27_io/filesystem/operations/status.cc: New test. | |
980 * testsuite/27_io/filesystem/operations/symlink_status.cc: New test. | |
981 * testsuite/27_io/filesystem/operations/temp_directory_path.cc: New | |
982 test. | |
983 * testsuite/27_io/filesystem/operations/weakly_canonical.cc: New test. | |
984 * testsuite/27_io/filesystem/path/append/path.cc: New test. | |
985 * testsuite/27_io/filesystem/path/assign/assign.cc: New test. | |
986 * testsuite/27_io/filesystem/path/assign/copy.cc: New test. | |
987 * testsuite/27_io/filesystem/path/compare/compare.cc: New test. | |
988 * testsuite/27_io/filesystem/path/compare/path.cc: New test. | |
989 * testsuite/27_io/filesystem/path/compare/strings.cc: New test. | |
990 * testsuite/27_io/filesystem/path/concat/path.cc: New test. | |
991 * testsuite/27_io/filesystem/path/concat/strings.cc: New test. | |
992 * testsuite/27_io/filesystem/path/construct/copy.cc: New test. | |
993 * testsuite/27_io/filesystem/path/construct/default.cc: New test. | |
994 * testsuite/27_io/filesystem/path/construct/locale.cc: New test. | |
995 * testsuite/27_io/filesystem/path/construct/range.cc: New test. | |
996 * testsuite/27_io/filesystem/path/construct/string_view.cc: New test. | |
997 * testsuite/27_io/filesystem/path/decompose/extension.cc: New test. | |
998 * testsuite/27_io/filesystem/path/decompose/filename.cc: New test. | |
999 * testsuite/27_io/filesystem/path/decompose/parent_path.cc: New test. | |
1000 * testsuite/27_io/filesystem/path/decompose/relative_path.cc: New | |
1001 test. | |
1002 * testsuite/27_io/filesystem/path/decompose/root_directory.cc: New | |
1003 test. | |
1004 * testsuite/27_io/filesystem/path/decompose/root_name.cc: New test. | |
1005 * testsuite/27_io/filesystem/path/decompose/root_path.cc: New test. | |
1006 * testsuite/27_io/filesystem/path/decompose/stem.cc: New test. | |
1007 * testsuite/27_io/filesystem/path/generation/normal.cc: New test. | |
1008 * testsuite/27_io/filesystem/path/generation/proximate.cc: New test. | |
1009 * testsuite/27_io/filesystem/path/generation/relative.cc: New test. | |
1010 * testsuite/27_io/filesystem/path/generic/generic_string.cc: New test. | |
1011 * testsuite/27_io/filesystem/path/itr/traversal.cc: New test. | |
1012 * testsuite/27_io/filesystem/path/modifiers/clear.cc: New test. | |
1013 * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: New | |
1014 test. | |
1015 * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: New | |
1016 test. | |
1017 * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: New | |
1018 test. | |
1019 * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: New | |
1020 test. | |
1021 * testsuite/27_io/filesystem/path/modifiers/swap.cc: New test. | |
1022 * testsuite/27_io/filesystem/path/native/string.cc: New test. | |
1023 * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: New test. | |
1024 * testsuite/27_io/filesystem/path/query/empty.cc: New test. | |
1025 * testsuite/27_io/filesystem/path/query/has_extension.cc: New test. | |
1026 * testsuite/27_io/filesystem/path/query/has_filename.cc: New test. | |
1027 * testsuite/27_io/filesystem/path/query/has_parent_path.cc: New test. | |
1028 * testsuite/27_io/filesystem/path/query/has_relative_path.cc: New | |
1029 test. | |
1030 * testsuite/27_io/filesystem/path/query/has_root_directory.cc: New | |
1031 test. | |
1032 * testsuite/27_io/filesystem/path/query/has_root_name.cc: New test. | |
1033 * testsuite/27_io/filesystem/path/query/has_root_path.cc: New test. | |
1034 * testsuite/27_io/filesystem/path/query/has_stem.cc: New test. | |
1035 * testsuite/27_io/filesystem/path/query/is_relative.cc: New test. | |
1036 * testsuite/experimental/filesystem/path/construct/string_view.cc: | |
1037 Define USE_FILESYSTEM_TS. | |
1038 * testsuite/util/testsuite_fs.h: Allow use with C++17 paths as well | |
1039 as Filesystem TS. | |
1040 | |
1041 PR libstdc++/82644 | |
1042 * doc/xml/manual/intro.xml: Include new section. | |
1043 * doc/xml/manual/status_cxxis29124.xml: New section on IS 29124 | |
1044 status. | |
1045 * include/bits/specfun.h [__STRICT_ANSI__] (hyperg, hypergf, hypergl) | |
1046 (conf_hyperg, conf_hypergf, conf_hypergl): Don't declare. | |
1047 * include/c_compatibility/math.h: Import special functions into | |
1048 global namespace for C++17. | |
1049 * testsuite/26_numerics/headers/cmath/82644.cc: New test. | |
1050 * testsuite/26_numerics/headers/cmath/functions_global_c++17.cc: New | |
1051 test. | |
1052 | |
1053 2017-10-21 Jonathan Wakely <jwakely@redhat.com> | |
1054 | |
1055 * testsuite/experimental/filesystem/path/itr/traversal.cc: Do not | |
1056 increment past-the-end iterators. | |
1057 | |
1058 2017-10-20 Jonathan Wakely <jwakely@redhat.com> | |
1059 | |
1060 * include/std/chrono (__cpp_lib_chrono): Update macro value to | |
1061 indicate support for P0505R0. | |
1062 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Check | |
1063 for updated macro. | |
1064 | |
1065 * include/c_global/cstddef: Define __cpp_lib_byte feature-test macro. | |
1066 * testsuite/18_support/byte/requirements.cc: Check macro. | |
1067 | |
1068 2017-10-19 Jonathan Wakely <jwakely@redhat.com> | |
1069 | |
1070 * testsuite/experimental/filesystem/iterators/ | |
1071 recursive_directory_iterator.cc: Ensure that error_code arguments are | |
1072 cleared when required. | |
1073 * testsuite/experimental/filesystem/operations/create_directory.cc: | |
1074 Remove redundant check. | |
1075 * testsuite/experimental/filesystem/operations/temp_directory_path.cc: | |
1076 Ensure that error_code argument is cleared when required. | |
1077 | |
1078 * include/experimental/bits/fs_path.h (path::iterator++(int)) | |
1079 (path::iterator--(int)): Fix for paths with only one component. | |
1080 * testsuite/experimental/filesystem/path/itr/traversal.cc: Test | |
1081 post-increment and post-decrement. | |
1082 | |
1083 * doc/xml/manual/status_cxx2017.xml: Update references to C++17 | |
1084 section numbers. | |
1085 | |
1086 * testsuite/decimal/conversion-to-integral.cc: Use predefined macro | |
1087 instead of non-standard glibc one. | |
1088 | |
1089 2017-10-16 François Dumont <fdumont@gcc.gnu.org> | |
1090 | |
1091 PR libstdc++/82558 | |
1092 * include/bits/stl_bvector.h (fill): Add iterator offset check. | |
1093 * testsuite/23_containers/vector/bool/82558.cc: New. | |
1094 | |
1095 2017-10-13 Jonathan Wakely <jwakely@redhat.com> | |
1096 | |
1097 PR libstdc++/82522 | |
1098 * doc/xml/manual/intro.xml: Document LWG 2354 changes. | |
1099 * include/bits/stl_map.h (map::insert(value_type&&)) | |
1100 (map::insert(const_iterator, value_type&&)): Add overload for rvalues. | |
1101 * include/bits/stl_multimap.h (multimap::insert(value_type&&)) | |
1102 (multimap::insert(const_iterator, value_type&&)): Likewise. | |
1103 * include/bits/unordered_map.h (unordered_map::insert(value_type&&)) | |
1104 (unordered_map::insert(const_iterator, value_type&&)) | |
1105 (unordered_multimap::insert(value_type&&)) | |
1106 (unordered_multimap::insert(const_iterator, value_type&&)): Likewise. | |
1107 * testsuite/23_containers/map/modifiers/insert/dr2354.cc: New test. | |
1108 * testsuite/23_containers/multimap/modifiers/insert/dr2354.cc: New | |
1109 test. | |
1110 * testsuite/23_containers/unordered_map/insert/dr2354.cc: New test. | |
1111 * testsuite/23_containers/unordered_multimap/insert/dr2354.cc: New | |
1112 test. | |
1113 | |
1114 PR libstdc++/82481 | |
1115 * include/std/mutex (call_once): Suppress clang-tidy warnings about | |
1116 dangling references. | |
1117 | |
1118 2017-10-10 Jonathan Wakely <jwakely@redhat.com> | |
1119 | |
1120 * include/bits/streambuf_iterator.h (istreambuf_iterator::equal): | |
1121 Update comment about NAD issue. | |
1122 | |
1123 PR libstdc++/59087 | |
1124 PR libstdc++/82417 | |
1125 * include/c_compatibility/complex.h [!C++98 && __STRICT_ANSI__]: Do | |
1126 not include C library's <complex.h>. | |
1127 * testsuite/26_numerics/complex/c99.cc: Depend on __STRICT_ANSI__. | |
1128 * testsuite/26_numerics/headers/complex.h/std_c++11.h: New test. | |
1129 * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: New test. | |
1130 * testsuite/26_numerics/headers/complex.h/std_c++98.h: New test. | |
1131 | |
1132 2017-10-05 Jonathan Wakely <jwakely@redhat.com> | |
1133 | |
1134 * testsuite/20_util/to_chars/1.cc: Add dg-require-string-conversions. | |
1135 | |
1136 2017-10-04 Petr Ovtchenkov <ptr@void-ptr.info> | |
1137 François Dumont <fdumont@gcc.gnu.org> | |
1138 | |
1139 * include/bits/streambuf_iterator.h | |
1140 (istreambuf_iterator<>::operator*()): Do not capture iterator state | |
1141 in Debug assertion. | |
1142 (istreambuf_iterator<>::operator++()): Likewise and remove _M_sbuf check. | |
1143 (istreambuf_iterator<>::operator++(int)): Likewise. | |
1144 (istreambuf_iterator<>::_M_get()): Remove _M_c assignment. | |
1145 (istreambuf_iterator<>::_S_is_eof()): New. | |
1146 (istreambuf_iterator<>::_M_at_eof()): Adapt, use latter. | |
1147 (find(istreambuf_iterator<>, istreambuf_iterator<>, _CharT)): | |
1148 Return an iterator with _M_c set to eof to capture streambuf state | |
1149 on evaluation. | |
1150 (testsuite/24_iterators/istreambuf_iterator/2.cc): Add checks. | |
1151 | |
1152 2017-10-03 Jakub Jelinek <jakub@redhat.com> | |
1153 | |
1154 * include/std/charconv (__unsigned_least_t): Fix number of closing >s for | |
1155 !_GLIBCXX_USE_INT128. | |
1156 | |
1157 2017-10-02 Jonathan Wakely <jwakely@redhat.com> | |
1158 | |
1159 * include/Makefile.am: Add new <charconv> header. | |
1160 * include/Makefile.in: Regenerate. | |
1161 * include/precompiled/stdc++.h: Include <charconv>. | |
1162 * include/std/charconv: New file. | |
1163 (to_chars_result, to_chars, from_chars_result, from_chars): Define. | |
1164 * testsuite/20_util/from_chars/1.cc: New test. | |
1165 * testsuite/20_util/from_chars/1_neg.cc: New test. | |
1166 * testsuite/20_util/from_chars/2.cc: New test. | |
1167 * testsuite/20_util/from_chars/requirements.cc: New test. | |
1168 * testsuite/20_util/to_chars/1.cc: New test. | |
1169 * testsuite/20_util/to_chars/1_neg.cc: New test. | |
1170 * testsuite/20_util/to_chars/2.cc: New test. | |
1171 * testsuite/20_util/to_chars/requirements.cc: New test. | |
1172 | |
1173 2017-09-27 François Dumont <fdumont@gcc.gnu.org> | |
1174 | |
1175 * testsuite/22_locale/money_get/get/char/22131.cc: Make test less | |
1176 istreambuf_iterator implementation dependent. | |
1177 * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise. | |
1178 | |
1179 2017-09-25 Uros Bizjak <ubizjak@gmail.com> | |
1180 | |
1181 PR c/81854 | |
1182 * src/c++98/complex_io.cc (_GLIBCXX_LDBL_COMPAT): Declare alias | |
1183 target as a C++ function with no prototype. | |
1184 | |
1185 2017-09-21 Jonathan Wakely <jwakely@redhat.com> | |
1186 | |
1187 * testsuite/25_algorithms/clamp/1.cc: Fix order of arguments and | |
1188 expected results when using predicate defining reverse order. | |
1189 * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. | |
1190 | |
1191 2017-09-20 Jonathan Wakely <jwakely@redhat.com> | |
1192 | |
1193 PR libstdc++/79162 | |
1194 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] | |
1195 (basic_string::_If_sv): Remove from the overload set when the | |
1196 argument is derived from basic_string. | |
1197 | |
1198 PR libstdc++/79162 | |
1199 * include/bits/basic_string.h (basic_string::_If_sv): Remove from the | |
1200 overload set when the argument is derived from basic_string. | |
1201 * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: New | |
1202 test. | |
1203 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc: | |
1204 New test. | |
1205 | |
1206 * testsuite/24_iterators/range_access_cpp17.cc: Fix order of dg-do | |
1207 and dg-options directives. Fix invalid test. | |
1208 | |
1209 PR libstdc++/81469 | |
1210 * libsupc++/exception (uncaught_exception): Deprecate for C++17. | |
1211 * testsuite/18_support/exception_ptr/62258.cc: Add -Wno-deprecated. | |
1212 * testsuite/18_support/uncaught_exception/14026.cc: Likewise. | |
1213 | |
1214 * include/bits/c++config (_GLIBCXX17_DEPRECATED): Define. | |
1215 * include/bits/functional_hash.h (__hash_base::result_type) | |
1216 (__hash_base::argument_type): Add _GLIBCXX17_DEPRECATED. | |
1217 * include/std/optional (hash<optional<T>>::result_type) | |
1218 (hash<optional<T>>::argument_type): Add deprecated attribute. | |
1219 (__is_fast_hash<hash<optional<T>>>): Add partial specialization. | |
1220 * include/std/variant (hash<variant<Types...>>::result_type) | |
1221 (hash<variant<Types...>>::argument_type): Add deprecated attribute. | |
1222 (__is_fast_hash<hash<variant<Types...>>>): Add partial specialization. | |
1223 | |
1224 * libsupc++/exception_ptr.h (copy_exception): Remove deprecated | |
1225 non-standard function. | |
1226 | |
1227 PR libstdc++/82262 | |
1228 * include/std/optional (__optional_hash_call_base): Add template | |
1229 parameter for remove_const_t<_Tp> and use it consistently. | |
1230 * testsuite/20_util/optional/hash.cc: Test optional<const T>. | |
1231 | |
1232 2017-09-19 Jonathan Wakely <jwakely@redhat.com> | |
1233 | |
1234 PR libstdc++/71500 | |
1235 * include/bits/regex_executor.tcc | |
1236 (_Backref_matcher<BidIt, regex_traits<C>>::_M_apply): Use | |
1237 std::__equal4 instead of C++14 4-iterator overloads of std::equal. | |
1238 * include/bits/stl_algobase.h (__equal4): New functions implementing | |
1239 4-iterator overloads of std::equal for use in C++11. | |
1240 (equal(It1, It1, It2, It2), equal(It1, It1, It2, It2, BinaryPred)): | |
1241 Move function bodies to new __equal4 functions. | |
1242 * testsuite/28_regex/simple_c++11.cc: New. | |
1243 | |
1244 PR libstdc++/82254 | |
1245 * include/std/type_traits (__is_invocable): Add partial specialization | |
1246 for INVOKE<void> case and remove is_void<R> check from partial | |
1247 specialization for INVOKE<R> case. | |
1248 (__is_nt_invocable_impl): New helper for is_nothrow_invocable_r. | |
1249 (is_nothrow_invocable_r): Use __is_nt_invocable_impl. | |
1250 * testsuite/20_util/is_nothrow_invocable/value.cc: Add tests for | |
1251 conversions that can throw or fail to convert. Use static assert | |
1252 strings to explain negative results. | |
1253 * testsuite/20_util/is_nothrow_invocable/value_ext.cc: Use | |
1254 is_nothrow_constructible in is_nt_invocable_conv. | |
1255 | |
1256 2017-09-18 Jonathan Wakely <jwakely@redhat.com> | |
1257 | |
1258 PR libstdc++/81468 | |
1259 * testsuite/20_util/duration/cons/dr1177.cc: Fix incorrect test and | |
1260 improve static assertion messages. | |
1261 | |
1262 * include/std/utility (_Itup_cat, _Make_integer_sequence): Remove. | |
1263 (_Build_index_tuple, make_integer_sequence): Use built-in to generate | |
1264 pack expansion. | |
1265 | |
1266 PR libstdc++/71187 | |
1267 * include/std/type_traits (__declval): New function to deduce return | |
1268 type of declval. | |
1269 (__declval_protector::_delegate): Remove. | |
1270 (declval): Use __declval instead of add_rvalue_reference and | |
1271 __declval_protector::__delegate. | |
1272 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error | |
1273 lineno. | |
1274 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: | |
1275 Likewise. | |
1276 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: | |
1277 Likewise. | |
1278 | |
1279 2017-09-15 Jakub Jelinek <jakub@redhat.com> | |
1280 | |
1281 * testsuite/libstdc++-prettyprinters/cxx17.cc: Use -std=c++17 or | |
1282 -std=gnu++17 instead of -std=c++1z or -std=gnu++1z. Use c++17 instead | |
1283 of c++1z and c++17_only instead of c++1z_only. Adjust expected | |
1284 diagnostics and comments refering to 1z to 17. | |
1285 * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise. | |
1286 * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise. | |
1287 * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise. | |
1288 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise. | |
1289 * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc: | |
1290 Likewise. | |
1291 * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise. | |
1292 * testsuite/18_support/launder/1.cc (test02): Likewise. | |
1293 * testsuite/18_support/launder/requirements_neg.cc: Likewise. | |
1294 * testsuite/18_support/launder/requirements.cc: Likewise. | |
1295 * testsuite/18_support/byte/requirements.cc: Likewise. | |
1296 * testsuite/18_support/byte/ops.cc: Likewise. | |
1297 * testsuite/18_support/byte/global_neg.cc: Likewise. | |
1298 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: | |
1299 Likewise. | |
1300 * testsuite/27_io/types/4.cc: Likewise. | |
1301 * testsuite/25_algorithms/sample/81221.cc: Likewise. | |
1302 * testsuite/25_algorithms/sample/1.cc: Likewise. | |
1303 * testsuite/25_algorithms/sample/2.cc: Likewise. | |
1304 * testsuite/25_algorithms/search/searcher.cc: Likewise. | |
1305 * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise. | |
1306 * testsuite/experimental/filesystem/path/construct/string_view.cc: | |
1307 Likewise. | |
1308 * testsuite/24_iterators/range_access_cpp17.cc: Likewise. | |
1309 * testsuite/24_iterators/container_access.cc: Likewise. | |
1310 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise. | |
1311 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise. | |
1312 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise. | |
1313 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise. | |
1314 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise. | |
1315 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise. | |
1316 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. | |
1317 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise. | |
1318 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise. | |
1319 * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. | |
1320 * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. | |
1321 * testsuite/20_util/shared_ptr/cons/array.cc: Likewise. | |
1322 * testsuite/20_util/shared_ptr/observers/array.cc (struct A): Likewise. | |
1323 * testsuite/20_util/pair/cons/deduction.cc: Likewise. | |
1324 * testsuite/20_util/variant/deduction.cc: Likewise. | |
1325 * testsuite/20_util/tuple/78939.cc: Likewise. | |
1326 * testsuite/20_util/tuple/cons/deduction.cc: Likewise. | |
1327 * testsuite/20_util/void_t/1.cc: Likewise. | |
1328 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise. | |
1329 * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise. | |
1330 * testsuite/20_util/addressof/requirements/constexpr.cc: Likewise. | |
1331 * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. | |
1332 * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc: | |
1333 Likewise. | |
1334 * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc: | |
1335 Likewise. | |
1336 * testsuite/20_util/has_unique_object_representations/value.cc: | |
1337 Likewise. | |
1338 * testsuite/20_util/time_point/arithmetic/constexpr.cc: Likewise. | |
1339 * testsuite/20_util/function_objects/invoke/59768.cc: Likewise. | |
1340 * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise. | |
1341 * testsuite/20_util/function/cons/deduction.cc: Likewise. | |
1342 * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: | |
1343 Likewise. | |
1344 * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. | |
1345 * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: | |
1346 Likewise. | |
1347 * testsuite/20_util/is_aggregate/value.cc: Likewise. | |
1348 * testsuite/26_numerics/lcm/1.cc: Likewise. | |
1349 * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. | |
1350 * testsuite/26_numerics/gcd/1.cc: Likewise. | |
1351 * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. | |
1352 * testsuite/26_numerics/valarray/deduction.cc: Likewise. | |
1353 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise. | |
1354 * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise. | |
1355 * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: | |
1356 Likewise. | |
1357 * testsuite/23_containers/array/cons/deduction.cc: Likewise. | |
1358 * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise. | |
1359 * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: | |
1360 Likewise. | |
1361 * testsuite/23_containers/deque/cons/deduction.cc: Likewise. | |
1362 * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: | |
1363 Likewise. | |
1364 * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: | |
1365 Likewise. | |
1366 * testsuite/23_containers/list/cons/deduction.cc: Likewise. | |
1367 * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc: | |
1368 Likewise. | |
1369 * testsuite/23_containers/forward_list/cons/deduction.cc: Likewise. | |
1370 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Likewise. | |
1371 * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: | |
1372 Likewise. | |
1373 * testsuite/23_containers/vector/cons/deduction.cc: Likewise. | |
1374 * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: | |
1375 Likewise. | |
1376 * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise. | |
1377 * testsuite/21_strings/basic_string/cons/char/deduction.cc: Likewise. | |
1378 * testsuite/21_strings/basic_string/cons/char/79162.cc: Likewise. | |
1379 * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise. | |
1380 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: | |
1381 Likewise. | |
1382 * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: Likewise. | |
1383 * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: | |
1384 Likewise. | |
1385 * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: | |
1386 Likewise. | |
1387 * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: | |
1388 Likewise. | |
1389 * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc: | |
1390 Likewise. | |
1391 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc: | |
1392 Likewise. | |
1393 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: | |
1394 Likewise. | |
1395 | |
1396 2017-09-13 Jonathan Wakely <jwakely@redhat.com> | |
1397 | |
1398 PR libstdc++/81468 | |
1399 * include/std/chrono (__enable_if_is_duration) | |
1400 (__disable_if_is_duration): New alias templates to simplify SFINAE. | |
1401 (duration_cast, floor, ceil): Use __enable_if_is_duration. | |
1402 (duration::__is_float, duration::__is_harmonic): New alias templates | |
1403 to simplify SFINAE. | |
1404 (duration::duration(const _Rep2&)): Use _Require, __is_float and | |
1405 __is_harmonic. | |
1406 (duration::duration(const duration<_Rep2, _Period2>&)): Likewise. | |
1407 (__common_rep_type): Remove, replace with ... | |
1408 (__common_rep_t): New alias template. | |
1409 (operator*, operator/, operator%): Use __common_rep_t and | |
1410 __disable_if_is_duration. | |
1411 (time_point::time_point(const time_point<clock, _Dur2>&)): Add missing | |
1412 constraint from LWG DR 1177. | |
1413 * testsuite/20_util/duration/cons/dr1177.cc: New. | |
1414 * testsuite/20_util/duration/literals/range.cc: Update dg-error line. | |
1415 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. | |
1416 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. | |
1417 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. | |
1418 * testsuite/20_util/time_point/cons/81468.cc: New. | |
1419 | |
1420 * doc/doxygen/mainpage.html: Fix broken URLs. | |
1421 | |
1422 PR libstdc++/81835 | |
1423 * doc/xml/manual/extensions.xml: Replace unstable URL. | |
1424 * doc/html/manual/ext_demangling.html: Regenerate. | |
1425 * libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL. | |
1426 | |
1427 * include/bits/allocated_ptr.h (__allocated_ptr::get): Use | |
1428 __to_address. | |
1429 (__allocated_ptr::_S_raw_ptr): Remove. | |
1430 * include/bits/forward_list.h (_Fwd_list_base::_M_get_node): Use | |
1431 __to_address. | |
1432 * include/bits/hashtable_policy.h (_Hashtable_alloc): Likewise. | |
1433 * include/bits/ptr_traits.h (__to_address): Define new function | |
1434 template. | |
1435 * include/bits/shared_ptr_base.h (__shared_ptr): Use __to_address. | |
1436 (__shared_ptr::_S_raw_ptr): Remove. | |
1437 * include/bits/stl_vector.h [__cplusplus >= 201103L] | |
1438 (vector::_M_data_ptr): Use __to_address. | |
1439 [__cplusplus < 201103L] (vector::_M_data_ptr): Don't dereference | |
1440 possibly invalid pointers. | |
1441 * include/ext/alloc_traits.h (__alloc_traits::construct) | |
1442 (__alloc_traits::destroy): Use __to_address. | |
1443 | |
1444 2017-09-12 Jonathan Wakely <jwakely@redhat.com> | |
1445 | |
1446 PR libstdc++/79433 | |
1447 * include/Makefile.am: Remove <bits/c++14_warning.h>. | |
1448 * include/Makefile.in: Regenerate. | |
1449 * include/bits/c++14_warning.h: Remove. | |
1450 * include/experimental/algorithm: Do not include <c++14_warning.h>. | |
1451 * include/experimental/any: Likewise. | |
1452 * include/experimental/array: Likewise. | |
1453 * include/experimental/bits/erase_if.h: Likewise. | |
1454 * include/experimental/bits/lfts_config.h: Likewise. | |
1455 * include/experimental/bits/shared_ptr.h: Likewise. | |
1456 * include/experimental/bits/string_view.tcc: Likewise. | |
1457 * include/experimental/chrono: Likewise. | |
1458 * include/experimental/deque: Likewise. | |
1459 * include/experimental/filesystem: Do not include <c++0x_warning.h>. | |
1460 * include/experimental/forward_list: Do not include <c++14_warning.h>. | |
1461 * include/experimental/functional: Likewise. | |
1462 * include/experimental/iterator: Likewise. | |
1463 * include/experimental/list: Likewise. | |
1464 * include/experimental/map: Likewise. | |
1465 * include/experimental/memory: Likewise. | |
1466 * include/experimental/numeric: Likewise. | |
1467 * include/experimental/optional: Likewise. | |
1468 * include/experimental/propagate_const: Likewise. | |
1469 * include/experimental/ratio: Likewise. | |
1470 * include/experimental/regex: Likewise. | |
1471 * include/experimental/set: Likewise. | |
1472 * include/experimental/string: Likewise. | |
1473 * include/experimental/string_view: Likewise. | |
1474 * include/experimental/system_error: Likewise. | |
1475 * include/experimental/tuple: Likewise. | |
1476 * include/experimental/type_traits: Likewise. | |
1477 * include/experimental/unordered_map: Likewise. | |
1478 * include/experimental/unordered_set: Likewise. | |
1479 * include/experimental/vector: Likewise. | |
1480 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error | |
1481 line number. | |
1482 * testsuite/experimental/array/neg.cc: Likewise. | |
1483 * testsuite/experimental/propagate_const/assignment/move_neg.cc: | |
1484 Likewise. | |
1485 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. | |
1486 * testsuite/experimental/propagate_const/requirements2.cc: Likewise. | |
1487 * testsuite/experimental/propagate_const/requirements3.cc: Likewise. | |
1488 * testsuite/experimental/propagate_const/requirements4.cc: Likewise. | |
1489 * testsuite/experimental/propagate_const/requirements5.cc: Likewise. | |
1490 | |
1491 PR libstdc++/79433 | |
1492 * doc/xml/manual/status_cxx2017.xml: Update feature-test macros. | |
1493 * doc/html/*: Regenerate. | |
1494 * include/Makefile.am: Remove <bits/c++17_warning.h>. | |
1495 * include/Makefile.in: Regenerate. | |
1496 * include/bits/c++17_warning.h: Remove. | |
1497 * include/bits/string_view.tcc: Do not include <bits/c++17_warning.h> | |
1498 for pre-C++17 modes. | |
1499 * include/std/any: Likewise. | |
1500 (__cpp_lib_any): Define. | |
1501 * include/std/mutex (__cpp_lib_scoped_lock): Adjust value as per new | |
1502 SD-6 draft. | |
1503 * include/std/numeric (__cpp_lib_gcd_lcm): Define as per new SD-6 | |
1504 draft. | |
1505 * include/std/optional: Do not include <bits/c++17_warning.h>. | |
1506 (__cpp_lib_optional): Define. | |
1507 * include/std/shared_mutex: Do not include <bits/c++14_warning.h>. | |
1508 * include/std/string_view: Do not include <bits/c++17_warning.h>. | |
1509 (__cpp_lib_string_view): Define. | |
1510 * include/std/variant: Do not include <bits/c++17_warning.h>. | |
1511 (__cpp_lib_variant): Define. | |
1512 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error line | |
1513 numbers. | |
1514 * testsuite/26_numerics/gcd/1.cc: Test for __cpp_lib_gcd_lcm. | |
1515 * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line | |
1516 numbers. | |
1517 * testsuite/26_numerics/lcm/1.cc: Test for __cpp_lib_gcd_lcm. | |
1518 * testsuite/26_numerics/lcm/lcm_neg.cc: Adjust dg-error line | |
1519 numbers. | |
1520 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Adjust | |
1521 expected value of __cpp_lib_scoped_lock. | |
1522 | |
1523 PR libstdc++/70483 | |
1524 * include/experimental/bits/string_view.tcc (basic_string_view::find) | |
1525 (basic_string_view::rfind, basic_string_view::find_first_of) | |
1526 (basic_string_view::find_last_of, basic_string_view::find_first_not_of) | |
1527 (basic_string_view::find_last_not_of): Add constexpr specifier. | |
1528 * include/experimental/string_view (basic_string_view::remove_prefix) | |
1529 (basic_string_view::remove_suffix, basic_string_view::swap) | |
1530 (basic_string_view::compare, basic_string_view::find) | |
1531 (basic_string_view::rfind, basic_string_view::find_first_of) | |
1532 (basic_string_view::find_last_of, basic_string_view::find_first_not_of) | |
1533 (basic_string_view::find_last_not_of, operator==, operator!=) | |
1534 (operator<, operator>, operator<=, operator>=): Likewise. | |
1535 * testsuite/experimental/string_view/operations/compare/char/70483.cc: | |
1536 New. | |
1537 | |
1538 2017-09-11 Jonathan Wakely <jwakely@redhat.com> | |
1539 | |
1540 PR libstdc++/70483 | |
1541 * include/bits/string_view.tcc (basic_string_view::find) | |
1542 (basic_string_view::rfind, basic_string_view::find_first_of) | |
1543 (basic_string_view::find_last_of, basic_string_view::find_first_not_of) | |
1544 (basic_string_view::find_last_not_of): Add constexpr specifier. | |
1545 * include/std/string_view (basic_string_view::operator=) | |
1546 (basic_string_view::rbegin, basic_string_view::rend) | |
1547 (basic_string_view::crbegin, basic_string_view::crend) | |
1548 (basic_string_view::remove_prefix, basic_string_view::remove_suffix) | |
1549 (basic_string_view::swap, basic_string_view::compare) | |
1550 (basic_string_view::find, basic_string_view::rfind) | |
1551 (basic_string_view::find_first_of, basic_string_view::find_last_of) | |
1552 (basic_string_view::find_first_not_of) | |
1553 (basic_string_view::find_last_not_of, basic_string_view::_M_check) | |
1554 (basic_string_view::_M_limit, operator==, operator!=, operator<) | |
1555 (operator>, operator<=, operator>=): Likewise. | |
1556 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ | |
1557 char/1.cc: Repeat tests in constexpr context. | |
1558 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ | |
1559 wchar_t/1.cc: Likewise. | |
1560 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ | |
1561 char/1.cc: Likewise. | |
1562 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ | |
1563 wchar_t/1.cc: Likewise. | |
1564 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: | |
1565 Likewise. | |
1566 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: | |
1567 Likewise. | |
1568 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: | |
1569 Likewise. | |
1570 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: | |
1571 Likewise. | |
1572 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: | |
1573 Likewise. | |
1574 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: | |
1575 Likewise. | |
1576 * testsuite/21_strings/basic_string_view/operators/char/2.cc: | |
1577 Likewise. | |
1578 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: | |
1579 Likewise. | |
1580 * testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test | |
1581 cbegin, cend, rbegin, rend, crbegin and crend. | |
1582 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: | |
1583 Likewise. | |
1584 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: | |
1585 Remove trailing whitespace. | |
1586 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ | |
1587 1.cc: Likewise. | |
1588 * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: | |
1589 New. | |
1590 * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: | |
1591 New. | |
1592 * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: | |
1593 New. | |
1594 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ | |
1595 2.cc: New. | |
1596 | |
1597 2017-09-11 Tim Shen <timshen@google.com> | |
1598 | |
1599 PR libstdc++/71500 | |
1600 * include/bits/regex_executor.tcc: Support icase in regex_traits<...> | |
1601 for back reference matches. | |
1602 * testsuite/28_regex/regression.cc: Test case. | |
1603 | |
1604 2017-09-11 Jonathan Wakely <jwakely@redhat.com> | |
1605 | |
1606 * testsuite/21_strings/basic_string/lwg2946.cc: Adjust for | |
1607 compatibility with old COW std::string. | |
1608 | |
1609 2017-09-09 Gerald Pfeifer <gerald@pfeifer.com> | |
1610 | |
1611 * doc/xml/manual/allocator.xml: Adjust link for Hoard. | |
1612 * doc/html/manual/memory.html: Regenerate. | |
1613 | |
1614 2017-09-04 Daniel Kruegler <daniel.kruegler@gmail.com> | |
1615 | |
1616 PR libstdc++/79162 | |
1617 Implement LWG 2946, LWG 2758's resolution missed further corrections | |
1618 * include/bits/basic_string.h (basic_string::compare): Add missing | |
1619 required noexcept specifications. | |
1620 (basic_string): Introduce internal _S_to_string_view and __sv_wrapper | |
1621 for implicit string_view conversion. | |
1622 (basic_string::basic_string): Fix explicit string_view conversion by | |
1623 implicit conversion using _S_to_string_view and __sv_wrapper. | |
1624 (basic_string): Introduce internal basic_string(__sv_wrapper, Alloc) | |
1625 constructor. | |
1626 (basic_string): Fix operator=(T) template by operator=(const T&) | |
1627 template for uncopyable types (PR 79162). | |
1628 (basic_string::operator+=, basic_string::append, basic_string::assign) | |
1629 (basic_string::insert, basic_string::replace, basic_string::find) | |
1630 (basic_string::rfind, basic_string::find_first_of) | |
1631 (basic_string::find_last_of, basic_string::find_first_not_of) | |
1632 (basic_string::find_last_not_of, basic_string::compare): Replace | |
1633 __sv_type argument by template const T& (LWG 2946) and correct | |
1634 documentation describing __sv_type argument. | |
1635 (basic_string::find, basic_string::rfind, basic_string::find_first_of) | |
1636 (basic_string::find_last_of, basic_string::find_first_not_of) | |
1637 (basic_string::find_last_not_of, basic_string::compare): Replace | |
1638 unconditional noexcept specification by conditional noexcept | |
1639 specification to partially balance the removal of noexcept by LWG 2946. | |
1640 * testsuite/21_strings/basic_string/79162.cc: New. | |
1641 * testsuite/21_strings/basic_string/lwg2946.cc: New. | |
1642 | |
1643 2017-08-31 Jonathan Wakely <jwakely@redhat.com> | |
1644 | |
1645 PR c++/82039 | |
1646 * include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate): | |
1647 Adjust null pointer constant to avoid warning. | |
1648 | |
1649 2017-08-24 François Dumont <fdumont@gcc.gnu.org> | |
1650 | |
1651 * include/bits/stl_list.h | |
1652 [!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove. | |
1653 (_List_impl(_Node_alloc_type&&, _List_impl&&)): New. | |
1654 (_List_base(_Node_alloc_type&&, _List_base&&)): New, use latter. | |
1655 [!_GLIBCXX_INLINE_VERSION](_List_base(_Node_alloc_type&&,_List_base&&)): | |
1656 Remove. | |
1657 (_List_base(_Node_alloc_type&&)): New. | |
1658 [!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_distance): Remove. | |
1659 [!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_node_count): Remove. | |
1660 (list<>::_M_node_count): New. | |
1661 (list<>::size()): Adapt to call latter. | |
1662 (list<>::_S_distance(const_iterator, const_iterator)): New. | |
1663 (list<>::splice(iterator, list&, const_iterator, const_iterator)): | |
1664 Adapt to call latter. | |
1665 (list(list&&, const allocator_type&, true_type)): New. | |
1666 (list(list&&, const allocator_type&, false_type)): New. | |
1667 (list(list&&, const allocator_type&)): Adapt to call latters. | |
1668 | |
1669 2017-08-21 Jonathan Wakely <jwakely@redhat.com> | |
1670 | |
1671 PR libstdc++/81912 | |
1672 * include/bits/stl_iterator_base_types.h (__iterator_category): Add | |
1673 constexpr for C++11 and later. | |
1674 * testsuite/24_iterators/container_access.cc: Add target selector. | |
1675 * testsuite/24_iterators/range_access.cc: Fix clause number in | |
1676 comment. | |
1677 * testsuite/24_iterators/range_access_cpp14.cc: Likewise. | |
1678 * testsuite/24_iterators/range_access_cpp17.cc: New. | |
1679 | |
1680 2017-08-21 Richard Biener <rguenther@suse.de> | |
1681 | |
1682 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Run all | |
1683 tests with -flto as well if supported. | |
1684 | |
1685 2017-08-20 Martin Sebor <msebor@redhat.com> | |
1686 | |
1687 PR c/81854 | |
1688 * src/c++98/compatibility.cc (_GLIBCXX_3_4_SYMVER): Declare alias | |
1689 target as a C++ function with no prototype. | |
1690 (_GLIBCXX_3_4_5_SYMVER): Ditto. | |
1691 | |
1692 2017-08-20 John David Anglin <danglin@gcc.gnu.org> | |
1693 | |
1694 PR testsuite/81056 | |
1695 * testsuite/17_intro/names.cc: Undef 'd' and 'r' on __hpux__. | |
1696 | |
1697 2017-08-18 Jonathan Wakely <jwakely@redhat.com> | |
1698 | |
1699 * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Remove | |
1700 __value_alloc_type and __value_alloc_traits typedefs. | |
1701 (_ReuseOrAllocNode::operator()): Call construct and destroy on the | |
1702 node allocator. | |
1703 (_Hashtable_alloc): Simplify __value_alloc_traits typedef. | |
1704 (_Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&...)): Call | |
1705 construct on the node allocator. | |
1706 (_Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_type*)): Call | |
1707 destroy on the node allocator. | |
1708 | |
1709 PR libstdc++/81891 | |
1710 * include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator, | |
1711 size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, | |
1712 const _ExtractKey&, const allocator_type&)): Let destructor do clean | |
1713 up if an exception is thrown. | |
1714 * testsuite/23_containers/unordered_map/cons/81891.cc: New. | |
1715 | |
1716 2017-08-11 Jonathan Wakely <jwakely@redhat.com> | |
1717 | |
1718 PR libstdc++/81808 | |
1719 * testsuite/27_io/basic_fstream/53984.cc: Adjust test for targets | |
1720 that allow opening a directory as a FILE and reading from it. | |
1721 | |
1722 2017-08-09 Jonathan Wakely <jwakely@redhat.com> | |
1723 | |
1724 * include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP): | |
1725 Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use | |
1726 __is_identifier to set it. | |
1727 | |
1728 2017-08-09 Katsuhiko Nishimra <ktns.87@gmail.com> | |
1729 | |
1730 * include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use | |
1731 __is_identifier instead of __has_builtin. | |
1732 | |
1733 2017-08-09 Jonathan Wakely <jwakely@redhat.com> | |
1734 | |
1735 PR libstdc++/79820 | |
1736 PR libstdc++/81751 | |
1737 * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)): | |
1738 Call fflush on the stream instead of calling sync() while _M_cfile is | |
1739 null. Restore original value of errno. | |
1740 * testsuite/ext/stdio_filebuf/char/79820.cc: New. | |
1741 * testsuite/ext/stdio_filebuf/char/81751.cc: New. | |
1742 | |
1743 2017-07-31 Marek Polacek <polacek@redhat.com> | |
1744 | |
1745 PR libstdc++/81599 | |
1746 * include/bits/stl_stack.h: Fix typo. | |
1747 | |
1748 2017-07-26 Jonathan Wakely <jwakely@redhat.com> | |
1749 | |
1750 * testsuite/27_io/basic_fstream/53984.cc: Fix test. | |
1751 | |
1752 2017-07-26 Paolo Carlini <paolo.carlini@oracle.com> | |
1753 | |
1754 * testsuite/27_io/basic_fstream/53984.cc: Fix typo in dg-require | |
1755 directive. | |
1756 | |
1757 2017-07-25 Jonathan Wakely <jwakely@redhat.com> | |
1758 | |
1759 PR libstdc++/53984 | |
1760 * include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment. | |
1761 * include/bits/istream.tcc (basic_istream::sentry): Handle exceptions | |
1762 during construction. | |
1763 * include/std/istream: Adjust comments for formatted input functions | |
1764 and unformatted input functions. | |
1765 * testsuite/27_io/basic_fstream/53984.cc: New. | |
1766 * testsuite/27_io/basic_istream/sentry/char/53984.cc: New. | |
1767 | |
1768 * include/bits/ios_base.h (ios_base::io_state, ios_base::open_mode) | |
1769 (ios_base::seek_dir): Remove for C++17. | |
1770 * include/std/streambuf (basic_streambuf::stossc): Remove for C++17. | |
1771 Add deprecated attribute for C++11 and C++14. | |
1772 * testsuite/27_io/types/1.cc: Don't run for C++17 and later. | |
1773 * testsuite/27_io/types/4.cc: New. | |
1774 | |
1775 2017-07-23 Michael Collison <michael.collison@arm.com> | |
1776 | |
1777 Add optimized implementation of mersenne twister for aarch64 | |
1778 * config/cpu/aarch64/opt/ext/opt_random.h: New file. | |
1779 (__arch64_recursion): New function. | |
1780 (__aarch64_lsr_128): New function. | |
1781 (__aarch64_lsl_128): New function. | |
1782 (operator==): New function. | |
1783 (simd_fast_mersenne_twister_engine): Implement | |
1784 method _M_gen_rand. | |
1785 * config/cpu/aarch64/opt/bits/opt_random.h: New file. | |
1786 * include/ext/random: (simd_fast_mersenne_twister_engine): | |
1787 add _M_state private array. | |
1788 | |
1789 2017-07-23 François Dumont <fdumont@gcc.gnu.org> | |
1790 | |
1791 PR libstdc++/81064 | |
1792 * include/bits/algorithmfwd.h: Reorganize versioned namespace. | |
1793 * include/bits/basic_string.h: Likewise. | |
1794 * include/bits/c++config: Likewise. | |
1795 * include/bits/deque.tcc: Likewise. | |
1796 * include/bits/forward_list.h: Likewise. | |
1797 * include/bits/forward_list.tcc: Likewise. | |
1798 * include/bits/hashtable_policy.h: Likewise. | |
1799 * include/bits/list.tcc: Likewise. | |
1800 * include/bits/move.h: Likewise. | |
1801 * include/bits/quoted_string.h: Likewise. | |
1802 * include/bits/random.h: Likewise. | |
1803 * include/bits/random.tcc: Likewise. | |
1804 * include/bits/regex.h: Likewise. | |
1805 * include/bits/regex.tcc: Likewise. | |
1806 * include/bits/regex_automaton.h: Likewise. | |
1807 * include/bits/regex_automaton.tcc: Likewise. | |
1808 * include/bits/regex_compiler.h: Likewise. | |
1809 * include/bits/regex_compiler.tcc: Likewise. | |
1810 * include/bits/regex_constants.h: Likewise. | |
1811 * include/bits/regex_error.h: Likewise. | |
1812 * include/bits/regex_executor.h: Likewise. | |
1813 * include/bits/regex_executor.tcc: Likewise. | |
1814 * include/bits/regex_scanner.h: Likewise. | |
1815 * include/bits/regex_scanner.tcc: Likewise. | |
1816 * include/bits/specfun.h: Likewise. | |
1817 * include/bits/stl_algo.h: Likewise. | |
1818 * include/bits/stl_algobase.h: Likewise. | |
1819 * include/bits/stl_bvector.h: Likewise. | |
1820 * include/bits/stl_deque.h: Likewise. | |
1821 * include/bits/stl_iterator.h: Likewise. | |
1822 * include/bits/stl_iterator_base_funcs.h: Likewise. | |
1823 * include/bits/stl_list.h: Likewise. | |
1824 * include/bits/stl_map.h: Likewise. | |
1825 * include/bits/stl_multimap.h: Likewise. | |
1826 * include/bits/stl_multiset.h: Likewise. | |
1827 * include/bits/stl_relops.h: Likewise. | |
1828 * include/bits/stl_set.h: Likewise. | |
1829 * include/bits/stl_vector.h: Likewise. | |
1830 * include/bits/uniform_int_dist.h: Likewise. | |
1831 * include/bits/unordered_map.h: Likewise. | |
1832 * include/bits/unordered_set.h: Likewise. | |
1833 * include/bits/vector.tcc: Likewise. | |
1834 * include/c_global/cmath: Likewise. | |
1835 * include/c_std/cmath: Likewise. | |
1836 * include/decimal/decimal: Likewise. | |
1837 * include/decimal/decimal.h: Likewise. | |
1838 * include/experimental/algorithm: Likewise. | |
1839 * include/experimental/any: Likewise. | |
1840 * include/experimental/array: Likewise. | |
1841 * include/experimental/bits/erase_if.h: Likewise. | |
1842 * include/experimental/bits/fs_dir.h: Likewise. | |
1843 * include/experimental/bits/fs_fwd.h: Likewise. | |
1844 * include/experimental/bits/fs_ops.h: Likewise. | |
1845 * include/experimental/bits/fs_path.h: Likewise. | |
1846 * include/experimental/bits/lfts_config.h: Likewise. | |
1847 * include/experimental/bits/shared_ptr.h: Likewise. | |
1848 * include/experimental/bits/string_view.tcc: Likewise. | |
1849 * include/experimental/chrono: Likewise. | |
1850 * include/experimental/deque: Likewise. | |
1851 * include/experimental/filesystem: Likewise. | |
1852 * include/experimental/forward_list: Likewise. | |
1853 * include/experimental/functional: Likewise. | |
1854 * include/experimental/iterator: Likewise. | |
1855 * include/experimental/list: Likewise. | |
1856 * include/experimental/map: Likewise. | |
1857 * include/experimental/memory: Likewise. | |
1858 * include/experimental/memory_resource: Likewise. | |
1859 * include/experimental/numeric: Likewise. | |
1860 * include/experimental/optional: Likewise. | |
1861 * include/experimental/propagate_const: Likewise. | |
1862 * include/experimental/random: Likewise. | |
1863 * include/experimental/ratio: Likewise. | |
1864 * include/experimental/regex: Likewise. | |
1865 * include/experimental/set: Likewise. | |
1866 * include/experimental/source_location: Likewise. | |
1867 * include/experimental/string: Likewise. | |
1868 * include/experimental/string_view: Likewise. | |
1869 * include/experimental/system_error: Likewise. | |
1870 * include/experimental/tuple: Likewise. | |
1871 * include/experimental/type_traits: Likewise. | |
1872 * include/experimental/unordered_map: Likewise. | |
1873 * include/experimental/unordered_set: Likewise. | |
1874 * include/experimental/utility: Likewise. | |
1875 * include/experimental/vector: Likewise. | |
1876 * include/ext/bitmap_allocator.h: Likewise. | |
1877 * include/ext/codecvt_specializations.h: Likewise. | |
1878 * include/ext/rope: Likewise. | |
1879 * include/ext/typelist.h: Likewise. | |
1880 * include/std/chrono: Likewise. | |
1881 * include/std/complex: Likewise. | |
1882 * include/std/functional: Likewise. | |
1883 * include/std/numeric: Likewise. | |
1884 * include/std/string_view: Likewise. | |
1885 * include/std/thread: Likewise. | |
1886 * include/std/variant: Likewise. | |
1887 * include/tr1/array: Likewise. | |
1888 * include/tr1/bessel_function.tcc: Likewise. | |
1889 * include/tr1/beta_function.tcc: Likewise. | |
1890 * include/tr1/cmath: Likewise. | |
1891 * include/tr1/complex: Likewise. | |
1892 * include/tr1/ell_integral.tcc: Likewise. | |
1893 * include/tr1/exp_integral.tcc: Likewise. | |
1894 * include/tr1/functional: Likewise. | |
1895 * include/tr1/functional_hash.h: Likewise. | |
1896 * include/tr1/gamma.tcc: Likewise. | |
1897 * include/tr1/hashtable.h: Likewise. | |
1898 * include/tr1/hashtable_policy.h: Likewise. | |
1899 * include/tr1/hypergeometric.tcc: Likewise. | |
1900 * include/tr1/legendre_function.tcc: Likewise. | |
1901 * include/tr1/modified_bessel_func.tcc: Likewise. | |
1902 * include/tr1/poly_hermite.tcc: Likewise. | |
1903 * include/tr1/poly_laguerre.tcc: Likewise. | |
1904 * include/tr1/random.h: Likewise. | |
1905 * include/tr1/random.tcc: Likewise. | |
1906 * include/tr1/regex: Likewise. | |
1907 * include/tr1/riemann_zeta.tcc: Likewise. | |
1908 * include/tr1/shared_ptr.h: Likewise. | |
1909 * include/tr1/special_function_util.h: Likewise. | |
1910 * include/tr1/tuple: Likewise. | |
1911 * include/tr1/type_traits: Likewise. | |
1912 * include/tr1/unordered_map.h: Likewise. | |
1913 * include/tr1/unordered_set.h: Likewise. | |
1914 * include/tr1/utility: Likewise. | |
1915 * include/tr2/bool_set: Likewise. | |
1916 * include/tr2/bool_set.tcc: Likewise. | |
1917 * include/tr2/dynamic_bitset: Likewise. | |
1918 * include/tr2/dynamic_bitset.tcc: Likewise. | |
1919 * include/tr2/ratio: Likewise. | |
1920 * include/tr2/type_traits: Likewise. | |
1921 * src/c++11/chrono.cc: Likewise. | |
1922 * src/c++11/compatibility-c++0x.cc: Likewise. | |
1923 * src/c++11/compatibility-chrono.cc: Likewise. | |
1924 * src/c++11/cxx11-shim_facets.cc: Likewise. | |
1925 * src/c++11/hashtable_c++0x.cc: Likewise. | |
1926 * src/c++11/placeholders.cc: Likewise. | |
1927 * src/c++11/thread.cc: Likewise. | |
1928 * src/c++98/bitmap_allocator.cc: Likewise. | |
1929 * src/c++98/hashtable_tr1.cc: Likewise. | |
1930 * src/c++98/list.cc: Likewise. | |
1931 * src/shared/hashtable-aux.cc: Likewise. | |
1932 * testsuite/20_util/duration/literals/range.cc: Adapt line number. | |
1933 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. | |
1934 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. | |
1935 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. | |
1936 * testsuite/20_util/forward/c_neg.cc: Likewise. | |
1937 * testsuite/20_util/forward/f_neg.cc: Likewise. | |
1938 * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. | |
1939 * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. | |
1940 * testsuite/26_numerics/random/pr60037-neg.cc: Likewise. | |
1941 * python/libstdcxx/v6/printers.py: Adapt. | |
1942 | |
1943 2017-07-20 Jonathan Wakely <jwakely@redhat.com> | |
1944 | |
1945 * config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__] | |
1946 (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define. | |
1947 * config/allocator/new_allocator_base.h [__SANITIZE_ADDRESS__] | |
1948 (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define. | |
1949 * doc/xml/manual/using.xml (_GLIBCXX_SANITIZE_VECTOR): Document macro. | |
1950 * include/bits/stl_vector.h [_GLIBCXX_SANITIZE_VECTOR] | |
1951 (_Vector_impl::_Asan, _Vector_impl::_Asan::_Reinit) | |
1952 (_Vector_impl::_Asan::_Grow, _GLIBCXX_ASAN_ANNOTATE_REINIT) | |
1953 (_GLIBCXX_ASAN_ANNOTATE_GROW, _GLIBCXX_ASAN_ANNOTATE_GREW) | |
1954 (_GLIBCXX_ASAN_ANNOTATE_SHRINK, _GLIBCXX_ASAN_ANNOTATE_BEFORE_DEALLOC): | |
1955 Define annotation helper types and macros. | |
1956 (vector::~vector, vector::push_back, vector::pop_back) | |
1957 (vector::_M_erase_at_end): Add annotations. | |
1958 * include/bits/vector.tcc (vector::reserve, vector::emplace_back) | |
1959 (vector::insert, vector::_M_erase, vector::operator=) | |
1960 (vector::_M_fill_assign, vector::_M_assign_aux) | |
1961 (vector::_M_insert_rval, vector::_M_emplace_aux) | |
1962 (vector::_M_insert_aux, vector::_M_realloc_insert) | |
1963 (vector::_M_fill_insert, vector::_M_default_append) | |
1964 (vector::_M_shrink_to_fit, vector::_M_range_insert): Annotate. | |
1965 | |
1966 2017-07-19 Jonathan Wakely <jwakely@redhat.com> | |
1967 | |
1968 PR libstdc++/81476 | |
1969 * include/bits/vector.tcc (vector::_M_range_insert<_InputIterator>): | |
1970 Only insert elements one-by-one when inserting at the end. | |
1971 * testsuite/performance/23_containers/insert/81476.cc: New. | |
1972 | |
1973 2017-07-19 Volker Reichelt <v.reichelt@netcologne.de> | |
1974 | |
1975 * libsupc++/new (bad_array_new_length): Remove redundant | |
1976 semicolon after in-class member function definition. | |
1977 * include/bits/locale_facets.h (ctype_byname, num_put): Likewise. | |
1978 * include/bits/locale_facets_nonio.h (time_put_byname): Likewise. | |
1979 * include/bits/random.h (mersenne_twister_engine): Likewise. | |
1980 * include/tr1/random.h (mersenne_twister): Likewise | |
1981 * include/ext/random (simd_fast_mersenne_twister_engine): Likewise. | |
1982 * include/ext/rope (char_producer, _Rope_char_consumer, | |
1983 _Rope_self_destruct_ptr, _Rope_const_iterator, _Rope_iterator): | |
1984 Likewise. | |
1985 * include/ext/ropeimpl.h (_Rope_flatten_char_consumer, | |
1986 _Rope_insert_char_consumer): Likewise. | |
1987 | |
1988 2017-07-19 Jonathan Wakely <jwakely@redhat.com> | |
1989 | |
1990 * include/bits/fstream.tcc (basic_filebuf::xsgetn) | |
1991 (basic_filebuf::xsputn, basic_filebuf::seekoff): Fix indentation. | |
1992 | |
1993 * testsuite/util/testsuite_iterators.h: Fix indentation. | |
1994 | |
1995 * testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: Add dg-require. | |
1996 | |
1997 2017-07-18 Jonathan Wakely <jwakely@redhat.com> | |
1998 | |
1999 PR libstdc++/81395 | |
2000 * include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer | |
2001 pointers for write mode after reading. | |
2002 * testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New. | |
2003 | |
2004 2017-07-18 François Dumont <fdumont@gcc.gnu.org> | |
2005 | |
2006 * include/bits/stl_list.h | |
2007 (struct _List_node_header): New. | |
2008 (_List_impl()): Fix noexcept qualification. | |
2009 (_List_impl(_List_impl&&)): New, default. | |
2010 (_List_base()): Default. | |
2011 (_List_base(_List_base&&)): Default. | |
2012 (_List_base::_M_move_nodes): Adapt to use | |
2013 _List_node_header._M_move_nodes. | |
2014 (_List_base::_M_init): Likewise. | |
2015 (list<>()): Default. | |
2016 (list<>(list&&)): Default. | |
2017 (list<>::_M_move_assign(list&&, true_type)): Use _M_move_nodes. | |
2018 (__distance(_List_const_iterator<>, _List_const_iterator<>, | |
2019 input_iterator_tag)): Adapt. | |
2020 * testsuite/23_containers/list/allocator/default_init.cc: New. | |
2021 | |
2022 2017-07-15 Jonathan Wakely <jwakely@redhat.com> | |
2023 | |
2024 * include/std/mutex (scoped_lock): Reorder std::adopt_lock_t parameter | |
2025 as per P0739R0. | |
2026 * testsuite/30_threads/scoped_lock/cons/1.cc: Reorder arguments. | |
2027 * testsuite/30_threads/scoped_lock/cons/deduction.cc: Test deduction | |
2028 with std::adopt_lock_t. | |
2029 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Check | |
2030 feature-test macro. | |
2031 | |
2032 2017-07-14 Jason Merrill <jason@redhat.com> | |
2033 Jonathan Wakely <jwakely@redhat.com> | |
2034 | |
2035 * include/std/variant (variant::variant(_Tp&&)): Constrain to remove | |
2036 the constructor for empty variants from the candidate functions | |
2037 during class template argument deduction. | |
2038 * testsuite/20_util/variant/deduction.cc: New. | |
2039 | |
2040 2017-07-11 Jonathan Wakely <jwakely@redhat.com> | |
2041 | |
2042 * doc/xml/faq.xml: Update several old entries. Improve | |
2043 cross-references. | |
2044 * doc/xml/manual/intro.xml: Add anchors to each DR. | |
2045 * doc/html/*: Regenerate. | |
2046 | |
2047 2017-07-10 Jonathan Wakely <jwakely@redhat.com> | |
2048 | |
2049 * testsuite/abi/pr42230.cc: Add header for std::free. | |
2050 | |
2051 PR libstdc++/81381 | |
2052 * include/bits/sstream.tcc (basic_stringbuf::overflow) | |
2053 (basic_stringbuf::basic_stringbuf(const __string_type&, ios::mode)) | |
2054 (basic_stringbuf::str()): Construct new strings with an allocator. | |
2055 * testsuite/27_io/basic_stringbuf/cons/81381.cc: New. | |
2056 | |
2057 PR libstdc++/81338 | |
2058 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): | |
2059 Declare basic_stringbuf to be a friend. | |
2060 * include/bits/sstream.tcc (basic_stringbuf::overflow) | |
2061 [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating. | |
2062 * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string | |
2063 length to buffer length. | |
2064 * testsuite/27_io/basic_stringstream/assign/81338.cc: New. | |
2065 | |
2066 2017-07-06 Jonathan Wakely <jwakely@redhat.com> | |
2067 | |
2068 * testsuite/20_util/specialized_algorithms/memory_management_tools/ | |
2069 1.cc: Free memory. | |
2070 * testsuite/22_locale/locale/cons/5.cc: Remove redundant restoration | |
2071 of original environment and free memory. | |
2072 | |
2073 * testsuite/abi/pr42230.cc: Free memory. | |
2074 * testsuite/util/testsuite_abi.cc (demangle): Return std::string | |
2075 instead of pointer that might need freeing. | |
2076 * testsuite/util/testsuite_abi.h (demangle): Likewise. | |
2077 * testsuite/util/testsuite_hooks.cc (verify_demangle): Free memory. | |
2078 | |
2079 * include/bits/uses_allocator.h (__use_alloc(const _Alloc&&)): Add | |
2080 deleted overload to prevent dangling references to rvalues. | |
2081 * include/experimental/memory_resource | |
2082 (polymorphic_allocator::construct): Do not call __use_alloc with | |
2083 rvalue arguments. | |
2084 | |
2085 2017-06-27 Tim Shen <timshen@google.com> | |
2086 | |
2087 PR libstdc++/80187 | |
2088 * include/std/variant (variant::variant, variant::~variant, | |
2089 variant::operator=): Implement triviality forwarding for four | |
2090 special member functions. | |
2091 * testsuite/20_util/variant/compile.cc: Tests. | |
2092 | |
2093 2017-06-27 Jonathan Wakely <jwakely@redhat.com> | |
2094 | |
2095 PR libstdc++/81221 | |
2096 * testsuite/25_algorithms/sample/81221.cc: Disable except for | |
2097 check-parallel. | |
2098 | |
2099 PR libstdc++/81221 | |
2100 * include/bits/stl_algo.h (sample): Qualify with _GLIBCXX_STD_A not | |
2101 std. | |
2102 * testsuite/25_algorithms/sample/81221.cc: New. | |
2103 | |
2104 2017-06-22 Jonathan Wakely <jwakely@redhat.com> | |
2105 | |
2106 PR libstdc++/81173 | |
2107 * include/bits/stl_bvector.h (vector<bool>::_M_initialize_value): | |
2108 Do not pass null pointer to memset. | |
2109 | |
2110 2017-06-21 Ville Voutilainen <ville.voutilainen@gmail.com> | |
2111 | |
2112 PR libstdc++/80675 | |
2113 PR libstdc++/80940 | |
2114 * include/std/istream: | |
2115 (__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New. | |
2116 (__do_is_convertible_to_basic_istream_impl): Likewise. | |
2117 (__is_convertible_to_basic_istream_impl): Likewise. | |
2118 (__is_convertible_to_basic_istream): Use the new base. | |
2119 (__rvalue_istream_type): New. | |
2120 (operator>>(_Istream&&, _Tp&&)): Use the new helper alias | |
2121 for the SFINAE check, convert to the helper alias type before | |
2122 doing the actual extraction. | |
2123 * include/std/ostream: | |
2124 (__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New. | |
2125 (__do_is_convertible_to_basic_ostream_impl): Likewise. | |
2126 (__is_convertible_to_basic_ostream_impl): Likewise. | |
2127 (__is_convertible_to_basic_ostream): Use the new base. | |
2128 (__rvalue_ostream_type): New. | |
2129 (operator<<(_Ostream&&, const _Tp&)): Use the new helper alias | |
2130 for the SFINAE check, convert to the helper alias type before | |
2131 doing the actual insertion. | |
2132 * testsuite/27_io/rvalue_streams-2.cc: Add new tests. | |
2133 | |
2134 2017-06-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | |
2135 | |
2136 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. | |
2137 | |
2138 2017-06-21 Jonathan Wakely <jwakely@redhat.com> | |
2139 | |
2140 PR libstdc++/81092 | |
2141 * configure: Regenerate. | |
2142 | |
2143 2017-06-20 Uros Bizjak <ubizjak@gmail.com> | |
2144 | |
2145 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. | |
2146 | |
2147 2017-06-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
2148 | |
2149 * testsuite/20_util/variant/index_type.cc: Allow for all ilp32 and | |
2150 lp64 targets. | |
2151 | |
2152 2017-06-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
2153 | |
2154 * config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate. | |
2155 * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise. | |
2156 * config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise. | |
2157 * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise. | |
2158 * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise. | |
2159 * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: | |
2160 Likewise. | |
2161 * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise. | |
2162 * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: | |
2163 Likewise. | |
2164 | |
2165 2017-06-18 H.J. Lu <hongjiu.lu@intel.com> | |
2166 | |
2167 PR libstdc++/81092 | |
2168 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. | |
2169 | |
2170 2017-06-18 Andreas Schwab <schwab@linux-m68k.org> | |
2171 | |
2172 PR libstdc++/81092 | |
2173 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. | |
2174 | |
2175 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
2176 | |
2177 * testsuite: Remove dg-skip-if, dg-xfail-if, dg-xfail-run-if | |
2178 default args. | |
2179 | |
2180 2017-06-17 Jonathan Wakely <jwakely@redhat.com> | |
2181 | |
2182 PR libstdc++/80893 | |
2183 * testsuite/23_containers/vector/bool/80893.cc: Add { target c++11 }. | |
2184 | |
2185 2017-06-16 Jonathan Wakely <jwakely@redhat.com> | |
2186 | |
2187 * include/bits/shared_ptr.h (get_deleter): Add overload matching | |
2188 standard signature. | |
2189 * include/bits/shared_ptr_base.h (__shared_ptr): Declare new | |
2190 get_deleter overload as a friend. | |
2191 * testsuite/20_util/shared_ptr/misc/get_deleter.cc: New. | |
2192 | |
2193 2017-06-16 Jakub Jelinek <jakub@redhat.com> | |
2194 | |
2195 PR libstdc++/81092 | |
2196 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. | |
2197 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. | |
2198 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. | |
2199 | |
2200 2017-06-16 Jonathan Wakely <jwakely@redhat.com> | |
2201 | |
2202 * include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition. | |
2203 * testsuite/22_locale/conversions/buffer/2.cc: New. | |
2204 | |
2205 PR libstdc++/81092 | |
2206 * acinclude.m4: Bump libtool_VERSION. | |
2207 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. | |
2208 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. | |
2209 * config/abi/pre/gnu.ver: Add wstring constructor symbols to | |
2210 GLIBCXX_3.4.24 version and move random_device::_M_get_entropy() symbol | |
2211 to new GLIBCXX_3.4.25 version. | |
2212 * doc/xml/manual/abi.xml: Document new versions. | |
2213 * doc/html/*: Regenerate. | |
2214 * testsuite/21_strings/basic_string/cons/char/8.cc: Use base object | |
2215 constructors to ensure required symbols are exported. | |
2216 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. | |
2217 * testsuite/util/testsuite_abi.cc: Add new version. | |
2218 | |
2219 * include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing | |
2220 return statement. | |
2221 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: | |
2222 Return void. | |
2223 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: | |
2224 Likewise. | |
2225 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add | |
2226 missing return statements. | |
2227 * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: | |
2228 Likewise. | |
2229 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: | |
2230 Return void. | |
2231 * testsuite/special_functions/14_expint/pr68397.cc: Likewise. | |
2232 | |
2233 2017-06-16 François Dumont <fdumont@gcc.gnu.org> | |
2234 | |
2235 * include/bits/stl_bvector.h | |
2236 (__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)): | |
2237 Change signature. | |
2238 (std::fill(_Bit_iterator, _Bit_iterator, bool)): Adapt. | |
2239 (_Bvector_impl_data): New. | |
2240 (_Bvector_impl): Inherits from latter. | |
2241 (_Bvector_impl(_Bit_alloc_type&&)): Delete. | |
2242 (_Bvector_impl(_Bvector_impl&&)): New, default. | |
2243 (_Bvector_base()): Default. | |
2244 (_Bvector_base(_Bvector_base&&)): Default. | |
2245 (_Bvector_base::_M_move_data(_Bvector_base&&)): New. | |
2246 (vector(vector&&, const allocator_type&)): Use latter. | |
2247 (vector<bool>::operator=(vector&&)): Likewise. | |
2248 (vector<bool>::vector()): Default. | |
2249 (vector<bool>::vector(vector&&)): Default. | |
2250 (vector<bool>::assign(_InputIterator, _InputIterator)): Use | |
2251 _M_assign_aux. | |
2252 (vector<bool>::assign(initializer_list<bool>)): Likewise. | |
2253 (vector<bool>::_M_initialize_value(bool)): New. | |
2254 (vector<bool>(size_type, const bool&, const allocator_type&)): Use | |
2255 latter. | |
2256 (vector<bool>::_M_initialize_dispatch(_Integer, _Integer, __true_type)): | |
2257 Likewise. | |
2258 (vector<bool>::_M_fill_assign(size_t, bool)): Likewise. | |
2259 | |
2260 2017-06-15 François Dumont <fdumont@gcc.gnu.org> | |
2261 | |
2262 * src/c++98/tree.cc [!_GLIBCXX_INLINE_VERSION] | |
2263 (_Rb_tree_rotate_left, _Rb_tree_rotate_right): Delete. | |
2264 | |
2265 2017-06-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
2266 | |
2267 * testsuite: Add dg-require-effective-target pthread to -pthread | |
2268 tests. | |
2269 Remove explicit target lists from dg-do and dg-options. | |
2270 | |
2271 * testsuite/30_threads/async/forced_unwind.cc: Remove explit | |
2272 target list from dg-options. | |
2273 * testsuite/30_threads/packaged_task/forced_unwind.cc: Likewise. | |
2274 | |
2275 * 30_threads/shared_mutex/cons/1.cc: Likewise. | |
2276 Pass -pthread for all targets. | |
2277 * 30_threads/shared_mutex/try_lock/1.cc: Likewise. | |
2278 * 30_threads/shared_mutex/try_lock/2.cc: Likewise. | |
2279 * 30_threads/shared_mutex/unlock/1.cc: Likewise. | |
2280 | |
2281 * testsuite/30_threads/this_thread/57060.cc: Require c++11 via | |
2282 dg-require-effective-target. | |
2283 | |
2284 2017-06-14 Jonathan Wakely <jwakely@redhat.com> | |
2285 | |
2286 * doc/xml/manual/test.xml: Correct instructions on running tests. | |
2287 * testsuite/21_strings/basic_string/cons/char/deduction.cc: Adjust to | |
2288 pass when -D_GLIBCXX_USE_CXX11_ABI=0 added to RUNTESTFLAGS. | |
2289 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: | |
2290 Likewise. | |
2291 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise. | |
2292 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. | |
2293 * testsuite/27_io/basic_istream/extractors_arithmetic/char/ | |
2294 exceptions_failbit.cc: Likewise. | |
2295 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ | |
2296 exceptions_failbit.cc: Likewise. | |
2297 * testsuite/27_io/basic_istream/extractors_other/char/ | |
2298 exceptions_null.cc: Likewise. | |
2299 * testsuite/27_io/basic_istream/extractors_other/wchar_t/ | |
2300 exceptions_null.cc: Likewise. | |
2301 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. | |
2302 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. | |
2303 * testsuite/27_io/basic_ostream/inserters_other/char/ | |
2304 exceptions_null.cc: Likewise. | |
2305 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ | |
2306 exceptions_null.cc: Likewise. | |
2307 * testsuite/27_io/ios_base/storage/2.cc: Likewise. | |
2308 | |
2309 2017-06-12 Pedro Alves <palves@redhat.com> | |
2310 | |
2311 * doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr | |
2312 char_traits status. | |
2313 * doc/html/*: Regenerate. | |
2314 | |
2315 * include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if | |
2316 not already defined. | |
2317 (__cpp_lib_constexpr_char_traits): Uncomment. | |
2318 (__constant_string_p, __constant_char_array_p): New. | |
2319 (std::char_traits<char>, std::char_traits<wchar_t>): Add | |
2320 _GLIBCXX17_CONSTEXPR on compare, length and find and use | |
2321 __constant_string_p, __constant_char_array_p and | |
2322 __builtin_constant_p to defer to __gnu_cxx::char_traits at compile | |
2323 time. | |
2324 | |
2325 * testsuite/21_strings/char_traits/requirements/ | |
2326 constexpr_functions_c++17.cc: Uncomment | |
2327 __cpp_lib_constexpr_char_traits tests. Uncomment | |
2328 test_compare<char>, test_length<char>, test_find<char>, | |
2329 test_compare<wchar_t>, test_length<wchar_t> and test_find<wchar_t> | |
2330 static_assert tests. | |
2331 | |
2332 2017-06-12 François Dumont <fdumont@gcc.gnu.org> | |
2333 | |
2334 * include/bits/stl_tree.h (_Rb_tree_impl()): Restore _Node_allocator | |
2335 default init. | |
2336 * testsuite/util/testsuite_allocator.h | |
2337 (__gnu_test::default_init_allocator<>) New. | |
2338 * testsuite/23_containers/set/allocator/default_init.cc: New. | |
2339 * testsuite/23_containers/map/allocator/default_init.cc: New. | |
2340 | |
2341 2017-06-12 Jonathan Wakely <jwakely@redhat.com> | |
2342 | |
2343 PR libstdc++/55917 | |
2344 * src/c++11/thread.cc (execute_native_thread_routine): Remove | |
2345 try-block so that exceptions propagate out of the thread and terminate | |
2346 is called by the exception-handling runtime. | |
2347 (execute_native_thread_routine_compat): Likewise. | |
2348 * testsuite/30_threads/thread/cons/terminate.cc: New. | |
2349 | |
2350 2017-06-09 Jonathan Wakely <jwakely@redhat.com> | |
2351 | |
2352 * doc/xml/manual/intro.xml: Document LWG 2802, 2873 and 2942 changes. | |
2353 * include/bits/shared_ptr.h (shared_ptr): Use rvalues for deleters | |
2354 (LWG 2802). | |
2355 * include/bits/shared_ptr_base.h (_Sp_ebo_helper, _Sp_counted_deleter | |
2356 (_Sp_counted_deleter::_Impl, __shared_count, __shared_ptr): Likewise. | |
2357 * testsuite/20_util/shared_ptr/cons/lwg2802.cc: New. | |
2358 | |
2359 * include/bits/forward_list.h (forward_list): Add deduction guide. | |
2360 * include/bits/stl_deque.h (deque): Likewise. | |
2361 * include/bits/stl_list.h (list): Likewise. | |
2362 * include/bits/stl_vector.h (vector): Likewise. | |
2363 * testsuite/23_containers/deque/cons/deduction.cc: New. | |
2364 * testsuite/23_containers/forward_list/cons/deduction.cc: New. | |
2365 * testsuite/23_containers/list/cons/deduction.cc: New. | |
2366 * testsuite/23_containers/vector/cons/deduction.cc: New. | |
2367 | |
2368 2017-06-08 Jonathan Wakely <jwakely@redhat.com> | |
2369 | |
2370 PR libstdc++/81017 | |
2371 * include/bits/std_function.h (function::function(function&&)) | |
2372 (function::operator=(funtion&&)): Add noexcept. | |
2373 * testsuite/20_util/function/assign/move.cc: Check for noexcept. | |
2374 * testsuite/20_util/function/cons/move.cc: Likewise. | |
2375 | |
2376 2017-06-07 Jonathan Wakely <jwakely@redhat.com> | |
2377 | |
2378 * include/bits/regex.h (basic_regex): Add deduction guide from P0433. | |
2379 * testsuite/28_regex/basic_regex/ctors/deduction.cc: New. | |
2380 | |
2381 PR libstdc++/81002 | |
2382 * include/bits/regex.h (basic_regex): Adjust call to __compile_nfa | |
2383 so iterator type is deduced. | |
2384 * include/bits/regex_compiler.h (__compile_nfa): Reorder template | |
2385 parameters to allow iterator type to be deduced. | |
2386 * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New. | |
2387 | |
2388 * include/bits/alloc_traits.h (__is_allocator, _RequireAllocator): | |
2389 New trait and alias for detecting Allocator-like types. | |
2390 * include/bits/basic_string.h (basic_string): Add deduction guide | |
2391 from P0433. | |
2392 * include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): Add template | |
2393 parameter with default template argument that causes substitution | |
2394 failures for types that cannot be allocators. | |
2395 * testsuite/21_strings/basic_string/cons/char/deduction.cc: New. | |
2396 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: New. | |
2397 | |
2398 2017-06-02 Jonathan Wakely <jwakely@redhat.com> | |
2399 | |
2400 PR libstdc++/80939 | |
2401 * include/std/variant (__erased_ctor, __erased_assign, __erased_swap) | |
2402 (__erased_hash): Remove constexpr specifier and qualify calls to | |
2403 __ref_cast. | |
2404 (__erased_dtor): Remove constexpr specifier and use _Destroy. | |
2405 | |
2406 2017-06-05 Jonathan Wakely <jwakely@redhat.com> | |
2407 | |
2408 * include/bits/stl_iterator_base_funcs.h | |
2409 (__advance<_RandomAccessIterator, _Distance>): Optimize for next/prev | |
2410 cases where incrementing or decrementing a single step. | |
2411 | |
2412 * include/bits/shared_ptr_base.h (__shared_ptr::owner_before) | |
2413 (__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept | |
2414 specifiers as per LWG 2873 and LWG 2942. | |
2415 * testsuite/20_util/owner_less/noexcept.cc: New. | |
2416 * testsuite/20_util/shared_ptr/observers/owner_before.cc: Test | |
2417 noexcept guarantees. | |
2418 * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. | |
2419 | |
2420 2017-06-03 Andreas Schwab <schwab@linux-m68k.org> | |
2421 | |
2422 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. | |
2423 | |
2424 2017-06-03 Eric Botcazou <ebotcazou@adacore.com> | |
2425 | |
2426 * src/filesystem/dir.cc (fs::_Dir::advance): Use std::exchange. | |
2427 | |
2428 2017-06-02 Jonathan Wakely <jwakely@redhat.com> | |
2429 | |
2430 PR libstdc++/80624 | |
2431 * doc/xml/manual/status_cxx2011.xml: Document to_int_type behaviour. | |
2432 * include/bits/char_traits.h (char_traits<char16_t>::to_int_type): | |
2433 Transform eof value to U+FFFD. | |
2434 * testsuite/21_strings/char_traits/requirements/char16_t/eof.cc: New. | |
2435 * testsuite/27_io/basic_streambuf/sgetc/char16_t/80624.cc: New. | |
2436 * testsuite/27_io/basic_streambuf/sputc/char16_t/80624.cc: New. | |
2437 | |
2438 * libsupc++/Makefile.am: Remove custom targets for files that need to | |
2439 be compiled as C++11 or C++14. | |
2440 * libsupc++/Makefile.in: Regenerate. | |
2441 * libsupc++/del_ops.cc: Use pragma to disable -Wsized-deallocation | |
2442 warnings. | |
2443 * libsupc++/del_opvs.cc: Likewise. | |
2444 | |
2445 2017-06-02 Richard Biener <rguenther@suse.de> | |
2446 Markus Eisenmann <meisenmann.lba@fh-salzburg.ac.at> | |
2447 | |
2448 PR libstdc++/80721 | |
2449 * libsupc++/eh_alloc.cc (pool::free): Keep list properly | |
2450 sorted and add missing freelist item merging cases. | |
2451 | |
2452 2017-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
2453 | |
2454 (GLIBCXX_CROSSCONFIG): Handle *-solaris* like *-linux* etc. | |
2455 Remove *-solaris* section. | |
2456 * configure: Regenerate. | |
2457 | |
2458 2017-05-31 Jonathan Wakely <jwakely@redhat.com> | |
2459 | |
2460 PR libstdc++/80893 | |
2461 * include/bits/stl_bvector.h (vector<bool>::_M_initialize): Avoid | |
2462 null pointer dereference when size is zero. | |
2463 * testsuite/23_containers/vector/bool/80893.cc: New. | |
2464 * testsuite/util/testsuite_allocator.h (PointerBase::PointerBase): | |
2465 Add non-explicit constructor from nullptr. | |
2466 (PointerBase::derived() const): Add const-qualified overload. | |
2467 | |
2468 2017-05-20 Tim Shen <timshen@google.com> | |
2469 | |
2470 PR libstdc++/80737 | |
2471 * include/std/variant(variant::variant): SFINAE on is_same first. | |
2472 * testsuite/20_util/variant/any.cc: test case. | |
2473 | |
2474 2017-05-24 Jonathan Wakely <jwakely@redhat.com> | |
2475 | |
2476 * src/c++11/random.cc (random_device::_M_getentropy): Use __CHAR_BIT__ | |
2477 instead of fixed number of bits. | |
2478 | |
2479 2017-05-24 Andreas Schwab <schwab@suse.de> | |
2480 | |
2481 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. | |
2482 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise. | |
2483 | |
2484 2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn> | |
2485 Jonathan Wakely <jwakely@redhat.com> | |
2486 | |
2487 PR libstdc++/67578 | |
2488 * acinclude.m4: Bump libtool_VERSION. | |
2489 * config/abi/pre/gnu.ver: Create GLIBCXX_3.4.24 with new symbol. | |
2490 * config.h.in: Regenerate. | |
2491 * configure: Regenerate. | |
2492 * configure.ac: Add test for <linux/random.h>. | |
2493 * doc/xml/manual/abi.xml: Document new library version. | |
2494 * include/bits/random.h (random_device::entropy) | |
2495 [_GLIBCXX_USE_RANDOM_TR1]: Add call to new _M_getentropy member. | |
2496 (random_device::_M_getentropy): Declare. | |
2497 * src/c++11/random.cc (random_device::_M_getentropy): Define. | |
2498 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.24 to known | |
2499 versions, and make it the latest version. | |
2500 | |
2501 2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn> | |
2502 | |
2503 PR libstdc++/67214 | |
2504 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Add | |
2505 explicit conversion to avoid signed overflow. | |
2506 | |
2507 2017-05-19 Jonathan Wakely <jwakely@redhat.com> | |
2508 | |
2509 PR libstdc++/80796 | |
2510 * include/bits/stl_algo.h (search): Add new overload for C++17. | |
2511 * testsuite/25_algorithms/search/searcher.cc: New. | |
2512 | |
2513 2017-05-18 Jonathan Wakely <jwakely@redhat.com> | |
2514 | |
2515 PR libstdc++/80478 | |
2516 * include/std/functional (_Mem_fn_traits_base): Add specializations | |
2517 for noexcept member function types. | |
2518 * testsuite/20_util/function_objects/mem_fn/80478.cc: New test. | |
2519 | |
2520 2017-05-18 Jonathan Wakely <jwakely@redhat.com> | |
2521 | |
2522 * doc/xml/manual/policy_data_structures.xml: Fix typo. | |
2523 * doc/xml/manual/test_policy_data_structures.xml: Likewise. | |
2524 * doc/html/*: Regenerate. | |
2525 | |
2526 * doc/xml/manual/abi.xml: Document latest library versions. | |
2527 * doc/xml/manual/build_hacking.xml: Document requirement to update | |
2528 abi.xml when bumping library versions. | |
2529 * doc/html/*: Regenerate. | |
2530 | |
2531 2017-05-17 Jonathan Wakely <jwakely@redhat.com> | |
2532 | |
2533 * include/bits/refwrap.h: Fix Doxygen warning. | |
2534 * include/bits/specfun.h: Likewise. | |
2535 * include/bits/std_function.h: Likewise. | |
2536 * include/bits/stl_algo.h (set_union, set_intersection) | |
2537 (set_difference, set_symmetric_difference): Add Doxygen @param tags | |
2538 for output iterator parameters. | |
2539 * include/bits/stl_iterator.h (inserter): Add Doxygen @param tag for | |
2540 iterator parameter. | |
2541 * include/std/mutex (try_lock, lock): Change Mutex to Lockable in | |
2542 Doxygen comments. | |
2543 | |
2544 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com> | |
2545 | |
2546 Implement new C++ intrinsics __is_assignable and __is_constructible. | |
2547 * include/std/type_traits (__do_is_static_castable_impl): Remove. | |
2548 (__is_static_castable_impl, __is_static_castable_safe): Likewise. | |
2549 (__is_static_castable, __do_is_direct_constructible_impl): Likewise. | |
2550 (__is_direct_constructible_impl): Likewise. | |
2551 (__is_direct_constructible_new_safe): Likewise. | |
2552 (__is_base_to_derived_ref, __is_lvalue_to_rvalue_ref): Likewise. | |
2553 (__is_direct_constructible_ref_cast): Likewise. | |
2554 (__is_direct_constructible_new, __is_direct_constructible): Likewise. | |
2555 (__do_is_nary_constructible_impl): Likewise. | |
2556 (__is_nary_constructible_impl, __is_nary_constructible): Likewise. | |
2557 (__is_constructible_impl): Likewise. | |
2558 (is_constructible): Call the intrinsic. | |
2559 (__is_assignable_helper): Remove. | |
2560 (is_assignable): Call the intrinsic. | |
2561 (is_trivially_constructible): Likewise. | |
2562 (__is_trivially_copy_constructible_impl): New. | |
2563 (is_trivially_copy_constructible): Use it. | |
2564 (__is_trivially_move_constructible_impl): New. | |
2565 (is_trivially_move_constructible): Use it. | |
2566 (is_trivially_assignable): Call the intrinsic. | |
2567 (__is_trivially_copy_assignable_impl): New. | |
2568 (is_trivially_copy_assignable): Use it. | |
2569 (__is_trivially_move_assignable_impl): New. | |
2570 (is_trivially_move_assignable): Use it. | |
2571 (testsuite/20_util/declval/requirements/1_neg.cc): Adjust. | |
2572 (testsuite/20_util/is_trivially_copy_assignable/value.cc): | |
2573 Add test for void. | |
2574 (testsuite/20_util/is_trivially_copy_constructible/value.cc): Likewise. | |
2575 (testsuite/20_util/is_trivially_move_assignable/value.cc): Likewise. | |
2576 (testsuite/20_util/is_trivially_move_constructible/value.cc): Likewise. | |
2577 (testsuite/20_util/make_signed/requirements/typedefs_neg.cc): Adjust. | |
2578 (testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc): | |
2579 Likewise. | |
2580 | |
2581 2017-05-16 Jonathan Wakely <jwakely@redhat.com> | |
2582 | |
2583 * testsuite/experimental/source_location/1.cc: Change expected result | |
2584 for source_location::current() used in default member initializer. | |
2585 | |
2586 * doc/xml/manual/status_cxx2017.xml: Update status table. | |
2587 * doc/html/*: Regenerate. | |
2588 * include/Makefile.am: Add new header. | |
2589 * include/Makefile.in: Regenerate. | |
2590 * include/experimental/source_location: New header implementing N4519. | |
2591 * testsuite/experimental/source_location/1.cc: New test. | |
2592 | |
2593 PR libstdc++/80285 | |
2594 * include/bits/shared_ptr_base.h [!__cpp_rtti] (type_info): Declare | |
2595 outside versioned namespace. | |
2596 | |
2597 * configure: Regenerate. | |
2598 | |
2599 2017-05-16 Marc Glisse <marc.glisse@inria.fr> | |
2600 | |
2601 * include/std/optional (_Optional_base::_M_get): Check precondition. | |
2602 * testsuite/20_util/optional/cons/value_neg.cc: Update line numbers. | |
2603 | |
2604 2017-05-16 Jonathan Wakely <jwakely@redhat.com> | |
2605 | |
2606 * doc/xml/manual/appendix_contributing.xml: Link to test docs and | |
2607 note higher DejaGnu version requirement. | |
2608 * doc/html/*: Regenerate. | |
2609 | |
2610 * doc/xml/manual/appendix_contributing.xml: Link to the list of bad | |
2611 identifiers. | |
2612 * doc/html/*: Regenerate. | |
2613 | |
2614 2017-05-15 Jonathan Wakely <jwakely@redhat.com> | |
2615 | |
2616 PR libstdc++/80761 | |
2617 * include/bits/node_handle.h (_Node_insert_return): Reorder members. | |
2618 (tuple_size, tuple_element): Remove partial specializations. | |
2619 * include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use | |
2620 const_iterator for std::set. | |
2621 * testsuite/23_containers/map/modifiers/extract.cc: New. | |
2622 * testsuite/23_containers/set/modifiers/extract.cc: New. | |
2623 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New. | |
2624 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New. | |
2625 | |
2626 2017-05-12 Jonathan Wakely <jwakely@redhat.com> | |
2627 | |
2628 PR libstdc++/78939 | |
2629 * include/std/utility (tuple_size<cv T>): Only define partial | |
2630 specializations when tuple_size<T>::value is valid. | |
2631 * testsuite/20_util/tuple/78939.cc: New. | |
2632 * testsuite/20_util/tuple/cv_tuple_size_neg.cc: New. | |
2633 | |
2634 2017-05-11 François Dumont <fdumont@gcc.gnu.org> | |
2635 | |
2636 * include/bits/stl_tree.h [_GLIBCXX_INLINE_VERSION] | |
2637 (_Rb_tree_impl<>): Remove _Is_pod_comparator | |
2638 template parameter. | |
2639 | |
2640 * include/debug/formatter.h [_GLIBCXX_INLINE_VERSION] | |
2641 (__gnu_debug::_Error_formatter::_Parameter::_M_print_field): Remove. | |
2642 (__gnu_debug::_Error_formatter::_Parameter::_M_print_description): | |
2643 Remove. | |
2644 (__gnu_debug::_Error_formatter::_M_format_word): Remove. | |
2645 (__gnu_debug::_Error_formatter::_M_print_word): Remove. | |
2646 (__gnu_debug::_Error_formatter::_M_print_string): Remove. | |
2647 (__gnu_debug::_Error_formatter::_M_get_max_length): Remove. | |
2648 * src/c++11/debug.cc: Adapt. | |
2649 * config/abi/pre/gnu-versioned-namespace.ver: Adapt. | |
2650 | |
2651 2017-05-11 Jonathan Wakely <jwakely@redhat.com> | |
2652 | |
2653 * doc/xml/manual/allocator.xml: Fix ViewCVS URLs. | |
2654 * doc/xml/manual/mt_allocator.xml: Likewise. | |
2655 * doc/html/*: Regenerate. | |
2656 | |
2657 PR libstdc++/80285 | |
2658 * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Define | |
2659 function to get unique fake std::type_info reference. | |
2660 (_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Compare to | |
2661 _S_ti() fake reference. | |
2662 (__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Share | |
2663 single implementation with or without RTTI enable. | |
2664 [!__cpp_rtti]: Pass fake reference to _M_get_deleter. | |
2665 * testsuite/20_util/shared_ptr/creation/alloc.cc: Change expected | |
2666 allocation and deallocation counts. | |
2667 * testsuite/20_util/shared_ptr/creation/single_allocation.cc: New. | |
2668 * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc: | |
2669 New. | |
2670 | |
2671 2017-05-10 François Dumont <fdumont@gcc.gnu.org> | |
2672 | |
2673 Bump version namespace. | |
2674 * config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace | |
2675 from __7 to __8. Bump GLIBCXX_7.0 to GLIBCXX_8.0. | |
2676 * acinclude.m4 (libtool_VERSION): Bump to 8:0:0. | |
2677 * include/bits/c++config: Adapt. | |
2678 * include/bits/regex.h: Adapt. | |
2679 * include/experimental/bits/fs_fwd.h: Adapt. | |
2680 * include/experimental/bits/lfts_config.h: Adapt. | |
2681 * include/std/variant: Adapt. | |
2682 * python/libstdcxx/v6/printers.py: Adapt. | |
2683 * testsuite/libstdc++-prettyprinters/48362.cc: Adapt. | |
2684 | |
2685 * include/bits/stl_algobase.h (std::__iter_swap<false>): Remove | |
2686 _GLIBCXX_MOVE usage. | |
2687 | |
2688 2017-05-09 Jason Merrill <jason@redhat.com> | |
2689 | |
2690 * testsuite/24_iterators/container_access.cc (test03): Make il3 static. | |
2691 | |
2692 2017-05-08 Jonathan Wakely <jwakely@redhat.com> | |
2693 | |
2694 * include/std/optional: Use a separate static_assert per condition. | |
2695 * testsuite/20_util/optional/cons/value_neg.cc: Update dg-error line | |
2696 numbers. | |
2697 | |
2698 * doc/xml/manual/mt_allocator.xml: Clarify deallocation behaviour. | |
2699 * doc/html/*: Regenerate. | |
2700 | |
2701 2017-05-02 Hugo Beauzée-Luyssen <hugo@beauzee.fr> | |
2702 | |
2703 PR libstdc++/69506 | |
2704 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. | |
2705 | |
2706 2017-04-29 François Dumont <fdumont@gcc.gnu.org> | |
2707 | |
2708 * testsuite/libstdc++-prettyprinters/48362.cc: Replace a regexp-test | |
2709 by a note-test. | |
2710 | |
2711 2017-04-28 Jonathan Wakely <jwakely@redhat.com> | |
2712 | |
2713 PR libstdc++/80553 | |
2714 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static | |
2715 assertions to ensure type is destructible. | |
2716 (destroy_at, destroy, destroy_n): Move from stl_uninitialized.h. | |
2717 * include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n): | |
2718 Move to stl_construct.h. | |
2719 * testsuite/20_util/specialized_algorithms/memory_management_tools/ | |
2720 destroy_neg.cc: New test. | |
2721 * testsuite/23_containers/vector/cons/destructible_neg.cc: New test. | |
2722 | |
2723 * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove | |
2724 superfluous "" in dg-error. | |
2725 | |
2726 2017-04-28 Tom de Vries <tom@codesourcery.com> | |
2727 | |
2728 * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove | |
2729 superfluous '{ target *-*-* }' in dg-(error|warning|message|bogus). | |
2730 | |
2731 2017-04-27 Jonathan Wakely <jwakely@redhat.com> | |
2732 | |
2733 * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp | |
2734 (PB_DS_CLASS_C_DEC::end()): Remove redundant const in cast type. | |
2735 * testsuite/util/testsuite_rng.h (twister_rand_gen::get_prob()): | |
2736 Likewise. | |
2737 | |
2738 2017-04-26 Jonathan Wakely <jwakely@redhat.com> | |
2739 | |
2740 * testsuite/23_containers/deque/allocator/move_assign-2.cc: Improve | |
2741 comment. Ensure first test works because allocator type propagates and | |
2742 not because is_always_equal is true. | |
2743 * testsuite/23_containers/vector/52591.cc: Likewise. Restore original | |
2744 testcase that instantiates the move-assignment operator. | |
2745 | |
2746 2017-04-24 Jonathan Wakely <jwakely@redhat.com> | |
2747 | |
2748 PR libstdc++/80506 | |
2749 * include/bits/random.tcc (gamma_distribution::operator()): Fix magic | |
2750 number used in loop condition. | |
2751 | |
2752 PR libstdc++/80504 | |
2753 * include/bits/refwrap.h (ref, cref): Qualify calls. | |
2754 * testsuite/20_util/reference_wrapper/80504.cc: New test. | |
2755 | |
2756 PR libstdc++/80493 | |
2757 * include/experimental/optional (optional::swap): Fix exception | |
2758 specification. | |
2759 | |
2760 2017-04-21 Jonathan Wakely <jwakely@redhat.com> | |
2761 | |
2762 PR libstdc++/80316 | |
2763 * include/std/future (_State_baseV2::_Setter::operator()): Remove | |
2764 _S_check calls that are done after the pointer to the shared state is | |
2765 already dereferenced. | |
2766 (_State_baseV2::_Setter<_Res, void>): Define specialization for void | |
2767 as partial specialization so it can be defined within the definition | |
2768 of _State_baseV2. | |
2769 (_State_baseV2::__setter): Call _S_check. | |
2770 (_State_baseV2::__setter(promise<void>*)): Add overload for use by | |
2771 promise<void>::set_value and promise<void>::set_value_at_thread_exit. | |
2772 (promise<T>, promise<T&>, promise<void>): Make _State a friend. | |
2773 (_State_baseV2::_Setter<void, void>): Remove explicit specialization. | |
2774 (promise<void>::set_value, promise<void>::set_value_at_thread_exit): | |
2775 Use new __setter overload. | |
2776 * testsuite/30_threads/promise/members/at_thread_exit2.cc: New test. | |
2777 * testsuite/30_threads/promise/members/set_exception.cc: Test | |
2778 promise<T&> and promise<void> specializations. | |
2779 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. | |
2780 Test for no_state error condition. | |
2781 * testsuite/30_threads/promise/members/set_value2.cc: Likewise. | |
2782 | |
2783 * include/backward/auto_ptr.h: Ignore deprecated warnings from use | |
2784 of auto_ptr. | |
2785 * include/bits/shared_ptr.h: Likewise. | |
2786 * include/bits/shared_ptr_base.h: Likewise. | |
2787 * include/bits/unique_ptr.h: Likewise. | |
2788 * libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc: Adjust | |
2789 dg-error lineno. | |
2790 * libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc: Likewise. | |
2791 * libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc: | |
2792 Likewise. | |
2793 * libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: | |
2794 Likewise. | |
2795 | |
2796 2017-04-20 Edward Smith-Rowland <3dw4rd@verizon.net> | |
2797 | |
2798 PR libstdc++/68397 std::tr1::expint fails ... long double arguments. | |
2799 * include/tr1/exp_integral.tcc: Increase iteration limits. | |
2800 * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ | |
2801 pr68397.cc: New test. | |
2802 * testsuite/special_functions/14_expint/pr68397.cc: New test. | |
2803 | |
2804 2017-04-20 Jonathan Wakely <jwakely@redhat.com> | |
2805 | |
2806 PR libstdc++/79862 | |
2807 * include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t) | |
2808 (atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t, | |
2809 (atomic_uint32_t, atomic_int64_t, atomic_uint64_t) | |
2810 (atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t) | |
2811 (atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t) | |
2812 (atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t) | |
2813 (atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t) | |
2814 (atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t) | |
2815 (atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't | |
2816 define. | |
2817 | |
2818 2017-04-19 Jonathan Wakely <jwakely@redhat.com> | |
2819 | |
2820 * doc/xml/manual/abi.xml: Rephrase one of the references to the | |
2821 Itanium C++ ABI. | |
2822 * doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement. | |
2823 * doc/html/*: Regenerate. | |
2824 | |
2825 * libsupc++/new: Update comment on #endif directive. | |
2826 | |
2827 PR libstdc++/80448 | |
2828 * include/experimental/bits/fs_dir.h (directory_iterator) | |
2829 (recursive_directory_iterator): Remove noexcept from defaulted | |
2830 constructors. | |
2831 | |
2832 PR libstdc++/80446 | |
2833 * include/std/type_traits (is_aggregate): Change __has_builtin checks. | |
2834 * libsupc++/new (launder): Likewise. | |
2835 | |
2836 2017-04-18 Jonathan Wakely <jwakely@redhat.com> | |
2837 | |
2838 * include/std/functional (default_searcher, __boyer_moore_array_base) | |
2839 (__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher) | |
2840 (boyer_moore_horspool_searcher): Remove redundant namespace | |
2841 qualification. | |
2842 (default_searcher::operator()): Construct return value early and | |
2843 advance second member in-place. | |
2844 (boyer_moore_horspool_searcher::operator()): Increment random access | |
2845 iterator directly instead of using std::next. | |
2846 (boyer_moore_searcher::operator()): Fix return value. | |
2847 * testsuite/20_util/function_objects/searchers.cc: Check both parts | |
2848 of return values. | |
2849 | |
2850 2017-04-12 Gerald Pfeifer <gerald@pfeifer.com> | |
2851 | |
2852 * doc/xml/faq.xml: Update reference link to C++ ABI for Itanium. | |
2853 * doc/xml/manual/abi.xml. Ditto (thrice). | |
2854 | |
2855 2017-04-03 Jonathan Wakely <jwakely@redhat.com> | |
2856 | |
2857 * doc/xml/manual/status_cxx2017.xml: Remove duplicate table entry. | |
2858 * doc/html/*: Regenerate. | |
2859 | |
2860 * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests | |
2861 that no longer fail. | |
2862 | |
2863 * include/bits/ios_base.h: Correct comment. | |
2864 * testsuite/util/testsuite_hooks.h: Likewise. | |
2865 | |
2866 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table. | |
2867 * doc/xml/manual/appendix_contributing.xml (contrib.organization): Add | |
2868 directories for debug, parallel and profile headers. | |
2869 * doc/html/*: Regenerate. | |
2870 | |
2871 * include/bits/char_traits.h (__gnu_cxx::char_traits): Add | |
2872 _GLIBCXX14_CONSTEXPR on assign, compare, find, and length. | |
2873 (std::char_traits<char>, std::char_traits<wchar_t>): Add | |
2874 _GLIBCXX17_CONSTEXPR on assign. | |
2875 (std::char_traits<char16_t>, std::char_traits<char32_t>): Add | |
2876 _GLIBCXX17_CONSTEXPR on assign, compare, find, and length. | |
2877 * testsuite/21_strings/char_traits/requirements/ | |
2878 constexpr_functions_c++17.cc: New test. | |
2879 | |
2880 2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com> | |
2881 | |
2882 PR libstdc++/79141 | |
2883 * include/bits/stl_pair.h (__nonesuch_no_braces): New. | |
2884 (operator=(typename conditional< | |
2885 __and_<is_copy_assignable<_T1>, | |
2886 is_copy_assignable<_T2>>::value, | |
2887 const pair&, const __nonesuch&>::type)): Change __nonesuch | |
2888 to __nonesuch_no_braces. | |
2889 (operator=(typename conditional< | |
2890 __not_<__and_<is_copy_assignable<_T1>, | |
2891 is_copy_assignable<_T2>>>::value, | |
2892 const pair&, const __nonesuch&>::type)): Likewise. | |
2893 (operator=(typename conditional< | |
2894 __and_<is_move_assignable<_T1>, | |
2895 is_move_assignable<_T2>>::value, | |
2896 pair&&, __nonesuch&&>::type)): Likewise. | |
2897 * testsuite/20_util/pair/79141.cc: New. | |
2898 | |
2899 2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com> | |
2900 | |
2901 Implement std::is_aggregate. | |
2902 * include/std/type_traits (is_aggregate, is_aggregate_v): New. | |
2903 * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: | |
2904 New. | |
2905 * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. | |
2906 * testsuite/20_util/is_aggregate/value.cc: Likewise. | |
2907 | |
2908 2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com> | |
2909 | |
2910 Adjust optional's pretty printer for LWG 2900. | |
2911 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter.__init__): | |
2912 Look at the nested payload in case of non-experimental optional. | |
2913 | |
2914 2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com> | |
2915 | |
2916 Implement LWG 2900, The copy and move constructors | |
2917 of optional are not constexpr. | |
2918 * include/std/optional (_Optional_payload): New. | |
2919 (_Optional_base): Remove the bool parameter. | |
2920 (_Optional_base<_Tp, false>): Remove. | |
2921 (_Optional_base()): Adjust. | |
2922 (_Optional_base(nullopt_t)): Likewise. | |
2923 (_Optional_base(in_place_t, _Args&&...)): Likewise. | |
2924 (_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)): | |
2925 Likewise. | |
2926 (_Optional_base(const _Optional_base&)): Likewise. | |
2927 (_Optional_base(_Optional_base&&)): Likewise. | |
2928 (operator=(const _Optional_base&)): Likewise. | |
2929 (operator=(_Optional_base&&)): Likewise. | |
2930 (~_Optional_base()): Remove. | |
2931 (_M_is_engaged()): Adjust. | |
2932 (_M_get()): Likewise. | |
2933 (_M_construct(_Args&&...)): Likewise. | |
2934 (_M_destruct()): Likewise. | |
2935 (_M_reset()): Likewise. | |
2936 (_Optional_base::_Empty_byte): Remove. | |
2937 (_Optional_base::_M_empty): Remove. | |
2938 (_Optional_base::_M_payload): Adjust. | |
2939 * testsuite/20_util/optional/cons/value_neg.cc: Adjust. | |
2940 * testsuite/20_util/optional/constexpr/cons/value.cc: Add tests. | |
2941 | |
2942 2017-03-28 Jonathan Wakely <jwakely@redhat.com> | |
2943 | |
2944 PR libstdc++/80137 | |
2945 * include/bits/random.tcc (generate_canonical): Use std::nextafter | |
2946 or numeric_limits::epsilon() to reduce out-of-range values. | |
2947 * testsuite/26_numerics/random/uniform_real_distribution/operators/ | |
2948 64351.cc: Verify complexity requirement is met. | |
2949 | |
2950 * doc/xml/manual/abi.xml: Add xml:id anchor. | |
2951 * doc/xml/manual/using.xml (manual.intro.using.macros): Document | |
2952 _GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes. | |
2953 (concurrency.io.structure): Add markup. | |
2954 * doc/html/*: Regenerate. | |
2955 | |
2956 PR libstdc++/80229 | |
2957 * include/bits/shared_ptr_base.h | |
2958 (__shared_ptr::_M_enable_shared_from_this_with): Change parameters to | |
2959 non-const and then use remove_cv to get unqualified type. | |
2960 * testsuite/20_util/enable_shared_from_this/members/const.cc: Don't | |
2961 cast away constness on object created const. | |
2962 * testsuite/20_util/shared_ptr/cons/80229.cc: New test. | |
2963 | |
2964 2017-03-26 Markus Trippelsdorf <markus@trippelsdorf.de> | |
2965 | |
2966 PR libstdc++/80183 | |
2967 * include/bits/stl_tree.h: | |
2968 (_Rb_tree_header::_M_move_data(_Rb_tree_header&)): Also save _M_color. | |
2969 | |
2970 2017-03-23 Jonathan Wakely <jwakely@redhat.com> | |
2971 | |
2972 * testsuite/23_containers/array/tuple_interface/ | |
2973 tuple_element_debug_neg.cc: Adjust dg-error. | |
2974 * testsuite/23_containers/list/operations/78389.cc: Fix less-than to | |
2975 define a valid strict weak ordering. | |
2976 * testsuite/23_containers/priority_queue/67085.cc: Disable test for | |
2977 Debug Mode, due to debug checks making extra copies of predicate. | |
2978 * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: | |
2979 Likewise. | |
2980 | |
2981 * doc/xml/faq.xml: Add link. | |
2982 * doc/xml/manual/backwards_compatibility.xml: Remove outdated | |
2983 information on pre-ISO headers. Replace broken link to C++ FAQ Lite. | |
2984 * doc/xml/manual/io.xml: Update broken link. | |
2985 * doc/html/*: Regenerate. | |
2986 | |
2987 2017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com> | |
2988 | |
2989 Implement LWG 2686, Why is std::hash specialized for error_code, | |
2990 but not error_condition? | |
2991 * include/std/system_error (hash<error_condition>): Define for C++17. | |
2992 * testsuite/20_util/hash/operators/size_t.cc (hash<error_condition>): | |
2993 Instantiate test for error_condition. | |
2994 * testsuite/20_util/hash/requirements/explicit_instantiation.cc | |
2995 (hash<error_condition>): Instantiate hash<error_condition>. | |
2996 | |
2997 * include/bits/c++config (_GLIBCXX17_INLINE): Define. | |
2998 * include/bits/regex_constants.h (All std::regex_constants constants): | |
2999 Add _GLIBCXX17_INLINE as per P0607R0. | |
3000 * include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock): | |
3001 Likewise. | |
3002 * include/bits/stl_pair.h (piecewise_construct): Likewise. | |
3003 * include/bits/uses_allocator.h (allocator_arg, uses_allocator_v) | |
3004 (__is_uses_allocator_constructible_v) | |
3005 (__is_nothrow_uses_allocator_constructible_v): Likewise. | |
3006 * include/std/chrono (treat_as_floating_point_v): Likewise. | |
3007 * include/std/functional (is_bind_expression_v, is_placeholder_v): | |
3008 Likewise. | |
3009 * include/std/optional (nullopt): Likewise. | |
3010 * include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v) | |
3011 ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise. | |
3012 * include/std/system_error (is_error_code_enum_v) | |
3013 (is_error_condition_enum_v): Likewise. | |
3014 * include/std/tuple (tuple_size_v, ignore): Likewise. | |
3015 (ignore): Declare ignore constexpr as per LWG 2773, declare assignment | |
3016 constexpr as per LWG 2933. | |
3017 * include/std/type_traits (All variable templates): Add | |
3018 _GLIBCXX17_INLINE as per P0607R0. | |
3019 * include/std/variant (variant_size_v, variant_npos, __index_of_v) | |
3020 (__tuple_count_v, __exactly_once): Likewise. | |
3021 * testsuite/18_support/headers/new/synopsis.cc | |
3022 (hardware_destructive_interference_size) | |
3023 (hardware_constructive_interference_size): Likewise for commented-out | |
3024 variables. | |
3025 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new | |
3026 test function for constexpr std::ignore (LWG 2773). | |
3027 * testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New | |
3028 test for LWG 2933. | |
3029 | |
3030 2017-03-22 Jonathan Wakely <jwakely@redhat.com> | |
3031 | |
3032 * include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction | |
3033 guides for C++17. | |
3034 * include/bits/std_function.h (function): Likewise. | |
3035 * include/bits/stl_pair.h (pair): Likewise. | |
3036 * include/debug/array (__gnu_debug::array): Likewise. | |
3037 * include/std/array (array): Likewise. | |
3038 * include/std/functional (make_default_searcher) | |
3039 (make_boyer_moore_searcher, make_boyer_moore_horspool_searcher): | |
3040 Remove generator functions. | |
3041 * include/std/tuple (tuple): Add deduction guides. | |
3042 * include/std/valarray (valarray): Likewise. | |
3043 * testsuite/20_util/function_objects/searchers.cc: Adjust to use | |
3044 class template argument deduction instead of generator functions. | |
3045 * testsuite/20_util/function/cons/deduction.cc: New test. | |
3046 * testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ... | |
3047 * testsuite/20_util/optional/cons/deduction.cc: ... here. | |
3048 * testsuite/20_util/pair/cons/deduction.cc: New test. | |
3049 * testsuite/20_util/shared_ptr/cons/deduction.cc: New test. | |
3050 * testsuite/20_util/tuple/cons/deduction.cc: New test. | |
3051 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error. | |
3052 * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test. | |
3053 * testsuite/20_util/weak_ptr/cons/deduction.cc: New test. | |
3054 * testsuite/23_containers/array/cons/deduction.cc: New test. | |
3055 * testsuite/23_containers/array/cons/deduction_neg.cc: New test. | |
3056 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: | |
3057 Adjust dg-error. | |
3058 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. | |
3059 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: | |
3060 Likewise. | |
3061 * testsuite/26_numerics/valarray/deduction.cc: New test. | |
3062 * testsuite/30_threads/lock_guard/cons/deduction.cc: New test. | |
3063 * testsuite/30_threads/scoped_lock/cons/deduction.cc: New test. | |
3064 * testsuite/30_threads/unique_lock/cons/deduction.cc: New test. | |
3065 | |
3066 2017-03-20 François Dumont <fdumont@gcc.gnu.org> | |
3067 | |
3068 * include/bits/stl_deque.h (deque): Access allocator value_type only if | |
3069 concept checks are enabled. | |
3070 * include/bits/stl_stack.h (stack): Likewise. | |
3071 * include/bits/stl_vector.h (vector): Likewise. | |
3072 * include/bits/stl_list.h (list): Likewise and check | |
3073 _SGIAssignableConcept only in C++03. | |
3074 * include/bits/stl_map.h (map): Likewise. | |
3075 * include/bits/stl_set.h (set): Likewise. | |
3076 * include/bits/stl_multimap.h (multimap): Likewise. | |
3077 * include/bits/stl_multiset.h (multiset): Likewise. | |
3078 * include/bits/stl_queue.h (queue, priority_queue): Likewise. | |
3079 | |
3080 2017-03-18 Gerald Pfeifer <gerald@pfeifer.com> | |
3081 | |
3082 * doc/xml/manual/appendix_contributing.xml: Convert link to | |
3083 ansi.org to https. | |
3084 Update link to the C++ standard at ansi.org. | |
3085 | |
3086 * doc/xml/faq.xml: Remove information redundant with the above; | |
3087 instead add a reference. | |
3088 | |
3089 2017-03-17 Jonathan Wakely <jwakely@redhat.com> | |
3090 | |
3091 * src/c++11/codecvt.cc (range): Add non-type template parameter and | |
3092 define oerloaded operators for reading and writing code units. | |
3093 (range<Elem, false>): Define partial specialization for accessing | |
3094 wide characters in potentially unaligned byte ranges. | |
3095 (ucs2_span(const char16_t*, const char16_t*, ...)) | |
3096 (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters | |
3097 to range<const char16_t, false> in order to avoid unaligned reads. | |
3098 (__codecvt_utf16_base<char16_t>::do_out) | |
3099 (__codecvt_utf16_base<char32_t>::do_out) | |
3100 (__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for | |
3101 unaligned data to avoid unaligned writes. | |
3102 (__codecvt_utf16_base<char16_t>::do_in) | |
3103 (__codecvt_utf16_base<char32_t>::do_in) | |
3104 (__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return | |
3105 error if there are unprocessable trailing bytes. | |
3106 (__codecvt_utf16_base<char16_t>::do_length) | |
3107 (__codecvt_utf16_base<char32_t>::do_length) | |
3108 (__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type | |
3109 range<const char16_t, false> to span functions. | |
3110 * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. | |
3111 | |
3112 2017-03-16 Jonathan Wakely <jwakely@redhat.com> | |
3113 | |
3114 PR libstdc++/79980 | |
3115 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. | |
3116 | |
3117 PR libstdc++/80041 | |
3118 * src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out) | |
3119 (__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to | |
3120 char16_t to work with UTF-16 instead of UTF-8. | |
3121 * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. | |
3122 | |
3123 * src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>) | |
3124 (codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>) | |
3125 (__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>) | |
3126 (__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>) | |
3127 (__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>) | |
3128 (__codecvt_utf8_utf16_base<char32_t>) | |
3129 (__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and | |
3130 do_max_length() return values. | |
3131 * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. | |
3132 * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. | |
3133 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. | |
3134 | |
3135 PR libstdc++/79980 | |
3136 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on | |
3137 error path. | |
3138 * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads | |
3139 for manipulating codecvt_mode values. | |
3140 (read_utf16_bom): Compare input to BOM constants instead of integral | |
3141 constants that depend on endianness. Take mode parameter by | |
3142 reference and adjust it, to distinguish between no BOM present and | |
3143 UTF-16BE BOM present. | |
3144 (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. | |
3145 (surrogates): New enumeration type. | |
3146 (utf16_in, utf16_out): Add surrogates parameter to choose between | |
3147 UTF-16 and UCS2 behaviour. | |
3148 (utf16_span, ucs2_span): Use std::min not std::max. | |
3149 (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. | |
3150 (ucs2_in): Likewise. Adjust calls to read_utf16_bom. | |
3151 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. | |
3152 * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. | |
3153 | |
3154 PR libstdc++/79511 | |
3155 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff | |
3156 as a surrogate pair. | |
3157 (__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness | |
3158 for internal representation. | |
3159 (__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise. | |
3160 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. | |
3161 | |
3162 PR libstdc++/80064 | |
3163 * include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap) | |
3164 (pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with | |
3165 invalid instantiations using function types for _Compare argument. | |
3166 * testsuite/25_algorithms/make_heap/80064.cc: New test. | |
3167 | |
3168 PR libstdc++/67440 | |
3169 * python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name | |
3170 for GDB 7.6 compatibility, use gdb.Type.unqualified instead. | |
3171 | |
3172 2017-03-15 Ville Voutilainen <ville.voutilainen@gmail.com> | |
3173 | |
3174 Implement LWG 2857, {variant,optional,any}::emplace should | |
3175 return the constructed value. | |
3176 * include/std/any (emplace(_Args&&...)): Change the return type and | |
3177 return a reference to the constructed value. | |
3178 (emplace(initializer_list<_Up>, _Args&&...)): Likewise. | |
3179 * include/std/optional (emplace(_Args&&...)): Likewise. | |
3180 (emplace(initializer_list<_Up>, _Args&&...)): Likewise. | |
3181 * include/std/variant (emplace<_Tp>(_Args&&...)): Likewise. | |
3182 (emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise. | |
3183 (emplace<_Np>(_Args&&...)): Likewise. | |
3184 (emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise. | |
3185 * testsuite/20_util/any/assign/emplace.cc: Add tests for | |
3186 checking the return value of emplace. | |
3187 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. | |
3188 * testsuite/20_util/optional/assignment/6.cc: Add tests for | |
3189 checking the return value of emplace. | |
3190 * testsuite/20_util/variant/run.cc: Likewise. | |
3191 | |
3192 2017-03-15 Xi Ruoyao <ryxi@stu.xidian.edu.cn> | |
3193 | |
3194 PR libstdc++/62045 | |
3195 * include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp | |
3196 (is_heap): Remove. | |
3197 (push_heap): Remove the wrong checking using is_heap. | |
3198 (make_heap): Remove the assertion using is_heap. | |
3199 * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp | |
3200 (modify): Ditto. | |
3201 (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after | |
3202 calling make_heap. | |
3203 | |
3204 2017-03-15 Jonathan Wakely <jwakely@redhat.com> | |
3205 | |
3206 PR libstdc++/62045 | |
3207 * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: | |
3208 New test. | |
3209 * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste | |
3210 error in comment. | |
3211 | |
3212 2017-03-15 Jonathan Wakely <jwakely@redhat.com> | |
3213 | |
3214 * acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in | |
3215 comment. | |
3216 * config.h.in: Regenerate. | |
3217 * configure: Regenerate. | |
3218 * doc/Makefile.in: Regenerate. | |
3219 | |
3220 2017-03-14 Jonathan Wakely <jwakely@redhat.com> | |
3221 | |
3222 PR libstdc++/79162 | |
3223 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] | |
3224 (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace | |
3225 with a constrained template. | |
3226 [!_GLIBCXX_USE_CXX11_ABI] | |
3227 (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise. | |
3228 * testsuite/21_strings/basic_string/cons/char/79162.cc: New test. | |
3229 * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test. | |
3230 | |
3231 2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com> | |
3232 | |
3233 PR libstdc++/80034 | |
3234 * include/bits/list.tcc (merge(list&&)): Use const for the size_t | |
3235 in the catch-block. | |
3236 (merge(list&&, _StrictWeakOrdering)): Likewise. | |
3237 * testsuite/23_containers/list/operations/80034.cc: New. | |
3238 | |
3239 2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com> | |
3240 | |
3241 Implement LWG 2806, Base class of bad_optional_access. | |
3242 * include/std/optional (bad_optional_access): | |
3243 Derive from std::exception. | |
3244 (bad_optional_access::bad_optional_access): Adjust. | |
3245 (bad_optional_access::what): New. | |
3246 (__throw_bad_optional_access(const char*)): | |
3247 Remove the parameter and adjust calls. | |
3248 * testsuite/20_util/optional/cons/value_neg.cc: Adjust. | |
3249 * testsuite/20_util/optional/typedefs.cc: Likewise. | |
3250 | |
3251 2017-03-12 Ville Voutilainen <ville.voutilainen@gmail.com> | |
3252 | |
3253 Implement LWG 2934, optional<const T> doesn't compare with T. | |
3254 * include/std/optional | |
3255 (operator==(const optional<_Tp>&, const optional<_Tp>&)): | |
3256 Turn into operator==(const optional<_Tp>&, const optional<_Up>&). | |
3257 (operator!=(const optional<_Tp>&, const optional<_Tp>&)): | |
3258 Turn into operator!=(const optional<_Tp>&, const optional<_Up>&). | |
3259 (operator<(const optional<_Tp>&, const optional<_Tp>&)): | |
3260 Turn into operator<(const optional<_Tp>&, const optional<_Up>&. | |
3261 (operator>(const optional<_Tp>&, const optional<_Tp>&)): | |
3262 Turn into operator>(const optional<_Tp>&, const optional<_Up>&. | |
3263 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): | |
3264 Turn into operator<=(const optional<_Tp>&, const optional<_Up>&). | |
3265 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): | |
3266 Turn into operator>=(const optional<_Tp>&, const optional<_Up>&). | |
3267 (operator==(const optional<_Tp>&, const _Tp&)): | |
3268 Turn into operator==(const optional<_Tp>&, const _Up&). | |
3269 (operator==(const _Tp&, const optional<_Tp>&)): | |
3270 Turn into operator==(const _Up&, const optional<_Tp>&). | |
3271 (operator!=(const optional<_Tp>&, const _Tp&)): | |
3272 Turn into operator!=(const optional<_Tp>&, const _Up&). | |
3273 (operator!=(const _Tp&, const optional<_Tp>&)): | |
3274 Turn into operator!=(const _Up&, const optional<_Tp>&). | |
3275 (operator<(const optional<_Tp>&, const _Tp&)): | |
3276 Turn into operator<(const optional<_Tp>&, const _Up&). | |
3277 (operator<(const _Tp&, const optional<_Tp>&)): | |
3278 Turn into operator<(const _Up&, const optional<_Tp>&). | |
3279 (operator>(const optional<_Tp>&, const _Tp&)): | |
3280 Turn into operator>(const optional<_Tp>&, const _Up&). | |
3281 (operator>(const _Tp&, const optional<_Tp>&)): | |
3282 Turn into operator>(const _Up&, const optional<_Tp>&). | |
3283 (operator<=(const optional<_Tp>&, const _Tp&)): | |
3284 Turn into operator<=(const optional<_Tp>&, const _Up&). | |
3285 (operator<=(const _Tp&, const optional<_Tp>&)): | |
3286 Turn into operator<=(const _Up&, const optional<_Tp>&). | |
3287 (operator>=(const optional<_Tp>&, const _Tp&)): | |
3288 Turn into operator>=(const optional<_Tp>&, const _Up&). | |
3289 (operator>=(const _Tp&, const optional<_Tp>&)): | |
3290 Turn into operator>=(const _Up&, const optional<_Tp>&). | |
3291 * testsuite/20_util/optional/relops/7.cc: New. | |
3292 | |
3293 2017-03-10 Jonathan Wakely <jwakely@redhat.com> | |
3294 | |
3295 * testsuite/17_intro/names.cc: Undefine macros that clash with | |
3296 identifiers in AIX system headers. | |
3297 | |
3298 * include/bits/invoke.h (__invoke): Use __invoke_result instead of | |
3299 result_of, and __is_nothrow_invocable instead of | |
3300 __is_nothrow_callable. | |
3301 * include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable | |
3302 instead of __is_callable. | |
3303 * include/std/functional (invoke): use invoke_result_t instead of | |
3304 result_of_t and is_nothrow_invocable instead of is_nothrow_callable. | |
3305 (_Not_fn): Use __invoke_result instead of result_of. | |
3306 * include/std/type_traits (__result_of_memobj, __result_of_memfun): | |
3307 Remove partial specializations for reference_wrapper types. | |
3308 (__result_of_impl): Use __inv_unwrap to strip reference_wrapper. | |
3309 (__invoke_result): Define replacement for result_of and then use it to | |
3310 define result_of. | |
3311 (__is_callable_impl, __is_callable, __is_nothrow_callable): Replace | |
3312 with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable | |
3313 respectively. | |
3314 (invoke_result, invoke_result_t): Define for C++17. | |
3315 (is_callable, is_nothrow_callable): Replace with is_invocable, | |
3316 is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r. | |
3317 (is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v, | |
3318 is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v. | |
3319 * include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v | |
3320 instead of is_nothrow_callable_v. | |
3321 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused | |
3322 main function. | |
3323 * testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable | |
3324 instead of is_callable. | |
3325 * testsuite/20_util/is_callable/*: Rename directory and adjust tests | |
3326 to use new traits. | |
3327 * testsuite/20_util/is_nothrow_callable/*: Likewise. | |
3328 * testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of | |
3329 is_callable. | |
3330 * testsuite/20_util/variant/hash.cc: Likewise. | |
3331 | |
3332 2017-03-10 George Lander <george.lander@arm.com> | |
3333 | |
3334 * acinclude.m4 (glibcxx_cv_obsolete_isnan): Define | |
3335 _GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h. | |
3336 * configure: Regenerate. | |
3337 | |
3338 2017-03-09 Jonathan Wakely <jwakely@redhat.com> | |
3339 | |
3340 * include/std/functional (_Not_fn): Define macro to simplify | |
3341 repetitive function definitions. | |
3342 | |
3343 * doc/xml/manual/status_cxx2017.xml: Document std::byte support. | |
3344 * include/c_global/cstddef (std::byte): Define for C++17. | |
3345 * testsuite/18_support/byte/global_neg.cc: New test. | |
3346 * testsuite/18_support/byte/ops.cc: New test. | |
3347 * testsuite/18_support/byte/requirements.cc: New test. | |
3348 | |
3349 2017-03-05 Jonathan Wakely <jwakely@redhat.com> | |
3350 | |
3351 * doc/xml/manual/status_cxx2017.xml: Document P0156R2 status. | |
3352 * doc/html/*: Regenerate. | |
3353 * include/std/mutex (scoped_lock): Implement new C++17 template. | |
3354 * testsuite/30_threads/scoped_lock/cons/1.cc: New test. | |
3355 * testsuite/30_threads/scoped_lock/requirements/ | |
3356 explicit_instantiation.cc: New test. | |
3357 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test. | |
3358 | |
3359 2017-03-02 Gerald Pfeifer <gerald@pfeifer.com> | |
3360 François Dumont <frs.dumont@gmail.com> | |
3361 Jonathan Wakely <jwakely@redhat.com> | |
3362 | |
3363 * doc/xml/manual/debug_mode.xml: Update and simplify note | |
3364 on link- and run-time coexistence. | |
3365 | |
3366 2017-03-02 Jonathan Wakely <jwakely@redhat.com> | |
3367 | |
3368 * testsuite/17_intro/headers/names.cc: Rename to ... | |
3369 * testsuite/17_intro/names.cc: ... here. | |
3370 | |
3371 PR libstdc++/79789 | |
3372 * include/bits/hashtable_policy.h (__clp2): Use reserved names for | |
3373 parameters and local variables. | |
3374 * include/bits/ios_base.h (make_error_code, make_error_condition): | |
3375 Likewise. | |
3376 * include/bits/list.tcc (list::sort): Likewise. | |
3377 * include/bits/mask_array.h (mask_array): Likewise. | |
3378 * include/bits/regex.h (regex_token_iterator): Likewise. | |
3379 * include/bits/slice_array.h (slice_array): Likewise. | |
3380 * include/bits/stl_algo.h (__sample): Likewise. | |
3381 * include/std/memory (undeclare_no_pointers): Likewise. | |
3382 * include/std/type_traits (is_callable_v, is_nothrow_callable_v): | |
3383 Likewise. | |
3384 * libsupc++/exception_ptr.h (__dest_thunk): Likewise. | |
3385 * testsuite/17_intro/headers/names.cc: New test. | |
3386 | |
3387 PR libstdc++/79798 | |
3388 * include/std/functional (bind::_Res_type_impl): Fix incorrect use of | |
3389 result_of that loses top-level cv-qualifiers. | |
3390 * testsuite/20_util/bind/79798.cc: New test. | |
3391 | |
3392 2017-03-01 Gerald Pfeifer <gerald@pfeifer.com> | |
3393 | |
3394 * doc/xml/manual/documentation_hacking.xml: Tweak link to | |
3395 doxygen.org. | |
3396 | |
3397 2017-02-23 Jonathan Wakely <jwakely@redhat.com> | |
3398 | |
3399 * include/experimental/iterator: Include <iterator>. | |
3400 * testsuite/experimental/iterator/requirements.cc: Check for contents | |
3401 of <iterator>. | |
3402 | |
3403 2017-02-19 Dinka Ranns <dinka.ranns@googlemail.com> | |
3404 | |
3405 C++17 GB50 resolution | |
3406 * include/std/chrono (duration::operator++()): Add | |
3407 _GLIBCXX17_CONSTEXPR. | |
3408 (duration::operator++(int)): Likewise. | |
3409 (duration::operator--()): Likewise. | |
3410 (duration::operator--(int)): Likewise. | |
3411 (duration::operator+=(const duration&)): Likewise. | |
3412 (duration::operator-=(const duration&)): Likewise. | |
3413 (duration::operator*=(const rep&)): Likewise. | |
3414 (duration::operator/=(const rep&)): Likewise. | |
3415 (duration::operator%=(const rep&)): Likewise. | |
3416 (duration::operator%=(const duration&)): Likewise. | |
3417 (time_point::operator+=(const duration&)): Likewise. | |
3418 (time_point::operator-=(const duration&)): Likewise. | |
3419 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test. | |
3420 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error. | |
3421 * testsuite/20_util/time_point/arithmetic/constexpr.cc: New test. | |
3422 | |
3423 2017-02-19 Gerald Pfeifer <gerald@pfeifer.com> | |
3424 | |
3425 * doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer. | |
3426 | |
3427 2017-02-18 Gerald Pfeifer <gerald@pfeifer.com> | |
3428 | |
3429 * doc/xml/manual/io.xml: Update link to groups.google.com. | |
3430 Tweak link description. | |
3431 | |
3432 2017-02-18 Gerald Pfeifer <gerald@pfeifer.com> | |
3433 | |
3434 * doc/xml/manual/profile_mode.xml: Fix link. | |
3435 | |
3436 2017-02-16 Gerald Pfeifer <gerald@pfeifer.com> | |
3437 | |
3438 * doc/xml/manual/policy_data_structures.xml: Simplify and | |
3439 standardize references to boost.org. | |
3440 * doc/xml/manual/policy_data_structures_biblio.xml: Ditto. | |
3441 * doc/xml/manual/shared_ptr.xml: Ditto. | |
3442 | |
3443 2017-02-16 Jonathan Wakely <jwakely@redhat.com> | |
3444 | |
3445 PR libstdc++/60936 | |
3446 * src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length | |
3447 written to buffer, not length remaining in buffer. | |
3448 | |
3449 2017-02-15 Tim Shen <timshen@google.com> | |
3450 | |
3451 PR libstdc++/78723 | |
3452 * include/std/variant (operator<(), operator>(), operator<=(), | |
3453 operator>=(), operator==(), operator!=()): Implement P0393R3. | |
3454 * testsuite/20_util/variant/compile.cc: Adjust tests. | |
3455 * testsuite/20_util/variant/run.cc: Adjust tests. | |
3456 | |
3457 2017-02-15 Tim Shen <timshen@google.com> | |
3458 | |
3459 PR libstdc++/79513 | |
3460 * include/std/variant (visit()): Forward variant types to the return | |
3461 type detection code. | |
3462 * testsuite/20_util/variant/compile.cc: Add test cases. | |
3463 | |
3464 2017-02-13 H.J. Lu <hongjiu.lu@intel.com> | |
3465 | |
3466 PR libstdc++/79348 | |
3467 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. | |
3468 | |
3469 2017-02-13 Jakub Jelinek <jakub@redhat.com> | |
3470 | |
3471 PR libstdc++/79348 | |
3472 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. | |
3473 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. | |
3474 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise. | |
3475 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. | |
3476 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise. | |
3477 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. | |
3478 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise. | |
3479 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. | |
3480 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. | |
3481 | |
3482 2017-02-13 Jonathan Wakely <jwakely@redhat.com> | |
3483 | |
3484 PR libstdc++/79486 | |
3485 * include/std/future (__future_base::_Task_state::_M_run) | |
3486 (__future_base::_Task_state::_M_run_delayed): Use lvalue types in | |
3487 result_of expressions. | |
3488 * testsuite/30_threads/packaged_task/79486.cc: New. | |
3489 | |
3490 2017-02-11 Jonathan Wakely <jwakely@redhat.com> | |
3491 | |
3492 PR libstdc++/79467 | |
3493 * include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter)) | |
3494 (__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in | |
3495 __is_callable check. | |
3496 * testsuite/20_util/shared_ptr/cons/79467.cc: New. | |
3497 | |
3498 * include/bits/atomic_base.h: Re-indent. | |
3499 | |
3500 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com> | |
3501 | |
3502 * doc/xml/manual/profile_mode.xml: Update a paper reference. | |
3503 | |
3504 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> | |
3505 | |
3506 * src/c++11/snprintf_lite.cc (__err): Use https for bug reporting. | |
3507 | |
3508 2017-02-08 Jonathan Wakely <jwakely@redhat.com> | |
3509 | |
3510 * doc/xml/manual/policy_data_structures.xml: Fix spelling of author's | |
3511 name. | |
3512 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove | |
3513 broken links to texts that are no longer online. | |
3514 * doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and | |
3515 LCPC 2006 paper. | |
3516 * doc/xml/manual/using.xml: Update links to memory model information. | |
3517 * doc/xml/manual/using_exceptions.xml: Update link to "Appendix E: | |
3518 Standard-Library Exception Safety". | |
3519 * doc/html/*: Regenerate. | |
3520 | |
3521 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> | |
3522 | |
3523 * doc/xml/manual/profile_mode.xml: Unbreak link to | |
3524 "Optimizing Sorting with Machine Learning Algorithms". | |
3525 | |
3526 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> | |
3527 | |
3528 * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL. | |
3529 | |
3530 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> | |
3531 | |
3532 * doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++ | |
3533 Migration Guide". | |
3534 | |
3535 2017-02-07 Gerald Pfeifer <gerald@pfeifer.com> | |
3536 | |
3537 * doc/html/ext/lwg-active.html: Remove. | |
3538 * doc/html/ext/lwg-closed.html: Ditto. | |
3539 * doc/html/ext/lwg-defects.html: Ditto. | |
3540 | |
3541 * doc/Makefile.am (xml_extradir): Remove. | |
3542 (xml_extra): Ditto. | |
3543 (stamp-html-docbook-lwg): Remove recipe... | |
3544 (stamp-html-docbook-data): ...and its use here. | |
3545 * doc/Makefile.in: Regenerate. | |
3546 | |
3547 * doc/xml/manual/intro.xml: Shorten two paragraphs explaining | |
3548 the relationship to the upstream working group. | |
3549 Replace a local link to ../ext/lwg-active.html by the upstream one. | |
3550 Replace all reference to ../ext/lwg-defects.html by a new entity | |
3551 &DR; which refers to the upstream address. | |
3552 | |
3553 2017-02-07 Gerald Pfeifer <gerald@pfeifer.com> | |
3554 | |
3555 * doc/xml/manual/status_cxx2017.xml: Fix link to N4284. | |
3556 | |
3557 2017-02-06 Jonathan Wakely <jwakely@redhat.com> | |
3558 | |
3559 PR libstdc++/79323 | |
3560 * testsuite/20_util/duration/literals/range.cc: Prune extra output | |
3561 at -O0. | |
3562 | |
3563 2017-02-06 Gerald Pfeifer <gerald@pfeifer.com> | |
3564 | |
3565 * doc/xml/manual/documentation_hacking.xml: Update URL of the | |
3566 DocBook Element Reference. Use that term as link description | |
3567 instead of "online". | |
3568 epubcheck has moved to GitHub. | |
3569 Remove obsolete link to DocBook Publishing Tools. | |
3570 | |
3571 2017-02-03 Jonathan Wakely <jwakely@redhat.com> | |
3572 | |
3573 PR libstdc++/66145 | |
3574 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override | |
3575 so new ios::failure can be caught even when old ABI is the default. | |
3576 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. | |
3577 * testsuite/27_io/basic_istream/extractors_arithmetic/char/ | |
3578 exceptions_failbit.cc: Likewise. | |
3579 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ | |
3580 exceptions_failbit.cc: Likewise. | |
3581 * testsuite/27_io/basic_istream/extractors_other/char/ | |
3582 exceptions_null.cc: Likewise. | |
3583 * testsuite/27_io/basic_istream/extractors_other/wchar_t/ | |
3584 exceptions_null.cc: Likewise. | |
3585 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. | |
3586 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. | |
3587 * testsuite/27_io/basic_ostream/inserters_other/char/ | |
3588 exceptions_null.cc: Likewise. | |
3589 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ | |
3590 exceptions_null.cc: Likewise. | |
3591 * testsuite/27_io/ios_base/storage/2.cc: Likewise. | |
3592 | |
3593 PR libstdc++/60936 | |
3594 * src/c++11/Makefile.am: Add new files. | |
3595 * src/c++11/Makefile.in: Regenerate. | |
3596 * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI] | |
3597 (operator<<, operator>>, getline): Move explicit instantiations to ... | |
3598 * src/c++11/cow-string-io-inst.cc: ... new file. | |
3599 * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI] | |
3600 (operator<<, operator>>, getline): Move explicit instantiations to ... | |
3601 * src/c++11/cow-wstring-io-inst.cc: ... new file. | |
3602 * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error) | |
3603 (__throw_future_error, __throw_bad_function_call): | |
3604 (__throw_regex_error): Move functions for C++11 exceptions to the | |
3605 files that define the exception types. | |
3606 * src/c++11/functional.cc (__throw_bad_function_call): Move here. | |
3607 * src/c++11/future.cc (__throw_future_error): Likewise. | |
3608 * src/c++11/ios.cc (__throw_ios_failure): Likewise. | |
3609 * src/c++11/regex.cc (__throw_regex_error): Likewise. | |
3610 * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal | |
3611 representation directly instead of calling __int_to_char. | |
3612 * src/c++11/sso_string.cc (__sso_string): New file for definition | |
3613 of __sso_string type. | |
3614 * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for | |
3615 explicit instantiations of narrow string I/O functions. | |
3616 * src/c++11/system_error.cc (__throw_system_error): Move here. | |
3617 (__sso_string): Move to new file. | |
3618 * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for | |
3619 explicit instantiations of wide string I/O functions. | |
3620 * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<) | |
3621 (operator>>, getline): Remove explicit instantiations from here. | |
3622 | |
3623 2017-02-02 H.J. Lu <hongjiu.lu@intel.com> | |
3624 | |
3625 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. | |
3626 | |
3627 2017-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
3628 | |
3629 * configure.host: Separate Solaris/SPARC and x86 baselines. | |
3630 * config/abi/post/solaris2.10/baseline_symbols.txt: Move ... | |
3631 * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here. | |
3632 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ... | |
3633 * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: | |
3634 ... here. | |
3635 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ... | |
3636 * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here. | |
3637 * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file. | |
3638 * config/abi/post/solaris2.11/baseline_symbols.txt: Move ... | |
3639 * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here. | |
3640 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ... | |
3641 * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: | |
3642 ... here. | |
3643 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ... | |
3644 * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here. | |
3645 * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file. | |
3646 | |
3647 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. | |
3648 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. | |
3649 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. | |
3650 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise. | |
3651 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise. | |
3652 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise. | |
3653 | |
3654 2017-02-01 Jonathan Wakely <jwakely@redhat.com> | |
3655 | |
3656 PR libstdc++/78346 | |
3657 * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator | |
3658 not its referent. | |
3659 (_Iter_comp_to_iter): Likewise. | |
3660 * testsuite/25_algorithms/search/78346.cc: New test. | |
3661 | |
3662 PR libstdc++/79254 | |
3663 * config/abi/pre/gnu.ver: Remove recently added symbols. | |
3664 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] | |
3665 (basic_string::_M_copy_assign): Remove. | |
3666 (basic_string::operator=(const basic_string&)): Don't dispatch to | |
3667 _M_copy_assign. If source object is small just deallocate, otherwise | |
3668 perform new allocation before making any changes. | |
3669 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] | |
3670 (basic_string::_M_copy_assign(const basic_string&, true_type)): | |
3671 Remove. | |
3672 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: | |
3673 Test cases where the allocators are equal or the string is small. | |
3674 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: | |
3675 Likewise. | |
3676 | |
3677 2017-01-30 Ville Voutilainen <ville.voutilainen@gmail.com> | |
3678 | |
3679 Implement LWG 2825, LWG 2756 breaks class template argument | |
3680 deduction for optional. | |
3681 * include/std/optional: Add a deduction guide. | |
3682 * testsuite/20_util/optional/cons/deduction_guide.cc: New. | |
3683 | |
3684 2017-01-27 Jonathan Wakely <jwakely@redhat.com> | |
3685 | |
3686 PR libstdc++/79254 | |
3687 * config/abi/pre/gnu.ver: Add new symbols. | |
3688 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] | |
3689 (basic_string::_M_copy_assign): New overloaded functions to perform | |
3690 copy assignment. | |
3691 (basic_string::operator=(const basic_string&)): Dispatch to | |
3692 _M_copy_assign. | |
3693 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] | |
3694 (basic_string::_M_copy_assign(const basic_string&, true_type)): | |
3695 Define, performing rollback on exception. | |
3696 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: | |
3697 Test exception-safety guarantee. | |
3698 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: | |
3699 Likewise. | |
3700 * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make | |
3701 std::swap visible. | |
3702 | |
3703 2017-01-26 Jonathan Wakely <jwakely@redhat.com> | |
3704 | |
3705 PR libstdc++/70607 | |
3706 * include/tr1/complex (conj): Remove using-declaration and restore | |
3707 overloads, reverting previous change. | |
3708 | |
3709 * testsuite/23_containers/list/operations/78389.cc: Fix for C++11 | |
3710 mode. | |
3711 * testsuite/23_containers/priority_queue/requirements/constructible.cc: | |
3712 Mark as unsupported in C++98 mode. | |
3713 * testsuite/23_containers/queue/requirements/constructible.cc: | |
3714 Likewise. | |
3715 * testsuite/23_containers/stack/requirements/constructible.cc: | |
3716 Likewise. | |
3717 * testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode. | |
3718 | |
3719 PR libstdc++/79243 | |
3720 * include/bits/c++config (literals::string_view_literals::__7): Add. | |
3721 Only declare versioned namespaces for the relevant C++ dialects. | |
3722 * include/experimental/bits/erase_if.h (fundamentals_v2::__detail): | |
3723 Add versioning macros. | |
3724 * include/experimental/bits/lfts_config.h: | |
3725 (fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add. | |
3726 * include/experimental/string_view (fundamentals_v2::__detail): | |
3727 Add versioning macros. | |
3728 (fundamentals_v2::__detail::__identity): Remove. | |
3729 (fundamentals_v2::__detail::__idt): Use common_type instead of | |
3730 __detail::__identity. | |
3731 * include/std/string_view (__detail::__identity, __detail::__idt): | |
3732 Likewise. | |
3733 (literals::string_view_literals): Fix nesting of versioning macros. | |
3734 | |
3735 PR libstdc++/79190 | |
3736 * libsupc++/del_opa.cc (operator delete(void*, std::align_val_t)) | |
3737 [!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN | |
3738 && !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]: | |
3739 Retrieve original pointer value allocated by malloc. | |
3740 * libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC | |
3741 && !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN | |
3742 && !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)): | |
3743 Define, adjusting pointer value allocated by malloc and storing for | |
3744 retrieval by operator delete. | |
3745 | |
3746 2017-01-26 Jakub Jelinek <jakub@redhat.com> | |
3747 | |
3748 * libsupc++/eh_atomics.h: Update copyright years. | |
3749 * testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years. | |
3750 | |
3751 2017-01-25 Jonathan Wakely <jwakely@redhat.com> | |
3752 | |
3753 PR libstdc++/61791 | |
3754 PR libstdc++/70607 | |
3755 * include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR. | |
3756 (proj(T), conj(T)): Change return types per DR 1522. | |
3757 * include/tr1/complex (conj): Remove overloads and use std::conj. | |
3758 * testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to... | |
3759 * testsuite/26_numerics/complex/dr781.cc: ... this, and update. | |
3760 * testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test | |
3761 real(T) and imag(T). Allow testing for C++11 too. | |
3762 | |
3763 2017-01-24 Jonathan Wakely <jwakely@redhat.com> | |
3764 | |
3765 PR libstdc++/79206 | |
3766 * include/experimental/string_view (operator==): Check sizes first. | |
3767 * include/std/string_view (operator==): Likewise. | |
3768 | |
3769 2017-01-23 Jonathan Wakely <jwakely@redhat.com> | |
3770 | |
3771 * testsuite/experimental/array/make_array.cc: Restore <functional> | |
3772 inclusion. | |
3773 | |
3774 2017-01-23 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
3775 | |
3776 * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins. | |
3777 | |
3778 2017-01-23 Jonathan Wakely <jwakely@redhat.com> | |
3779 | |
3780 PR libstdc++/79195 | |
3781 * include/experimental/array (__make_array_elem): New class template | |
3782 and partial specialization. | |
3783 (__is_reference_wrapper): Move into __make_array_elem specialization. | |
3784 (make_array): Use __make_array_elem to determine element type and move | |
3785 static assertion into specialization. Qualify std::forward call. | |
3786 (to_array): Add exception specifiation. | |
3787 * testsuite/experimental/array/make_array.cc: Test argument types | |
3788 without a common type. | |
3789 * testsuite/experimental/array/neg.cc: Adjust expected error message. | |
3790 | |
3791 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com> | |
3792 | |
3793 * doc/xml/manual/debug.xml: code.google.com uses https now. | |
3794 | |
3795 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com> | |
3796 | |
3797 * doc/xml/manual/test.xml: Fix link into gccint online manual. | |
3798 | |
3799 2017-01-21 Ville Voutilainen <ville.voutilainen@gmail.com> | |
3800 | |
3801 Make poisoned hashes SFINAE away the call operator of the hash. | |
3802 * include/bits/functional_hash.h | |
3803 (__poison_hash::__enable_hash_call): New. | |
3804 * include/std/optional (__optional_hash_call_base): New. | |
3805 (hash<optional<_Tp>>): Derive from the new base, | |
3806 move the hash function into that base. | |
3807 * include/std/variant (__variant_hash_call_base_impl): New. | |
3808 (__variant_hash_call_base): Likewise. | |
3809 (hash<variant<_Types...>>): Derive from the new base, | |
3810 move the hash function into that base. | |
3811 * testsuite/20_util/optional/hash.cc: Add tests for is_callable. | |
3812 * testsuite/20_util/variant/hash.cc: Likewise. | |
3813 | |
3814 2017-01-20 Joe Seymour <joe.s@somniumtech.com> | |
3815 | |
3816 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t. | |
3817 * configure: Regenerate. | |
3818 | |
3819 2017-01-20 Jonathan Wakely <jwakely@redhat.com> | |
3820 | |
3821 PR libstdc++/69240 | |
3822 * include/bits/random.h (uniform_real_distribution::param_type) | |
3823 (normal_distribution::param_type, lognormal_distribution::param_type) | |
3824 (gamma_distribution::param_type, chi_squared_distribution::param_type) | |
3825 (cauchy_distribution::param_type, fisher_f_distribution::param_type) | |
3826 (student_t_distribution::param_type) | |
3827 (bernoulli_distribution::param_type, binomial_distribution::param_type) | |
3828 (geometric_distribution::param_type) | |
3829 (negative_binomial_distribution::param_type) | |
3830 (poisson_distribution::param_type) | |
3831 (exponential_distribution::param_type) | |
3832 (weibull_distribution::param_type) | |
3833 (extreme_value_distribution::param_type) | |
3834 (discrete_distribution::param_type) | |
3835 (piecewise_constant_distribution::param_type) | |
3836 (piecewise_linear_distribution::param_type): Define operator!=. | |
3837 * include/bits/uniform_int_dist.h | |
3838 (uniform_int_distribution::param_type): Likewise. | |
3839 * include/ext/random (beta_distribution::param_type) | |
3840 (rice_distribution::param_type, nakagami_distribution::param_type) | |
3841 (pareto_distribution::param_type, k_distribution::param_type) | |
3842 (arcsine_distribution::param_type, hoyt_distribution::param_type) | |
3843 (triangular_distribution::param_type) | |
3844 (von_mises_distribution::param_type) | |
3845 (hypergeometric_distribution::param_type) | |
3846 (logistic_distribution::param_type) | |
3847 (uniform_on_sphere_distribution::param_type) | |
3848 (uniform_inside_sphere_distribution::param_type): Likewise. | |
3849 * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc: | |
3850 Test construction with param_type. | |
3851 * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc: | |
3852 Likewise. | |
3853 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: | |
3854 Likewise. | |
3855 * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc: | |
3856 Likewise. | |
3857 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: | |
3858 Likewise. | |
3859 * testsuite/26_numerics/random/extreme_value_distribution/cons/ | |
3860 parms.cc: Likewise. | |
3861 * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc: | |
3862 Likewise. | |
3863 * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc: | |
3864 Likewise. | |
3865 * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc: | |
3866 Likewise. | |
3867 * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc: | |
3868 Likewise. | |
3869 * testsuite/26_numerics/random/negative_binomial_distribution/cons/ | |
3870 parms.cc: Likewise. | |
3871 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: | |
3872 Likewise. | |
3873 * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc: | |
3874 Likewise. | |
3875 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: | |
3876 Likewise. | |
3877 * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc: | |
3878 Likewise. | |
3879 * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc: | |
3880 Likewise. | |
3881 * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc: | |
3882 Likewise. | |
3883 * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise. | |
3884 * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise. | |
3885 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. | |
3886 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: | |
3887 Likewise. | |
3888 * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise. | |
3889 * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise. | |
3890 * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise. | |
3891 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. | |
3892 * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise. | |
3893 * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise. | |
3894 * testsuite/ext/random/triangular_distribution/cons/parms.cc: | |
3895 Likewise. | |
3896 * testsuite/ext/random/uniform_inside_sphere_distribution/cons/ | |
3897 parms.cc: Likewise. | |
3898 * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise. | |
3899 | |
3900 PR libstdc++/72792 | |
3901 * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type) | |
3902 (__allocator_traits_base::__size_type): Remove. | |
3903 (allocator_traits::_Ptr): New class template to detect const and void | |
3904 pointer types without instantiating pointer_traits::rebind | |
3905 unnecessarily. | |
3906 (allocator_traits::_Diff): Likewise for detecting difference_type. | |
3907 (allocator_traits::_Size): New class template to detect size_type | |
3908 without instantiating make_unsigned unnecessarily. | |
3909 * include/bits/ptr_traits.h (pointer_traits::element_type): Use | |
3910 __detected_or_t instead of __detected_or_t_. | |
3911 * include/std/type_traits (__detected_or_t_): Remove. | |
3912 * testsuite/20_util/allocator_traits/members/pointers.cc: New test. | |
3913 | |
3914 PR libstdc++/72792 | |
3915 PR libstdc++/72793 | |
3916 * include/bits/alloc_traits.h (__allocator_traits_base::__rebind): | |
3917 Replace with class template using void_t. | |
3918 (__alloc_rebind): Define in terms of | |
3919 __allocator_traits_base::__rebind. | |
3920 (allocator_traits): Remove unconditional static_assert for | |
3921 rebind_alloc. | |
3922 * include/bits/ptr_traits.h (__replace_first_arg): Remove type member. | |
3923 (pointer_traits::__rebind): Replace with class template using void_t. | |
3924 (pointer_traits::rebind): Define in terms of __rebind. | |
3925 (pointer_traits): Remove unconditional static_assert for rebind. | |
3926 * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test. | |
3927 * testsuite/20_util/pointer_traits/rebind.cc: New test. | |
3928 | |
3929 PR libstdc++/69321 | |
3930 * include/experimental/any (__any_caster): Avoid instantiating | |
3931 manager function for types that can't be stored in any. | |
3932 * include/std/any (__any_caster): Likewise. | |
3933 * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type. | |
3934 * testsuite/experimental/any/misc/any_cast.cc: Likewise. | |
3935 | |
3936 PR libstdc++/64903 | |
3937 * include/bits/stl_algo.h (is_partitioned): Use increment instead of | |
3938 std::advance. | |
3939 | |
3940 2017-01-19 Jonathan Wakely <jwakely@redhat.com> | |
3941 | |
3942 PR libstdc++/79156 | |
3943 * include/bits/shared_ptr_base.h (__enable_shared_from_this_base): | |
3944 Fix return type. | |
3945 (__enable_shared_from_this): Declare __shared_ptr as a friend. | |
3946 * testsuite/ext/shared_ptr/1.cc: New test. | |
3947 | |
3948 PR libstdc++/64903 | |
3949 * include/bits/stl_algo.h (is_partitioned): Don't retest the partition | |
3950 point. | |
3951 * testsuite/25_algorithms/is_partitioned/2.cc: New test. | |
3952 | |
3953 * doc/xml/manual/abi.xml: Fix typo. | |
3954 * doc/html/manual/abi.html: Likewise. | |
3955 | |
3956 PR libstdc++/67085 | |
3957 * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add | |
3958 converting constructors from _Iter_less_iter. | |
3959 (_Iter_comp_val, _Val_comp_iter): Add converting constructors from | |
3960 _Iter_comp_iter. | |
3961 (__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor. | |
3962 (__val_comp_iter(_Iter_comp_iter<C>): Likewise. | |
3963 * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap) | |
3964 (__make_heap, __sort_heap): Change _Compare parameters to references. | |
3965 (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap) | |
3966 (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison | |
3967 functions as lvalues. | |
3968 (is_heap): Call __is_heap_until directly to avoid copying __comp. | |
3969 * testsuite/23_containers/priority_queue/67085.cc: Adjust test to | |
3970 count copies during construction with empty sequence. | |
3971 | |
3972 PR libstdc++/67085 | |
3973 * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE. | |
3974 (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops. | |
3975 * testsuite/23_containers/priority_queue/67085.cc: Adjust expected | |
3976 number of copies. | |
3977 * testsuite/25_algorithms/make_heap/movable.cc: New test. | |
3978 | |
3979 PR libstdc++/67085 | |
3980 * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap) | |
3981 (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use | |
3982 _GLIBCXX_MOVE when passing comparison function to other functions. | |
3983 (is_heap_until, is_heap): Use std::move when passing comparison | |
3984 function. | |
3985 * testsuite/23_containers/priority_queue/67085.cc: New test. | |
3986 | |
3987 PR libstdc++/78905 | |
3988 * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to | |
3989 macro names, filenames, and literal values. Document _GLIBCXX_RELEASE. | |
3990 Document that the deprecated _GLIBCXX_VERSION macro was removed for | |
3991 the 4.0.0 release. | |
3992 * doc/html/*: Regenerate. | |
3993 * include/Makefile.am (_GLIBCXX_RELEASE): Set value. | |
3994 * include/Makefile.in: Regenerate. | |
3995 * include/bits/c++config (_GLIBCXX_RELEASE): Add #define. | |
3996 * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in | |
3997 dg-error. | |
3998 | |
3999 2017-01-18 Jonathan Wakely <jwakely@redhat.com> | |
4000 | |
4001 PR libstdc++/69301 | |
4002 * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use | |
4003 aligned buffer instead of default-initialized variable. | |
4004 * testsuite/29_atomics/atomic/69301.cc: New test. | |
4005 * include/experimental/memory (observer_ptr::release): Use reserved | |
4006 name. | |
4007 * include/ext/pointer.h (_Pointer_adapter::operator++(int)) | |
4008 (_Pointer_adapter::operator--(int)): Likewise. | |
4009 | |
4010 PR libstdc++/68925 | |
4011 * include/experimental/random (randint): Use temporary instead of | |
4012 thread_local static. | |
4013 | |
4014 2017-01-17 Joshua Conner <joshconner@google.com> | |
4015 | |
4016 * crossconfig.m4: Add fuchsia OS. | |
4017 * configure: Regenerate. | |
4018 | |
4019 2017-01-17 Jonathan Wakely <jwakely@redhat.com> | |
4020 | |
4021 PR libstdc++/69699 | |
4022 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the | |
4023 __GLIBCXX__ macro is not useful. Remove redundant date information | |
4024 and link to the GCC release timeline. | |
4025 (abi.versioning.active): Move partial sentence into the previous | |
4026 paragraph. | |
4027 * doc/html/*: Regenerate. | |
4028 | |
4029 PR libstdc++/79114 | |
4030 * libsupc++/nested_exception.h (throw_with_nested): Use decay instead | |
4031 of remove_reference. | |
4032 * testsuite/18_support/nested_exception/79114.cc: New test. | |
4033 | |
4034 2017-01-17 Jakub Jelinek <jakub@redhat.com> | |
4035 | |
4036 PR other/79046 | |
4037 * configure.ac: Add GCC_BASE_VER. | |
4038 * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to | |
4039 get version from BASE-VER file. | |
4040 * po/Makefile.in: Regenerated. | |
4041 * libsupc++/Makefile.in: Regenerated. | |
4042 * testsuite/Makefile.in: Regenerated. | |
4043 * src/Makefile.in: Regenerated. | |
4044 * configure: Regenerated. | |
4045 * Makefile.in: Regenerated. | |
4046 * include/Makefile.in: Regenerated. | |
4047 * doc/Makefile.in: Regenerated. | |
4048 * python/Makefile.in: Regenerated. | |
4049 * src/c++11/Makefile.in: Regenerated. | |
4050 * src/c++98/Makefile.in: Regenerated. | |
4051 * src/filesystem/Makefile.in: Regenerated. | |
4052 | |
4053 2017-01-16 Jonathan Wakely <jwakely@redhat.com> | |
4054 | |
4055 PR libstdc++/66145 | |
4056 * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure | |
4057 exceptions. | |
4058 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI | |
4059 for test, so new ios::failure can be caught. | |
4060 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. | |
4061 * testsuite/27_io/basic_istream/extractors_arithmetic/char/ | |
4062 exceptions_failbit.cc: Likewise. | |
4063 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ | |
4064 exceptions_failbit.cc: Likewise. | |
4065 * testsuite/27_io/basic_istream/extractors_other/char/ | |
4066 exceptions_null.cc: Likewise. | |
4067 * testsuite/27_io/basic_istream/extractors_other/wchar_t/ | |
4068 exceptions_null.cc: Likewise. | |
4069 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. | |
4070 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. | |
4071 * testsuite/27_io/basic_ostream/inserters_other/char/ | |
4072 exceptions_null.cc: Likewise. | |
4073 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ | |
4074 exceptions_null.cc: Likewise. | |
4075 * testsuite/27_io/ios_base/storage/2.cc: Likewise. | |
4076 | |
4077 PR libstdc++/78702 | |
4078 * include/bits/locale_classes.h (locale::facet::__shim): Change from | |
4079 private to protected. | |
4080 * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to | |
4081 make locale::facet::__shim accessible. | |
4082 | |
4083 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com> | |
4084 | |
4085 PR libstdc++/78389 | |
4086 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments. | |
4087 (merge(list&&, _StrictWeakOrdering)): Likewise. | |
4088 * testsuite/23_containers/list/operations/78389.cc: Add | |
4089 better test for the sizes. | |
4090 | |
4091 2017-01-14 Jonathan Wakely <jwakely@redhat.com> | |
4092 | |
4093 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: | |
4094 Skip test when -D_GLIBCXX_PROFILE mode is included in options. | |
4095 * testsuite/23_containers/map/modifiers/extract.cc: Likewise. | |
4096 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: | |
4097 Likewise. | |
4098 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. | |
4099 * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise. | |
4100 * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise. | |
4101 * testsuite/23_containers/set/modifiers/extract.cc: Likewise. | |
4102 * testsuite/23_containers/unordered_map/modifiers/extract.cc: | |
4103 Likewise. | |
4104 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:: | |
4105 Likewise. | |
4106 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:: | |
4107 Likewise. | |
4108 * testsuite/23_containers/unordered_set/modifiers/extract.cc: | |
4109 Likewise. | |
4110 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: | |
4111 Likewise. | |
4112 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise. | |
4113 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise. | |
4114 * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise. | |
4115 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise. | |
4116 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise. | |
4117 * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise. | |
4118 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. | |
4119 * testsuite/libstdc++-prettyprinters/debug.cc: Likewise. | |
4120 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise. | |
4121 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. | |
4122 * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. | |
4123 * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. | |
4124 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. | |
4125 | |
4126 2017-01-13 Jonathan Wakely <jwakely@redhat.com> | |
4127 | |
4128 PR libstdc++/65411 | |
4129 * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't | |
4130 retry fclose on EINTR. | |
4131 | |
4132 * include/profile/base.h: Remove unused header that leads to header | |
4133 cycle in C++17 mode. | |
4134 | |
4135 PR libstdc++/79075 | |
4136 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): | |
4137 Make _If_sv private. | |
4138 [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking | |
4139 basic_string_view arguments. | |
4140 | |
4141 PR libstdc++/79075 | |
4142 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove | |
4143 redundant option from cxxflags. | |
4144 (check_effective_target_cxx11-abi): Define. | |
4145 * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi | |
4146 effective target. | |
4147 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise. | |
4148 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: | |
4149 Likewise. | |
4150 * testsuite/21_strings/basic_string/allocator/char/minimal.cc: | |
4151 Likewise. | |
4152 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise. | |
4153 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: | |
4154 Likewise. | |
4155 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: | |
4156 Likewise. | |
4157 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise. | |
4158 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: | |
4159 Likewise. | |
4160 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: | |
4161 Likewise. | |
4162 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: | |
4163 Likewise. | |
4164 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: | |
4165 Likewise. | |
4166 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: | |
4167 Likewise. | |
4168 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: | |
4169 Likewise. | |
4170 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: | |
4171 Likewise. | |
4172 * testsuite/23_containers/list/61347.cc: Likewise. | |
4173 * testsuite/27_io/basic_fstream/cons/base.cc: Likewise. | |
4174 * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise. | |
4175 | |
4176 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com> | |
4177 | |
4178 PR libstdc++/78389 | |
4179 * include/bits/list.tcc (merge(list&&)): | |
4180 Adjust list sizes if the comparator throws. | |
4181 (merge(list&&, _StrictWeakOrdering)): Likewise. | |
4182 (sort()): Splice elements back from the scratch buffers | |
4183 if the comparator throws. | |
4184 (sort(_StrictWeakOrdering)): Likewise. | |
4185 * testsuite/23_containers/list/operations/78389.cc: New. | |
4186 | |
4187 2017-01-13 Jonathan Wakely <jwakely@redhat.com> | |
4188 | |
4189 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark | |
4190 XFAIL for C++17 until node reinsertion supports fancy pointers. | |
4191 | |
4192 PR libstdc++/78361 | |
4193 * testsuite/20_util/add_pointer/value.cc: Test forming function | |
4194 pointers. | |
4195 | |
4196 2017-01-13 Michael Brune <lucdanton@free.fr> | |
4197 | |
4198 PR libstdc++/78361 | |
4199 * include/std/type_traits (__is_referenceable): Handle noexcept | |
4200 function types. | |
4201 | |
4202 2017-01-12 Jonathan Wakely <jwakely@redhat.com> | |
4203 | |
4204 PR libstdc++/77528 | |
4205 * include/bits/stl_queue.h (queue, priority_queue): Remove default | |
4206 member-initializers and define default constructors as templates with | |
4207 constraints. | |
4208 * include/bits/stl_stack.h (stack): Likewise. | |
4209 * testsuite/23_containers/priority_queue/requirements/constructible.cc: | |
4210 New. | |
4211 * testsuite/23_containers/priority_queue/requirements/ | |
4212 explicit_instantiation/1.cc: Test more instantiations. | |
4213 * testsuite/23_containers/priority_queue/requirements/ | |
4214 explicit_instantiation/1_c++98.cc: Likewise. | |
4215 * testsuite/23_containers/queue/requirements/constructible.cc: New. | |
4216 * testsuite/23_containers/stack/requirements/constructible.cc: New. | |
4217 | |
4218 PR libstdc++/66284 | |
4219 * doc/xml/manual/intro.xml: Document LWG 2781 change. | |
4220 * doc/html/*: Regenerate. | |
4221 * include/std/functional (_Function_base::_Ref_manager): Remove. | |
4222 (_Function_handler): Remove partial specializations for | |
4223 reference_wrapper. | |
4224 (function::target): Remove special case for const qualification. | |
4225 * testsuite/20_util/function/6.cc: Adjust tests for target type. | |
4226 * testsuite/20_util/function/7.cc: Likewise. | |
4227 * testsuite/20_util/function/8.cc: Likewise. | |
4228 | |
4229 2017-01-11 Jonathan Wakely <jwakely@redhat.com> | |
4230 | |
4231 PR libstdc++/78134 | |
4232 * include/bits/stl_map.h (map::lower_bound, map::upper_bound) | |
4233 (map::equal_range): Fix return type of heterogeneous overloads. | |
4234 * include/bits/stl_multimap.h (multimap::lower_bound) | |
4235 (multimap::upper_bound, multimap::equal_range): Likewise. | |
4236 * include/bits/stl_multiset.h (multiset::lower_bound) | |
4237 (multiset::upper_bound, multiset::equal_range): Likewise. | |
4238 * include/bits/stl_set.h (set::lower_bound, set::upper_bound) | |
4239 (set::equal_range): Likewise. | |
4240 * testsuite/23_containers/map/operations/2.cc | |
4241 * testsuite/23_containers/multimap/operations/2.cc | |
4242 * testsuite/23_containers/multiset/operations/2.cc | |
4243 * testsuite/23_containers/set/operations/2.cc | |
4244 | |
4245 PR libstdc++/78273 | |
4246 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume | |
4247 the heterogeneous comparison can only find one match. | |
4248 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise. | |
4249 * testsuite/23_containers/map/operations/2.cc: Test count works with | |
4250 comparison function that just partitions rather than sorting. | |
4251 * testsuite/23_containers/set/operations/2.cc: Likewise. | |
4252 | |
4253 2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com> | |
4254 | |
4255 Reduce the size of variant, it doesn't need an index of | |
4256 type size_t internally. | |
4257 * include/std/variant (parse_numbers.h): New include. | |
4258 (__select_index): New. | |
4259 (_Variant_storage<false, _Types...>::_M_reset_impl): Use | |
4260 _index_type for comparison with variant_npos. | |
4261 (_Variant_storage<false, _Types...>::__index_type): New. | |
4262 (_Variant_storage<false, _Types...>::_M_index): Change the | |
4263 type from size_t to __index_type. | |
4264 (_Variant_storage<true, _Types...>::__index_type): New. | |
4265 (_Variant_storage<true, _Types...>::_M_index): Change the | |
4266 type from size_t to __index_type. | |
4267 (_Variant_base::_M_valid): Use _Storage::__index_type | |
4268 for comparison with variant_npos. | |
4269 (variant::index): Use _Base::_Storage::__index_type | |
4270 for comparison with variant_npos. | |
4271 * testsuite/20_util/variant/index_type.cc: New. | |
4272 | |
4273 2017-01-10 Jonathan Wakely <jwakely@redhat.com> | |
4274 | |
4275 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust | |
4276 effective target selector to prevent running in C++17 mode. | |
4277 | |
4278 PR libstdc++/77528 | |
4279 * include/bits/stl_queue.h (queue::c): Add default member initializer. | |
4280 (queue::queue()): Add constructor and define as defaulted. | |
4281 (queue::queue(_Sequence&&)): Remove default argument. | |
4282 (priority_queue::c, priority_queue::comp): Add default member | |
4283 initializers. | |
4284 (priority_queue::priority_queue()): Add constructor and define as | |
4285 defaulted. | |
4286 (priority_queue::priority_queue(const _Compare&, _Sequence&&)): | |
4287 Remove default argument for first parameter. | |
4288 * include/bits/stl_stack.h (stack::c): Add default member initializer. | |
4289 (stack::stack()): Add constructor and define as defaulted. | |
4290 (stack::stack(const _Sequence&)): Remove default argument. | |
4291 * testsuite/23_containers/priority_queue/requirements/ | |
4292 explicit_instantiation/1.cc: Test explicit instantiation with | |
4293 non-DefaultConstructible sequence. | |
4294 * testsuite/23_containers/priority_queue/77528.cc: New test. | |
4295 * testsuite/23_containers/priority_queue/requirements/ | |
4296 explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc. | |
4297 * testsuite/23_containers/queue/77528.cc: New test. | |
4298 * testsuite/23_containers/queue/requirements/explicit_instantiation/ | |
4299 1.cc: Test explicit instantiation with non-DefaultConstructible | |
4300 sequence. | |
4301 * testsuite/23_containers/queue/requirements/explicit_instantiation/ | |
4302 1_c++0x.cc: Replace with 1_c++98.cc. | |
4303 * testsuite/23_containers/stack/77528.cc: New test. | |
4304 * testsuite/23_containers/stack/requirements/explicit_instantiation/ | |
4305 1.cc: Test explicit instantiation with non-DefaultConstructible | |
4306 sequence. | |
4307 * testsuite/23_containers/stack/requirements/explicit_instantiation/ | |
4308 1_c++0x.cc: Replace with 1_c++98.cc. | |
4309 | |
4310 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br> | |
4311 | |
4312 * include/bits/locale_facets_nonio.tcc | |
4313 (time_get::_M_extract_via_format): Avoid compilation errors with | |
4314 non-standard struct tm. | |
4315 | |
4316 2017-01-10 François Dumont <fdumont@gcc.gnu.org> | |
4317 Jonathan Wakely <jwakely@redhat.com> | |
4318 | |
4319 * python/libstdcxx/v6/printers.py (_versioned_namespace): Define. | |
4320 (is_specialization, strip_versioned_namespace): New helpers functions | |
4321 to work with symbols in the versioned namespace. | |
4322 (Printer.add_version): Add second name using versioned namespace. | |
4323 (add_one_template_type_printer, add_one_type_printer): Add second | |
4324 type printers using versioned namespace. | |
4325 (register_type_printers): Add template type printer for basic_string. | |
4326 (build_libstdcxx_dictionary): Remove dead code. | |
4327 * python/libstdcxx/v6/xmethods.py: Make all matchers look for | |
4328 versioned namespace. | |
4329 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected | |
4330 results. | |
4331 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. | |
4332 | |
4333 2017-01-09 Jonathan Wakely <jwakely@redhat.com> | |
4334 | |
4335 PR libstdc++/79017 | |
4336 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround | |
4337 functions separately on darwin and if they're missing define | |
4338 _GLIBCXX_NO_C99_ROUNDING_FUNCS. | |
4339 * config.h.in: Regenerate. | |
4340 * configure: Regenerate. | |
4341 * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint) | |
4342 (llrintf, llrintl, llround, llroundf, llroundl): Do not define. | |
4343 | |
4344 * testsuite/30_threads/condition_variable/members/3.cc: Use new macro | |
4345 to detect correct thread_local destructors. | |
4346 * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS): | |
4347 Define. | |
4348 | |
4349 2017-01-09 Jonathan Wakely <jwakely@redhat.com> | |
4350 Aditya Kumar <hiraditya@msn.com> | |
4351 | |
4352 PR libstdc++/66414 | |
4353 * include/bits/basic_string.tcc | |
4354 (basic_string::find(const CharT*, size_type, size_type)): Optimize. | |
4355 | |
4356 2017-01-06 Jonathan Wakely <jwakely@redhat.com> | |
4357 | |
4358 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New. | |
4359 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New. | |
4360 | |
4361 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp: | |
4362 Include <cassert> header. | |
4363 | |
4364 PR libstdc++/78968 | |
4365 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*. | |
4366 * configure: Regenerate. | |
4367 | |
4368 2017-01-06 Barrett Adair <barrettellisadair@gmail.com> | |
4369 Jonathan Wakely <jwakely@redhat.com> | |
4370 | |
4371 * include/std/variant (variant, swap): Replace __and_ usage with fold | |
4372 expressions. | |
4373 | |
4374 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | |
4375 | |
4376 PR go/78978 | |
4377 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove. | |
4378 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of | |
4379 GLIBCXX_CHECK_ASSEMBLER_HWCAP. | |
4380 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of | |
4381 HWCAP_FLAGS. | |
4382 * aclocal.m4: Regenerate. | |
4383 * configure: Regenerate. | |
4384 * Makefile.in, doc/Makefile.in, include/Makefile.in, | |
4385 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in, | |
4386 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in, | |
4387 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate. | |
4388 | |
4389 2017-01-06 Jonathan Wakely <jwakely@redhat.com> | |
4390 | |
4391 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition. | |
4392 | |
4393 PR libstdc++/78991 | |
4394 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val) | |
4395 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val) | |
4396 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and | |
4397 move function objects. | |
4398 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter) | |
4399 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects. | |
4400 * testsuite/25_algorithms/sort/78991.cc: New test. | |
4401 | |
4402 2017-01-05 Jonathan Wakely <jwakely@redhat.com> | |
4403 | |
4404 * include/bits/std_function.h (function::_Signature_type): Remove. | |
4405 (function::function(_Functor)): Adjust. | |
4406 | |
4407 2017-01-05 Tim Shen <timshen@google.com> | |
4408 | |
4409 PR libstdc++/78996 | |
4410 * include/std/variant (__gen_vtable_impl): rename __unused to | |
4411 __dimensions to avoid naming conflict. | |
4412 | |
4413 2017-01-04 Jonathan Wakely <jwakely@redhat.com> | |
4414 | |
4415 PR libstdc++/78968 | |
4416 * config.h.in: Regenerate. | |
4417 * configure: Likewise. | |
4418 * configure.ac: Check for __cxa_thread_atexit. | |
4419 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]: | |
4420 Don't define __cxa_thread_atexit if libc provides it. | |
4421 | |
4422 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com> | |
4423 | |
4424 Implement 2801, Default-constructibility of unique_ptr. | |
4425 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New. | |
4426 (unique_ptr::_DeleterConstraint): Likewise. | |
4427 (unique_ptr()): Constrain. | |
4428 (unique_ptr(pointer)): Likewise. | |
4429 (unique_ptr(nullptr_t)): Likewise. | |
4430 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New. | |
4431 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain. | |
4432 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise. | |
4433 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise. | |
4434 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust. | |
4435 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise. | |
4436 * testsuite/20_util/unique_ptr/cons/default.cc: New. | |
4437 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust. | |
4438 | |
4439 2017-01-04 Pauli Nieminen <suokkos@gmail.com> | |
4440 Jonathan Wakely <jwakely@redhat.com> | |
4441 | |
4442 PR libstdc++/64735 | |
4443 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define. | |
4444 * config.h.in: Regenerate. | |
4445 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46] | |
4446 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make | |
4447 exports for exception_ptr, nested_exception, and future conditional. | |
4448 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add | |
4449 exports for exception_ptr, nested_exception, and future conditional. | |
4450 * configure: Regenerate. | |
4451 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER. | |
4452 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE | |
4453 * libsupc++/eh_atomics.h: New file for internal use only. | |
4454 (__eh_atomic_inc, __eh_atomic_dec): New. | |
4455 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref) | |
4456 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup) | |
4457 (rethrow_exception): Use eh_atomics.h reference counting helpers. | |
4458 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise. | |
4459 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise. | |
4460 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE. | |
4461 * libsupc++/exception_ptr.h: Likewise. | |
4462 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro. | |
4463 * libsupc++/nested_exception.cc: Remove check for | |
4464 ATOMIC_INT_LOCK_FREE. | |
4465 * libsupc++/nested_exception.h: Likewise. | |
4466 * src/c++11/future.cc: Likewise. | |
4467 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks. | |
4468 * testsuite/18_support/nested_exception/*: Likewise. | |
4469 * testsuite/30_threads/async/*: Likewise. | |
4470 * testsuite/30_threads/future/*: Likewise. | |
4471 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise. | |
4472 * testsuite/30_threads/packaged_task/*: Likewise. | |
4473 * testsuite/30_threads/promise/*: Likewise. | |
4474 * testsuite/30_threads/shared_future/*: Likewise. | |
4475 | |
4476 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com> | |
4477 | |
4478 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now | |
4479 defaults to https; adjust reference. | |
4480 | |
4481 2017-01-03 Jonathan Wakely <jwakely@redhat.com> | |
4482 | |
4483 PR libstdc++/78956 | |
4484 * include/std/thread (thread(const thread&&)): Add deleted | |
4485 constructor. | |
4486 * testsuite/30_threads/thread/cons/lwg2097.cc: New test. | |
4487 | |
4488 * doc/xml/manual/spine.xml: Update copyright years. | |
4489 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir. | |
4490 * doc/xml/manual/test.xml: Likewise. | |
4491 * doc/html/*: Regenerate. | |
4492 | |
4493 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com> | |
4494 | |
4495 * doc/xml/faq.xml: Update address of C++ ABI link. | |
4496 * doc/xml/manual/abi.xml: Ditto. | |
4497 | |
4498 2017-01-01 Jakub Jelinek <jakub@redhat.com> | |
4499 | |
4500 Update copyright years. | |
4501 | |
4502 Copyright (C) 2017 Free Software Foundation, Inc. | |
4503 | |
4504 Copying and distribution of this file, with or without modification, | |
4505 are permitted in any medium without royalty provided the copyright | |
4506 notice and this notice are preserved. |