printers.py (NodeIteratorPrinter): New.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2018-03-08 François Dumont <fdumont@gcc.gnu.org>
2
3 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
4 (StdListIteratorPrinter): Inherit from latter.
5 (StdFwdListIteratorPrinter): New, inherit from latter.
6 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
7 when iterator has no associated container.
8 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
9 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
10 registrations.
11 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
12 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
13
14 2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
15
16 PR libstdc++/84601
17 * include/std/optional (_Optional_payload): Split into multiple
18 specializations that can handle different cases of trivial or
19 non-trivial assignment operators.
20 * testsuite/20_util/optional/84601.cc: New.
21 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
22
23 2018-03-02 Jonathan Wakely <jwakely@redhat.com>
24
25 PR libstdc++/84671
26 * include/bits/parse_numbers.h (_Number_help): Add partial
27 specialization to handle digit separators. Adjust partial
28 specialization for recursion temrination to require _Pow == 1ULL.
29 * testsuite/20_util/duration/literals/84671.cc: New
30
31 2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
32
33 Implement the missing bits of LWG 2769
34 * include/std/any (any_cast(const any&)): Add static_assert.
35 (any_cast(any&)): Likewise.
36 (any_cast(any&&)): Likewise, and remove the handling
37 for copyable-but-not-movable type.
38 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
39 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
40 add new tests.
41
42 2018-02-23 Jonathan Wakely <jwakely@redhat.com>
43
44 PR libstdc++/84532
45 * include/std/thread (thread::__make_invoker): Construct tuple
46 directly instead of using make_tuple.
47 * testsuite/30_threads/async/84532.cc: New.
48 * testsuite/30_threads/thread/84532.cc: New.
49
50 2018-02-20 François Dumont <fdumont@gcc.gnu.org>
51
52 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
53 (template<> __aligned_buffer): Define as __aligned_membuf alias.
54
55 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
56
57 PR target/84148
58 * configure: Regenerate.
59
60 2018-02-15 Jonathan Wakely <jwakely@redhat.com>
61
62 PR libstdc++/81797
63 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
64 * configure: Regenerate.
65 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
66 defined.
67 * include/Makefile.in: Regenerate.
68
69 2018-01-29 Jonathan Wakely <jwakely@redhat.com>
70
71 PR libstdc++/83833
72 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
73 Add -ffloat-store to options for m68k and ia32.
74
75 * doc/xml/faq.xml: Update copyright years.
76 * doc/html/*: Regenerate.
77
78 PR libstdc++/83658
79 * include/std/any (any::__do_emplace): Only set _M_manager after
80 constructing the contained object.
81 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
82 * testsuite/20_util/any/modifiers/83658.cc: New test.
83
84 2018-01-25 Jonathan Wakely <jwakely@redhat.com>
85
86 PR libstdc++/81076
87 * include/c_global/cstddef (__byte_operand): Define primary template.
88 * testsuite/18_support/byte/81076.cc: New test.
89
90 2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
91
92 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
93 dg-options and dg-add-options order.
94 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
95 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
96 Likewise.
97 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
98 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
99 Likewise.
100 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
101 Likewise.
102 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
103 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
104 Likewise.
105 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
106 Likewise.
107 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
108 Likewise.
109 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
110 Likewise.
111 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
112 Likewise.
113 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
114 Likewise.
115 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
116 Likewise.
117 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
118 Likewise.
119 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
120 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
121 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
122 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
123 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
124 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
125 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
126 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
127 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
128 Likewise.
129 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
130 Likewise.
131 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
132 Likewise.
133 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
134 Likewise.
135
136 2018-01-18 Uros Bizjak <ubizjak@gmail.com>
137
138 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
139 include linux/types.h when checking linux/random.h header.
140 * config.h.in: Regenerate.
141 * configure: Ditto.
142 * src/c++11/random.cc: Conditionally include linux/types.h.
143
144 2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
145
146 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
147
148 2018-01-16 Jonathan Wakely <jwakely@redhat.com>
149
150 PR libstdc++/83834
151 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
152 pattern with exact match for std::cerr.
153
154 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
155
156 PR libstdc++/83833
157 * include/bits/random.h (chi_squared_distribution::param): Update
158 gamma distribution parameter.
159 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
160 test.
161
162 PR libstdc++/83830
163 * include/std/type_traits (has_unique_object_representations_v): Add
164 variable template.
165 * testsuite/20_util/has_unique_object_representations/value.cc: Check
166 variable template.
167
168 2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
169
170 Make optional conditionally
171 trivially_{copy,move}_{constructible,assignable}
172 * include/std/optional (_Optional_payload): Fix the comment in
173 the class head and turn into a primary and one specialization.
174 (_Optional_payload::_M_engaged): Strike the NSDMI.
175 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
176 New.
177 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
178 Likewise.
179 (_Optional_payload<_Tp, false>::_M_get): Likewise.
180 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
181 (_Optional_base_impl): Likewise.
182 (_Optional_base): Turn into a primary and three specializations.
183 (optional(nullopt)): Change the base init.
184 * testsuite/20_util/optional/assignment/8.cc: New.
185 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
186 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
187
188 2018-01-15 Jonathan Wakely <jwakely@redhat.com>
189
190 PR libstdc++/80276
191 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
192 (get_template_arg_list): New.
193 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
194 instead.
195 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
196 of strings and regular expressions.
197 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
198 (FilteringTypePrinter): Add docstring. Match using startswith. Use
199 strip_inline_namespaces instead of strip_versioned_namespace.
200 (add_one_type_printer): Prepend namespace to match argument.
201 (register_type_printers): Add type printers for char16_t and char32_t
202 string types and for types using cxx11 ABI. Update calls to
203 add_one_template_type_printer to provide default argument dicts.
204 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
205 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
206 basic_string<unsigned char> and basic_string<signed char>.
207 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
208 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
209
210 2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
211
212 PR libstdc++/81092
213 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
214
215 2018-01-13 Tim Shen <timshen@google.com>
216
217 PR libstdc++/83601
218 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
219 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
220 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
221
222 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
223
224 PR libstdc++/64054
225 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
226 Remove dg-xfail-run-if.
227
228 2018-01-10 François Dumont <fdumont@gcc.gnu.org>
229
230 * include/bits/forward_list.h
231 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
232 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
233 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
234 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
235 (_Fwd_list_impl()): Add noexcept qualification.
236 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
237 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
238 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
239 (_Fwd_list_base()): Default.
240 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
241 (_Fwd_list_base(_Fwd_list_base&&)): Default.
242 (forward_list<>()): Default.
243 (forward_list<>(forward_list&&)): Default.
244 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
245 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
246 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
247 * include/bits/forward_list.tcc
248 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
249 _M_impl._M_head move assignment.
250 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
251 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
252
253 2018-01-09 Jonathan Wakely <jwakely@redhat.com>
254
255 PR libstdc++/80276
256 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
257 (UniquePointerPrinter): Print correct template argument, not type of
258 the pointer.
259 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
260 a type.
261 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
262 array type.
263 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
264 weak_ptr of array types.
265
266 2018-01-09 François Dumont <fdumont@gcc.gnu.org>
267
268 PR libstdc++/83709
269 * include/bits/hashtable_policy.h
270 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
271 __first != __last.
272 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
273 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
274 Add false_type parameter.
275 (_Insert_base::insert): Adapt.
276 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
277 Adapt.
278 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
279 Add __n_elt parameter, defaulted to 1.
280 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
281 policy _M_need_rehash.
282 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
283 produce only 1 rehash if necessary.
284 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
285 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
286
287 2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
288 Jonathan Wakely <jwakely@redhat.com>
289
290 PR libstdc++/59253 (partial)
291 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
292 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
293 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
294 children.
295 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
296 of unique_ptr printer.
297 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
298 output of shared_ptr printer.
299
300 2018-01-05 Jonathan Wakely <jwakely@redhat.com>
301
302 PR libstdc++/83626
303 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
304 unnecessary symlink_status call.
305 (remove_all(const path&, error_code&)): Use filesystem::remove.
306 * src/filesystem/std-ops.cc: Likewise.
307
308 PR libstdc++/83279
309 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
310 sendfile.
311
312 PR libstdc++/83626
313 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
314 report an error for ENOENT.
315 (remove_all(const path&)): Fix type of result variable.
316 (remove_all(const path&, error_code&)): Use non-throwing increment
317 for directory iterator. Call POSIX remove directly to avoid redundant
318 calls to symlink_status. Do not report errors for ENOENT.
319 * src/filesystem/std-ops.cc: Likewise.
320 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
321 overload.
322 * testsuite/experimental/filesystem/operations/remove_all.cc:
323 Likewise.
324
325 2018-01-04 Jonathan Wakely <jwakely@redhat.com>
326
327 PR libstdc++/83626
328 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
329 redundant call to ec.clear().
330 (remove_all(const path&, error_code&))): Do not return an error for
331 non-existent paths.
332 * src/filesystem/std-ops.cc: Likewise.
333 * testsuite/27_io/filesystem/operations/remove.cc: New test.
334 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
335 results for non-existent paths.
336 * testsuite/experimental/filesystem/operations/remove.cc: New test.
337 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
338 expected results for non-existent paths.
339
340 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
341 check status_known once.
342 * include/experimental/bits/fs_ops.h: Likewise.
343
344 PR libstdc++/83607
345 * include/std/functional (__is_byte_like): New trait.
346 (__is_std_equal_to): Remove.
347 (__boyer_moore_base_t): Use __is_byte_like instead of
348 __is_std_equal_to.
349 * include/experimental/functional (__is_std_equal_to): Remove.
350 (__boyer_moore_base_t): Use __is_byte_like instead of
351 __is_std_equal_to.
352 * testsuite/20_util/function_objects/83607.cc: New test.
353
354 2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
355
356 Protect optional's deduction guide with the feature macro
357 * include/std/optional: Use the feature macro.
358
359 2018-01-03 Jakub Jelinek <jakub@redhat.com>
360
361 Update copyright years.
362 \f
363 Copyright (C) 2018 Free Software Foundation, Inc.
364
365 Copying and distribution of this file, with or without modification,
366 are permitted in any medium without royalty provided the copyright
367 notice and this notice are preserved.