PR libstdc++/85818 ensure path::preferred_separator is defined
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobbc96d67806d9bec3134b74e8ba7a3166cc7d706a
1 2018-05-17  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/85818
4         * src/filesystem/path.cc (path::preferred_separator): Add used
5         attribute.
6         * testsuite/experimental/filesystem/path/preferred_separator.cc: New.
8         PR libstdc++/85812
9         * libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
10         * libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
11         Refactor to separate non-throwing and throwing implementations.
12         [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
13         if constructing the object throws.
15 2018-05-15  Jonathan Wakely  <jwakely@redhat.com>
17         PR libstdc++/85749
18         * include/bits/random.h (__detail::__is_seed_seq): New SFINAE helper.
19         (linear_congruential_engine, mersenne_twister_engine)
20         (subtract_with_carry_engine, discard_block_engine)
21         (independent_bits_engine, shuffle_order_engine): Use __is_seed_seq to
22         constrain function templates taking seed sequences.
23         * include/bits/random.tcc (linear_congruential_engine::seed(_Sseq&))
24         (mersenne_twister_engine::seed(_Sseq&))
25         (subtract_with_carry_engine::seed(_Sseq&)): Change return types to
26         match declarations.
27         * include/ext/random (simd_fast_mersenne_twister_engine): Use
28         __is_seed_seq to constrain function templates taking seed sequences.
29         * include/ext/random.tcc (simd_fast_mersenne_twister_engine::seed):
30         Change return type to match declaration.
31         * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
32         New.
33         * testsuite/26_numerics/random/independent_bits_engine/cons/
34         seed_seq2.cc: New.
35         * testsuite/26_numerics/random/linear_congruential_engine/cons/
36         seed_seq2.cc: New.
37         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
38         seed_seq2.cc: New.
39         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
40         * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
41         New.
42         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
43         seed_seq2.cc: New.
44         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
45         seed_seq2.cc: New.
47         PR libstdc++/83891
48         * include/bits/fs_path.h (path::is_absolute()): Use same definition
49         for all operating systems.
50         * include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
51         * testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
52         * testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
53         * testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
55         * testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
56         unused <vector> header.
57         * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
58         * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
59         * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
60         * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
61         * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
62         Likewise.
63         * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
64         Likewise.
65         * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
66         * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
67         * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
68         * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
69         * testsuite/experimental/filesystem/path/decompose/extension.cc:
70         Likewise.
71         * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
72         * testsuite/experimental/filesystem/path/query/has_extension.cc:
73         Likewise.
74         * testsuite/experimental/filesystem/path/query/has_filename.cc:
75         Likewise.
76         * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
77         Likewise.
78         * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
79         Likewise.
80         * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
81         Likewise.
82         * testsuite/experimental/filesystem/path/query/has_root_name.cc:
83         Likewise.
84         * testsuite/experimental/filesystem/path/query/has_root_path.cc:
85         Likewise.
86         * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
87         * testsuite/experimental/filesystem/path/query/is_relative.cc:
88         Likewise.
90         PR libstdc++/84159
91         * include/bits/fs_path.h (path::operator/=, path::append): Construct
92         temporary path before calling _M_append.
93         (path::_M_append): Change parameter to path and implement C++17
94         semantics.
95         * testsuite/27_io/filesystem/path/append/path.cc: Add helper function
96         and more examples from the standard.
97         * testsuite/27_io/filesystem/path/append/source.cc: New.
98         * testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
99         * testsuite/27_io/filesystem/path/nonmember/append.cc: New.
101         * include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
102         __invoke to prevent ADL.
104 2018-05-14  Jonathan Wakely  <jwakely@redhat.com>
106         PR libstdc++/81256
107         * include/bits/fstream.tcc (basic_filebuf::close): Do not swallow
108         exceptions from _M_terminate_output().
109         * include/std/fstream (basic_filebuf::~basic_filebuf): Swallow any
110         exceptions from close().
111         * testsuite/27_io/basic_filebuf/close/81256.cc: New.
113         * include/bits/valarray_array.h (__valarray_get_memory): Remove.
114         (__valarray_get_storage): Call operator new directly. Remove ignored
115         top-level restrict qualifier and add malloc attribute instead.
116         (_Array<_Tp>::_Array(size_t)): Remove unused constructor.
118         PR libstdc++/67554
119         * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
120         (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
122         PR libstdc++/82966
123         * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
124         instead of type.
125         * testsuite/23_containers/set/modifiers/node_swap.cc: New.
127 2018-05-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
129         PR libstdc++/80165
130         * testsuite/20_util/variant/80165.cc: New.
132 2018-05-10  Jonathan Wakely  <jwakely@redhat.com>
134         * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
135         * doc/xml/manual/debug_mode.xml: Add array and forward_list to list
136         of C++11 containers with Debug Mode support.
137         * doc/xml/manual/using.xml: Document Dual ABI for ios_base::failure.
138         * doc/html/*: Regenerate.
140 2018-05-10  Jason Merrill  <jason@redhat.com>
142         * include/bits/regex_compiler.h (_S_cache_size): Change from
143         function to variable.
145 2018-05-10  Edward Smith-Rowland  <3dw4rd@verizon.net>
147         PR libstdc++/83140 - assoc_legendre returns negated value when m is odd
148         * include/tr1/legendre_function.tcc (__assoc_legendre_p): Add __phase
149         argument defaulted to +1.  Doxy comments on same.
150         * testsuite/special_functions/02_assoc_legendre/
151         check_value.cc: Regen.
152         * testsuite/tr1/5_numerical_facilities/special_functions/
153         02_assoc_legendre/check_value.cc: Regen.
155 2018-05-10  Jonathan Wakely  <jwakely@redhat.com>
157         PR libstdc++/85729
158         * include/bits/c++config.h (__replacement_assert): Add linkage
159         specification.
160         * include/bits/std_abs.h: Add comment to closing brace of block.
161         * include/c_global/cstddef: Add linkage specification.
162         * include/c_global/cstring: Likewise.
163         * include/c_global/cwchar: Likewise.
165 2018-05-09  François Dumont  <fdumont@gcc.gnu.org>
167         * include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()):
168         Rename in...
169         (_Safe_iterator<>::_S_constant()): ...that.
170         * include/debug/safe_local_iterator.h
171         (_Safe_local_iterator<>::_M_constant()): Rename in...
172         (_Safe_local_iterator<>::_S_constant()): ...that.
173         * include/debug/formatter.h: Remove bits/cpp_type_traits.h include.
174         (_Iterator_state::__rbegin): New.
175         (_Iterator_state::__rmiddle): New.
176         (_Iterator_state::__rend): New.
177         (_Parameter::_Parameter(const _Safe_iterator<>&, const char*,
178         _Is_iterator)): Use _Safe_iterator<>::_S_constant. Grab normal underlying
179         iterator type.
180         (_Parameter::_Parameter(const _Safe_local_iterator<>&, const char*,
181         _Is_iterator)): Likewise.
182         (_Parameter::_S_reverse_state(_Iterator_state)): New.
183         (_Parameter(__gnu_cxx::__normal_iterator<> const&, const char*,
184         _Is_iterator)): New.
185         (_Parameter(std::reverse_iterator<> const&, const char*,
186         _Is_iterator)): New.
187         (_Parameter(std::reverse_iterator<_Safe_iterator<>> const&,
188         const char*, _Is_iterator)): New.
189         (_Parameter(std::move_iterator<> const&, const char*, _Is_iterator):
190         New.
191         (_Parameter(std::move_iterator<_Safe_iterator<>> const&, const char*,
192         _Is_iterator)): New.
193         * testsuite/24_iterators/move_iterator/debug_neg.cc: New.
194         * testsuite/24_iterators/normal_iterator/debug_neg.cc: New.
195         * testsuite/24_iterators/reverse_iterator/debug_neg.cc: New.
197 2018-05-09  Jonathan Wakely  <jwakely@redhat.com>
199         * include/bits/std_function.h (_Base_manager::_M_get_pointer):
200         Use constexpr if in C++17 mode.
201         (_Base_manager::_M_clone(_Any_data&, const _Any_data&, true_type)):
202         Copy from const object.
203         * testsuite/20_util/function/cons/non_copyconstructible.cc: New.
205 2018-05-08  François Dumont  <fdumont@gcc.gnu.org>
207         * src/c++11/debug.cc [_GLIBCXX_HAVE_EXECINFO_H]: Include execinfo.h.
208         [_GLIBCXX_HAVE_EXECINFO_H](_Error_formatter::_M_error): Render
209         backtrace.
211         * include/debug/macros.h (__glibcxx_check_valid_range_at): New.
212         * include/debug/functions.h (__check_valid_range): Use latter.
213         * include/debug/macros.h (__glibcxx_check_valid_constructor_range): New,
214         use latter.
215         * include/debug/deque
216         (deque::deque<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
217         * include/debug/forward_list
218         (forward_list::forward_list<_Iter>(_Iter, _Iter, const _Alloc&)):
219         Likewise.
220         * include/debug/list
221         (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
222         * include/debug/list
223         (list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
224         * include/debug/map.h
225         (map::map<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
226         (map::map<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
227         Likewise.
228         * include/debug/multimap.h
229         (multimap::multimap<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
230         (multimap::multimap<_Iter>(_Iter, _Iter, const _Compare&,
231         const _Alloc&)): Likewise.
232         * include/debug/set.h
233         (set::set<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
234         (set::set<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
235         Likewise.
236         * include/debug/multiset.h
237         (multiset::multiset<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
238         (multiset::multiset<_Iter>(_Iter, _Iter, const _Compare&,
239         const _Alloc&)): Likewise.
240         * include/debug/string
241         (basic_string::basic_string<_Iter>(_Iter, _Iter, const _Alloc&)):
242         Likewise.
243         * include/debug/unordered_map
244         (unordered_map::unordered_map<_Iter>(_Iter, _Iter, const _Alloc&)):
245         Likewise.
246         (unordered_multimap::unordered_multimap<_Iter>(_Iter, _Iter,
247         const _Alloc&)): Likewise.
248         * include/debug/unordered_set
249         (unordered_set::unordered_set<_Iter>(_Iter, _Iter, const _Alloc&)):
250         Likewise.
251         (unordered_multiset::unordered_multiset<_Iter>(_Iter, _Iter,
252         const _Alloc&)): Likewise.
253         * include/debug/vector
254         (vector::vector<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
256         * include/debug/formatter.h (_Error_formatter::_M_function): New.
257         (_Error_formatter(const char*, unsigned int)): Adapt.
258         (_Error_formatter::_M_at): Rename in...
259         (_Error_formatter::_S_at): ...that and adapt.
260         * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): New.
261         (_GLIBCXX_DEBUG_VERIFY_AT, _GLIBCXX_DEBUG_VERIFY): Adapt.
262         * src/c++11/debug.cc (_Error_formatter::_M_error): Render _M_function
263         when available.
265 2018-05-08  Jonathan Wakely  <jwakely@redhat.com>
267         * include/bits/regex_automaton.h (_NFA_base::_M_paren_stack, _NFA):
268         Use normal std::vector even in Debug Mode.
270         PR libstdc++/85672
271         * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
272         to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
273         * include/Makefile.in: Regenerate.
274         * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
275         within conditional block.
277 2018-05-07  Jonathan Wakely  <jwakely@redhat.com>
279         * doc/xml/manual/using.xml (table.cmd_options): Document that the
280         C++17 Filesystem implementation also needs -lstdc++fs.
282         PR libstdc++/85671
283         * include/bits/fs_path.h (operator/): Permit copy elision.
284         * include/experimental/bits/fs_path.h (operator/): Likewise.
286 2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
288         Moar PR libstdc++/80506
289         * include/bits/random.tcc (gamma_distribution::__generate_impl()):
290         Fix magic number used in loop condition.
292 2018-05-04  Jonathan Wakely  <jwakely@redhat.com>
294         PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
295         * include/std/optional (_Optional_payload): Add noexcept to default
296         constructor. Re-indent.
297         (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
298         constructor for copying disengaged payloads.
299         (_Optional_payload<_Tp, true, false, true>): Likewise.
300         (_Optional_payload<_Tp, true, true, false>): Likewise.
301         (_Optional_payload<_Tp, true, false, false>): Likewise.
302         * testsuite/20_util/optional/cons/85642.cc: New.
303         * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
305 2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
307         PR libstdc++/82644
308         * include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
309         inline definitions instead of using-declarations.
310         [__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
311         * testsuite/tr1/5_numerical_facilities/special_functions/
312         07_conf_hyperg/compile_cxx17.cc: New.
313         * testsuite/tr1/5_numerical_facilities/special_functions/
314         17_hyperg/compile_cxx17.cc: New.
316         PR libstdc++/84769
317         * include/std/variant (visit): Qualify std::get call.
319         PR libstdc++/85632 use uintmax_t for arithmetic
320         * src/filesystem/ops.cc (experimental::filesystem::space): Perform
321         arithmetic in result type.
322         * src/filesystem/std-ops.cc (filesystem::space): Likewise.
323         * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
324         is greater than free space.
325         * testsuite/experimental/filesystem/operations/space.cc: New.
327         * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
328         * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
329         New.
330         * testsuite/20_util/remove_cvref/value.cc: New.
331         * testsuite/20_util/remove_cvref/value_ext.cc: New.
333         PR libstdc++/84087 LWG DR 2268 basic_string default arguments
334         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
335         (append(const basic_string&, size_type, size_type)
336         (assign(const basic_string&, size_type, size_type)
337         (insert(size_type, const basic_string&, size_type, size_type)
338         (replace(size_type,size_type,const basic_string&,size_type,size_type)
339         (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
340         Add default arguments (LWG 2268).
341         [_GLIBCXX_USE_CXX11_ABI=0]
342         (append(const basic_string&, size_type, size_type)
343         (assign(const basic_string&, size_type, size_type)
344         (insert(size_type, const basic_string&, size_type, size_type)
345         (replace(size_type,size_type,const basic_string&,size_type,size_type)
346         (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
347         Likewise.
348         * testsuite/21_strings/basic_string/dr2268.cc: New test.
350         PR libstdc++/84535
351         * include/std/thread (thread::__not_same): New SFINAE helper.
352         (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
353         first argument is not a std::thread. Add static assertion to check
354         INVOKE expression is valid.
355         (thread::thread(thread&), thread::thread(const thread&&)): Remove.
356         (thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
357         __invoke_result for return types and remove exception specifications.
358         * testsuite/30_threads/thread/cons/84535.cc: New.
360         * include/std/future (__async_result_of): Use __invoke_result instead
361         of result_of.
363         * include/std/any (any_cast): Use __remove_cvref_t.
364         * include/std/tuple (__make_tuple): Likewise.
365         * include/std/type_traits (__remove_cvref_t): Define.
366         (__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
367         [__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
368         * include/std/variant (__erased_hash): Use __remove_cvref_t.
370 2018-05-02  François Dumont  <fdumont@gcc.gnu.org>
372         * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
373         ensure overloaded comma not used.
374         * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
375         * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
376         * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
377         * testsuite/23_containers/deque/modifiers/assign/1.cc: New.
378         * testsuite/23_containers/list/modifiers/assign/1.cc: New.
379         * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
380         * testsuite/23_containers/vector/modifiers/assign/1.cc: New.
382 2018-05-02  Jonathan Wakely  <jwakely@redhat.com>
384         PR libstdc++/68197
385         * include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
386         indices to unsigned.
387         * src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
388         as failure. Refactor error handling.
389         * testsuite/27_io/ios_base/storage/68197.cc: New.
391         PR libstdc++/57997
392         PR libstdc++/83860
393         * include/bits/gslice_array.h (gslice_array): Define default
394         constructor as deleted, as per C++11 standard.
395         * include/bits/mask_array.h (mask_array): Likewise.
396         * include/bits/slice_array.h (slice_array): Likewise.
397         * include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
398         to namespace __detail.
399         (_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
400         members.
401         * include/bits/valarray_before.h (_ValArrayRef): New helper for type
402         of data members in closure objects.
403         (_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
404         (_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
405         __detail.
406         (_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
407         (_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
408         (_SBase::_M_expr): Use _ValArrayRef for type of data members.
409         * include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
410         (_ValFunClos, _RefFunClos): Move to namespace __detail and add
411         using-declarations to namespace std.
412         * testsuite/26_numerics/valarray/83860.cc: New.
414         * testsuite/backward/strstream_move.cc: Remove duplicate function
415         call.
417         PR libstdc++/69608
418         * include/backward/strstream (strstreambuf): Define move constructor
419         and move assignment operator.
420         (istrstream, ostrstream, strstream): Likewise.
421         * testsuite/backward/strstream_move.cc: New.
423 2018-05-01  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
425         PR libstdc++/84654
426         * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
427         * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
428         * configure: Regenerate.
429         * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
430         based on ENABLE_FLOAT128.
431         * include/Makefile.in: Regenerate.
432         * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
433         [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
434         _GLIBCXX_USE_FLOAT128.
436 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
438         * configure: Regenerated.
440 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
442         * configure: Regenerated.
444 2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
445             Jakub Jelinek  <jakub@redhat.com>
447         PR libstdc++/85442
448         * src/c++11/Makefile.am: Don't generate debuginfo again for
449         cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
450         * src/c++11/Makefile.in: Regenerate.
452 2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
454         PR libstdc++/84442
455         * testsuite/30_threads/thread/cons/terminate.cc
456         [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
458 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
460         PR jit/85384
461         * configure: Regenerate.
463 2018-04-16  Jonathan Wakely  <jwakely@redhat.com>
465         * testsuite/experimental/filesystem/file_status/1.cc: Add
466         -DUSE_FILESYSTEM_TS to dg-options.
467         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
468         Likewise.
469         * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
470         * testsuite/experimental/filesystem/iterators/
471         recursive_directory_iterator.cc: Likewise.
472         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
473         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
474         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
475         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
476         * testsuite/experimental/filesystem/operations/create_directories.cc:
477         Likewise.
478         * testsuite/experimental/filesystem/operations/create_directory.cc:
479         Likewise.
480         * testsuite/experimental/filesystem/operations/create_symlink.cc:
481         Likewise.
482         * testsuite/experimental/filesystem/operations/current_path.cc:
483         Likewise.
484         * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
485         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
486         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
487         * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
488         * testsuite/experimental/filesystem/operations/last_write_time.cc:
489         Likewise.
490         * testsuite/experimental/filesystem/operations/permissions.cc:
491         Likewise.
492         * testsuite/experimental/filesystem/operations/read_symlink.cc:
493         Likewise.
494         * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
495         * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
496         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
497         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
498         Likewise.
499         * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
500         * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
501         * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
502         * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
503         * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
504         * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
505         * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
506         * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
507         * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
508         * testsuite/experimental/filesystem/path/construct/default.cc:
509         Likewise.
510         * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
511         * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
512         * testsuite/experimental/filesystem/path/construct/string_view.cc:
513         Likewise.
514         * testsuite/experimental/filesystem/path/decompose/extension.cc:
515         Likewise.
516         * testsuite/experimental/filesystem/path/decompose/filename.cc:
517         Likewise.
518         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
519         Likewise.
520         * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
521         Likewise.
522         * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
523         Likewise.
524         * testsuite/experimental/filesystem/path/decompose/root_name.cc:
525         Likewise.
526         * testsuite/experimental/filesystem/path/decompose/root_path.cc:
527         Likewise.
528         * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
529         * testsuite/experimental/filesystem/path/generic/generic_string.cc:
530         Likewise.
531         * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
532         * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
533         * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
534         Likewise.
535         * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
536         Likewise.
537         * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
538         Likewise.
539         * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
540         Likewise.
541         * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
542         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
543         * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
544         Likewise.
545         * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
546         * testsuite/experimental/filesystem/path/query/has_extension.cc:
547         Likewise.
548         * testsuite/experimental/filesystem/path/query/has_filename.cc:
549         Likewise.
550         * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
551         Likewise.
552         * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
553         Likewise.
554         * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
555         Likewise.
556         * testsuite/experimental/filesystem/path/query/has_root_name.cc:
557         Likewise.
558         * testsuite/experimental/filesystem/path/query/has_root_path.cc:
559         Likewise.
560         * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
561         * testsuite/experimental/filesystem/path/query/is_relative.cc:
562         Likewise.
564 2018-04-13  Jonathan Wakely  <jwakely@redhat.com>
566         * src/c++11/Makefile.am: Fix sed command.
567         * src/c++11/Makefile.in: Regenerate.
569         * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
570         handle mangled names starting with double underscores on darwin.
571         * src/c++11/Makefile.in: Regenerate.
573 2018-04-12  Jonathan Wakely  <jwakely@redhat.com>
575         * src/c++11/Makefile.am: Fix comment.
576         * src/c++11/Makefile.in: Regenerate.
577         * src/c++11/cxx11-ios_failure.cc: Fix comment.
578         * src/c++98/ios_failure.cc: Likewise.
580         * src/c++11/ios.cc: Remove redundant macro definition.
582 2018-04-11  Jonathan Wakely  <jwakely@redhat.com>
584         * doc/xml/manual/abi.xml: Document header locations in recent
585         releases.
586         * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
587         * doc/xml/manual/spine.xml: Update copyright years.
588         * doc/xml/manual/strings.xml: Adjust tolower example to avoid
589         undefined behaviour.
590         * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
591         * doc/html/*: Regenerate.
593 2018-04-10  Jonathan Wakely  <jwakely@redhat.com>
595         * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
596         * doc/xml/manual/backwards_compatibility.xml: Likewise.
597         * doc/xml/manual/containers.xml: Likewise.
598         * doc/xml/manual/debug_mode.xml: Likewise.
599         * doc/xml/manual/extensions.xml: Likewise.
600         * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
601         * doc/xml/manual/using.xml: Likewise.
602         * doc/xml/manual/utilities.xml: Likewise.
604         PR libstdc++/85222
605         * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
606         cxx11-ios_failure.cc to rewrite type info for __ios_failure.
607         * src/c++11/Makefile.in: Regenerate.
608         * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
609         New types.
610         [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
611         * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
612         * src/c++98/ios_failure.cc (__construct_ios_failure)
613         (__destroy_ios_failure, is_ios_failure_handler): New functions.
614         [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
615         * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
616         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
617         handler types, to always catch std::ios_base::failure.
618         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
619         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
620         exceptions_failbit.cc: Likewise.
621         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
622         exceptions_failbit.cc: Likewise.
623         * testsuite/27_io/basic_istream/extractors_other/char/
624         exceptions_null.cc: Likewise.
625         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
626         exceptions_null.cc: Likewise.
627         * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
628         * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
629         * testsuite/27_io/basic_ostream/inserters_other/char/
630         exceptions_null.cc: Likewise.
631         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
632         exceptions_null.cc: Likewise.
633         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
635 2018-04-05  Jonathan Wakely  <jwakely@redhat.com>
637         * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
638         __get calls to avoid ADL and avoid ambiguity due to Clang bug.
640 2018-04-03  Jonathan Wakely  <jwakely@redhat.com>
642         PR libstdc++/85183
643         * include/std/variant (_Move_assign_base::operator=): Fix incorrect
644         value categories.
645         * testsuite/20_util/variant/85183.cc: New.
647 2018-03-26  Jonathan Wakely  <jwakely@redhat.com>
649         * include/std/variant (__get): Qualify calls to avoid ADL.
650         (__select_index): Adjust whitespace.
651         (variant): Add using-declaration to workaround Clang bug.
653 2018-03-22  Jonathan Wakely  <jwakely@redhat.com>
655         PR libstdc++/85040
656         * include/bits/stl_function.h (greater::__not_overloaded)
657         (less::__not_overloaded, greater_equal::__not_overloaded)
658         (less_equal::__not_overloaded): Fix ambiguous specializations.
659         * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
660         tests for type with overloaded operators.
662 2018-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
664         PR libstdc++/77691
665         * testsuite/experimental/memory_resource/resource_adaptor.cc:
666         xfail execution on 32-bit Solaris/x86.
668 2018-03-21  Jonathan Wakely  <jwakely@redhat.com>
670         * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
671         VERIFY instead of assert.
672         * testsuite/20_util/hash/84998.cc: New test.
673         * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
674         copy of test adjusted for Debug Mode.
675         * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
676         test in Debug Mode.
678 2018-03-20  François Dumont  <fdumont@gcc.gnu.org>
680         PR libstdc++/84998
681         * include/bits/stl_bvector.h: Fix std::hash friend declaration.
682         * include/std/bitset: Likewise.
683         * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
684         declaration.
685         * include/bits/stl_multimap.h (std::multimap<>): Likewise.
686         * include/bits/stl_multiset.h (std::multiset<>): Likewise.
687         * include/bits/stl_set.h (std::set<>): Likewise.
688         * include/bits/unordered_map.h (std::unordered_map<>): Fix
689         _Hash_merge_helper friend declaration.
690         (std::unordered_multimap<>): Likewise.
691         * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
692         (std::unordered_multiset<>): Likewise.
694 2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
696         * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
697         trailing slash for domain level link.
698         * doc/xml/faq.xml: Ditto.
699         * doc/xml/manual/appendix_free.xml (software): Ditto.
700         * doc/xml/manual/intro.xml: Ditto.
701         * doc/xml/manual/spine.xml: Ditto.
702         * doc/xml/spine.xml: Ditto.
704 2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
706         * doc/xml/manual/documentation_hacking.xml: Adjust link to
707         docbook.org.
709 2018-03-17  Jonathan Wakely  <jwakely@redhat.com>
711         * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
712         to compile as C++98.
714 2018-03-14  Jonathan Wakely  <jwakely@redhat.com>
716         PR libstdc++/78420
717         * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
718         (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
719         to ensure total order for pointers.
720         (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
721         Add operator() overloads for pointer arguments and make generic
722         overloads dispatch to new _S_cmp functions when comparisons would
723         use built-in operators for pointers.
724         * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
726 2018-03-12  Jonathan Wakely  <jwakely@redhat.com>
728         PR libstdc++/84773
729         PR libstdc++/83662
730         * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
731         * configure: Regenerate.
732         * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
733         (aligned_alloc): Add using-declaration.
734         * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
736 2018-03-09  François Dumont  <fdumont@gcc.gnu.org>
738         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
739         Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
740         registration.
742 2018-03-09  Jonathan Wakely  <jwakely@redhat.com>
744         PR libstdc++/84769
745         * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
746         Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
748         src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
749         src/filesystem/std-ops.cc (create_dir): Likewise.
751 2018-03-08  François Dumont  <fdumont@gcc.gnu.org>
753         * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
754         (StdListIteratorPrinter): Inherit from latter.
755         (StdFwdListIteratorPrinter): New, inherit from latter.
756         (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
757         when iterator has no associated container.
758         (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
759         __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
760         registrations.
761         * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
762         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
764 2018-03-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
766         PR libstdc++/84601
767         * include/std/optional (_Optional_payload): Split into multiple
768         specializations that can handle different cases of trivial or
769         non-trivial assignment operators.
770         * testsuite/20_util/optional/84601.cc: New.
771         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
773 2018-03-02  Jonathan Wakely  <jwakely@redhat.com>
775         PR libstdc++/84671
776         * include/bits/parse_numbers.h (_Number_help): Add partial
777         specialization to handle digit separators. Adjust partial
778         specialization for recursion temrination to require _Pow == 1ULL.
779         * testsuite/20_util/duration/literals/84671.cc: New
781 2018-02-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
783         Implement the missing bits of LWG 2769
784         * include/std/any (any_cast(const any&)): Add static_assert.
785         (any_cast(any&)): Likewise.
786         (any_cast(any&&)): Likewise, and remove the handling
787         for copyable-but-not-movable type.
788         * testsuite/20_util/any/misc/any_cast.cc: Adjust.
789         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
790         add new tests.
792 2018-02-23  Jonathan Wakely  <jwakely@redhat.com>
794         PR libstdc++/84532
795         * include/std/thread (thread::__make_invoker): Construct tuple
796         directly instead of using make_tuple.
797         * testsuite/30_threads/async/84532.cc: New.
798         * testsuite/30_threads/thread/84532.cc: New.
800 2018-02-20  François Dumont  <fdumont@gcc.gnu.org>
802         * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
803         (template<> __aligned_buffer): Define as __aligned_membuf alias.
805 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
807         PR target/84148
808         * configure: Regenerate.
810 2018-02-15  Jonathan Wakely  <jwakely@redhat.com>
812         PR libstdc++/81797
813         * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
814         * configure: Regenerate.
815         * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
816         defined.
817         * include/Makefile.in: Regenerate.
819 2018-01-29  Jonathan Wakely  <jwakely@redhat.com>
821         PR libstdc++/83833
822         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
823         Add -ffloat-store to options for m68k and ia32.
825         * doc/xml/faq.xml: Update copyright years.
826         * doc/html/*: Regenerate.
828         PR libstdc++/83658
829         * include/std/any (any::__do_emplace): Only set _M_manager after
830         constructing the contained object.
831         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
832         * testsuite/20_util/any/modifiers/83658.cc: New test.
834 2018-01-25  Jonathan Wakely  <jwakely@redhat.com>
836         PR libstdc++/81076
837         * include/c_global/cstddef (__byte_operand): Define primary template.
838         * testsuite/18_support/byte/81076.cc: New test.
840 2018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
842         * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
843         dg-options and dg-add-options order.
844         * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
845         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
846         Likewise.
847         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
848         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
849         Likewise.
850         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
851         Likewise.
852         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
853         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
854         Likewise.
855         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
856         Likewise.
857         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
858         Likewise.
859         * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
860         Likewise.
861         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
862         Likewise.
863         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
864         Likewise.
865         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
866         Likewise.
867         * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
868         Likewise.
869         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
870         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
871         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
872         * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
873         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
874         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
875         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
876         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
877         * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
878         Likewise.
879         * testsuite/special_functions/19_sph_bessel/check_nan.cc:
880         Likewise.
881         * testsuite/special_functions/20_sph_legendre/check_nan.cc:
882         Likewise.
883         * testsuite/special_functions/21_sph_neumann/check_nan.cc:
884         Likewise.
886 2018-01-18  Uros Bizjak  <ubizjak@gmail.com>
888         * configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
889         include linux/types.h when checking linux/random.h header.
890         * config.h.in: Regenerate.
891         * configure: Ditto.
892         * src/c++11/random.cc: Conditionally include linux/types.h.
894 2018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
896         * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
898 2018-01-16  Jonathan Wakely  <jwakely@redhat.com>
900         PR libstdc++/83834
901         * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
902         pattern with exact match for std::cerr.
904 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
906         PR libstdc++/83833
907         * include/bits/random.h (chi_squared_distribution::param): Update
908         gamma distribution parameter.
909         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
910         test.
912         PR libstdc++/83830
913         * include/std/type_traits (has_unique_object_representations_v): Add
914         variable template.
915         * testsuite/20_util/has_unique_object_representations/value.cc: Check
916         variable template.
918 2018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
920         Make optional conditionally
921         trivially_{copy,move}_{constructible,assignable}
922         * include/std/optional (_Optional_payload): Fix the comment in
923         the class head and turn into a primary and one specialization.
924         (_Optional_payload::_M_engaged): Strike the NSDMI.
925         (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
926         New.
927         (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
928         Likewise.
929         (_Optional_payload<_Tp, false>::_M_get): Likewise.
930         (_Optional_payload<_Tp, false>::_M_reset): Likewise.
931         (_Optional_base_impl): Likewise.
932         (_Optional_base): Turn into a primary and three specializations.
933         (optional(nullopt)): Change the base init.
934         * testsuite/20_util/optional/assignment/8.cc: New.
935         * testsuite/20_util/optional/cons/trivial.cc: Likewise.
936         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
938 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
940         PR libstdc++/80276
941         * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
942         (get_template_arg_list): New.
943         (StdVariantPrinter._template_args): Remove, use get_template_arg_list
944         instead.
945         (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
946         of strings and regular expressions.
947         (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
948         (FilteringTypePrinter): Add docstring. Match using startswith. Use
949         strip_inline_namespaces instead of strip_versioned_namespace.
950         (add_one_type_printer): Prepend namespace to match argument.
951         (register_type_printers): Add type printers for char16_t and char32_t
952         string types and for types using cxx11 ABI. Update calls to
953         add_one_template_type_printer to provide default argument dicts.
954         * testsuite/libstdc++-prettyprinters/80276.cc: New test.
955         * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
956         basic_string<unsigned char> and basic_string<signed char>.
957         * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
958         to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
960 2018-01-14  Andreas Schwab  <schwab@linux-m68k.org>
962         PR libstdc++/81092
963         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
965 2018-01-13  Tim Shen  <timshen@google.com>
967         PR libstdc++/83601
968         * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
969         * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
970         * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
972 2018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
974         PR libstdc++/64054
975         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
976         Remove dg-xfail-run-if.
978 2018-01-10  François Dumont  <fdumont@gcc.gnu.org>
980         * include/bits/forward_list.h
981         (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
982         (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
983         (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
984         (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
985         (_Fwd_list_impl()): Add noexcept qualification.
986         (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
987         (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
988         (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
989         (_Fwd_list_base()): Default.
990         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
991         (_Fwd_list_base(_Fwd_list_base&&)): Default.
992         (forward_list<>()): Default.
993         (forward_list<>(forward_list&&)): Default.
994         (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
995         (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
996         (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
997         * include/bits/forward_list.tcc
998         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
999         _M_impl._M_head move assignment.
1000         (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
1001         * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
1003 2018-01-09  Jonathan Wakely  <jwakely@redhat.com>
1005         PR libstdc++/80276
1006         * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
1007         (UniquePointerPrinter): Print correct template argument, not type of
1008         the pointer.
1009         (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
1010         a type.
1011         * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
1012         array type.
1013         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
1014         weak_ptr of array types.
1016 2018-01-09  François Dumont  <fdumont@gcc.gnu.org>
1018         PR libstdc++/83709
1019         * include/bits/hashtable_policy.h
1020         (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
1021         __first != __last.
1022         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
1023         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
1024         Add false_type parameter.
1025         (_Insert_base::insert): Adapt.
1026         * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
1027         Adapt.
1028         (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
1029          Add __n_elt parameter, defaulted to 1.
1030         (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
1031         policy _M_need_rehash.
1032         (_Hashtable::_M_merge_unique): Pass target number of elements to add to
1033         produce only 1 rehash if necessary.
1034         * testsuite/23_containers/unordered_map/insert/83709.cc: New.
1035         * testsuite/23_containers/unordered_set/insert/83709.cc: New.
1037 2018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
1038             Jonathan Wakely  <jwakely@redhat.com>
1040         PR libstdc++/59253 (partial)
1041         * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
1042         type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
1043         (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
1044         children.
1045         * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
1046         of unique_ptr printer.
1047         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
1048         output of shared_ptr printer.
1050 2018-01-05  Jonathan Wakely  <jwakely@redhat.com>
1052         PR libstdc++/83626
1053         * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
1054         unnecessary symlink_status call.
1055         (remove_all(const path&, error_code&)): Use filesystem::remove.
1056         * src/filesystem/std-ops.cc: Likewise.
1058         PR libstdc++/83279
1059         * src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
1060         sendfile.
1062         PR libstdc++/83626
1063         * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
1064         report an error for ENOENT.
1065         (remove_all(const path&)): Fix type of result variable.
1066         (remove_all(const path&, error_code&)): Use non-throwing increment
1067         for directory iterator. Call POSIX remove directly to avoid redundant
1068         calls to symlink_status. Do not report errors for ENOENT.
1069         * src/filesystem/std-ops.cc: Likewise.
1070         * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
1071         overload.
1072         * testsuite/experimental/filesystem/operations/remove_all.cc:
1073         Likewise.
1075 2018-01-04  Jonathan Wakely  <jwakely@redhat.com>
1077         PR libstdc++/83626
1078         * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
1079         redundant call to ec.clear().
1080         (remove_all(const path&, error_code&))): Do not return an error for
1081         non-existent paths.
1082         * src/filesystem/std-ops.cc: Likewise.
1083         * testsuite/27_io/filesystem/operations/remove.cc: New test.
1084         * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
1085         results for non-existent paths.
1086         * testsuite/experimental/filesystem/operations/remove.cc: New test.
1087         * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
1088         expected results for non-existent paths.
1090         * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
1091         check status_known once.
1092         * include/experimental/bits/fs_ops.h: Likewise.
1094         PR libstdc++/83607
1095         * include/std/functional (__is_byte_like): New trait.
1096         (__is_std_equal_to): Remove.
1097         (__boyer_moore_base_t): Use __is_byte_like instead of
1098         __is_std_equal_to.
1099         * include/experimental/functional (__is_std_equal_to): Remove.
1100         (__boyer_moore_base_t): Use __is_byte_like instead of
1101         __is_std_equal_to.
1102         * testsuite/20_util/function_objects/83607.cc: New test.
1104 2018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
1106         Protect optional's deduction guide with the feature macro
1107         * include/std/optional: Use the feature macro.
1109 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
1111         Update copyright years.
1113 Copyright (C) 2018 Free Software Foundation, Inc.
1115 Copying and distribution of this file, with or without modification,
1116 are permitted in any medium without royalty provided the copyright
1117 notice and this notice are preserved.