]>
Commit | Line | Data |
---|---|---|
85ec4feb JJ |
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 | \f | |
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. |