PR libstdc++/84769 qualify call to std::get<0>
[gcc.git] / libstdc++-v3 / ChangeLog
1 2018-05-03 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/84769
4 * include/std/variant (visit): Qualify std::get call.
5
6 PR libstdc++/85632 use uintmax_t for arithmetic
7 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
8 arithmetic in result type.
9 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
10 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
11 is greater than free space.
12 * testsuite/experimental/filesystem/operations/space.cc: New.
13
14 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
15 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
16 New.
17 * testsuite/20_util/remove_cvref/value.cc: New.
18 * testsuite/20_util/remove_cvref/value_ext.cc: New.
19
20 PR libstdc++/84087 LWG DR 2268 basic_string default arguments
21 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
22 (append(const basic_string&, size_type, size_type)
23 (assign(const basic_string&, size_type, size_type)
24 (insert(size_type, const basic_string&, size_type, size_type)
25 (replace(size_type,size_type,const basic_string&,size_type,size_type)
26 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
27 Add default arguments (LWG 2268).
28 [_GLIBCXX_USE_CXX11_ABI=0]
29 (append(const basic_string&, size_type, size_type)
30 (assign(const basic_string&, size_type, size_type)
31 (insert(size_type, const basic_string&, size_type, size_type)
32 (replace(size_type,size_type,const basic_string&,size_type,size_type)
33 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
34 Likewise.
35 * testsuite/21_strings/basic_string/dr2268.cc: New test.
36
37 PR libstdc++/84535
38 * include/std/thread (thread::__not_same): New SFINAE helper.
39 (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
40 first argument is not a std::thread. Add static assertion to check
41 INVOKE expression is valid.
42 (thread::thread(thread&), thread::thread(const thread&&)): Remove.
43 (thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
44 __invoke_result for return types and remove exception specifications.
45 * testsuite/30_threads/thread/cons/84535.cc: New.
46
47 * include/std/future (__async_result_of): Use __invoke_result instead
48 of result_of.
49
50 * include/std/any (any_cast): Use __remove_cvref_t.
51 * include/std/tuple (__make_tuple): Likewise.
52 * include/std/type_traits (__remove_cvref_t): Define.
53 (__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
54 [__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
55 * include/std/variant (__erased_hash): Use __remove_cvref_t.
56
57 2018-05-02 François Dumont <fdumont@gcc.gnu.org>
58
59 * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
60 ensure overloaded comma not used.
61 * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
62 * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
63 * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
64 * testsuite/23_containers/deque/modifiers/assign/1.cc: New.
65 * testsuite/23_containers/list/modifiers/assign/1.cc: New.
66 * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
67 * testsuite/23_containers/vector/modifiers/assign/1.cc: New.
68
69 2018-05-02 Jonathan Wakely <jwakely@redhat.com>
70
71 PR libstdc++/68197
72 * include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
73 indices to unsigned.
74 * src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
75 as failure. Refactor error handling.
76 * testsuite/27_io/ios_base/storage/68197.cc: New.
77
78 PR libstdc++/57997
79 PR libstdc++/83860
80 * include/bits/gslice_array.h (gslice_array): Define default
81 constructor as deleted, as per C++11 standard.
82 * include/bits/mask_array.h (mask_array): Likewise.
83 * include/bits/slice_array.h (slice_array): Likewise.
84 * include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
85 to namespace __detail.
86 (_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
87 members.
88 * include/bits/valarray_before.h (_ValArrayRef): New helper for type
89 of data members in closure objects.
90 (_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
91 (_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
92 __detail.
93 (_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
94 (_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
95 (_SBase::_M_expr): Use _ValArrayRef for type of data members.
96 * include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
97 (_ValFunClos, _RefFunClos): Move to namespace __detail and add
98 using-declarations to namespace std.
99 * testsuite/26_numerics/valarray/83860.cc: New.
100
101 * testsuite/backward/strstream_move.cc: Remove duplicate function
102 call.
103
104 PR libstdc++/69608
105 * include/backward/strstream (strstreambuf): Define move constructor
106 and move assignment operator.
107 (istrstream, ostrstream, strstream): Likewise.
108 * testsuite/backward/strstream_move.cc: New.
109
110 2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
111
112 PR libstdc++/84654
113 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
114 * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
115 * configure: Regenerate.
116 * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
117 based on ENABLE_FLOAT128.
118 * include/Makefile.in: Regenerate.
119 * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
120 [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
121 _GLIBCXX_USE_FLOAT128.
122
123 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
124
125 * configure: Regenerated.
126
127 2018-04-19 Jakub Jelinek <jakub@redhat.com>
128
129 * configure: Regenerated.
130
131 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
132 Jakub Jelinek <jakub@redhat.com>
133
134 PR libstdc++/85442
135 * src/c++11/Makefile.am: Don't generate debuginfo again for
136 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
137 * src/c++11/Makefile.in: Regenerate.
138
139 2018-04-18 Jonathan Wakely <jwakely@redhat.com>
140
141 PR libstdc++/84442
142 * testsuite/30_threads/thread/cons/terminate.cc
143 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
144
145 2018-04-18 David Malcolm <dmalcolm@redhat.com>
146
147 PR jit/85384
148 * configure: Regenerate.
149
150 2018-04-16 Jonathan Wakely <jwakely@redhat.com>
151
152 * testsuite/experimental/filesystem/file_status/1.cc: Add
153 -DUSE_FILESYSTEM_TS to dg-options.
154 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
155 Likewise.
156 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
157 * testsuite/experimental/filesystem/iterators/
158 recursive_directory_iterator.cc: Likewise.
159 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
160 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
161 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
162 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
163 * testsuite/experimental/filesystem/operations/create_directories.cc:
164 Likewise.
165 * testsuite/experimental/filesystem/operations/create_directory.cc:
166 Likewise.
167 * testsuite/experimental/filesystem/operations/create_symlink.cc:
168 Likewise.
169 * testsuite/experimental/filesystem/operations/current_path.cc:
170 Likewise.
171 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
172 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
173 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
174 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
175 * testsuite/experimental/filesystem/operations/last_write_time.cc:
176 Likewise.
177 * testsuite/experimental/filesystem/operations/permissions.cc:
178 Likewise.
179 * testsuite/experimental/filesystem/operations/read_symlink.cc:
180 Likewise.
181 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
182 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
183 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
184 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
185 Likewise.
186 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
187 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
188 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
189 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
190 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
191 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
192 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
193 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
194 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
195 * testsuite/experimental/filesystem/path/construct/default.cc:
196 Likewise.
197 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
198 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
199 * testsuite/experimental/filesystem/path/construct/string_view.cc:
200 Likewise.
201 * testsuite/experimental/filesystem/path/decompose/extension.cc:
202 Likewise.
203 * testsuite/experimental/filesystem/path/decompose/filename.cc:
204 Likewise.
205 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
206 Likewise.
207 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
208 Likewise.
209 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
210 Likewise.
211 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
212 Likewise.
213 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
214 Likewise.
215 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
216 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
217 Likewise.
218 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
219 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
220 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
221 Likewise.
222 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
223 Likewise.
224 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
225 Likewise.
226 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
227 Likewise.
228 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
229 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
230 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
231 Likewise.
232 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
233 * testsuite/experimental/filesystem/path/query/has_extension.cc:
234 Likewise.
235 * testsuite/experimental/filesystem/path/query/has_filename.cc:
236 Likewise.
237 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
238 Likewise.
239 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
240 Likewise.
241 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
242 Likewise.
243 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
244 Likewise.
245 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
246 Likewise.
247 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
248 * testsuite/experimental/filesystem/path/query/is_relative.cc:
249 Likewise.
250
251 2018-04-13 Jonathan Wakely <jwakely@redhat.com>
252
253 * src/c++11/Makefile.am: Fix sed command.
254 * src/c++11/Makefile.in: Regenerate.
255
256 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
257 handle mangled names starting with double underscores on darwin.
258 * src/c++11/Makefile.in: Regenerate.
259
260 2018-04-12 Jonathan Wakely <jwakely@redhat.com>
261
262 * src/c++11/Makefile.am: Fix comment.
263 * src/c++11/Makefile.in: Regenerate.
264 * src/c++11/cxx11-ios_failure.cc: Fix comment.
265 * src/c++98/ios_failure.cc: Likewise.
266
267 * src/c++11/ios.cc: Remove redundant macro definition.
268
269 2018-04-11 Jonathan Wakely <jwakely@redhat.com>
270
271 * doc/xml/manual/abi.xml: Document header locations in recent
272 releases.
273 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
274 * doc/xml/manual/spine.xml: Update copyright years.
275 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
276 undefined behaviour.
277 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
278 * doc/html/*: Regenerate.
279
280 2018-04-10 Jonathan Wakely <jwakely@redhat.com>
281
282 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
283 * doc/xml/manual/backwards_compatibility.xml: Likewise.
284 * doc/xml/manual/containers.xml: Likewise.
285 * doc/xml/manual/debug_mode.xml: Likewise.
286 * doc/xml/manual/extensions.xml: Likewise.
287 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
288 * doc/xml/manual/using.xml: Likewise.
289 * doc/xml/manual/utilities.xml: Likewise.
290
291 PR libstdc++/85222
292 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
293 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
294 * src/c++11/Makefile.in: Regenerate.
295 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
296 New types.
297 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
298 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
299 * src/c++98/ios_failure.cc (__construct_ios_failure)
300 (__destroy_ios_failure, is_ios_failure_handler): New functions.
301 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
302 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
303 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
304 handler types, to always catch std::ios_base::failure.
305 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
306 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
307 exceptions_failbit.cc: Likewise.
308 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
309 exceptions_failbit.cc: Likewise.
310 * testsuite/27_io/basic_istream/extractors_other/char/
311 exceptions_null.cc: Likewise.
312 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
313 exceptions_null.cc: Likewise.
314 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
315 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
316 * testsuite/27_io/basic_ostream/inserters_other/char/
317 exceptions_null.cc: Likewise.
318 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
319 exceptions_null.cc: Likewise.
320 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
321
322 2018-04-05 Jonathan Wakely <jwakely@redhat.com>
323
324 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
325 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
326
327 2018-04-03 Jonathan Wakely <jwakely@redhat.com>
328
329 PR libstdc++/85183
330 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
331 value categories.
332 * testsuite/20_util/variant/85183.cc: New.
333
334 2018-03-26 Jonathan Wakely <jwakely@redhat.com>
335
336 * include/std/variant (__get): Qualify calls to avoid ADL.
337 (__select_index): Adjust whitespace.
338 (variant): Add using-declaration to workaround Clang bug.
339
340 2018-03-22 Jonathan Wakely <jwakely@redhat.com>
341
342 PR libstdc++/85040
343 * include/bits/stl_function.h (greater::__not_overloaded)
344 (less::__not_overloaded, greater_equal::__not_overloaded)
345 (less_equal::__not_overloaded): Fix ambiguous specializations.
346 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
347 tests for type with overloaded operators.
348
349 2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
350
351 PR libstdc++/77691
352 * testsuite/experimental/memory_resource/resource_adaptor.cc:
353 xfail execution on 32-bit Solaris/x86.
354
355 2018-03-21 Jonathan Wakely <jwakely@redhat.com>
356
357 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
358 VERIFY instead of assert.
359 * testsuite/20_util/hash/84998.cc: New test.
360 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
361 copy of test adjusted for Debug Mode.
362 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
363 test in Debug Mode.
364
365 2018-03-20 François Dumont <fdumont@gcc.gnu.org>
366
367 PR libstdc++/84998
368 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
369 * include/std/bitset: Likewise.
370 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
371 declaration.
372 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
373 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
374 * include/bits/stl_set.h (std::set<>): Likewise.
375 * include/bits/unordered_map.h (std::unordered_map<>): Fix
376 _Hash_merge_helper friend declaration.
377 (std::unordered_multimap<>): Likewise.
378 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
379 (std::unordered_multiset<>): Likewise.
380
381 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
382
383 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
384 trailing slash for domain level link.
385 * doc/xml/faq.xml: Ditto.
386 * doc/xml/manual/appendix_free.xml (software): Ditto.
387 * doc/xml/manual/intro.xml: Ditto.
388 * doc/xml/manual/spine.xml: Ditto.
389 * doc/xml/spine.xml: Ditto.
390
391 2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
392
393 * doc/xml/manual/documentation_hacking.xml: Adjust link to
394 docbook.org.
395
396 2018-03-17 Jonathan Wakely <jwakely@redhat.com>
397
398 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
399 to compile as C++98.
400
401 2018-03-14 Jonathan Wakely <jwakely@redhat.com>
402
403 PR libstdc++/78420
404 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
405 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
406 to ensure total order for pointers.
407 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
408 Add operator() overloads for pointer arguments and make generic
409 overloads dispatch to new _S_cmp functions when comparisons would
410 use built-in operators for pointers.
411 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
412
413 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
414
415 PR libstdc++/84773
416 PR libstdc++/83662
417 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
418 * configure: Regenerate.
419 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
420 (aligned_alloc): Add using-declaration.
421 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
422
423 2018-03-09 François Dumont <fdumont@gcc.gnu.org>
424
425 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
426 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
427 registration.
428
429 2018-03-09 Jonathan Wakely <jwakely@redhat.com>
430
431 PR libstdc++/84769
432 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
433 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
434
435 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
436 src/filesystem/std-ops.cc (create_dir): Likewise.
437
438 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
439
440 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
441 (StdListIteratorPrinter): Inherit from latter.
442 (StdFwdListIteratorPrinter): New, inherit from latter.
443 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
444 when iterator has no associated container.
445 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
446 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
447 registrations.
448 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
449 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
450
451 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
452
453 PR libstdc++/84601
454 * include/std/optional (_Optional_payload): Split into multiple
455 specializations that can handle different cases of trivial or
456 non-trivial assignment operators.
457 * testsuite/20_util/optional/84601.cc: New.
458 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
459
460 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
461
462 PR libstdc++/84671
463 * include/bits/parse_numbers.h (_Number_help): Add partial
464 specialization to handle digit separators. Adjust partial
465 specialization for recursion temrination to require _Pow == 1ULL.
466 * testsuite/20_util/duration/literals/84671.cc: New
467
468 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
469
470 Implement the missing bits of LWG 2769
471 * include/std/any (any_cast(const any&)): Add static_assert.
472 (any_cast(any&)): Likewise.
473 (any_cast(any&&)): Likewise, and remove the handling
474 for copyable-but-not-movable type.
475 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
476 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
477 add new tests.
478
479 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
480
481 PR libstdc++/84532
482 * include/std/thread (thread::__make_invoker): Construct tuple
483 directly instead of using make_tuple.
484 * testsuite/30_threads/async/84532.cc: New.
485 * testsuite/30_threads/thread/84532.cc: New.
486
487 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
488
489 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
490 (template<> __aligned_buffer): Define as __aligned_membuf alias.
491
492 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
493
494 PR target/84148
495 * configure: Regenerate.
496
497 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
498
499 PR libstdc++/81797
500 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
501 * configure: Regenerate.
502 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
503 defined.
504 * include/Makefile.in: Regenerate.
505
506 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
507
508 PR libstdc++/83833
509 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
510 Add -ffloat-store to options for m68k and ia32.
511
512 * doc/xml/faq.xml: Update copyright years.
513 * doc/html/*: Regenerate.
514
515 PR libstdc++/83658
516 * include/std/any (any::__do_emplace): Only set _M_manager after
517 constructing the contained object.
518 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
519 * testsuite/20_util/any/modifiers/83658.cc: New test.
520
521 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
522
523 PR libstdc++/81076
524 * include/c_global/cstddef (__byte_operand): Define primary template.
525 * testsuite/18_support/byte/81076.cc: New test.
526
527 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
528
529 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
530 dg-options and dg-add-options order.
531 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
532 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
533 Likewise.
534 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
535 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
536 Likewise.
537 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
538 Likewise.
539 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
540 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
541 Likewise.
542 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
543 Likewise.
544 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
545 Likewise.
546 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
547 Likewise.
548 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
549 Likewise.
550 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
551 Likewise.
552 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
553 Likewise.
554 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
555 Likewise.
556 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
557 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
558 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
559 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
560 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
561 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
562 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
563 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
564 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
565 Likewise.
566 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
567 Likewise.
568 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
569 Likewise.
570 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
571 Likewise.
572
573 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
574
575 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
576 include linux/types.h when checking linux/random.h header.
577 * config.h.in: Regenerate.
578 * configure: Ditto.
579 * src/c++11/random.cc: Conditionally include linux/types.h.
580
581 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
582
583 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
584
585 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
586
587 PR libstdc++/83834
588 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
589 pattern with exact match for std::cerr.
590
591 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
592
593 PR libstdc++/83833
594 * include/bits/random.h (chi_squared_distribution::param): Update
595 gamma distribution parameter.
596 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
597 test.
598
599 PR libstdc++/83830
600 * include/std/type_traits (has_unique_object_representations_v): Add
601 variable template.
602 * testsuite/20_util/has_unique_object_representations/value.cc: Check
603 variable template.
604
605 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
606
607 Make optional conditionally
608 trivially_{copy,move}_{constructible,assignable}
609 * include/std/optional (_Optional_payload): Fix the comment in
610 the class head and turn into a primary and one specialization.
611 (_Optional_payload::_M_engaged): Strike the NSDMI.
612 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
613 New.
614 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
615 Likewise.
616 (_Optional_payload<_Tp, false>::_M_get): Likewise.
617 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
618 (_Optional_base_impl): Likewise.
619 (_Optional_base): Turn into a primary and three specializations.
620 (optional(nullopt)): Change the base init.
621 * testsuite/20_util/optional/assignment/8.cc: New.
622 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
623 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
624
625 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
626
627 PR libstdc++/80276
628 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
629 (get_template_arg_list): New.
630 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
631 instead.
632 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
633 of strings and regular expressions.
634 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
635 (FilteringTypePrinter): Add docstring. Match using startswith. Use
636 strip_inline_namespaces instead of strip_versioned_namespace.
637 (add_one_type_printer): Prepend namespace to match argument.
638 (register_type_printers): Add type printers for char16_t and char32_t
639 string types and for types using cxx11 ABI. Update calls to
640 add_one_template_type_printer to provide default argument dicts.
641 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
642 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
643 basic_string<unsigned char> and basic_string<signed char>.
644 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
645 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
646
647 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
648
649 PR libstdc++/81092
650 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
651
652 2018-01-13 Tim Shen <timshen@google.com>
653
654 PR libstdc++/83601
655 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
656 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
657 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
658
659 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
660
661 PR libstdc++/64054
662 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
663 Remove dg-xfail-run-if.
664
665 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
666
667 * include/bits/forward_list.h
668 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
669 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
670 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
671 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
672 (_Fwd_list_impl()): Add noexcept qualification.
673 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
674 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
675 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
676 (_Fwd_list_base()): Default.
677 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
678 (_Fwd_list_base(_Fwd_list_base&&)): Default.
679 (forward_list<>()): Default.
680 (forward_list<>(forward_list&&)): Default.
681 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
682 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
683 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
684 * include/bits/forward_list.tcc
685 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
686 _M_impl._M_head move assignment.
687 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
688 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
689
690 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
691
692 PR libstdc++/80276
693 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
694 (UniquePointerPrinter): Print correct template argument, not type of
695 the pointer.
696 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
697 a type.
698 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
699 array type.
700 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
701 weak_ptr of array types.
702
703 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
704
705 PR libstdc++/83709
706 * include/bits/hashtable_policy.h
707 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
708 __first != __last.
709 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
710 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
711 Add false_type parameter.
712 (_Insert_base::insert): Adapt.
713 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
714 Adapt.
715 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
716 Add __n_elt parameter, defaulted to 1.
717 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
718 policy _M_need_rehash.
719 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
720 produce only 1 rehash if necessary.
721 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
722 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
723
724 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
725 Jonathan Wakely <jwakely@redhat.com>
726
727 PR libstdc++/59253 (partial)
728 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
729 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
730 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
731 children.
732 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
733 of unique_ptr printer.
734 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
735 output of shared_ptr printer.
736
737 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
738
739 PR libstdc++/83626
740 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
741 unnecessary symlink_status call.
742 (remove_all(const path&, error_code&)): Use filesystem::remove.
743 * src/filesystem/std-ops.cc: Likewise.
744
745 PR libstdc++/83279
746 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
747 sendfile.
748
749 PR libstdc++/83626
750 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
751 report an error for ENOENT.
752 (remove_all(const path&)): Fix type of result variable.
753 (remove_all(const path&, error_code&)): Use non-throwing increment
754 for directory iterator. Call POSIX remove directly to avoid redundant
755 calls to symlink_status. Do not report errors for ENOENT.
756 * src/filesystem/std-ops.cc: Likewise.
757 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
758 overload.
759 * testsuite/experimental/filesystem/operations/remove_all.cc:
760 Likewise.
761
762 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
763
764 PR libstdc++/83626
765 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
766 redundant call to ec.clear().
767 (remove_all(const path&, error_code&))): Do not return an error for
768 non-existent paths.
769 * src/filesystem/std-ops.cc: Likewise.
770 * testsuite/27_io/filesystem/operations/remove.cc: New test.
771 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
772 results for non-existent paths.
773 * testsuite/experimental/filesystem/operations/remove.cc: New test.
774 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
775 expected results for non-existent paths.
776
777 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
778 check status_known once.
779 * include/experimental/bits/fs_ops.h: Likewise.
780
781 PR libstdc++/83607
782 * include/std/functional (__is_byte_like): New trait.
783 (__is_std_equal_to): Remove.
784 (__boyer_moore_base_t): Use __is_byte_like instead of
785 __is_std_equal_to.
786 * include/experimental/functional (__is_std_equal_to): Remove.
787 (__boyer_moore_base_t): Use __is_byte_like instead of
788 __is_std_equal_to.
789 * testsuite/20_util/function_objects/83607.cc: New test.
790
791 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
792
793 Protect optional's deduction guide with the feature macro
794 * include/std/optional: Use the feature macro.
795
796 2018-01-03 Jakub Jelinek <jakub@redhat.com>
797
798 Update copyright years.
799 \f
800 Copyright (C) 2018 Free Software Foundation, Inc.
801
802 Copying and distribution of this file, with or without modification,
803 are permitted in any medium without royalty provided the copyright
804 notice and this notice are preserved.