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