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