1 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
3 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
5 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
8 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
9 pattern with exact match for std::cerr.
11 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
14 * include/bits/random.h (chi_squared_distribution::param): Update
15 gamma distribution parameter.
16 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
20 * include/std/type_traits (has_unique_object_representations_v): Add
22 * testsuite/20_util/has_unique_object_representations/value.cc: Check
25 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
27 Make optional conditionally
28 trivially_{copy,move}_{constructible,assignable}
29 * include/std/optional (_Optional_payload): Fix the comment in
30 the class head and turn into a primary and one specialization.
31 (_Optional_payload::_M_engaged): Strike the NSDMI.
32 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
34 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
36 (_Optional_payload<_Tp, false>::_M_get): Likewise.
37 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
38 (_Optional_base_impl): Likewise.
39 (_Optional_base): Turn into a primary and three specializations.
40 (optional(nullopt)): Change the base init.
41 * testsuite/20_util/optional/assignment/8.cc: New.
42 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
43 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
45 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
48 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
49 (get_template_arg_list): New.
50 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
52 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
53 of strings and regular expressions.
54 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
55 (FilteringTypePrinter): Add docstring. Match using startswith. Use
56 strip_inline_namespaces instead of strip_versioned_namespace.
57 (add_one_type_printer): Prepend namespace to match argument.
58 (register_type_printers): Add type printers for char16_t and char32_t
59 string types and for types using cxx11 ABI. Update calls to
60 add_one_template_type_printer to provide default argument dicts.
61 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
62 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
63 basic_string<unsigned char> and basic_string<signed char>.
64 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
65 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
67 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
70 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
72 2018-01-13 Tim Shen <timshen@google.com>
75 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
76 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
77 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
79 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
82 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
83 Remove dg-xfail-run-if.
85 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
87 * include/bits/forward_list.h
88 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
89 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
90 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
91 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
92 (_Fwd_list_impl()): Add noexcept qualification.
93 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
94 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
95 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
96 (_Fwd_list_base()): Default.
97 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
98 (_Fwd_list_base(_Fwd_list_base&&)): Default.
99 (forward_list<>()): Default.
100 (forward_list<>(forward_list&&)): Default.
101 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
102 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
103 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
104 * include/bits/forward_list.tcc
105 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
106 _M_impl._M_head move assignment.
107 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
108 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
110 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
113 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
114 (UniquePointerPrinter): Print correct template argument, not type of
116 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
118 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
120 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
121 weak_ptr of array types.
123 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
126 * include/bits/hashtable_policy.h
127 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
129 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
130 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
131 Add false_type parameter.
132 (_Insert_base::insert): Adapt.
133 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
135 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
136 Add __n_elt parameter, defaulted to 1.
137 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
138 policy _M_need_rehash.
139 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
140 produce only 1 rehash if necessary.
141 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
142 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
144 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
145 Jonathan Wakely <jwakely@redhat.com>
147 PR libstdc++/59253 (partial)
148 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
149 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
150 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
152 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
153 of unique_ptr printer.
154 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
155 output of shared_ptr printer.
157 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
160 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
161 unnecessary symlink_status call.
162 (remove_all(const path&, error_code&)): Use filesystem::remove.
163 * src/filesystem/std-ops.cc: Likewise.
166 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
170 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
171 report an error for ENOENT.
172 (remove_all(const path&)): Fix type of result variable.
173 (remove_all(const path&, error_code&)): Use non-throwing increment
174 for directory iterator. Call POSIX remove directly to avoid redundant
175 calls to symlink_status. Do not report errors for ENOENT.
176 * src/filesystem/std-ops.cc: Likewise.
177 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
179 * testsuite/experimental/filesystem/operations/remove_all.cc:
182 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
185 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
186 redundant call to ec.clear().
187 (remove_all(const path&, error_code&))): Do not return an error for
189 * src/filesystem/std-ops.cc: Likewise.
190 * testsuite/27_io/filesystem/operations/remove.cc: New test.
191 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
192 results for non-existent paths.
193 * testsuite/experimental/filesystem/operations/remove.cc: New test.
194 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
195 expected results for non-existent paths.
197 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
198 check status_known once.
199 * include/experimental/bits/fs_ops.h: Likewise.
202 * include/std/functional (__is_byte_like): New trait.
203 (__is_std_equal_to): Remove.
204 (__boyer_moore_base_t): Use __is_byte_like instead of
206 * include/experimental/functional (__is_std_equal_to): Remove.
207 (__boyer_moore_base_t): Use __is_byte_like instead of
209 * testsuite/20_util/function_objects/83607.cc: New test.
211 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
213 Protect optional's deduction guide with the feature macro
214 * include/std/optional: Use the feature macro.
216 2018-01-03 Jakub Jelinek <jakub@redhat.com>
218 Update copyright years.
220 Copyright (C) 2018 Free Software Foundation, Inc.
222 Copying and distribution of this file, with or without modification,
223 are permitted in any medium without royalty provided the copyright
224 notice and this notice are preserved.