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