ChangeLog revision 1.1.1.18 1 2020-03-04 Release Manager
2
3 * GCC 8.4.0 released.
4
5 2020-02-26 Jonathan Wakely <jwakely (a] redhat.com>
6
7 Backport from mainline
8 2020-01-09 Jonathan Wakely <jwakely (a] redhat.com>
9
10 PR libstdc++/93205
11 * include/bits/random.h (operator>>): Check stream operation succeeds.
12 * include/bits/random.tcc (operator>>): Likewise.
13 (__extract_params): New function to fill a vector from a stream.
14 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
15
16 Backport from mainline
17 2019-12-10 Jonathan Wakely <jwakely (a] redhat.com>
18
19 PR libstdc++/92886
20 * include/bits/ios_base.h (std::ios_base::trunc): Fix comment.
21
22 Backport from mainline
23 2020-01-28 Jonathan Wakely <jwakely (a] redhat.com>
24
25 PR libstdc++/93325
26 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for
27 clock_gettime instead of explicit glibc version check.
28 * configure: Regenerate.
29
30 2020-02-26 Jonathan Wakely <jwakely (a] redhat.com>
31
32 Backport from mainline
33 2020-02-04 Jonathan Wakely <jwakely (a] redhat.com>
34
35 PR libstdc++/93562
36 * include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define.
37 (unique_ptr::swap, unique_ptr<T[], D>::swap): Call it.
38 * testsuite/20_util/unique_ptr/modifiers/93562.cc: New test.
39
40 2020-02-26 Jonathan Wakely <jwakely (a] redhat.com>
41
42 Backport from mainline
43 2020-01-17 Jonathan Wakely <jwakely (a] redhat.com>
44
45 PR libstdc++/92376
46 * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
47 functions if they were detected by configure.
48
49 2020-02-26 Jonathan Wakely <jwakely (a] redhat.com>
50
51 Backport from mainline
52 2019-10-09 Jonathan Wakely <jwakely (a] redhat.com>
53
54 PR libstdc++/78552
55 * src/c++98/locale_init.cc (locale::classic()): Do not construct a new
56 locale object for every call.
57 (locale::_S_initialize_once()): Construct C locale here.
58
59 Backport from mainline
60 2020-01-23 Jonathan Wakely <jwakely (a] redhat.com>
61
62 PR libstdc++/91947
63 * include/Makefile.am (${host_builddir}/largefile-config.h): Simplify
64 rule.
65 * include/Makefile.in: Regenerate.
66
67 Backport from mainlne
68 2019-10-04 Jonathan Wakely <jwakely (a] redhat.com>
69
70 PR libstdc++/81091
71 PR libstdc++/91947
72 * configure.ac: Use AC_SYS_LARGEFILE to enable 64-bit file APIs.
73 * config.h.in: Regenerate:
74 * configure: Regenerate:
75 * include/Makefile.am (${host_builddir}/largefile-config.h): New
76 target to generate config header for filesystem library.
77 (${host_builddir}/c++config.h): Rename macros for large file support.
78 * include/Makefile.in: Regenerate.
79 * src/filesystem/dir.cc: Include new config header.
80 * src/filesystem/ops.cc: Likewise.
81 (experimental::filesystem::file_size): Use uintmax_t for size.
82 * src/filesystem/std-dir.cc: Include new config header.
83 * src/filesystem/std-ops.cc: Likewise.
84 (filesystem::file_size): Use uintmax_t for size.
85
86 2020-01-24 Jonathan Wakely <jwakely (a] redhat.com>
87
88 Backport from mainline
89 2020-01-20 Jonathan Wakely <jwakely (a] redhat.com>
90
91 * doc/xml/faq.xml: Fix grammar.
92 * doc/xml/manual/appendix_contributing.xml: Improve instructions.
93 * doc/xml/manual/spine.xml: Update copyright years.
94 * doc/html/*: Regenerate.
95
96 2020-01-19 Eric S. Raymond <esr (a] thyrsus.com>
97 Sandra Loosemore <sandra (a] codesourcery.com>
98
99 Partial backport from mainline:
100
101 2020-01-19 Eric S. Raymond <esr (a] thyrsus.com>
102 * doc/xml/faq.xml: Update for SVN -> Git transition.
103 * doc/xml/manual/appendix_contributing.xml: Likewise.
104
105 2020-01-13 Jonathan Wakely <jwakely (a] redhat.com>
106
107 * doc/xml/manual/status_cxx1998.xml: Replace incorrect statement
108 about documenting mainline.
109 * doc/xml/manual/status_cxx2011.xml: Likewise.
110 * doc/xml/manual/status_cxx2014.xml: Likewise.
111 * doc/xml/manual/status_cxx2017.xml: Likewise.
112 * doc/xml/manual/status_cxxtr1.xml: Likewise.
113 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
114 * doc/html/*: Regenerate.
115
116 2020-01-08 Jonathan Wakely <jwakely (a] redhat.com>
117
118 PR libstdc++/93201
119 * src/c++17/fs_ops.cc (remove_all(const path&, error_code&)): Check
120 result of recursive call before incrementing iterator.
121 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
122 Likewise.
123 * testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
124 are reported correctly.
125 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
126
127 2019-10-24 Jonathan Wakely <jwakely (a] redhat.com>
128
129 Backport from mainline
130 2019-06-06 Jonathan Wakely <jwakely (a] redhat.com>
131
132 * testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to
133 void.
134 * testsuite/experimental/names.cc: Do not run for C++98 mode. Do not
135 include Library Fundamentals or Networking headers in C++11 mode.
136
137 Backport from mainline
138 2019-10-22 Jonathan Wakely <jwakely (a] redhat.com>
139
140 * include/bits/memoryfwd.h (uses_allocator): Do not declare for C++98.
141 * testsuite/17_intro/names.cc: Check uses_allocator in C++98.
142
143 Backport from mainline
144 2019-10-18 Jonathan Wakely <jwakely (a] redhat.com>
145
146 PR libstdc++/92143
147 * libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment
148 to at least sizeof(void*).
149
150 Backport from mainline
151 2019-10-08 Jonathan Wakely <jwakely (a] redhat.com>
152
153 * doc/Makefile.am (doc-html-docbook-regenerate): New target.
154 (${docbook_outdir}/html): Do not create unused 'html/ext' directory.
155 * doc/Makefile.in: Regenerate.
156 * doc/xml/manual/documentation_hacking.xml: Document new target.
157 * doc/html/*: Regenerate.
158
159 * doc/xml/manual/allocator.xml: Use archived copy of CUJ article.
160
161 Backport from mainline
162 2019-05-31 Gerald Pfeifer <gerald (a] pfeifer.com>
163
164 * doc/xml/manual/allocator.xml: Move hoard.org back to http.
165
166 Backport from mainline
167 2019-10-11 Jonathan Wakely <jwakely (a] redhat.com>
168
169 PR libstdc++/92059
170 * include/tr2/dynamic_bitset (__dynamic_bitset_base): Define all
171 special member functions as defaulted. Add noexcept to most members.
172 (__dynamic_bitset_base(size_t, unsigned long long, const _Alloc&)):
173 Mask off unwanted bits in the __val parameter. Avoid undefined left
174 shifts.
175 (__dynamic_bitset_base::_M_assign): Remove.
176 (__dynamic_bitset_base::_M_do_reset): Use std::fill.
177 (__dynamic_bitset_base::_M_are_all_aux): Avoid integer promotion when
178 block_type has lower rank than int.
179 (dynamic_bitset): Add noexcept to most members. Use injected-class-name
180 in return types and parameter types.
181 (dynamic_bitset::_M_Nb): Add default member initializer.
182 (dynamic_bitset(), dynamic_bitset(const dynamic_bitset&)): Define as
183 defaulted.
184 (dynamic_bitset(dynamic_bitset&&)): Clear source object after move.
185 (dynamic_bitset::operator=(const dynamic_bitset&)): Define as
186 defaulted.
187 (dynamic_bitset::operator=(dynamic_bitset&&)): Add noexcept-specifier.
188 Define without using swap, to propagate allocator correctly.
189 (dynamic_bitset(const char*, const _Alloc&)): Use strlen.
190 (dynamic_bitset::_M_do_sanitize, dynamic_bitset::_M_do_fill): Use
191 casts to avoid unwanted integer promotions.
192 (dynamic_bitset::_M_copy_from_ptr): Rearrange template parameters and
193 add default template arguments and default argument to simplify usage.
194 (dynamic_bitset::_M_copy_from_string): Adjust call to _M_copy_from_ptr.
195 (operator==(const dynamic_bitset&, const dynamic_bitset&))
196 (operator<(const dynamic_bitset&, const dynamic_bitset&)): Use _M_Nb.
197 * include/tr2/dynamic_bitset.tcc (dynamic_bitset::_M_copy_from_ptr):
198 Adjust template parameters to match declaration.
199 * testsuite/tr2/dynamic_bitset/cmp.cc: New test.
200 * testsuite/tr2/dynamic_bitset/cons.cc: New test.
201 * testsuite/tr2/dynamic_bitset/copy.cc: New test.
202 * testsuite/tr2/dynamic_bitset/move.cc: New test.
203 * testsuite/tr2/dynamic_bitset/pr92059.cc: New test.
204
205 2019-09-11 Jonathan Wakely <jwakely (a] redhat.com>
206
207 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker.__call__):
208 Fix syntax error.
209
210 2019-09-02 Jonathan Wakely <jwakely (a] redhat.com>
211
212 * doc/html/*: Regenerate.
213
214 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Replace dg-error
215 with dg-prune-output for enable_if failure.
216 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Add
217 dg-prune-output for enable_if failure.
218
219 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
220
221 Backport from mainline
222 2018-10-02 Jonathan Wakely <jwakely (a] redhat.com>
223
224 * include/std/variant (__gen_vtable_impl::__visit_invoke): Call __get
225 directly instead of get, as caller ensures correct index is used.
226 (holds_alternative, get, get_if): Remove redundant inline specifiers.
227 (_VARIANT_RELATION_FUNCTION_TEMPLATE): Likewise.
228
229 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
230
231 Backport from mainline
232 2018-08-16 Jonathan Wakely <jwakely (a] redhat.com>
233
234 * include/std/ostream (basic_ostream::sentry::~sentry): Suppress
235 deprecation warnings for using uncaught_exception().
236
237 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
238
239 Backport from mainline
240 2019-07-31 Jonathan Wakely <jwakely (a] redhat.com>
241
242 PR libstdc++/91308
243 * include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove
244 constraints on deleter that should only apply to the constructor.
245 (unique_ptr<T[], D>::__safe_conversion_up): Likewise.
246 (unique_ptr<T[], D>::unique_ptr(unique_ptr<U, D>&&)): Restore
247 constraints on deleter here.
248 * testsuite/20_util/unique_ptr/assign/91308.cc: New test.
249
250 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
251
252 Backport from mainline
253 2019-07-29 Jonathan Wakely <jwakely (a] redhat.com>
254
255 PR libstdc++/51333
256 * libsupc++/cxxabi.h (__gnu_cxx::recursive_init_error): Do not define
257 constructor inline.
258 * libsupc++/guard_error.cc (__gnu_cxx::recursive_init_error): Define
259 constructor.
260 * testsuite/18_support/51333.cc: New test.
261
262 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
263
264 Backport from mainline
265 2019-05-23 Jonathan Wakely <jwakely (a] redhat.com>
266
267 * doc/xml/manual/status_cxx2017.xml: Add feature test macro for
268 P0040R3.
269 * doc/html/*: Regenerate.
270
271 Backport from mainline
272 2019-06-20 Jonathan Wakely <jwakely (a] redhat.com>
273
274 * doc/xml/manual/status_cxx2017.xml: Fix outdated reference to
275 C++17 working draft.
276
277 Backport from mainline
278 2019-05-21 Jonathan Wakely <jwakely (a] redhat.com>
279
280 * doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.
281
282 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
283
284 Backport from mainline
285 2018-09-21 Jonathan Wakely <jwakely (a] redhat.com>
286
287 PR libstdc++/78179
288 * testsuite/26_numerics/headers/cmath/hypot.cc: Use lower tolerance
289 when sizeof(long double) == sizeof(double).
290
291 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
292
293 Backport from mainline
294 2019-03-22 Jonathan Wakely <jwakely (a] redhat.com>
295
296 * include/bits/stl_algobase.h (__lg): Do arithmetic on type int to
297 avoid -Wconversion warnings.
298
299 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
300
301 Backport from mainline
302 2019-06-07 Jonathan Wakely <jwakely (a] redhat.com>
303
304 PR libstdc++/90770
305 * src/Makefile.am (stamp-debug): Also test for missing makefile.
306 * src/Makefile.in: Regenerate.
307
308 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
309
310 Backport from mainline
311 2019-05-17 Jonathan Wakely <jwakely (a] redhat.com>
312
313 * include/bits/random.h (seed_seq::param): Fix non-reserved name.
314 * include/experimental/type_traits (is_detected_exact)
315 (is_detected_exact_v): Likewise.
316 * testsuite/17_intro/names.cc: Check for more non-reserved names.
317 * testsuite/experimental/names.cc: New test.
318
319 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
320
321 Backport from mainline
322 2019-05-17 Jonathan Wakely <jwakely (a] redhat.com>
323
324 PR libstdc++/85965
325 * include/bits/hashtable.h (_Hashtable::~_Hashtable()): Remove static
326 assertions from the destructor.
327 * include/bits/hashtable_policy.h (_Hash_code_base::_M_hash_code):
328 Move static_assert for hash function to here.
329 (_Hash_table_base::_M_equals): Move static_assert for equality
330 predicate to here.
331 * include/bits/stl_tree.h (_Rb_tree::_S_key(_Const_Link_type)): Move
332 assertions here. Access the value directly instead of calling _S_value.
333 (_Rb_tree::_S_key(_Const_Base_ptr)): Do downcast and forward to
334 _S_key(_Const_Link_type).
335 * testsuite/23_containers/set/85965.cc: Check construction,
336 destruction, assignment and size() do not trigger the assertions.
337 * testsuite/23_containers/unordered_set/85965.cc: Likewise.
338 * testsuite/23_containers/map/48101_neg.cc: Call find and adjust
339 expected errors.
340 * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
341 * testsuite/23_containers/multiset/48101_neg.cc: Likewise.
342 * testsuite/23_containers/set/48101_neg.cc: Likewise.
343 * testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
344 * testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
345 * testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
346 * testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
347
348 2019-08-30 Jonathan Wakely <jwakely (a] redhat.com>
349
350 Backport from mainline
351 2018-09-03 Jonathan Wakely <jwakely (a] redhat.com>
352
353 * include/bits/stl_vector.h (vector::_Temporary_value::_M_ptr):
354 Return raw pointer not allocator's pointer type.
355 (vector::_Temporary_value::_M_val): Use _M_ptr.
356
357 2019-06-01 Iain Sandoe <iain (a] sandoe.co.uk>
358
359 Backport from mainline
360 2018-12-22 Iain Sandoe <iain (a] sandoe.co.uk>
361
362 * /config/os/bsd/darwin/ppc-extra.ver: Append long double symbols.
363
364 2019-05-30 Jonathan Wakely <jwakely (a] redhat.com>
365
366 * doc/xml/manual/status_cxx2017.xml: Fix typo in documentation of
367 implementation-defined support for [fs.conform.9945].
368 * doc/html/*: Regenerate.
369
370 2019-05-28 Jonathan Wakely <jwakely (a] redhat.com>
371
372 PR libstdc++/90634
373 * src/filesystem/path.cc (path::_M_split_cmpts()): Fix check for "/".
374 * testsuite/27_io/filesystem/path/construct/90634.cc: New test.
375 * testsuite/experimental/filesystem/path/construct/90634.cc: New test.
376
377 PR libstdc++/90634
378 * include/bits/fs_path.h (path::path(path&&)): Only call
379 _M_split_cmpts() for a path with multiple components.
380 (path::_S_is_dir_sep()): Add missing 'static' keyword to function.
381 * include/experimental/bits/fs_path.h: Likewise.
382 * src/filesystem/path.cc (path::_M_split_cmpts()): Count number of
383 components and reserve space in vector. Return early when there is
384 only one component.
385 * src/filesystem/std-path.cc (path::_M_split_cmpts()): Likewise.
386
387 2019-05-23 Jonathan Wakely <jwakely (a] redhat.com>
388
389 Backport from mainline
390 2019-02-27 Jonathan Wakely <jwakely (a] redhat.com>
391
392 PR libstdc++/89466
393 * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Reorder check for local
394 stylesheet directories before check for xsltproc. Try to use
395 xmlcatalog to find local stylesheet directory before trying hardcoded
396 paths. Add path used by suse to hardcoded paths. Adjust xsltproc
397 check to look for the same stylesheet as doc/Makefile.am uses. Don't
398 use xsltproc if xmlcatalog fails to find a local stylesheet.
399 * configure.ac: Check for xmlcatalog.
400 * Makefile.in: Regenerate.
401 * configure: Likewise.
402 * doc/Makefile.in: Likewise.
403 * include/Makefile.in: Likewise.
404 * libsupc++/Makefile.in: Likewise.
405 * po/Makefile.in: Likewise.
406 * python/Makefile.in: Likewise.
407 * src/Makefile.in: Likewise.
408 * src/c++11/Makefile.in: Likewise.
409 * src/c++17/Makefile.in: Likewise.
410 * src/c++98/Makefile.in: Likewise.
411 * src/filesystem/Makefile.in: Likewise.
412 * testsuite/Makefile.in: Likewise.
413
414 2019-05-23 Jonathan Wakely <jwakely (a] redhat.com>
415
416 * doc/html/*: Regenerate.
417
418 2019-05-23 Jonathan Wakely <jwakely (a] redhat.com>
419
420 Backport from mainline
421 2019-05-23 Jonathan Wakely <jwakely (a] redhat.com>
422
423 * include/experimental/any (__any_caster): Use RTTI if comparing
424 addresses fails, to support non-unique addresses in shared libraries.
425 * include/std/any (__any_caster): Likewise.
426 * testsuite/experimental/any/misc/any_cast_neg.cc: Use 0 for dg-error
427 line number.
428
429 2019-05-23 Jonathan Wakely <jwakely (a] redhat.com>
430
431 Backport from mainline
432 2019-05-23 Jonathan Wakely <jwakely (a] redhat.com>
433
434 PR libstdc++/90220
435 * include/experimental/any (__any_caster): Constrain to only be
436 callable for object types. Use remove_cv_t instead of decay_t.
437 If the type decays or isn't copy constructible, compare the manager
438 function to a dummy specialization.
439 (__any_caster): Add overload constrained for non-object types.
440 (any::_Manager_internal<_Op>): Add dummy specialization.
441 * testsuite/experimental/any/misc/any_cast.cc: Test function types
442 and array types.
443
444 Backport from mainline
445 2019-04-24 Jonathan Wakely <jwakely (a] redhat.com>
446
447 PR libstdc++/90220
448 * include/std/any (__any_caster): Use remove_cv_t instead of decay_t.
449 Avoid a runtime check for types that can never be stored in std::any.
450 * testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
451 array types.
452
453 Backport from mainline
454 2019-04-24 Jonathan Wakely <jwakely (a] redhat.com>
455
456 PR libstdc++/90220 (partial)
457 * include/std/any (any_cast<T>(any*), any_cast<T>(const any*)): Do
458 not attempt ill-formed static_cast to pointers to non-object types.
459 * testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
460 function types.
461
462 2019-05-23 Jonathan Wakely <jwakely (a] redhat.com>
463
464 Backported from mainline
465 2019-01-15 Jonathan Wakely <jwakely (a] redhat.com>
466
467 * doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
468 status.
469 * include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
470 Define.
471 * include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
472 changes are supported.
473 * include/std/optional (__cpp_lib_optional): Likewise.
474 * include/std/variant (__cpp_lib_variant): Likewise.
475 * libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
476 integer.
477
478 2019-05-20 Jonathan Wakely <jwakely (a] redhat.com>
479
480 Backported from mainline
481 2019-05-20 Jonathan Wakely <jwakely (a] redhat.com>
482
483 PR c++/90532 Ensure __is_constructible(T[]) is false
484 * include/std/type_traits (__do_is_default_constructible_impl)
485 (__is_default_constructible_atom, __is_default_constructible_safe):
486 Remove.
487 (is_default_constructible): Use is_constructible.
488 * testsuite/20_util/is_constructible/value.cc: Check int[] case.
489 * testsuite/20_util/is_default_constructible/value.cc: Likewise.
490 * testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
491 * testsuite/20_util/is_trivially_default_constructible/value.cc:
492 Likewise.
493
494 2019-05-17 Jonathan Wakely <jwakely (a] redhat.com>
495
496 Backport from mainline
497 2019-05-04 Jonathan Wakely <jwakely (a] redhat.com>
498
499 PR libstdc++/90299
500 * src/filesystem/std-ops.cc (absolute(const path&)): Report an error
501 if the argument is an empty path.
502 (absolute(const path&, error_code&)): Use invalid_argument as error
503 code instead of no_such_file_or_directory.
504 * testsuite/27_io/filesystem/operations/absolute.cc: Check handling
505 of non-existent paths and empty paths with both overloads of absolute.
506
507 2019-05-15 Jonathan Wakely <jwakely (a] redhat.com>
508
509 Backport from mainline
510 2019-04-30 Jonathan Wakely <jwakely (a] redhat.com>
511
512 * testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
513 macros accidentally left in.
514
515 Backport from mainline
516 2019-05-13 Jonathan Wakely <jwakely (a] redhat.com>
517
518 PR libstdc++/90454.cc path construction from void*
519 * include/bits/fs_path.h (path::_Path): Use remove_pointer so that
520 pointers to void are rejected as well as void.
521 * include/experimental/bits/fs_path.h (path::_Path): Likewise.
522 * testsuite/27_io/filesystem/path/construct/80762.cc: Also check
523 pointers to void.
524 * testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
525
526 2019-05-11 Jonathan Wakely <jwakely (a] redhat.com>
527
528 Backport from mainline
529 2019-05-10 Jonathan Wakely <jwakely (a] redhat.com>
530
531 PR libstdc++/81266
532 * testsuite/util/thread/all.h: Do not use remove_pointer for
533 std::thread::native_handle_type.
534
535 2019-05-07 Jonathan Wakely <jwakely (a] redhat.com>
536
537 Backport from mainline
538 2019-02-06 Jonathan Wakely <jwakely (a] redhat.com>
539
540 PR libstdc++/89102 (partial)
541 * include/std/type_traits (common_type<>): Define.
542 (common_type<T>): Derive from common_type<T, T>.
543 * testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
544 Test zero-length template argument list.
545 * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
546 Test additional single argument cases.
547 * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
548 Adjust expected error.
549
550 Backport from mainline
551 2019-01-22 Jonathan Wakely <jwakely (a] redhat.com>
552
553 PR libstdc++/88740
554 * testsuite/util/testsuite_hooks.h [stderr] (VERIFY): Use fprintf to
555 write to stderr instead of using printf.
556
557 Backport from mainline
558 2019-04-23 Jonathan Wakely <jwakely (a] redhat.com>
559
560 PR libstdc++/90165
561 * include/std/variant (variant::__is_in_place_tag)
562 (variant::__not_in_place_tag): New helpers for variant(T&&)
563 constructor constraint.
564 (variant::variant(T&&)): Use __not_in_place_tag in constraints.
565 * testsuite/20_util/variant/compile.cc: Check variant(T&&) constructor
566 isn't used for in_place_type or in_place_index arguments.
567
568 Backport from mainline
569 2019-04-17 Jonathan Wakely <jwakely (a] redhat.com>
570
571 PR libstdc++/90105
572 * include/bits/forward_list.tcc (operator==): Do not use operator!= to
573 compare elements.
574 (forward_list<T, A>::sort(Comp)): When elements are equal take the one
575 earlier in the list, so that sort is stable.
576 * testsuite/23_containers/forward_list/operations/90105.cc: New test.
577 * testsuite/23_containers/forward_list/comparable.cc: Test with
578 types that meet the minimum EqualityComparable and LessThanComparable
579 requirements. Remove irrelevant comment.
580
581 Backport from mainline
582 2019-04-17 Jonathan Wakely <jwakely (a] redhat.com>
583
584 * include/std/optional (optional::value_or(U&&) &&): Add missing
585 constexpr specifier.
586 * testsuite/20_util/optional/constexpr/observers/4.cc: Check value_or
587 for disengaged optionals and rvalue optionals.
588 * testsuite/20_util/optional/observers/4.cc: Likewise.
589
590 Backport from mainline
591 2019-04-10 Jonathan Wakely <jwakely (a] redhat.com>
592
593 * doc/xml/faq.xml: Add information about emergency EH pool.
594 * doc/xml/manual/debug.xml: Update list of memory debugging tools.
595 Move outdated information on mt_allocator to a separate section.
596 * doc/xml/manual/evolution.xml: Clarify that GLIBCXX_FORCE_NEW
597 doesn't affect the default allocator.
598
599 Backport from mainline
600 2019-04-05 Jonathan Wakely <jwakely (a] redhat.com>
601
602 * src/filesystem/std-dir.cc (_Dir::advance(bool, error_code&)): Handle
603 d_type == DT_UNKNOWN immediately.
604 (_Dir::should_recurse(bool, error_code&)): Remove file_type::unknown
605 handling here.
606 * testsuite/27_io/filesystem/iterators/caching.cc: New test.
607
608 Backport from mainline
609 2019-04-05 Jonathan Wakely <jwakely (a] redhat.com>
610
611 * include/bits/fs_path.h (path::operator=(path&&)): Check for self
612 assignment.
613 * testsuite/27_io/filesystem/path/assign/copy.cc: Test self
614 assignment.
615
616 Backport from mainline
617 2019-03-26 Jonathan Wakely <jwakely (a] redhat.com>
618
619 PR libstdc++/85965
620 * include/bits/hashtable.h (_Hashtable): Move static assertions to
621 destructor so they are not evaluated until the _Key type is complete.
622 * include/bits/stl_tree.h (_Rb_tree): Likewise.
623 * testsuite/23_containers/set/85965.cc: New test.
624 * testsuite/23_containers/unordered_set/85965.cc: New test.
625 * testsuite/23_containers/map/48101_neg.cc: Replace "here" errors
626 with regexp matching the corresponding _Rb_tree specialization.
627 * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
628 * testsuite/23_containers/multiset/48101_neg.cc: Remove "here" error.
629 * testsuite/23_containers/set/48101_neg.cc: Likewise.
630 * testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
631 * testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
632 * testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
633 * testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
634
635 Backport from mainline
636 2019-03-11 Jonathan Wakely <jwakely (a] redhat.com>
637
638 PR libstdc++/89629
639 * libsupc++/hash_bytes.cc [__SIZEOF_SIZE_T__ == 8] (_Hash_bytes):
640 Use correct type for len_aligned.
641 * testsuite/20_util/hash/89629.cc: New test.
642
643 Backport from mainline
644 2019-03-08 Jonathan Wakely <jwakely (a] redhat.com>
645
646 * doc/xml/manual/using.xml: Use link element instead of xref.
647
648 Backport from mainline
649 2019-02-14 Jonathan Wakely <jwakely (a] redhat.com>
650
651 * doc/xml/manual/intro.xml: Document LWG 2586 status.
652 * include/bits/uses_allocator.h (__uses_alloc): Use const lvalue
653 allocator type in is_constructible checks.
654 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
655 * testsuite/20_util/scoped_allocator/dr2586.cc: New test.
656 * testsuite/20_util/tuple/cons/allocators.cc: Add test using
657 problematic type from LWG 2586 discussion.
658 * testsuite/20_util/uses_allocator/69293_neg.cc: Adjust dg-error.
659 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
660
661 Backport from mainline
662 2019-02-14 Jonathan Wakely <jwakely (a] redhat.com>
663
664 * doc/xml/manual/intro.xml: Document LWG 2537 status.
665 * include/bits/stl_queue.h
666 (priority_queue(const Compare&, const Container&, const Alloc&))
667 (priority_queue(const Compare&, Container&&, const Alloc&)): Call
668 make_heap.
669 * testsuite/23_containers/priority_queue/dr2537.cc: New test.
670
671 2019-02-22 Jonathan Wakely <jwakely (a] redhat.com>
672
673 PR libstdc++/89446
674 * include/bits/char_traits.h (__constant_char_array): Check index is
675 in range before dereferencing.
676 * testsuite/21_strings/basic_string_view/operators/char/89446.cc:
677 New test.
678
679 2019-02-22 Release Manager
680
681 * GCC 8.3.0 released.
682
683 2019-02-14 Jonathan Wakely <jwakely (a] redhat.com>
684
685 PR middle-end/89303
686 * testsuite/20_util/enable_shared_from_this/89303.cc: New test.
687
688 2019-02-09 Jonathan Wakely <jwakely (a] redhat.com>
689
690 Backport from mainline
691 2019-01-08 Jonathan Wakely <jwakely (a] redhat.com>
692
693 PR libstdc++/88066
694 * include/bits/locale_conv.h: Use <> for includes not "".
695 * include/ext/random: Likewise.
696 * include/ext/vstring.h: Likewise.
697
698 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
699
700 * doc/html/*: Regenerate.
701
702 * src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
703 if the path is already absolute.
704 [!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
705
706 Backport from mainline
707 2019-01-11 Jonathan Wakely <jwakely (a] redhat.com>
708
709 * include/std/chrono (duration_values::zero(), duration_values::min())
710 (duration_values::max()): Add noexcept.
711 (duration::zero(), duration::min(), duration::max()): Likewise.
712 (time_point::zero(), time_point::min(), time_point::max()): Likewise.
713 * testsuite/20_util/duration/requirements/noexcept.cc: New test.
714 * testsuite/20_util/time_point/requirements/noexcept.cc: New test.
715
716 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
717
718 Backport from mainline
719 2019-01-07 Jonathan Wakely <jwakely (a] redhat.com>
720
721 PR libstdc++/87787
722 * include/bits/char_traits.h (char_traits::move): Do not pass null
723 pointers to memmove.
724 * include/bits/locale_facets.h
725 (ctype<char>::widen(const char*, const char*, char*)): Do not
726 pass null pointers to memcpy.
727 (ctype<char>::narrow(const char*, const char*, char, char*)):
728 Likewise.
729 (ctype<char>::do_widen(const char*, const char*, char*)):
730 Likewise.
731 (ctype<char>::do_narrow(const char*, const char*, char, char*)):
732 Likewise.
733
734 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
735
736 Backport from mainline
737 2018-11-23 Martin Sebor <msebor (a] redhat.com>
738 Jonathan Wakely <jwakely (a] redhat.com>
739
740 PR libstdc++/65229
741 * python/libstdcxx/v6/printers.py (StdBitsetPrinter): Handle
742 exception thrown for std::bitset<0>.
743 * testsuite/libstdc++-prettyprinters/simple.cc: Test std::bitset<0>.
744
745 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
746
747 Backport from mainline
748 2018-11-23 Jonathan Wakely <jwakely (a] redhat.com>
749
750 PR libstdc++/87308 (partial)
751 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Adjust regex to
752 work around PR 88166.
753
754 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
755
756 Backport from mainline
757 2019-02-05 Jonathan Wakely <jwakely (a] redhat.com>
758
759 PR libstdc++/89128
760 * include/bits/stl_queue.h (queue, priority_queue): Add deduction
761 guides.
762 * include/bits/stl_stack.h (stack): Likewise.
763 * testsuite/23_containers/priority_queue/deduction.cc: New test.
764 * testsuite/23_containers/queue/deduction.cc: New test.
765 * testsuite/23_containers/stack/deduction.cc: New test.
766
767 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
768
769 Backport from mainline
770 2018-11-29 Jonathan Wakely <jwakely (a] redhat.com>
771
772 PR libstdc++/88119
773 * include/ext/aligned_buffer.h (__aligned_membuf): Add comment.
774 (__aligned_buffer): Use __alignof__ instead of std::alignment_of.
775 * include/std/type_traits (alignment_of): Use alignof instead of
776 __alignof__.
777 * testsuite/20_util/alignment_of/value.cc: Fix test to check values
778 match alignof not __alignof__, as required by the standard.
779
780 2019-02-08 Jonathan Wakely <jwakely (a] redhat.com>
781
782 Backport from mainline
783 2018-11-28 Jonathan Wakely <jwakely (a] redhat.com>
784
785 PR libstdc++/83511
786 * include/std/string_view (basic_string_view::substr): Add default
787 argument to first parameter.
788 * include/experimental/string_view (basic_string_view::substr):
789 Likewise.
790 * testsuite/21_strings/basic_string_view/operations/substr/char/
791 83511.cc: New test.
792 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
793 83511.cc: New test.
794 * testsuite/experimental/string_view/operations/substr/char/83511.cc:
795 New test.
796 * testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc:
797 New test.
798
799 Backport from mainline
800 2018-11-19 Jonathan Wakely <jwakely (a] redhat.com>
801
802 PR libstdc++/88084 - Implement LWG 2777
803 * include/std/string_view (basic_string_view::copy): Use traits to
804 copy.
805 * testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
806 New test.
807 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
808 New test.
809
810 Backport from mainline
811 2018-11-29 Jonathan Wakely <jwakely (a] redhat.com>
812
813 PR libstdc++/86910
814 PR libstdc++/87846
815 * src/filesystem/ops.cc (experimental::create_directories): Report
816 an error when the path resolves to an existing non-directory (P1164).
817 * src/filesystem/std-ops.cc (create_directories): Likewise. Handle
818 empty filenames due to trailing slashes.
819 * testsuite/27_io/filesystem/operations/create_directories.cc: Test
820 when some component of the path exists and is not a directory. Test
821 trailing slashes.
822 * testsuite/experimental/filesystem/operations/create_directories.cc:
823 Likewise.
824
825 Backport from mainline
826 2018-11-28 Jonathan Wakely <jwakely (a] redhat.com>
827
828 * doc/xml/manual/intro.xml: Document LWG 3096 change.
829 * src/filesystem/std-path.cc (path::lexically_relative(const path&)):
830 Treat a final empty element equivalently to a final dot element.
831 * testsuite/27_io/filesystem/path/generation/relative.cc: Add checks
832 for the examples in the DR.
833
834 Backport from mainline
835 2018-07-20 Jonathan Wakely <jwakely (a] redhat.com>
836
837 PR libstdc++/86595
838 * include/bits/fs_dir.h (directory_entry::refresh(error_code&)): Add
839 noexcept.
840
841 Backport from mainline
842 2018-05-21 Jonathan Wakely <jwakely (a] redhat.com>
843
844 * src/filesystem/std-ops.cc (absolute): Report an error for empty
845 paths.
846 (weakly_canonical(const path&)): Do not call canonical on empty path.
847 (weakly_canonical(const path&, error_code&)): Likewise.
848 * testsuite/27_io/filesystem/operations/absolute.cc: Check for errors.
849
850 Backport from mainline
851 2019-01-30 Jonathan Wakely <jwakely (a] redhat.com>
852
853 PR libstdc++/89117
854 * src/c++17/fs_path.cc (path::replace_extension): Erase extension from
855 final component as well as from _M_pathname.
856 * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
857 Add more test cases.
858
859 2019-01-21 Jonathan Wakely <jwakely (a] redhat.com>
860
861 Backport from mainline
862 2019-01-18 Jonathan Wakely <jwakely (a] redhat.com>
863
864 PR libstdc++/87514
865 PR libstdc++/87520
866 PR libstdc++/88782
867 * include/bits/shared_ptr.h
868 (shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
869 (allocate_shared): Change to use new tag type.
870 (_Sp_alloc_shared_tag): Define new type.
871 (_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
872 (__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
873 Constrain to prevent being called with _Sp_alloc_shared_tag.
874 (__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
875 Replace constructor with ...
876 (__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
877 reference parameter so address of the new object can be returned to
878 the caller. Obtain the allocator from the tag type.
879 (__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
880 constructor with ...
881 (__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
882 to the __shared_count constructor.
883 (__allocate_shared): Change to use new tag type.
884
885 2019-01-14 Jonathan Wakely <jwakely (a] redhat.com>
886
887 PR libstdc++/80762
888 * testsuite/experimental/filesystem/path/construct/80762.cc: Add
889 dg-require-filesystem-ts directive.
890
891 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
892
893 Backport from mainline
894 2019-01-04 Jonathan Wakely <jwakely (a] redhat.com>
895
896 (path::lexically_normal()): Use std::vector iterators instead of
897 path::iterator. Use pop_back to remove components from the end. Clear
898 trailing filename, instead of using erase(const_iterator) to remove
899 a non-final component.
900 * testsuite/27_io/filesystem/path/generation/normal.cc: Test
901 additional cases.
902 * testsuite/27_io/filesystem/path/generation/normal2.cc: New test.
903
904 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
905
906 Backport from mainline
907 2018-12-12 Jonathan Wakely <jwakely (a] redhat.com>
908
909 PR libstdc++/80762
910 * include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
911 * include/experimental/bits/fs_path.h (path::_Path): Likewise.
912 * testsuite/27_io/filesystem/path/construct/80762.cc: New test.
913 * testsuite/experimental/filesystem/path/construct/80762.cc: New test.
914
915 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
916
917 Backport from mainline
918 2018-05-23 Jonathan Wakely <jwakely (a] redhat.com>
919
920 * include/bits/fs_path.h (path::_M_type): Change default member
921 initializer to _Filename.
922 (path::begin): Create past-the-end iterator for empty path.
923 (path::has_relative_path()): Return false for empty filenames.
924 (path::_M_split_cmpts): Set _M_type to _Filename for empty paths.
925 Fix offset of empty final component.
926 * testsuite/27_io/filesystem/path/itr/components.cc: New.
927 * testsuite/27_io/filesystem/path/itr/traversal.cc: Add new inputs.
928
929 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
930
931 Backport from mainline
932 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
933
934 * testsuite/util/testsuite_fs.h (nonexistent_path): Include name
935 of the source file containing the caller.
936 * testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
937 directories created by test.
938 * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
939 Likewise.
940 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
941 Likewise.
942 * testsuite/experimental/filesystem/iterators/
943 recursive_directory_iterator.cc: Likewise.
944
945 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
946
947 Backport from mainline
948 2018-11-27 Jonathan Wakely <jwakely (a] redhat.com>
949
950 * testsuite/27_io/filesystem/operations/canonical.cc: Remove
951 directory created by test.
952 * testsuite/27_io/filesystem/operations/symlink_status.cc: Remove
953 symlink created by test.
954
955 2019-01-10 Jonathan Wakely <jwakely (a] redhat.com>
956
957 * src/filesystem/std-path.cc (path::remove_filename()): Remove debug
958 check that prevents building with -fno-exceptions.
959
960 2019-01-09 Jonathan Wakely <jwakely (a] redhat.com>
961
962 * testsuite/20_util/optional/cons/value_neg.cc: Change dg-error to
963 dg-prune-output. Remove unused header.
964
965 Backport from mainline
966 2019-01-08 Jonathan Wakely <jwakely (a] redhat.com>
967
968 PR libstdc++/87855
969 * include/std/optional (_Optional_payload_base): New class template
970 for common code hoisted from _Optional_payload specializations. Use
971 a template for the union, to allow a partial specialization for
972 types with non-trivial destructors. Add constructors for in-place
973 initialization to the union.
974 (_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
975 to perform non-trivial copy construction, instead of relying on
976 non-standard copy elision in a delegating constructor.
977 (_Optional_payload(bool, _Optional_payload&&)): Likewise for
978 non-trivial move construction.
979 (_Optional_payload): Derive from _Optional_payload_base and use it
980 for everything except the non-trivial assignment operators, which are
981 defined as needed.
982 (_Optional_payload<false, C, M>): Derive from the specialization
983 _Optional_payload<true, false, false> and add a destructor.
984 (_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
985 Forward to corresponding members of _Optional_payload.
986 (_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
987 Hoist common members from _Optional_base.
988 (_Optional_base): Make all members and base class public.
989 (_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
990 _Optional_base_impl.
991 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
992 support for new std::optional layout.
993 * testsuite/libstdc++-prettyprinters/compat.cc: New test.
994
995 Backport from mainline
996 2018-11-19 Ville Voutilainen <ville.voutilainen (a] gmail.com>
997
998 PR libstdc++/87855
999 Also implement P0602R4 (variant and optional
1000 should propagate copy/move triviality) for std::optional.
1001 * include/std/optional (_Optional_payload): Change
1002 the main constraints to check constructibility in
1003 addition to assignability.
1004 (operator=): Make constexpr.
1005 (_M_reset): Likewise.
1006 (_M_construct): Likewise.
1007 (operator->): Likewise.
1008 * testsuite/20_util/optional/assignment/8.cc: Adjust.
1009 * testsuite/20_util/optional/assignment/9.cc: New.
1010
1011 2018-12-23 Iain Sandoe <iain (a] sandoe.co.uk>
1012
1013 Backport from mainline
1014 2018-12-06 Iain Sandoe <iain (a] sandoe.co.uk>
1015
1016 * scripts/make_exports.pl (check names): Dont try to export
1017 construction vtable symbols.
1018
1019 2018-12-22 Iain Sandoe <iain (a] sandoe.co.uk>
1020
1021 Backport from mainline
1022 2018-12-06 Jonathan Wakely <jwakely (a] redhat.com>
1023 Iain Sandoe <iain (a] sandoe.co.uk>
1024
1025 PR libstdc++/64883
1026 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test
1027 always_inline on Darwin.
1028 * testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise.
1029 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1030 * testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise.
1031 * testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise.
1032
1033 2018-12-06 Iain Sandoe <iain (a] sandoe.co.uk>
1034
1035 Backport from mainline
1036 2018-08-25 Iain Sandoe <iain (a] sandoe.co.uk>
1037
1038 PR libstdc++/70694
1039 * configure.host (OPT_LDFLAGS): Don't append
1040 -fvisibility-inlines-hidden for newer Darwin.
1041
1042 2018-11-28 Franois Dumont <fdumont (a] gcc.gnu.org>
1043
1044 PR libstdc++/88199
1045 * include/bits/hashtable.h
1046 (_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate
1047 former buckets after assignment.
1048 * testsuite/23_containers/unordered_set/allocator/move_assign.cc
1049 (test03): New.
1050
1051 2018-11-22 Jonathan Wakely <jwakely (a] redhat.com>
1052
1053 Backport from mainline
1054 2018-11-22 Jonathan Wakely <jwakely (a] redhat.com>
1055
1056 PR libstdc++/85930
1057 PR libstdc++/87520
1058 * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti)
1059 [__cpp_rtti]: Define even when RTTI is enabled. Use array of
1060 sizeof(type_info) so that type-punned reference binds to an object
1061 of the correct size as well as correct alignment.
1062 (_Sp_counted_ptr_inplace::_M_get_deleter) [__cpp_rtti]: Check for
1063 _S_ti() reference even when RTTI is enabled.
1064 (__shared_ptr(_Sp_make_shared_tag, const _Alloc&, _Args&&...))
1065 [__cpp_rtti]: Pass _S_ti() instead of typeid(_Sp_make_shared_tag).
1066
1067 2018-10-31 Jonathan Wakely <jwakely (a] redhat.com>
1068
1069 Backport from mainline
1070 2018-10-31 Jonathan Wakely <jwakely (a] redhat.com>
1071
1072 PR libstdc++/87822
1073 * include/bits/stl_pair.h (__pair_base): Change to class template.
1074 (pair): Make base class type depend on template parameters.
1075 * testsuite/20_util/pair/87822.cc: New test.
1076
1077 2018-10-30 Jonathan Wakely <jwakely (a] redhat.com>
1078
1079 Backport from mainline
1080 2018-10-30 Jonathan Wakely <jwakely (a] redhat.com>
1081
1082 PR libstdc++/87809
1083 * include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use
1084 trait in exception-specification instead of possibly invalid
1085 expression.
1086 * include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
1087 Likewise.
1088 * include/bits/stl_list.h (_List_impl::_List_impl()): Likewise.
1089 * testsuite/23_containers/forward_list/cons/87809.cc: New test.
1090 * testsuite/23_containers/list/cons/87809.cc: New test.
1091 * testsuite/23_containers/vector/bool/cons/87809.cc: New test.
1092 * testsuite/23_containers/vector/cons/87809.cc: New test.
1093
1094 2018-10-25 Jonathan Wakely <jwakely (a] redhat.com>
1095
1096 PR libstdc++/87749
1097 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1098 (basic_string::operator=(basic_string&&)): For short strings copy the
1099 buffer inline. Only fall back to using assign(const basic_string&) to
1100 do a deep copy when reallocation is needed.
1101 * testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
1102 New test.
1103 * testsuite/21_strings/basic_string/modifiers/assign/char/
1104 move_assign_optim.cc: New test.
1105 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
1106 New test.
1107 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
1108 move_assign_optim.cc: New test.
1109
1110 2018-10-23 Jonathan Wakely <jwakely (a] redhat.com>
1111
1112 PR libstdc++/87704
1113 * include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do
1114 not delegate to default constructor.
1115 (unique_ptr<T[], D>::unique_ptr(nullptr_t)): Likewise.
1116 * testsuite/20_util/unique_ptr/cons/incomplete.cc: New test.
1117
1118 2018-10-19 Jonathan Wakely <jwakely (a] redhat.com>
1119
1120 * include/bits/regex_executor.tcc (_Backref_matcher::_M_apply): Use
1121 _GLIBCXX_STD_A to refer to normal mode algorithms.
1122 * testsuite/28_regex/headers/regex/parallel_mode.cc: New test.
1123 * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Remove empty
1124 whitespace.
1125
1126 2018-10-18 Jonathan Wakely <jwakely (a] redhat.com>
1127
1128 Backport from mainline
1129 2018-10-18 Jonathan Wakely <jwakely (a] redhat.com>
1130
1131 PR libstdc++/87641
1132 * include/bits/valarray_array.h (__valarray_sum): Use first element
1133 to initialize accumulator instead of value-initializing it.
1134 * testsuite/26_numerics/valarray/87641.cc: New test.
1135
1136 2018-10-15 Jonathan Wakely <jwakely (a] redhat.com>
1137
1138 * testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to
1139 account for change to glibc it_IT localedata (glibc bz#10797).
1140
1141 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1142
1143 Backport from mainline
1144 2018-07-31 Jonathan Wakely <jwakely (a] redhat.com>
1145
1146 PR libstdc++/86751
1147 * include/bits/stl_pair.h (__pair_base): New class with deleted copy
1148 assignment operator.
1149 (pair): Derive from __pair_base.
1150 (pair::operator=): Remove deleted overload.
1151 * python/libstdcxx/v6/printers.py (StdPairPrinter): New pretty printer
1152 so that new base class isn't shown in GDB.
1153 * testsuite/20_util/pair/86751.cc: New test.
1154 * testsuite/20_util/pair/ref_assign.cc: New test.
1155
1156 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1157
1158 Backport from mainline
1159 2018-09-03 Jonathan Wakely <jwakely (a] redhat.com>
1160
1161 PR libstdc++/78595
1162 * include/bits/stl_map.h (map::insert(_Pair&&))
1163 (map::insert(const_iterator, _Pair&&)): Do emplace instead of insert.
1164 * include/bits/stl_multimap.h (multimap::insert(_Pair&&))
1165 (multimap::insert(const_iterator, _Pair&&)): Likewise.
1166 * include/bits/unordered_map.h (unordered_map::insert(_Pair&&))
1167 (unordered_map::insert(const_iterator, _Pair&&))
1168 (unordered_multimap::insert(_Pair&&))
1169 (unordered_multimap::insert(const_iterator, _Pair&&)): Likewise.
1170 * include/std/type_traits (__enable_if_t): Define for C++11.
1171 * testsuite/23_containers/map/modifiers/insert/78595.cc: New test.
1172 * testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test.
1173 * testsuite/23_containers/unordered_map/modifiers/78595.cc: New test.
1174 * testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New
1175 test.
1176
1177 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1178
1179 Backport from mainline
1180 2018-08-30 Jonathan Wakely <jwakely (a] redhat.com>
1181
1182 * include/ext/pointer.h (_Pointer_adapter): Define operators for
1183 pointer arithmetic using long long offsets.
1184 * testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using
1185 long long values.
1186
1187 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1188
1189 Backport from mainline
1190 2018-08-23 Jonathan Wakely <jwakely (a] redhat.com>
1191
1192 * testsuite/21_strings/basic_string/init-list.cc:
1193 Require cxx11-abi.
1194 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
1195 Likewise.
1196 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
1197 Likewise.
1198
1199 Backport from mainline
1200 2018-08-22 Jonathan Wakely <jwakely (a] redhat.com>
1201
1202 PR libstdc++/87061
1203 * include/experimental/regex [!_GLIBCXX_USE_CXX11_ABI]
1204 (experimental::pmr::match_results, experimental::pmr::cmatch)
1205 (experimental::pmr::smatch, experimental::pmr::wcmatch)
1206 (experimental::pmr::wsmatch): Do not declare for gcc4-compatible ABI,
1207 because COW strings don't support C++11 allocator model.
1208 * include/experimental/string [!_GLIBCXX_USE_CXX11_ABI]
1209 (experimental::pmr::basic_string, experimental::pmr::string)
1210 (experimental::pmr::u16string, experimental::pmr::u32string)
1211 (experimental::pmr::wstring): Likewise.
1212
1213 Backport from mainline
1214 2018-08-15 Jonathan Wakely <jwakely (a] redhat.com>
1215
1216 * include/experimental/regex: Remove begin/end macros for namespace.
1217 * include/experimental/string: Likewise.
1218 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc:
1219 New test.
1220 * testsuite/experimental/polymorphic_allocator/
1221 pmr_typedefs_forward_list.cc: New test.
1222 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc:
1223 New test.
1224 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc:
1225 New test.
1226 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
1227 New test.
1228 * testsuite/experimental/polymorphic_allocator/
1229 pmr_typedefs_multimap.cc: New test.
1230 * testsuite/experimental/polymorphic_allocator/
1231 pmr_typedefs_multiset.cc: New test.
1232 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc:
1233 New test.
1234 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
1235 New test.
1236 * testsuite/experimental/polymorphic_allocator/
1237 pmr_typedefs_unordered_map.cc: New test.
1238 * testsuite/experimental/polymorphic_allocator/
1239 pmr_typedefs_unordered_multimap.cc: New test.
1240 * testsuite/experimental/polymorphic_allocator/
1241 pmr_typedefs_unordered_multiset.cc: New test.
1242 * testsuite/experimental/polymorphic_allocator/
1243 pmr_typedefs_unordered_set.cc: New test.
1244 * testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc:
1245 New test.
1246
1247 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1248
1249 Backport from mainline
1250 2018-07-24 Jonathan Wakely <jwakely (a] redhat.com>
1251
1252 PR libstdc++/70966
1253 * include/experimental/memory_resource (__get_default_resource): Use
1254 placement new to create an object with dynamic storage duration.
1255
1256 Backport from mainline
1257 2018-06-20 Jonathan Wakely <jwakely (a] redhat.com>
1258
1259 PR libstdc++/70966
1260 * include/experimental/memory_resource (__resource_adaptor_imp): Add
1261 static assertions to enforce requirements on pointer types.
1262 (__resource_adaptor_imp::get_allocator()): Add noexcept.
1263 (new_delete_resource, null_memory_resource): Return address of an
1264 object with dynamic storage duration.
1265 (__null_memory_resource): Remove.
1266 * testsuite/experimental/memory_resource/70966.cc: New.
1267
1268 2018-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1269
1270 PR libstdc++/77854
1271 * doc/xml/manual/status_cxx1998.xml: Document size_type and
1272 difference_type for containers.
1273 * doc/html/*: Regenerate.
1274
1275 2018-10-08 Joseph Myers <joseph (a] codesourcery.com>
1276
1277 Backport from mainline
1278 2018-10-02 Joseph Myers <joseph (a] codesourcery.com>
1279
1280 * testsuite/lib/libstdc++.exp (libstdc++_init): Use
1281 -fno-show-column in default cxxflags.
1282
1283 2018-10-08 Jonathan Wakely <jwakely (a] redhat.com>
1284
1285 Backport from mainline
1286 2018-10-08 Jonathan Wakely <jwakely (a] redhat.com>
1287
1288 PR libstdc++/87538
1289 * include/std/functional (_Not_fn::operator()): Check value of
1290 __is_nothrow_invocable as well.
1291 * testsuite/20_util/function_objects/not_fn/87538.cc: New test.
1292 * testsuite/experimental/functional/87538.cc: New test.
1293
1294 2018-09-11 Jonathan Wakely <jwakely (a] redhat.com>
1295
1296 PR libstdc++/87278
1297 * include/bits/shared_ptr.h (make_shared): Use remove_cv instead of
1298 remove_const.
1299 * testsuite/20_util/shared_ptr/creation/87278.cc: New test.
1300
1301 2018-08-28 Jonathan Wakely <jwakely (a] redhat.com>
1302
1303 PR libstdc++/87116
1304 * src/filesystem/std-path.cc (path::lexically_normal): When handling
1305 a dot-dot filename, preserve an empty final component in the iteration
1306 sequence.
1307 [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use preferred-separator for
1308 root-directory.
1309 * testsuite/27_io/filesystem/path/generation/normal.cc: Add new tests
1310 for more than two adjacent dot-dot filenames.
1311 [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Replace slashes with
1312 preferred-separator in expected normalized strings.
1313
1314 2018-08-13 Jonathan Wakely <jwakely (a] redhat.com>
1315
1316 Revert
1317 2018-08-10 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
1318
1319 PR target/85904
1320 * configure.ac: Define HAVE_ALIGNED_ALLOC if building for
1321 Newlib.
1322 * configure: Regenerate.
1323
1324 2018-08-10 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
1325
1326 Backport from mainline
1327 2018-08-10 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
1328
1329 PR target/85904
1330 * configure.ac: Define HAVE_ALIGNED_ALLOC if building for
1331 Newlib.
1332 * configure: Regenerate.
1333
1334 2018-08-08 Jonathan Wakely <jwakely (a] redhat.com>
1335
1336 * libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to
1337 avoid clashing with an ::aligned_alloc function that was not detected
1338 by configure.
1339
1340 PR libstdc++/86597
1341 * include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)):
1342 Clear error_code when cached type is used.
1343 * testsuite/27_io/filesystem/directory_entry/86597.cc: New test.
1344
1345 * doc/xml/manual/using.xml: Remove C++2a headers not on gcc-8-branch.
1346 * doc/html/*: Regenerate.
1347
1348 * doc/xml/manual/using.xml: Add missing header to table and fix typo.
1349 Remove C++17 headers not present on gcc-8-branch.
1350 * doc/html/*: Regenerate.
1351
1352 2018-08-07 Jonathan Wakely <jwakely (a] redhat.com>
1353
1354 Backport from mainline
1355 2018-07-31 Jonathan Wakely <jwakely (a] redhat.com>
1356
1357 * doc/xml/manual/test.xml: Improve documentation on writing tests for
1358 newer standards.
1359 * doc/xml/manual/using.xml: Document all headers for C++11 and later.
1360 * doc/html/*: Regenerate.
1361
1362 Backport from mainline
1363 2018-05-03 Jonathan Wakely <jwakely (a] redhat.com>
1364
1365 PR libstdc++/84535
1366 * include/std/thread (thread::__not_same): New SFINAE helper.
1367 (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
1368 first argument is not a std::thread. Add static assertion to check
1369 INVOKE expression is valid.
1370 (thread::thread(thread&), thread::thread(const thread&&)): Remove.
1371 * testsuite/30_threads/thread/cons/84535.cc: New.
1372
1373 Backport from mainline
1374 2018-08-03 Jonathan Wakely <jwakely (a] redhat.com>
1375
1376 * src/c++11/system_error.cc
1377 (system_error_category::default_error_condition): Add workaround for
1378 ENOTEMPTY and EEXIST having the same value on AIX.
1379 * testsuite/19_diagnostics/error_category/system_category.cc: Add
1380 extra testcases for EDOM, EILSEQ, ERANGE, EEXIST and ENOTEMPTY.
1381
1382 Backport from mainline
1383 2018-08-01 Jonathan Wakely <jwakely (a] redhat.com>
1384
1385 PR libstdc++/60555
1386 * src/c++11/system_error.cc
1387 (system_error_category::default_error_condition): New override to
1388 check for POSIX errno values.
1389 * testsuite/19_diagnostics/error_category/generic_category.cc: New
1390 * testsuite/19_diagnostics/error_category/system_category.cc: New
1391 test.
1392
1393 Backport from mainline
1394 2018-08-07 Jonathan Wakely <jwakely (a] redhat.com>
1395
1396 PR libstdc++/86874
1397 * include/std/variant (_Copy_ctor_base::_M_destructive_move): Define
1398 here instead of in _Move_assign_base.
1399 (_Copy_ctor_base<true, _Types...>::_M_destructive_move): Define.
1400 (_Copy_assign_base::operator=): Use _M_destructive_move when changing
1401 the contained value to another alternative.
1402 (_Move_assign_base::operator=): Likewise.
1403 (_Move_assign_base::_M_destructive_move): Remove.
1404 * testsuite/20_util/variant/86874.cc: New test.
1405
1406 Backport from mainline
1407 2018-08-07 Jonathan Wakely <jwakely (a] redhat.com>
1408
1409 PR libstdc++/86861
1410 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc):
1411 Replace macro with inline function.
1412 [__sun]: Increase alignment to meet memalign precondition.
1413 [!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN]
1414 (aligned_alloc): Move check for valid alignment to operator new.
1415 Remove redundant check for non-zero size, it's enforced by the caller.
1416 (operator new): Move check for valid alignment here. Use
1417 __builtin_expect on check for zero size.
1418
1419 2018-07-31 Jonathan Wakely <jwakely (a] redhat.com>
1420
1421 Backport from mainline
1422 2018-07-30 Jonathan Wakely <jwakely (a] redhat.com>
1423
1424 * libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Add
1425 workaround for aligned_alloc bug on AIX.
1426 * testsuite/18_support/new_aligned.cc: New test.
1427
1428 Backport from mainline
1429 2018-07-20 Fangrui Song <maskray (a] google.com>
1430
1431 * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use
1432 _GLIBCXX_VISIBILITY(default).
1433
1434 Backport from mainline
1435 2018-07-30 Jonathan Wakely <jwakely (a] redhat.com>
1436
1437 PR libstdc++/86734
1438 * include/bits/stl_iterator.h (reverse_iterator::operator->): Use
1439 addressof (LWG 2188).
1440 * testsuite/24_iterators/reverse_iterator/dr2188.cc: New test.
1441
1442 Backport from mainline
1443 2018-05-08 Jonathan Wakely <jwakely (a] redhat.com>
1444
1445 PR libstdc++/85672
1446 * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
1447 to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
1448 * include/Makefile.in: Regenerate.
1449 * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
1450 within conditional block.
1451
1452 Backport from mainline
1453 2018-05-01 Tulio Magno Quites Machado Filho <tuliom (a] linux.vnet.ibm.com>
1454
1455 PR libstdc++/84654
1456 * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
1457 * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
1458 * configure: Regenerate.
1459 * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
1460 based on ENABLE_FLOAT128.
1461 * include/Makefile.in: Regenerate.
1462 * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
1463 [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
1464 _GLIBCXX_USE_FLOAT128.
1465
1466 2018-07-26 Marek Polacek <polacek (a] redhat.com>
1467
1468 * testsuite/30_threads/condition_variable_any/cond.cc: New.
1469
1470 2018-07-26 Release Manager
1471
1472 * GCC 8.2.0 released.
1473
1474 2018-07-18 Jonathan Wakely <jwakely (a] redhat.com>
1475
1476 Backport from mainline
1477 2018-07-05 Jonathan Wakely <jwakely (a] redhat.com>
1478
1479 * testsuite/21_strings/basic_string/cons/char/deduction.cc: XFAIL for
1480 COW strings.
1481 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1482 Likewise.
1483
1484 Backport from mainline
1485 2018-07-04 Jonathan Wakely <jwakely (a] redhat.com>
1486
1487 * testsuite/25_algorithms/make_heap/complexity.cc: Require effective
1488 target for std::random_device.
1489 * testsuite/26_numerics/random/random_device/cons/default.cc:
1490 Likewise.
1491 * testsuite/experimental/algorithm/sample-2.cc: Likewise.
1492 * testsuite/experimental/algorithm/shuffle.cc: Likewise.
1493 * testsuite/experimental/random/randint.cc: Likewise.
1494 * testsuite/lib/libstdc++.exp
1495 (check_effective_target_random_device): New proc.
1496
1497 Backport from mainline
1498 2018-06-26 David Edelsohn <dje.gcc (a] gmail.com>
1499
1500 * testsuite/experimental/algorithm/sample-2.cc: Add TLS DejaGNU
1501 directives.
1502 * testsuite/experimental/algorithm/shuffle.cc: Likewise.
1503
1504 Backport from mainline
1505 2018-06-25 Jonathan Wakely <jwakely (a] redhat.com>
1506
1507 * include/experimental/algorithm (sample, shuffle): Add new overloads
1508 using per-thread random number engine.
1509 * testsuite/experimental/algorithm/sample.cc: Simpify and reduce
1510 dependencies by using __gnu_test::test_container.
1511 * testsuite/experimental/algorithm/sample-2.cc: New.
1512 * testsuite/experimental/algorithm/shuffle.cc: New.
1513
1514 2018-07-16 Andreas Krebbel <krebbel (a] linux.ibm.com>
1515
1516 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1517 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
1518 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1519
1520 2018-07-05 Franois Dumont <fdumont (a] gcc.gnu.org>
1521
1522 Backport from mainline
1523 2018-07-04 Franois Dumont <fdumont (a] gcc.gnu.org>
1524
1525 PR libstdc++/86272
1526 * include/debug/string
1527 (__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)):
1528 Use __glibcxx_check_insert_range.
1529
1530 2018-07-04 Jonathan Wakely <jwakely (a] redhat.com>
1531
1532 Backport from mainline
1533 2018-05-19 Jonathan Wakely <jwakely (a] redhat.com>
1534
1535 * src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
1536 [__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
1537 little_endian element in bitmask.
1538 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
1539 * testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
1540
1541 Backport from mainline
1542 2018-07-03 Jonathan Wakely <jwakely (a] redhat.com>
1543
1544 * include/bits/alloc_traits.h: Remove redundant preprocessor
1545 condition.
1546
1547 Backport from mainline
1548 2018-06-27 Jonathan Wakely <jwakely (a] redhat.com>
1549
1550 * include/bits/cpp_type_traits.h [__cplusplus >= 201703]
1551 (__is_byte<byte>): Define specialization for std::byte.
1552
1553 Backport from mainline
1554 2018-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1555
1556 LWG 3050 Fix cv-qualification of convertibility constraints
1557 * include/std/chrono (duration, operator*, operator/, operator%): Use
1558 const-qualified type as source type in is_convertible constraints.
1559 * testsuite/20_util/duration/arithmetic/dr3050.cc: New.
1560 * testsuite/20_util/duration/cons/dr3050.cc: New.
1561 * testsuite/20_util/duration/literals/range.cc: Rename to...
1562 * testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
1563 dg-error lineno.
1564
1565 Backport from mainline
1566 2018-06-13 Jonathan Wakely <jwakely (a] redhat.com>
1567
1568 PR libstdc++/86127
1569 * include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
1570 unused typedef.
1571 (_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
1572 Use node allocator to create and destroy elements.
1573 (forward_list::_Tp_alloc_type): Remove unused typedef.
1574 (forward_list::_Alloc_traits): Use allocator_traits instead of
1575 __gnu_cxx::__alloc_traits.
1576
1577 Backport from mainline
1578 2018-05-29 Jonathan Wakely <jwakely (a] redhat.com>
1579
1580 * include/std/variant (__erased_dtor): Qualify call to __get.
1581
1582 Backport from mainline
1583 2018-05-15 Jonathan Wakely <jwakely (a] redhat.com>
1584
1585 * include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
1586 __invoke to prevent ADL.
1587
1588 Backport from mainline
1589 2018-05-24 Maya Rashish <coypu (a] sdf.org>
1590
1591 PR target/85904
1592 * crossconfig.m4: Test for aligned_alloc on netbsd.
1593 * configure: Regenerate.
1594
1595 Backport from mainline
1596 2018-05-18 Jonathan Wakely <jwakely (a] redhat.com>
1597
1598 PR libstdc++/85098
1599 * include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
1600 (basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
1601 (basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
1602 (basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
1603 definitions.
1604 * include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
1605 whitespace.
1606 * include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
1607 braces around body of do-while.
1608 * testsuite/28_regex/basic_regex/85098.cc: New
1609
1610 Backport from mainline
1611 2018-05-07 Jonathan Wakely <jwakely (a] redhat.com>
1612
1613 PR libstdc++/85671
1614 * include/bits/fs_path.h (operator/): Permit copy elision.
1615 * include/experimental/bits/fs_path.h (operator/): Likewise.
1616
1617 Backport from mainline
1618 2018-06-14 Daniel Trebbien <dtrebbien (a] gmail.com>
1619 Jonathan Wakely <jwakely (a] redhat.com>
1620
1621 PR libstdc++/83982
1622 * include/bits/vector.tcc (vector::_M_default_append(size_type)):
1623 Default-construct new elements before moving existing ones.
1624 * testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
1625 New.
1626
1627 Backport from mainline
1628 2018-06-25 Jonathan Wakely <jwakely (a] redhat.com>
1629
1630 PR libstdc++/86292
1631 * include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>):
1632 Add try-catch block.
1633 * testsuite/23_containers/vector/cons/86292.cc: New.
1634
1635 Backport from mainline
1636 2018-06-27 Jonathan Wakely <jwakely (a] redhat.com>
1637
1638 PR libstdc++/86138
1639 * include/bits/basic_string.tcc: [_GLIBCXX_EXTERN_TEMPLATE < 0]
1640 Declare explicit instantiations of COW empty reps and I/O functions.
1641
1642 Backport from mainline
1643 2018-06-16 Jonathan Wakely <jwakely (a] redhat.com>
1644
1645 LWG 3076 basic_string CTAD ambiguity
1646 * doc/xml/manual/intro.xml: Document LWG 3076 change.
1647 * include/bits/basic_string.h
1648 [__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
1649 (basic_string(const _CharT*, const _Alloc&)): Turn into a function
1650 template constrained by _RequireAllocator.
1651 (basic_string(size_type, _CharT, const _Alloc&)): Likewise.
1652 * src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
1653 Define.
1654 * testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
1655 deduction
1656 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1657 Likewise.
1658
1659 Backport from mainline
1660 2018-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1661
1662 LWG 3075 basic_string needs deduction guides from basic_string_view
1663 * include/bits/basic_string.h: Add deduction guides from string_view.
1664 * testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
1665 deduction from string views.
1666 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1667 Likewise.
1668
1669 Backport from mainline
1670 2018-05-03 Jonathan Wakely <jwakely (a] redhat.com>
1671
1672 PR libstdc++/84087 LWG DR 2268 basic_string default arguments
1673 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
1674 (append(const basic_string&, size_type, size_type)
1675 (assign(const basic_string&, size_type, size_type)
1676 (insert(size_type, const basic_string&, size_type, size_type)
1677 (replace(size_type,size_type,const basic_string&,size_type,size_type)
1678 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
1679 Add default arguments (LWG 2268).
1680 [_GLIBCXX_USE_CXX11_ABI=0]
1681 (append(const basic_string&, size_type, size_type)
1682 (assign(const basic_string&, size_type, size_type)
1683 (insert(size_type, const basic_string&, size_type, size_type)
1684 (replace(size_type,size_type,const basic_string&,size_type,size_type)
1685 (compare(size_type,size_type,constbasic_string&,size_type,size_type)):
1686 Likewise.
1687 * testsuite/21_strings/basic_string/dr2268.cc: New test.
1688
1689 PR libstdc++/86398
1690 * include/std/type_traits (is_trivially_constructible): Check
1691 is_constructible before __is_trivially_constructible.
1692 * testsuite/20_util/is_trivially_constructible/value.cc: Add more
1693 tests, including negative cases.
1694 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use
1695 zero for dg-error lineno.
1696 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1697 Likewise.
1698
1699 2018-06-25 Jonathan Wakely <jwakely (a] redhat.com>
1700
1701 PR libstdc++/86112
1702 * python/libstdcxx/v6/printers.py (add_one_template_type_printer):
1703 Replace dict comprehension.
1704
1705 2018-06-25 Jonathan Wakely <jwakely (a] redhat.com>
1706
1707 PR libstdc++/81092
1708 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1709
1710 2018-06-22 Jonathan Wakely <jwakely (a] redhat.com>
1711
1712 Backport from mainline
1713 2018-06-22 Jonathan Wakely <jwakely (a] redhat.com>
1714
1715 PR libstdc++/86138
1716 * include/bits/basic_string.tcc:
1717 [__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI]
1718 (basic_string<char>::_Rep::_S_empty_rep_storage)
1719 (basic_string<wchar_t>::_Rep::_S_empty_rep_storage): Add explicit
1720 instantiation declarations.
1721 [__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable
1722 explicit instantiation declarations.
1723 * testsuite/21_strings/basic_string/cons/char/86138.cc: New.
1724 * testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New.
1725
1726 2018-06-21 Jonathan Wakely <jwakely (a] redhat.com>
1727
1728 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1729
1730 2018-06-19 Jonathan Wakely <jwakely (a] redhat.com>
1731
1732 * include/std/utility: Remove unused <exception> header.
1733
1734 2018-06-19 Jonathan Wakely <jwakely (a] redhat.com>
1735
1736 Backport from mainline
1737 2018-05-03 Jonathan Wakely <jwakely (a] redhat.com>
1738
1739 PR libstdc++/82644
1740 * include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
1741 inline definitions instead of using-declarations.
1742 [__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
1743 * testsuite/tr1/5_numerical_facilities/special_functions/
1744 07_conf_hyperg/compile_cxx17.cc: New.
1745 * testsuite/tr1/5_numerical_facilities/special_functions/
1746 17_hyperg/compile_cxx17.cc: New.
1747
1748 2018-06-15 Jonathan Wakely <jwakely (a] redhat.com>
1749
1750 PR libstdc++/86169
1751 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
1752 (basic_string::data()): Unshare string.
1753 * testsuite/21_strings/basic_string/operations/data/char/86169.cc:
1754 New.
1755
1756 2018-06-15 Jonathan Wakely <jwakely (a] redhat.com>
1757
1758 * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
1759 define for C++17 and above.
1760
1761 2018-06-06 Jonathan Wakely <jwakely (a] redhat.com>
1762
1763 PR libstdc++/86008
1764 * include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
1765 Define new partial specialization.
1766 * include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
1767 new overload.
1768 (operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
1769 value not reference for iteration.
1770 * testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
1771 comment.
1772 * testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
1773 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
1774 comment.
1775
1776 2018-06-05 Jonathan Wakely <jwakely (a] redhat.com>
1777
1778 * include/std/type_traits: Fix comment typo.
1779
1780 2018-06-04 Jonathan Wakely <jwakely (a] redhat.com>
1781
1782 PR libstdc++/85930
1783 * include/bits/shared_ptr_base.h [!__cpp_rtti]: Include <typeinfo>
1784 unconditionally. Remove redundant declaration.
1785 [!__cpp_rtti] (_Sp_make_shared_tag::_S_ti): Align the static variable
1786 correctly.
1787
1788 2018-05-31 Jonathan Wakely <jwakely (a] redhat.com>
1789
1790 PR libstdc++/85951
1791 * include/std/type_traits [_GLIBCXX_USE_C99_STDINT_TR1]: Do not define
1792 uint_least16_t and uint_least32_t.
1793 (__make_unsigned<wchar_t>): Define unconditionally.
1794 (__make_unsigned<char16_t>, __make_unsigned<char32_t>): Define.
1795 (__make_signed<wchar_t>, __make_signed<char16_t>)
1796 (__make_signed<char32_t>)): Define unconditionally.
1797 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: Check
1798 wchar_t, char16_t and char32_t are transformed correctly.
1799 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1800 dg-error lineno.
1801 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: Check
1802 wchar_t, char16_t and char32_t are transformed correctly.
1803 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
1804 dg-error lineno.
1805
1806 2018-05-21 Franois Dumont <fdumont (a] gcc.gnu.org>
1807
1808 * include/debug/map.h
1809 (map(map&&, const_allocator_type&)): Add noexcept qualitication.
1810 * include/debug/multimap.h
1811 (multimap(multimap&&, const_allocator_type&)): Likewise.
1812 * include/debug/set.h
1813 (set(set&&, const_allocator_type&)): Likewise.
1814 * include/debug/multiset.h
1815 (multiset(multiset&&, const_allocator_type&)): Likewise.
1816
1817 2018-05-21 Jonathan Wakely <jwakely (a] redhat.com>
1818
1819 PR libstdc++/85818
1820 * testsuite/experimental/filesystem/path/preferred_separator.cc: Add
1821 dg-require-filesystem-ts.
1822
1823 2018-05-17 Jonathan Wakely <jwakely (a] redhat.com>
1824
1825 PR libstdc++/85818
1826 * src/filesystem/path.cc (path::preferred_separator): Add used
1827 attribute.
1828 * testsuite/experimental/filesystem/path/preferred_separator.cc: New.
1829
1830 PR libstdc++/85812
1831 * libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
1832 * libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
1833 Refactor to separate non-throwing and throwing implementations.
1834 [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
1835 if constructing the object throws.
1836
1837 2018-05-15 Jonathan Wakely <jwakely (a] redhat.com>
1838
1839 PR libstdc++/83891
1840 * include/bits/fs_path.h (path::is_absolute()): Use same definition
1841 for all operating systems.
1842 * include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
1843 * testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
1844 * testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
1845 * testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
1846
1847 * testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
1848 unused <vector> header.
1849 * testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
1850 * testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
1851 * testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
1852 * testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
1853 * testsuite/27_io/filesystem/path/query/has_relative_path.cc:
1854 Likewise.
1855 * testsuite/27_io/filesystem/path/query/has_root_directory.cc:
1856 Likewise.
1857 * testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
1858 * testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
1859 * testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
1860 * testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
1861 * testsuite/experimental/filesystem/path/decompose/extension.cc:
1862 Likewise.
1863 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
1864 * testsuite/experimental/filesystem/path/query/has_extension.cc:
1865 Likewise.
1866 * testsuite/experimental/filesystem/path/query/has_filename.cc:
1867 Likewise.
1868 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
1869 Likewise.
1870 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1871 Likewise.
1872 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
1873 Likewise.
1874 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
1875 Likewise.
1876 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
1877 Likewise.
1878 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
1879 * testsuite/experimental/filesystem/path/query/is_relative.cc:
1880 Likewise.
1881
1882 PR libstdc++/84159
1883 * include/bits/fs_path.h (path::operator/=, path::append): Construct
1884 temporary path before calling _M_append.
1885 (path::_M_append): Change parameter to path and implement C++17
1886 semantics.
1887 * testsuite/27_io/filesystem/path/append/path.cc: Add helper function
1888 and more examples from the standard.
1889 * testsuite/27_io/filesystem/path/append/source.cc: New.
1890 * testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
1891 * testsuite/27_io/filesystem/path/nonmember/append.cc: New.
1892
1893 2018-05-14 Jonathan Wakely <jwakely (a] redhat.com>
1894
1895 PR libstdc++/67554
1896 * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
1897 (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
1898
1899 PR libstdc++/82966
1900 * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
1901 instead of type.
1902 * testsuite/23_containers/set/modifiers/node_swap.cc: New.
1903
1904 2018-05-10 Jonathan Wakely <jwakely (a] redhat.com>
1905
1906 * doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
1907 * doc/xml/manual/debug_mode.xml: Add array and forward_list to list
1908 of C++11 containers with Debug Mode support.
1909 * doc/xml/manual/using.xml: Document that the C++17 Filesystem
1910 implementation also needs -lstdc++fs. Document Dual ABI for
1911 ios_base::failure.
1912 * doc/html/*: Regenerate.
1913
1914 2018-05-07 Edward Smith-Rowland <3dw4rd (a] verizon.net>
1915
1916 Backport from mainline
1917 2018-05-07 Edward Smith-Rowland <3dw4rd (a] verizon.net>
1918
1919 Moar PR libstdc++/80506
1920 * include/bits/random.tcc (gamma_distribution::__generate_impl()):
1921 Fix magic number used in loop condition.
1922
1923 2018-05-04 Jonathan Wakely <jwakely (a] redhat.com>
1924
1925 PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
1926 * include/std/optional (_Optional_payload): Add noexcept to default
1927 constructor. Re-indent.
1928 (_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
1929 constructor for copying disengaged payloads.
1930 (_Optional_payload<_Tp, true, false, true>): Likewise.
1931 (_Optional_payload<_Tp, true, true, false>): Likewise.
1932 (_Optional_payload<_Tp, true, false, false>): Likewise.
1933 * testsuite/20_util/optional/cons/85642.cc: New.
1934 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
1935
1936 2018-05-03 Jonathan Wakely <jwakely (a] redhat.com>
1937
1938 PR libstdc++/84769
1939 * include/std/variant (visit): Qualify std::get call.
1940
1941 2018-05-03 Jonathan Wakely <jwakely (a] redhat.com>
1942
1943 PR libstdc++/85632 use uintmax_t for arithmetic
1944 * src/filesystem/ops.cc (experimental::filesystem::space): Perform
1945 arithmetic in result type.
1946 * src/filesystem/std-ops.cc (filesystem::space): Likewise.
1947 * testsuite/27_io/filesystem/operations/space.cc: Check total capacity
1948 is greater than free space.
1949 * testsuite/experimental/filesystem/operations/space.cc: New.
1950
1951 2018-05-02 Release Manager
1952
1953 * GCC 8.1.0 released.
1954
1955 2018-04-24 H.J. Lu <hongjiu.lu (a] intel.com>
1956
1957 * configure: Regenerated.
1958
1959 2018-04-19 Jakub Jelinek <jakub (a] redhat.com>
1960
1961 * configure: Regenerated.
1962
1963 2018-04-18 Jonathan Wakely <jwakely (a] redhat.com>
1964 Jakub Jelinek <jakub (a] redhat.com>
1965
1966 PR libstdc++/85442
1967 * src/c++11/Makefile.am: Don't generate debuginfo again for
1968 cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
1969 * src/c++11/Makefile.in: Regenerate.
1970
1971 2018-04-18 Jonathan Wakely <jwakely (a] redhat.com>
1972
1973 PR libstdc++/84442
1974 * testsuite/30_threads/thread/cons/terminate.cc
1975 [!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
1976
1977 2018-04-18 David Malcolm <dmalcolm (a] redhat.com>
1978
1979 PR jit/85384
1980 * configure: Regenerate.
1981
1982 2018-04-16 Jonathan Wakely <jwakely (a] redhat.com>
1983
1984 * testsuite/experimental/filesystem/file_status/1.cc: Add
1985 -DUSE_FILESYSTEM_TS to dg-options.
1986 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1987 Likewise.
1988 * testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
1989 * testsuite/experimental/filesystem/iterators/
1990 recursive_directory_iterator.cc: Likewise.
1991 * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
1992 * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
1993 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
1994 * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
1995 * testsuite/experimental/filesystem/operations/create_directories.cc:
1996 Likewise.
1997 * testsuite/experimental/filesystem/operations/create_directory.cc:
1998 Likewise.
1999 * testsuite/experimental/filesystem/operations/create_symlink.cc:
2000 Likewise.
2001 * testsuite/experimental/filesystem/operations/current_path.cc:
2002 Likewise.
2003 * testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
2004 * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
2005 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
2006 * testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
2007 * testsuite/experimental/filesystem/operations/last_write_time.cc:
2008 Likewise.
2009 * testsuite/experimental/filesystem/operations/permissions.cc:
2010 Likewise.
2011 * testsuite/experimental/filesystem/operations/read_symlink.cc:
2012 Likewise.
2013 * testsuite/experimental/filesystem/operations/remove.cc: Likewise.
2014 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
2015 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
2016 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
2017 Likewise.
2018 * testsuite/experimental/filesystem/path/append/path.cc: Likewise.
2019 * testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
2020 * testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
2021 * testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
2022 * testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
2023 * testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
2024 * testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
2025 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
2026 * testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
2027 * testsuite/experimental/filesystem/path/construct/default.cc:
2028 Likewise.
2029 * testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
2030 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
2031 * testsuite/experimental/filesystem/path/construct/string_view.cc:
2032 Likewise.
2033 * testsuite/experimental/filesystem/path/decompose/extension.cc:
2034 Likewise.
2035 * testsuite/experimental/filesystem/path/decompose/filename.cc:
2036 Likewise.
2037 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
2038 Likewise.
2039 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
2040 Likewise.
2041 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
2042 Likewise.
2043 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
2044 Likewise.
2045 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
2046 Likewise.
2047 * testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
2048 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
2049 Likewise.
2050 * testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
2051 * testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
2052 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
2053 Likewise.
2054 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
2055 Likewise.
2056 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
2057 Likewise.
2058 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
2059 Likewise.
2060 * testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
2061 * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
2062 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
2063 Likewise.
2064 * testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
2065 * testsuite/experimental/filesystem/path/query/has_extension.cc:
2066 Likewise.
2067 * testsuite/experimental/filesystem/path/query/has_filename.cc:
2068 Likewise.
2069 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
2070 Likewise.
2071 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
2072 Likewise.
2073 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
2074 Likewise.
2075 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
2076 Likewise.
2077 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
2078 Likewise.
2079 * testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
2080 * testsuite/experimental/filesystem/path/query/is_relative.cc:
2081 Likewise.
2082
2083 2018-04-13 Jonathan Wakely <jwakely (a] redhat.com>
2084
2085 * src/c++11/Makefile.am: Fix sed command.
2086 * src/c++11/Makefile.in: Regenerate.
2087
2088 * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
2089 handle mangled names starting with double underscores on darwin.
2090 * src/c++11/Makefile.in: Regenerate.
2091
2092 2018-04-12 Jonathan Wakely <jwakely (a] redhat.com>
2093
2094 * src/c++11/Makefile.am: Fix comment.
2095 * src/c++11/Makefile.in: Regenerate.
2096 * src/c++11/cxx11-ios_failure.cc: Fix comment.
2097 * src/c++98/ios_failure.cc: Likewise.
2098
2099 * src/c++11/ios.cc: Remove redundant macro definition.
2100
2101 2018-04-11 Jonathan Wakely <jwakely (a] redhat.com>
2102
2103 * doc/xml/manual/abi.xml: Document header locations in recent
2104 releases.
2105 * doc/xml/manual/evolution.xml: Add API changes since GCC 5.
2106 * doc/xml/manual/spine.xml: Update copyright years.
2107 * doc/xml/manual/strings.xml: Adjust tolower example to avoid
2108 undefined behaviour.
2109 * doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
2110 * doc/html/*: Regenerate.
2111
2112 2018-04-10 Jonathan Wakely <jwakely (a] redhat.com>
2113
2114 * doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
2115 * doc/xml/manual/backwards_compatibility.xml: Likewise.
2116 * doc/xml/manual/containers.xml: Likewise.
2117 * doc/xml/manual/debug_mode.xml: Likewise.
2118 * doc/xml/manual/extensions.xml: Likewise.
2119 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
2120 * doc/xml/manual/using.xml: Likewise.
2121 * doc/xml/manual/utilities.xml: Likewise.
2122
2123 PR libstdc++/85222
2124 * src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
2125 cxx11-ios_failure.cc to rewrite type info for __ios_failure.
2126 * src/c++11/Makefile.in: Regenerate.
2127 * src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
2128 New types.
2129 [_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
2130 * src/c++11/ios.cc (__throw_ios_failure): Remove definition.
2131 * src/c++98/ios_failure.cc (__construct_ios_failure)
2132 (__destroy_ios_failure, is_ios_failure_handler): New functions.
2133 [!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
2134 * testsuite/27_io/ios_base/failure/dual_abi.cc: New.
2135 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
2136 handler types, to always catch std::ios_base::failure.
2137 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
2138 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
2139 exceptions_failbit.cc: Likewise.
2140 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
2141 exceptions_failbit.cc: Likewise.
2142 * testsuite/27_io/basic_istream/extractors_other/char/
2143 exceptions_null.cc: Likewise.
2144 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
2145 exceptions_null.cc: Likewise.
2146 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
2147 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
2148 * testsuite/27_io/basic_ostream/inserters_other/char/
2149 exceptions_null.cc: Likewise.
2150 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2151 exceptions_null.cc: Likewise.
2152 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
2153
2154 2018-04-05 Jonathan Wakely <jwakely (a] redhat.com>
2155
2156 * include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
2157 __get calls to avoid ADL and avoid ambiguity due to Clang bug.
2158
2159 2018-04-03 Jonathan Wakely <jwakely (a] redhat.com>
2160
2161 PR libstdc++/85183
2162 * include/std/variant (_Move_assign_base::operator=): Fix incorrect
2163 value categories.
2164 * testsuite/20_util/variant/85183.cc: New.
2165
2166 2018-03-26 Jonathan Wakely <jwakely (a] redhat.com>
2167
2168 * include/std/variant (__get): Qualify calls to avoid ADL.
2169 (__select_index): Adjust whitespace.
2170 (variant): Add using-declaration to workaround Clang bug.
2171
2172 2018-03-22 Jonathan Wakely <jwakely (a] redhat.com>
2173
2174 PR libstdc++/85040
2175 * include/bits/stl_function.h (greater::__not_overloaded)
2176 (less::__not_overloaded, greater_equal::__not_overloaded)
2177 (less_equal::__not_overloaded): Fix ambiguous specializations.
2178 * testsuite/20_util/function_objects/comparisons_pointer.cc: Add
2179 tests for type with overloaded operators.
2180
2181 2018-03-22 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
2182
2183 PR libstdc++/77691
2184 * testsuite/experimental/memory_resource/resource_adaptor.cc:
2185 xfail execution on 32-bit Solaris/x86.
2186
2187 2018-03-21 Jonathan Wakely <jwakely (a] redhat.com>
2188
2189 * testsuite/20_util/function_objects/comparisons_pointer.cc: Use
2190 VERIFY instead of assert.
2191 * testsuite/20_util/hash/84998.cc: New test.
2192 * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
2193 copy of test adjusted for Debug Mode.
2194 * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
2195 test in Debug Mode.
2196
2197 2018-03-20 Franois Dumont <fdumont (a] gcc.gnu.org>
2198
2199 PR libstdc++/84998
2200 * include/bits/stl_bvector.h: Fix std::hash friend declaration.
2201 * include/std/bitset: Likewise.
2202 * include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
2203 declaration.
2204 * include/bits/stl_multimap.h (std::multimap<>): Likewise.
2205 * include/bits/stl_multiset.h (std::multiset<>): Likewise.
2206 * include/bits/stl_set.h (std::set<>): Likewise.
2207 * include/bits/unordered_map.h (std::unordered_map<>): Fix
2208 _Hash_merge_helper friend declaration.
2209 (std::unordered_multimap<>): Likewise.
2210 * include/bits/unordered_set.h (std::unordered_set<>): Likewise.
2211 (std::unordered_multiset<>): Likewise.
2212
2213 2018-03-19 Gerald Pfeifer <gerald (a] pfeifer.com>
2214
2215 * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
2216 trailing slash for domain level link.
2217 * doc/xml/faq.xml: Ditto.
2218 * doc/xml/manual/appendix_free.xml (software): Ditto.
2219 * doc/xml/manual/intro.xml: Ditto.
2220 * doc/xml/manual/spine.xml: Ditto.
2221 * doc/xml/spine.xml: Ditto.
2222
2223 2018-03-19 Gerald Pfeifer <gerald (a] pfeifer.com>
2224
2225 * doc/xml/manual/documentation_hacking.xml: Adjust link to
2226 docbook.org.
2227
2228 2018-03-17 Jonathan Wakely <jwakely (a] redhat.com>
2229
2230 * testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
2231 to compile as C++98.
2232
2233 2018-03-14 Jonathan Wakely <jwakely (a] redhat.com>
2234
2235 PR libstdc++/78420
2236 * include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
2237 (greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
2238 to ensure total order for pointers.
2239 (greater<void>, less<void>, greater_equal<void>, less_equal<void>):
2240 Add operator() overloads for pointer arguments and make generic
2241 overloads dispatch to new _S_cmp functions when comparisons would
2242 use built-in operators for pointers.
2243 * testsuite/20_util/function_objects/comparisons_pointer.cc: New.
2244
2245 2018-03-12 Jonathan Wakely <jwakely (a] redhat.com>
2246
2247 PR libstdc++/84773
2248 PR libstdc++/83662
2249 * crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
2250 * configure: Regenerate.
2251 * include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
2252 (aligned_alloc): Add using-declaration.
2253 * testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
2254
2255 2018-03-09 Franois Dumont <fdumont (a] gcc.gnu.org>
2256
2257 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
2258 Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
2259 registration.
2260
2261 2018-03-09 Jonathan Wakely <jwakely (a] redhat.com>
2262
2263 PR libstdc++/84769
2264 * include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
2265 Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
2266
2267 src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
2268 src/filesystem/std-ops.cc (create_dir): Likewise.
2269
2270 2018-03-08 Franois Dumont <fdumont (a] gcc.gnu.org>
2271
2272 * python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
2273 (StdListIteratorPrinter): Inherit from latter.
2274 (StdFwdListIteratorPrinter): New, inherit from latter.
2275 (StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
2276 when iterator has no associated container.
2277 (build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
2278 __gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
2279 registrations.
2280 * testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
2281 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
2282
2283 2018-03-06 Ville Voutilainen <ville.voutilainen (a] gmail.com>
2284
2285 PR libstdc++/84601
2286 * include/std/optional (_Optional_payload): Split into multiple
2287 specializations that can handle different cases of trivial or
2288 non-trivial assignment operators.
2289 * testsuite/20_util/optional/84601.cc: New.
2290 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
2291
2292 2018-03-02 Jonathan Wakely <jwakely (a] redhat.com>
2293
2294 PR libstdc++/84671
2295 * include/bits/parse_numbers.h (_Number_help): Add partial
2296 specialization to handle digit separators. Adjust partial
2297 specialization for recursion temrination to require _Pow == 1ULL.
2298 * testsuite/20_util/duration/literals/84671.cc: New
2299
2300 2018-02-27 Ville Voutilainen <ville.voutilainen (a] gmail.com>
2301
2302 Implement the missing bits of LWG 2769
2303 * include/std/any (any_cast(const any&)): Add static_assert.
2304 (any_cast(any&)): Likewise.
2305 (any_cast(any&&)): Likewise, and remove the handling
2306 for copyable-but-not-movable type.
2307 * testsuite/20_util/any/misc/any_cast.cc: Adjust.
2308 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
2309 add new tests.
2310
2311 2018-02-23 Jonathan Wakely <jwakely (a] redhat.com>
2312
2313 PR libstdc++/84532
2314 * include/std/thread (thread::__make_invoker): Construct tuple
2315 directly instead of using make_tuple.
2316 * testsuite/30_threads/async/84532.cc: New.
2317 * testsuite/30_threads/thread/84532.cc: New.
2318
2319 2018-02-20 Franois Dumont <fdumont (a] gcc.gnu.org>
2320
2321 * include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
2322 (template<> __aligned_buffer): Define as __aligned_membuf alias.
2323
2324 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
2325
2326 PR target/84148
2327 * configure: Regenerate.
2328
2329 2018-02-15 Jonathan Wakely <jwakely (a] redhat.com>
2330
2331 PR libstdc++/81797
2332 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
2333 * configure: Regenerate.
2334 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
2335 defined.
2336 * include/Makefile.in: Regenerate.
2337
2338 2018-01-29 Jonathan Wakely <jwakely (a] redhat.com>
2339
2340 PR libstdc++/83833
2341 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
2342 Add -ffloat-store to options for m68k and ia32.
2343
2344 * doc/xml/faq.xml: Update copyright years.
2345 * doc/html/*: Regenerate.
2346
2347 PR libstdc++/83658
2348 * include/std/any (any::__do_emplace): Only set _M_manager after
2349 constructing the contained object.
2350 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
2351 * testsuite/20_util/any/modifiers/83658.cc: New test.
2352
2353 2018-01-25 Jonathan Wakely <jwakely (a] redhat.com>
2354
2355 PR libstdc++/81076
2356 * include/c_global/cstddef (__byte_operand): Define primary template.
2357 * testsuite/18_support/byte/81076.cc: New test.
2358
2359 2018-01-19 Christophe Lyon <christophe.lyon (a] linaro.org>
2360
2361 * testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
2362 dg-options and dg-add-options order.
2363 * testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
2364 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
2365 Likewise.
2366 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
2367 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
2368 Likewise.
2369 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
2370 Likewise.
2371 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
2372 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
2373 Likewise.
2374 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
2375 Likewise.
2376 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
2377 Likewise.
2378 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
2379 Likewise.
2380 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
2381 Likewise.
2382 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
2383 Likewise.
2384 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
2385 Likewise.
2386 * testsuite/special_functions/10_cyl_neumann/check_nan.cc:
2387 Likewise.
2388 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
2389 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
2390 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
2391 * testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
2392 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
2393 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
2394 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
2395 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
2396 * testsuite/special_functions/18_riemann_zeta/check_nan.cc:
2397 Likewise.
2398 * testsuite/special_functions/19_sph_bessel/check_nan.cc:
2399 Likewise.
2400 * testsuite/special_functions/20_sph_legendre/check_nan.cc:
2401 Likewise.
2402 * testsuite/special_functions/21_sph_neumann/check_nan.cc:
2403 Likewise.
2404
2405 2018-01-18 Uros Bizjak <ubizjak (a] gmail.com>
2406
2407 * configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
2408 include linux/types.h when checking linux/random.h header.
2409 * config.h.in: Regenerate.
2410 * configure: Ditto.
2411 * src/c++11/random.cc: Conditionally include linux/types.h.
2412
2413 2018-01-16 Eric Botcazou <ebotcazou (a] adacore.com>
2414
2415 * testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
2416
2417 2018-01-16 Jonathan Wakely <jwakely (a] redhat.com>
2418
2419 PR libstdc++/83834
2420 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
2421 pattern with exact match for std::cerr.
2422
2423 2018-01-15 Jonathan Wakely <jwakely (a] redhat.com>
2424
2425 PR libstdc++/83833
2426 * include/bits/random.h (chi_squared_distribution::param): Update
2427 gamma distribution parameter.
2428 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
2429 test.
2430
2431 PR libstdc++/83830
2432 * include/std/type_traits (has_unique_object_representations_v): Add
2433 variable template.
2434 * testsuite/20_util/has_unique_object_representations/value.cc: Check
2435 variable template.
2436
2437 2018-01-15 Ville Voutilainen <ville.voutilainen (a] gmail.com>
2438
2439 Make optional conditionally
2440 trivially_{copy,move}_{constructible,assignable}
2441 * include/std/optional (_Optional_payload): Fix the comment in
2442 the class head and turn into a primary and one specialization.
2443 (_Optional_payload::_M_engaged): Strike the NSDMI.
2444 (_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
2445 New.
2446 (_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
2447 Likewise.
2448 (_Optional_payload<_Tp, false>::_M_get): Likewise.
2449 (_Optional_payload<_Tp, false>::_M_reset): Likewise.
2450 (_Optional_base_impl): Likewise.
2451 (_Optional_base): Turn into a primary and three specializations.
2452 (optional(nullopt)): Change the base init.
2453 * testsuite/20_util/optional/assignment/8.cc: New.
2454 * testsuite/20_util/optional/cons/trivial.cc: Likewise.
2455 * testsuite/20_util/optional/cons/value_neg.cc: Adjust.
2456
2457 2018-01-15 Jonathan Wakely <jwakely (a] redhat.com>
2458
2459 PR libstdc++/80276
2460 * python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
2461 (get_template_arg_list): New.
2462 (StdVariantPrinter._template_args): Remove, use get_template_arg_list
2463 instead.
2464 (TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
2465 of strings and regular expressions.
2466 (add_one_template_type_printer): Adapt to new TemplateTypePrinter.
2467 (FilteringTypePrinter): Add docstring. Match using startswith. Use
2468 strip_inline_namespaces instead of strip_versioned_namespace.
2469 (add_one_type_printer): Prepend namespace to match argument.
2470 (register_type_printers): Add type printers for char16_t and char32_t
2471 string types and for types using cxx11 ABI. Update calls to
2472 add_one_template_type_printer to provide default argument dicts.
2473 * testsuite/libstdc++-prettyprinters/80276.cc: New test.
2474 * testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
2475 basic_string<unsigned char> and basic_string<signed char>.
2476 * testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
2477 to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
2478
2479 2018-01-14 Andreas Schwab <schwab (a] linux-m68k.org>
2480
2481 PR libstdc++/81092
2482 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2483
2484 2018-01-13 Tim Shen <timshen (a] google.com>
2485
2486 PR libstdc++/83601
2487 * include/bits/regex.tcc (regex_replace): Fix escaping in sed.
2488 * testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
2489 * testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
2490
2491 2018-01-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
2492
2493 PR libstdc++/64054
2494 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
2495 Remove dg-xfail-run-if.
2496
2497 2018-01-10 Franois Dumont <fdumont (a] gcc.gnu.org>
2498
2499 * include/bits/forward_list.h
2500 (_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
2501 (_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
2502 (_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
2503 (_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
2504 (_Fwd_list_impl()): Add noexcept qualification.
2505 (_Fwd_list_impl(const _Node_alloc_type&)): Delete.
2506 (_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
2507 (_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
2508 (_Fwd_list_base()): Default.
2509 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
2510 (_Fwd_list_base(_Fwd_list_base&&)): Default.
2511 (forward_list<>()): Default.
2512 (forward_list<>(forward_list&&)): Default.
2513 (forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
2514 (forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
2515 (forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
2516 * include/bits/forward_list.tcc
2517 (_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
2518 _M_impl._M_head move assignment.
2519 (forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
2520 * testsuite/23_containers/forward_list/allocator/default_init.cc: New.
2521
2522 2018-01-09 Jonathan Wakely <jwakely (a] redhat.com>
2523
2524 PR libstdc++/80276
2525 * python/libstdcxx/v6/printers.py (SharedPointerPrinter)
2526 (UniquePointerPrinter): Print correct template argument, not type of
2527 the pointer.
2528 (TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
2529 a type.
2530 * testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
2531 array type.
2532 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
2533 weak_ptr of array types.
2534
2535 2018-01-09 Franois Dumont <fdumont (a] gcc.gnu.org>
2536
2537 PR libstdc++/83709
2538 * include/bits/hashtable_policy.h
2539 (__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
2540 __first != __last.
2541 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
2542 (_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
2543 Add false_type parameter.
2544 (_Insert_base::insert): Adapt.
2545 * include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
2546 Adapt.
2547 (_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
2548 Add __n_elt parameter, defaulted to 1.
2549 (_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
2550 policy _M_need_rehash.
2551 (_Hashtable::_M_merge_unique): Pass target number of elements to add to
2552 produce only 1 rehash if necessary.
2553 * testsuite/23_containers/unordered_map/insert/83709.cc: New.
2554 * testsuite/23_containers/unordered_set/insert/83709.cc: New.
2555
2556 2018-01-09 Juraj Oruli <juraj.orsulic (a] fer.hr>
2557 Jonathan Wakely <jwakely (a] redhat.com>
2558
2559 PR libstdc++/59253 (partial)
2560 * python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
2561 type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
2562 (SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
2563 children.
2564 * testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
2565 of unique_ptr printer.
2566 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
2567 output of shared_ptr printer.
2568
2569 2018-01-05 Jonathan Wakely <jwakely (a] redhat.com>
2570
2571 PR libstdc++/83626
2572 * src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
2573 unnecessary symlink_status call.
2574 (remove_all(const path&, error_code&)): Use filesystem::remove.
2575 * src/filesystem/std-ops.cc: Likewise.
2576
2577 PR libstdc++/83279
2578 * src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
2579 sendfile.
2580
2581 PR libstdc++/83626
2582 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
2583 report an error for ENOENT.
2584 (remove_all(const path&)): Fix type of result variable.
2585 (remove_all(const path&, error_code&)): Use non-throwing increment
2586 for directory iterator. Call POSIX remove directly to avoid redundant
2587 calls to symlink_status. Do not report errors for ENOENT.
2588 * src/filesystem/std-ops.cc: Likewise.
2589 * testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
2590 overload.
2591 * testsuite/experimental/filesystem/operations/remove_all.cc:
2592 Likewise.
2593
2594 2018-01-04 Jonathan Wakely <jwakely (a] redhat.com>
2595
2596 PR libstdc++/83626
2597 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
2598 redundant call to ec.clear().
2599 (remove_all(const path&, error_code&))): Do not return an error for
2600 non-existent paths.
2601 * src/filesystem/std-ops.cc: Likewise.
2602 * testsuite/27_io/filesystem/operations/remove.cc: New test.
2603 * testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
2604 results for non-existent paths.
2605 * testsuite/experimental/filesystem/operations/remove.cc: New test.
2606 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix
2607 expected results for non-existent paths.
2608
2609 * include/bits/fs_ops.h (exists(const path&, error_code&))): Only
2610 check status_known once.
2611 * include/experimental/bits/fs_ops.h: Likewise.
2612
2613 PR libstdc++/83607
2614 * include/std/functional (__is_byte_like): New trait.
2615 (__is_std_equal_to): Remove.
2616 (__boyer_moore_base_t): Use __is_byte_like instead of
2617 __is_std_equal_to.
2618 * include/experimental/functional (__is_std_equal_to): Remove.
2619 (__boyer_moore_base_t): Use __is_byte_like instead of
2620 __is_std_equal_to.
2621 * testsuite/20_util/function_objects/83607.cc: New test.
2622
2623 2018-01-03 Ville Voutilainen <ville.voutilainen (a] gmail.com>
2624
2625 Protect optional's deduction guide with the feature macro
2626 * include/std/optional: Use the feature macro.
2627
2628 2018-01-03 Jakub Jelinek <jakub (a] redhat.com>
2629
2630 Update copyright years.
2631
2633 Copyright (C) 2018 Free Software Foundation, Inc.
2634
2635 Copying and distribution of this file, with or without modification,
2636 are permitted in any medium without royalty provided the copyright
2637 notice and this notice are preserved.
2638