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