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