* config/cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob2280f1711aa5dbfa767635c089feded93cfa96bf
1 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
3         * configure: Regenerated.
5 2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
6             Jakub Jelinek  <jakub@redhat.com>
8         PR libstdc++/85442
9         * src/c++11/Makefile.am: Don't generate debuginfo again for
10         cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
11         * src/c++11/Makefile.in: Regenerate.
13 2018-04-18  Jonathan Wakely  <jwakely@redhat.com>
15         PR libstdc++/84442
16         * testsuite/30_threads/thread/cons/terminate.cc
17         [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
19 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
21         PR jit/85384
22         * configure: Regenerate.
24 2018-04-16  Jonathan Wakely  <jwakely@redhat.com>
26         * testsuite/experimental/filesystem/file_status/1.cc: Add
27         -DUSE_FILESYSTEM_TS to dg-options.
28         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
29         Likewise.
30         * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
31         * testsuite/experimental/filesystem/iterators/
32         recursive_directory_iterator.cc: Likewise.
33         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
34         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
35         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
36         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
37         * testsuite/experimental/filesystem/operations/create_directories.cc:
38         Likewise.
39         * testsuite/experimental/filesystem/operations/create_directory.cc:
40         Likewise.
41         * testsuite/experimental/filesystem/operations/create_symlink.cc:
42         Likewise.
43         * testsuite/experimental/filesystem/operations/current_path.cc:
44         Likewise.
45         * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
46         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
47         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
48         * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
49         * testsuite/experimental/filesystem/operations/last_write_time.cc:
50         Likewise.
51         * testsuite/experimental/filesystem/operations/permissions.cc:
52         Likewise.
53         * testsuite/experimental/filesystem/operations/read_symlink.cc:
54         Likewise.
55         * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
56         * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
57         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
58         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
59         Likewise.
60         * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
61         * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
62         * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
63         * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
64         * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
65         * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
66         * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
67         * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
68         * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
69         * testsuite/experimental/filesystem/path/construct/default.cc:
70         Likewise.
71         * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
72         * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
73         * testsuite/experimental/filesystem/path/construct/string_view.cc:
74         Likewise.
75         * testsuite/experimental/filesystem/path/decompose/extension.cc:
76         Likewise.
77         * testsuite/experimental/filesystem/path/decompose/filename.cc:
78         Likewise.
79         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
80         Likewise.
81         * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
82         Likewise.
83         * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
84         Likewise.
85         * testsuite/experimental/filesystem/path/decompose/root_name.cc:
86         Likewise.
87         * testsuite/experimental/filesystem/path/decompose/root_path.cc:
88         Likewise.
89         * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
90         * testsuite/experimental/filesystem/path/generic/generic_string.cc:
91         Likewise.
92         * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
93         * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
94         * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
95         Likewise.
96         * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
97         Likewise.
98         * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
99         Likewise.
100         * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
101         Likewise.
102         * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
103         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
104         * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
105         Likewise.
106         * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
107         * testsuite/experimental/filesystem/path/query/has_extension.cc:
108         Likewise.
109         * testsuite/experimental/filesystem/path/query/has_filename.cc:
110         Likewise.
111         * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
112         Likewise.
113         * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
114         Likewise.
115         * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
116         Likewise.
117         * testsuite/experimental/filesystem/path/query/has_root_name.cc:
118         Likewise.
119         * testsuite/experimental/filesystem/path/query/has_root_path.cc:
120         Likewise.
121         * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
122         * testsuite/experimental/filesystem/path/query/is_relative.cc:
123         Likewise.
125 2018-04-13  Jonathan Wakely  <jwakely@redhat.com>
127         * src/c++11/Makefile.am: Fix sed command.
128         * src/c++11/Makefile.in: Regenerate.
130         * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
131         handle mangled names starting with double underscores on darwin.
132         * src/c++11/Makefile.in: Regenerate.
134 2018-04-12  Jonathan Wakely  <jwakely@redhat.com>
136         * src/c++11/Makefile.am: Fix comment.
137         * src/c++11/Makefile.in: Regenerate.
138         * src/c++11/cxx11-ios_failure.cc: Fix comment.
139         * src/c++98/ios_failure.cc: Likewise.
141         * src/c++11/ios.cc: Remove redundant macro definition.
143 2018-04-11  Jonathan Wakely  <jwakely@redhat.com>
145         * doc/xml/manual/abi.xml: Document header locations in recent
146         releases.
147         * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
148         * doc/xml/manual/spine.xml: Update copyright years.
149         * doc/xml/manual/strings.xml: Adjust tolower example to avoid
150         undefined behaviour.
151         * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
152         * doc/html/*: Regenerate.
154 2018-04-10  Jonathan Wakely  <jwakely@redhat.com>
156         * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
157         * doc/xml/manual/backwards_compatibility.xml: Likewise.
158         * doc/xml/manual/containers.xml: Likewise.
159         * doc/xml/manual/debug_mode.xml: Likewise.
160         * doc/xml/manual/extensions.xml: Likewise.
161         * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
162         * doc/xml/manual/using.xml: Likewise.
163         * doc/xml/manual/utilities.xml: Likewise.
165         PR libstdc++/85222
166         * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
167         cxx11-ios_failure.cc to rewrite type info for __ios_failure.
168         * src/c++11/Makefile.in: Regenerate.
169         * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
170         New types.
171         [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
172         * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
173         * src/c++98/ios_failure.cc (__construct_ios_failure)
174         (__destroy_ios_failure, is_ios_failure_handler): New functions.
175         [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
176         * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
177         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
178         handler types, to always catch std::ios_base::failure.
179         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
180         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
181         exceptions_failbit.cc: Likewise.
182         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
183         exceptions_failbit.cc: Likewise.
184         * testsuite/27_io/basic_istream/extractors_other/char/
185         exceptions_null.cc: Likewise.
186         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
187         exceptions_null.cc: Likewise.
188         * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
189         * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
190         * testsuite/27_io/basic_ostream/inserters_other/char/
191         exceptions_null.cc: Likewise.
192         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
193         exceptions_null.cc: Likewise.
194         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
196 2018-04-05  Jonathan Wakely  <jwakely@redhat.com>
198         * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
199         __get calls to avoid ADL and avoid ambiguity due to Clang bug.
201 2018-04-03  Jonathan Wakely  <jwakely@redhat.com>
203         PR libstdc++/85183
204         * include/std/variant (_Move_assign_base::operator=): Fix incorrect
205         value categories.
206         * testsuite/20_util/variant/85183.cc: New.
208 2018-03-26  Jonathan Wakely  <jwakely@redhat.com>
210         * include/std/variant (__get): Qualify calls to avoid ADL.
211         (__select_index): Adjust whitespace.
212         (variant): Add using-declaration to workaround Clang bug.
214 2018-03-22  Jonathan Wakely  <jwakely@redhat.com>
216         PR libstdc++/85040
217         * include/bits/stl_function.h (greater::__not_overloaded)
218         (less::__not_overloaded, greater_equal::__not_overloaded)
219         (less_equal::__not_overloaded): Fix ambiguous specializations.
220         * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
221         tests for type with overloaded operators.
223 2018-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
225         PR libstdc++/77691
226         * testsuite/experimental/memory_resource/resource_adaptor.cc:
227         xfail execution on 32-bit Solaris/x86.
229 2018-03-21  Jonathan Wakely  <jwakely@redhat.com>
231         * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
232         VERIFY instead of assert.
233         * testsuite/20_util/hash/84998.cc: New test.
234         * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
235         copy of test adjusted for Debug Mode.
236         * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
237         test in Debug Mode.
239 2018-03-20  François Dumont  <fdumont@gcc.gnu.org>
241         PR libstdc++/84998
242         * include/bits/stl_bvector.h: Fix std::hash friend declaration.
243         * include/std/bitset: Likewise.
244         * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
245         declaration.
246         * include/bits/stl_multimap.h (std::multimap<>): Likewise.
247         * include/bits/stl_multiset.h (std::multiset<>): Likewise.
248         * include/bits/stl_set.h (std::set<>): Likewise.
249         * include/bits/unordered_map.h (std::unordered_map<>): Fix
250         _Hash_merge_helper friend declaration.
251         (std::unordered_multimap<>): Likewise.
252         * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
253         (std::unordered_multiset<>): Likewise.
255 2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
257         * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
258         trailing slash for domain level link.
259         * doc/xml/faq.xml: Ditto.
260         * doc/xml/manual/appendix_free.xml (software): Ditto.
261         * doc/xml/manual/intro.xml: Ditto.
262         * doc/xml/manual/spine.xml: Ditto.
263         * doc/xml/spine.xml: Ditto.
265 2018-03-19  Gerald Pfeifer  <gerald@pfeifer.com>
267         * doc/xml/manual/documentation_hacking.xml: Adjust link to
268         docbook.org.
270 2018-03-17  Jonathan Wakely  <jwakely@redhat.com>
272         * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
273         to compile as C++98.
275 2018-03-14  Jonathan Wakely  <jwakely@redhat.com>
277         PR libstdc++/78420
278         * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
279         (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
280         to ensure total order for pointers.
281         (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
282         Add operator() overloads for pointer arguments and make generic
283         overloads dispatch to new _S_cmp functions when comparisons would
284         use built-in operators for pointers.
285         * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
287 2018-03-12  Jonathan Wakely  <jwakely@redhat.com>
289         PR libstdc++/84773
290         PR libstdc++/83662
291         * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
292         * configure: Regenerate.
293         * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
294         (aligned_alloc): Add using-declaration.
295         * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
297 2018-03-09  François Dumont  <fdumont@gcc.gnu.org>
299         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
300         Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
301         registration.
303 2018-03-09  Jonathan Wakely  <jwakely@redhat.com>
305         PR libstdc++/84769
306         * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
307         Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
309         src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
310         src/filesystem/std-ops.cc (create_dir): Likewise.
312 2018-03-08  François Dumont  <fdumont@gcc.gnu.org>
314         * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
315         (StdListIteratorPrinter): Inherit from latter.
316         (StdFwdListIteratorPrinter): New, inherit from latter.
317         (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
318         when iterator has no associated container.
319         (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
320         __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
321         registrations.
322         * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
323         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
325 2018-03-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
327         PR libstdc++/84601
328         * include/std/optional (_Optional_payload): Split into multiple
329         specializations that can handle different cases of trivial or
330         non-trivial assignment operators.
331         * testsuite/20_util/optional/84601.cc: New.
332         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
334 2018-03-02  Jonathan Wakely  <jwakely@redhat.com>
336         PR libstdc++/84671
337         * include/bits/parse_numbers.h (_Number_help): Add partial
338         specialization to handle digit separators. Adjust partial
339         specialization for recursion temrination to require _Pow == 1ULL.
340         * testsuite/20_util/duration/literals/84671.cc: New
342 2018-02-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
344         Implement the missing bits of LWG 2769
345         * include/std/any (any_cast(const any&)): Add static_assert.
346         (any_cast(any&)): Likewise.
347         (any_cast(any&&)): Likewise, and remove the handling
348         for copyable-but-not-movable type.
349         * testsuite/20_util/any/misc/any_cast.cc: Adjust.
350         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
351         add new tests.
353 2018-02-23  Jonathan Wakely  <jwakely@redhat.com>
355         PR libstdc++/84532
356         * include/std/thread (thread::__make_invoker): Construct tuple
357         directly instead of using make_tuple.
358         * testsuite/30_threads/async/84532.cc: New.
359         * testsuite/30_threads/thread/84532.cc: New.
361 2018-02-20  François Dumont  <fdumont@gcc.gnu.org>
363         * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
364         (template<> __aligned_buffer): Define as __aligned_membuf alias.
366 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
368         PR target/84148
369         * configure: Regenerate.
371 2018-02-15  Jonathan Wakely  <jwakely@redhat.com>
373         PR libstdc++/81797
374         * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
375         * configure: Regenerate.
376         * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
377         defined.
378         * include/Makefile.in: Regenerate.
380 2018-01-29  Jonathan Wakely  <jwakely@redhat.com>
382         PR libstdc++/83833
383         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
384         Add -ffloat-store to options for m68k and ia32.
386         * doc/xml/faq.xml: Update copyright years.
387         * doc/html/*: Regenerate.
389         PR libstdc++/83658
390         * include/std/any (any::__do_emplace): Only set _M_manager after
391         constructing the contained object.
392         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
393         * testsuite/20_util/any/modifiers/83658.cc: New test.
395 2018-01-25  Jonathan Wakely  <jwakely@redhat.com>
397         PR libstdc++/81076
398         * include/c_global/cstddef (__byte_operand): Define primary template.
399         * testsuite/18_support/byte/81076.cc: New test.
401 2018-01-19  Christophe Lyon  <christophe.lyon@linaro.org>
403         * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
404         dg-options and dg-add-options order.
405         * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
406         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
407         Likewise.
408         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
409         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
410         Likewise.
411         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
412         Likewise.
413         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
414         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
415         Likewise.
416         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
417         Likewise.
418         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
419         Likewise.
420         * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
421         Likewise.
422         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
423         Likewise.
424         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
425         Likewise.
426         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
427         Likewise.
428         * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
429         Likewise.
430         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
431         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
432         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
433         * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
434         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
435         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
436         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
437         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
438         * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
439         Likewise.
440         * testsuite/special_functions/19_sph_bessel/check_nan.cc:
441         Likewise.
442         * testsuite/special_functions/20_sph_legendre/check_nan.cc:
443         Likewise.
444         * testsuite/special_functions/21_sph_neumann/check_nan.cc:
445         Likewise.
447 2018-01-18  Uros Bizjak  <ubizjak@gmail.com>
449         * configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
450         include linux/types.h when checking linux/random.h header.
451         * config.h.in: Regenerate.
452         * configure: Ditto.
453         * src/c++11/random.cc: Conditionally include linux/types.h.
455 2018-01-16  Eric Botcazou  <ebotcazou@adacore.com>
457         * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
459 2018-01-16  Jonathan Wakely  <jwakely@redhat.com>
461         PR libstdc++/83834
462         * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
463         pattern with exact match for std::cerr.
465 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
467         PR libstdc++/83833
468         * include/bits/random.h (chi_squared_distribution::param): Update
469         gamma distribution parameter.
470         * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
471         test.
473         PR libstdc++/83830
474         * include/std/type_traits (has_unique_object_representations_v): Add
475         variable template.
476         * testsuite/20_util/has_unique_object_representations/value.cc: Check
477         variable template.
479 2018-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
481         Make optional conditionally
482         trivially_{copy,move}_{constructible,assignable}
483         * include/std/optional (_Optional_payload): Fix the comment in
484         the class head and turn into a primary and one specialization.
485         (_Optional_payload::_M_engaged): Strike the NSDMI.
486         (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
487         New.
488         (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
489         Likewise.
490         (_Optional_payload<_Tp, false>::_M_get): Likewise.
491         (_Optional_payload<_Tp, false>::_M_reset): Likewise.
492         (_Optional_base_impl): Likewise.
493         (_Optional_base): Turn into a primary and three specializations.
494         (optional(nullopt)): Change the base init.
495         * testsuite/20_util/optional/assignment/8.cc: New.
496         * testsuite/20_util/optional/cons/trivial.cc: Likewise.
497         * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
499 2018-01-15  Jonathan Wakely  <jwakely@redhat.com>
501         PR libstdc++/80276
502         * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
503         (get_template_arg_list): New.
504         (StdVariantPrinter._template_args): Remove, use get_template_arg_list
505         instead.
506         (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
507         of strings and regular expressions.
508         (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
509         (FilteringTypePrinter): Add docstring. Match using startswith. Use
510         strip_inline_namespaces instead of strip_versioned_namespace.
511         (add_one_type_printer): Prepend namespace to match argument.
512         (register_type_printers): Add type printers for char16_t and char32_t
513         string types and for types using cxx11 ABI. Update calls to
514         add_one_template_type_printer to provide default argument dicts.
515         * testsuite/libstdc++-prettyprinters/80276.cc: New test.
516         * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
517         basic_string<unsigned char> and basic_string<signed char>.
518         * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
519         to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
521 2018-01-14  Andreas Schwab  <schwab@linux-m68k.org>
523         PR libstdc++/81092
524         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
526 2018-01-13  Tim Shen  <timshen@google.com>
528         PR libstdc++/83601
529         * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
530         * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
531         * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
533 2018-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
535         PR libstdc++/64054
536         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
537         Remove dg-xfail-run-if.
539 2018-01-10  François Dumont  <fdumont@gcc.gnu.org>
541         * include/bits/forward_list.h
542         (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
543         (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
544         (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
545         (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
546         (_Fwd_list_impl()): Add noexcept qualification.
547         (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
548         (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
549         (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
550         (_Fwd_list_base()): Default.
551         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
552         (_Fwd_list_base(_Fwd_list_base&&)): Default.
553         (forward_list<>()): Default.
554         (forward_list<>(forward_list&&)): Default.
555         (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
556         (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
557         (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
558         * include/bits/forward_list.tcc
559         (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
560         _M_impl._M_head move assignment.
561         (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
562         * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
564 2018-01-09  Jonathan Wakely  <jwakely@redhat.com>
566         PR libstdc++/80276
567         * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
568         (UniquePointerPrinter): Print correct template argument, not type of
569         the pointer.
570         (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
571         a type.
572         * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
573         array type.
574         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
575         weak_ptr of array types.
577 2018-01-09  François Dumont  <fdumont@gcc.gnu.org>
579         PR libstdc++/83709
580         * include/bits/hashtable_policy.h
581         (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
582         __first != __last.
583         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
584         (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
585         Add false_type parameter.
586         (_Insert_base::insert): Adapt.
587         * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
588         Adapt.
589         (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
590          Add __n_elt parameter, defaulted to 1.
591         (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
592         policy _M_need_rehash.
593         (_Hashtable::_M_merge_unique): Pass target number of elements to add to
594         produce only 1 rehash if necessary.
595         * testsuite/23_containers/unordered_map/insert/83709.cc: New.
596         * testsuite/23_containers/unordered_set/insert/83709.cc: New.
598 2018-01-09  Juraj Oršulić  <juraj.orsulic@fer.hr>
599             Jonathan Wakely  <jwakely@redhat.com>
601         PR libstdc++/59253 (partial)
602         * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
603         type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
604         (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
605         children.
606         * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
607         of unique_ptr printer.
608         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
609         output of shared_ptr printer.
611 2018-01-05  Jonathan Wakely  <jwakely@redhat.com>
613         PR libstdc++/83626
614         * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
615         unnecessary symlink_status call.
616         (remove_all(const path&, error_code&)): Use filesystem::remove.
617         * src/filesystem/std-ops.cc: Likewise.
619         PR libstdc++/83279
620         * src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
621         sendfile.
623         PR libstdc++/83626
624         * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
625         report an error for ENOENT.
626         (remove_all(const path&)): Fix type of result variable.
627         (remove_all(const path&, error_code&)): Use non-throwing increment
628         for directory iterator. Call POSIX remove directly to avoid redundant
629         calls to symlink_status. Do not report errors for ENOENT.
630         * src/filesystem/std-ops.cc: Likewise.
631         * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
632         overload.
633         * testsuite/experimental/filesystem/operations/remove_all.cc:
634         Likewise.
636 2018-01-04  Jonathan Wakely  <jwakely@redhat.com>
638         PR libstdc++/83626
639         * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
640         redundant call to ec.clear().
641         (remove_all(const path&, error_code&))): Do not return an error for
642         non-existent paths.
643         * src/filesystem/std-ops.cc: Likewise.
644         * testsuite/27_io/filesystem/operations/remove.cc: New test.
645         * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
646         results for non-existent paths.
647         * testsuite/experimental/filesystem/operations/remove.cc: New test.
648         * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
649         expected results for non-existent paths.
651         * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
652         check status_known once.
653         * include/experimental/bits/fs_ops.h: Likewise.
655         PR libstdc++/83607
656         * include/std/functional (__is_byte_like): New trait.
657         (__is_std_equal_to): Remove.
658         (__boyer_moore_base_t): Use __is_byte_like instead of
659         __is_std_equal_to.
660         * include/experimental/functional (__is_std_equal_to): Remove.
661         (__boyer_moore_base_t): Use __is_byte_like instead of
662         __is_std_equal_to.
663         * testsuite/20_util/function_objects/83607.cc: New test.
665 2018-01-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
667         Protect optional's deduction guide with the feature macro
668         * include/std/optional: Use the feature macro.
670 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
672         Update copyright years.
674 Copyright (C) 2018 Free Software Foundation, Inc.
676 Copying and distribution of this file, with or without modification,
677 are permitted in any medium without royalty provided the copyright
678 notice and this notice are preserved.