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